/** \file
 *  This C++ header file was generated by $ANTLR version 3.5.3-SNAPSHOT
 *
 *     -  From the grammar source file : OracleDMLKeys.g
 *     -                            On : 2019-04-10 19:46:54
 *     -                for the parser : OracleDML_OracleDMLKeysParser
 *
 * Editing it, at least manually, is not wise.
 *
 * C++ language generator and runtime by Gokulakannan Somasundaram ( heavy lifting from C Run-time by Jim Idle )
 *
 *
 * The parser OracleDML_OracleDMLKeys has the callable functions (rules) shown below,
 * which will invoke the code for the associated rule in the source grammar
 * assuming that the input stream is pointing to a token/text stream that could begin
 * this rule.
 *
 * For instance if you call the first (topmost) rule in a parser grammar, you will
 * get the results of a full parse, but calling a rule half way through the grammar will
 * allow you to pass part of a full token stream to the parser, such as for syntax checking
 * in editors and so on.
 *
 */
// [The "BSD license"]
// Copyright (c) 2005-2009 Gokulakannan Somasundaram. 
//
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
//    notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
//    notice, this list of conditions and the following disclaimer in the
//    documentation and/or other materials provided with the distribution.
// 3. The name of the author may not be used to endorse or promote products
//    derived from this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

#ifndef	_OracleDML_OracleDMLKeys_H
#define _OracleDML_OracleDMLKeys_H
/* =============================================================================
 * Standard antlr3 C++ runtime definitions
 */
#include <antlr3.hpp>

/* End of standard antlr 3 runtime definitions
 * =============================================================================
 */


	#include "OracleDMLTraits.hpp"
	#include "OracleDMLLexer.hpp"





/* ========================
 * BACKTRACKING IS ENABLED
 * ========================
 */

namespace  Antlr3BackendImpl  {

// Include delegator definition classes
//
class OracleDML; 

typedef OracleDML_OracleDMLKeysTraits OracleDML_OracleDMLKeysImplTraits;


class OracleDML_OracleDMLKeysTokens
{
public:
	/** Symbolic definitions of all the tokens that the parser will work with.
	 *
	 * Antlr will define EOF, but we can't use that as it it is too common in
	 * in C header files and that would be confusing. There is no way to filter this out at the moment
	 * so we just undef it here for now. That isn't the value we get back from C recognizers
	 * anyway. We are looking for ANTLR_TOKEN_EOF.
	 */
	enum Tokens : ANTLR_UINT32
	{
		EOF_TOKEN = OracleDML_OracleDMLKeysImplTraits::CommonTokenType::TOKEN_EOF
		, ADD_VK = 4 
		, AFTER_VK = 5 
		, AGENT_VK = 6 
		, AGGREGATE_VK = 7 
		, ALIAS = 8 
		, AMPERSAND = 9 
		, ANALYZE_VK = 10 
		, ANY_ELEMENT = 11 
		, ANY_MODE = 12 
		, APPROXIMATE_NUM_LIT = 13 
		, ARGUMENT = 14 
		, ARGUMENTS = 15 
		, ASSIGN = 16 
		, ASSIGN_OP = 17 
		, ASSOCIATE_VK = 18 
		, ASTERISK = 19 
		, ATTRIBUTE_NAME = 20 
		, AT_SIGN = 21 
		, AT_VK = 22 
		, AUDIT_VK = 23 
		, AUTHID_VK = 24 
		, AUTOMATIC_VK = 25 
		, AUTONOMOUS_TRANSACTION_VK = 26 
		, AUTO_VK = 27 
		, BATCH_VK = 28 
		, BEFORE_VK = 29 
		, BFILE_VK = 30 
		, BINARY_DOUBLE_VK = 31 
		, BINARY_FLOAT_VK = 32 
		, BINARY_INTEGER_VK = 33 
		, BINDVAR = 34 
		, BIT_STRING_LIT = 35 
		, BIT_VK = 36 
		, BLOB_VK = 37 
		, BLOCK_VK = 38 
		, BODY_VK = 39 
		, BOOLEAN_VK = 40 
		, BOTH_VK = 41 
		, BREADTH_VK = 42 
		, BULK_VK = 43 
		, BYTE_VK = 44 
		, CACHE_VK = 45 
		, CALL_VK = 46 
		, CANONICAL_VK = 47 
		, CARRET_OPERATOR_PART = 48 
		, CASCADE_VK = 49 
		, CASCATED_ELEMENT = 50 
		, CAST_VK = 51 
		, CHARACTER_VK = 52 
		, CHAR_CS_VK = 53 
		, CHAR_SET_NAME = 54 
		, CHAR_STRING = 55 
		, CHAR_STRING_PERL = 56 
		, CHAR_VK = 57 
		, CHR_VK = 58 
		, CLOB_VK = 59 
		, CLOSE_VK = 60 
		, CLUSTER_VK = 61 
		, COLLECTION_MODE = 62 
		, COLLECTION_NAME = 63 
		, COLLECT_VK = 64 
		, COLON = 65 
		, COLUMNS = 66 
		, COLUMN_NAME = 67 
		, COMMA = 68 
		, COMMENT = 69 
		, COMMENT_VK = 70 
		, COMMITTED_VK = 71 
		, COMMIT_VK = 72 
		, COMPATIBILITY_VK = 73 
		, COMPILE_VK = 74 
		, COMPOUND_VK = 75 
		, CONCATENATION_OP = 76 
		, CONDITIONAL_INSERT = 77 
		, CONSTANT_VK = 78 
		, CONSTRAINT_NAME = 79 
		, CONSTRUCTOR_VK = 80 
		, CONTENT_VK = 81 
		, CONTEXT_VK = 82 
		, CONTINUE_VK = 83 
		, CONVERT_VK = 84 
		, CORRUPT_XID_ALL_VK = 85 
		, CORRUPT_XID_VK = 86 
		, COST_CLASS_NAME = 87 
		, COST_VK = 88 
		, COUNT_VK = 89 
		, CROSS_VK = 90 
		, CUBE_VK = 91 
		, CURRENT_USER_VK = 92 
		, CURRENT_VK = 93 
		, CURSOR_NAME = 94 
		, CUSTOMDATUM_VK = 95 
		, CUSTOM_TYPE = 96 
		, CYCLE_VK = 97 
		, C_VK = 98 
		, DATABASE_VK = 99 
		, DATETIME_OP = 100 
		, DAY_VK = 101 
		, DBTIMEZONE_VK = 102 
		, DB_ROLE_CHANGE_VK = 103 
		, DDL_VK = 104 
		, DEBUG_VK = 105 
		, DECIMAL_VK = 106 
		, DECOMPOSE_VK = 107 
		, DECREMENT_VK = 108 
		, DEC_VK = 109 
		, DEFAULTS_VK = 110 
		, DEFERRED_VK = 111 
		, DEFINER_VK = 112 
		, DELIMITED_ID = 113 
		, DENSE_RANK_VK = 114 
		, DEPTH_VK = 115 
		, DETERMINISTIC_VK = 116 
		, DIMENSION_VK = 117 
		, DIRECT_MODE = 118 
		, DISABLE_VK = 119 
		, DISASSOCIATE_VK = 120 
		, DOCUMENT_VK = 121 
		, DOT_ASTERISK = 122 
		, DOUBLE_ASTERISK = 123 
		, DOUBLE_PERIOD = 124 
		, DOUBLE_VK = 125 
		, DSINTERVAL_UNCONSTRAINED_VK = 126 
		, ELEMENT = 127 
		, ELEMENTS_MODE = 128 
		, ENABLE_VK = 129 
		, ENCODING_VK = 130 
		, ENTITYESCAPING_VK = 131 
		, EQUALS_OP = 132 
		, EVALNAME_VK = 133 
		, EXACT_NUM_LIT = 134 
		, EXCEPTIONS_VK = 135 
		, EXCEPTION_INIT_VK = 136 
		, EXCEPTION_NAME = 137 
		, EXCLAMATION_OPERATOR_PART = 138 
		, EXCLUDE_VK = 139 
		, EXECUTE_VK = 140 
		, EXIT_VK = 141 
		, EXPLAIN_STATEMENT = 142 
		, EXPR = 143 
		, EXPR_LIST = 144 
		, EXTERNAL_VK = 145 
		, EXTRACT_VK = 146 
		, FACTORING = 147 
		, FINAL_VK = 148 
		, FIRST_VALUE_VK = 149 
		, FIRST_VK = 150 
		, FLOAT_VK = 151 
		, FOLLOWING_VK = 152 
		, FOLLOWS_VK = 153 
		, FORALL_VK = 154 
		, FORCE_VK = 155 
		, FOR_MULTI_COLUMN = 156 
		, FOR_NOTATION = 157 
		, FOR_SINGLE_COLUMN = 158 
		, FULL_VK = 159 
		, FUNCTION_ENABLING_OVER = 160 
		, FUNCTION_ENABLING_USING = 161 
		, FUNCTION_ENABLING_WITHIN_OR_OVER = 162 
		, FUNCTION_NAME = 163 
		, GREATER_THAN_OP = 164 
		, GREATER_THAN_OR_EQUALS_OP = 165 
		, GROUPING_VK = 166 
		, GROUPIN_SET = 167 
		, GROUP_BY_CLAUSE = 168 
		, GROUP_BY_ELEMENT = 169 
		, HASH_VK = 170 
		, HEX_STRING_LIT = 171 
		, HIDE_VK = 172 
		, HIERARCHICAL = 173 
		, HOSTED_VARIABLE = 174 
		, HOSTED_VARIABLE_NAME = 175 
		, HOSTED_VARIABLE_ROUTINE_CALL = 176 
		, HOUR_VK = 177 
		, ID = 178 
		, IGNORE_VK = 179 
		, IMMEDIATE_VK = 180 
		, IMPLEMENTATION_TYPE_NAME = 181 
		, INCLUDE_VK = 182 
		, INCLUDING_VK = 183 
		, INCREMENT_VK = 184 
		, INDENT_VK = 185 
		, INDEX_NAME = 186 
		, INLINE_VK = 187 
		, INNER_VK = 188 
		, INOUT_VK = 189 
		, INSTANTIABLE_VK = 190 
		, INSTEAD_VK = 191 
		, INTEGER_VK = 192 
		, INTERVAL_DATATYPE = 193 
		, INTRODUCER = 194 
		, INT_VK = 195 
		, INVALIDATE_VK = 196 
		, ISOLATION_VK = 197 
		, IS_A_SET = 198 
		, IS_EMPTY = 199 
		, IS_INFINITE = 200 
		, IS_NAN = 201 
		, IS_NOT_A_SET = 202 
		, IS_NOT_EMPTY = 203 
		, IS_NOT_INFINITE = 204 
		, IS_NOT_NAN = 205 
		, IS_NOT_NULL = 206 
		, IS_NOT_OF_TYPE = 207 
		, IS_NOT_PRESENT = 208 
		, IS_NULL = 209 
		, IS_OF_TYPE = 210 
		, IS_PRESENT = 211 
		, ITERATE_VK = 212 
		, JAVA_VK = 213 
		, JOIN_DEF = 214 
		, KEEP_VK = 215 
		, LABEL_NAME = 216 
		, LANGUAGE_VK = 217 
		, LAST_VALUE_VK = 218 
		, LAST_VK = 219 
		, LEADING_VK = 220 
		, LEFT_BRACKET = 221 
		, LEFT_PAREN = 222 
		, LEFT_VK = 223 
		, LESS_THAN_OP = 224 
		, LESS_THAN_OR_EQUALS_OP = 225 
		, LIBRARY_VK = 226 
		, LIKE2_VK = 227 
		, LIKE4_VK = 228 
		, LIKEC_VK = 229 
		, LIMIT_VK = 230 
		, LINK_NAME = 231 
		, LOCAL_VK = 232 
		, LOCK_TABLE_ELEMENT = 233 
		, LOGIC_EXPR = 234 
		, LOGOFF_VK = 235 
		, LOGON_VK = 236 
		, LOG_VK = 237 
		, LONG_VK = 238 
		, LOOP_VK = 239 
		, MAIN_MODEL = 240 
		, MAIN_MODEL_NAME = 241 
		, MAP_VK = 242 
		, MAXVALUE_VK = 243 
		, MEASURES_VK = 244 
		, MEMBER_VK = 245 
		, MERGE_INSERT = 246 
		, MERGE_UPDATE = 247 
		, MERGE_VK = 248 
		, MINUS_SIGN = 249 
		, MINUTE_VK = 250 
		, MINVALUE_VK = 251 
		, MLSLABEL_VK = 252 
		, MODEL_COLUMN = 253 
		, MODEL_COLUMNS = 254 
		, MODEL_EXPRESSION = 255 
		, MODEL_RULE = 256 
		, MODEL_RULES = 257 
		, MODIFY_VK = 258 
		, MONTH_VK = 259 
		, MULTI_TABLE_MODE = 260 
		, NAME_VK = 261 
		, NATIONAL_CHAR_STRING_LIT = 262 
		, NATIVE_DATATYPE = 263 
		, NATURALN_VK = 264 
		, NATURAL_VK = 265 
		, NAV_VK = 266 
		, NCHAR_CS_VK = 267 
		, NCHAR_VK = 268 
		, NCLOB_VK = 269 
		, NESTED_EXPR = 270 
		, NESTED_SUBQUERY = 271 
		, NESTED_VK = 272 
		, NEWLINE = 273 
		, NEW_VK = 274 
		, NEXT_VK = 275 
		, NOAUDIT_VK = 276 
		, NOCACHE_VK = 277 
		, NOCOPY_VK = 278 
		, NOCYCLE_VK = 279 
		, NOENTITYESCAPING_VK = 280 
		, NOMAXVALUE_VK = 281 
		, NOMINVALUE_VK = 282 
		, NOORDER_VK = 283 
		, NOSCHEMACHECK_VK = 284 
		, NOT_BETWEEN = 285 
		, NOT_EQUAL_OP = 286 
		, NOT_IN = 287 
		, NOT_LIKE = 288 
		, NO_VK = 289 
		, NULLS_VK = 290 
		, NUMBER_VK = 291 
		, NUMERIC_VK = 292 
		, NVARCHAR2_VK = 293 
		, OBJECT_VK = 294 
		, OFF_VK = 295 
		, OLD_VK = 296 
		, ONLY_VK = 297 
		, OPEN_VK = 298 
		, ORADATA_VK = 299 
		, ORDER_BY_ELEMENT = 300 
		, ORDER_BY_ELEMENTS = 301 
		, ORDINALITY_VK = 302 
		, OUT_VK = 303 
		, OVERRIDING_VK = 304 
		, OVER_VK = 305 
		, PACKAGE_NAME = 306 
		, PACKAGE_VK = 307 
		, PARALLEL_ENABLE_VK = 308 
		, PARAMETERS_VK = 309 
		, PARAMETER_NAME = 310 
		, PARENT_VK = 311 
		, PARTITION_VK = 312 
		, PASSING_VK = 313 
		, PERCENT = 314 
		, PERCENT_FOUND_VK = 315 
		, PERCENT_ISOPEN_VK = 316 
		, PERCENT_NOTFOUND_VK = 317 
		, PERCENT_ROWCOUNT_VK = 318 
		, PERCENT_ROWTYPE_VK = 319 
		, PERCENT_TYPE_VK = 320 
		, PERCENT_VK = 321 
		, PERIOD = 322 
		, PIPELINED_VK = 323 
		, PIVOT_ALIAS = 324 
		, PIVOT_ELEMENT = 325 
		, PIVOT_IN_ELEMENT = 326 
		, PIVOT_VK = 327 
		, PLSQL_NON_RESERVED_CAST = 328 
		, PLSQL_NON_RESERVED_CONNECT_BY_ROOT = 329 
		, PLSQL_NON_RESERVED_ELSIF = 330 
		, PLSQL_NON_RESERVED_MODEL = 331 
		, PLSQL_NON_RESERVED_MULTISET = 332 
		, PLSQL_NON_RESERVED_PIVOT = 333 
		, PLSQL_NON_RESERVED_UNPIVOT = 334 
		, PLSQL_NON_RESERVED_USING = 335 
		, PLSQL_RESERVED_COLAUTH = 336 
		, PLSQL_RESERVED_COMPRESS = 337 
		, PLSQL_RESERVED_CRASH = 338 
		, PLSQL_RESERVED_EXCLUSIVE = 339 
		, PLSQL_RESERVED_IDENTIFIED = 340 
		, PLSQL_RESERVED_IF = 341 
		, PLSQL_RESERVED_INDEX = 342 
		, PLSQL_RESERVED_INDEXES = 343 
		, PLSQL_RESERVED_LOCK = 344 
		, PLSQL_RESERVED_MINUS = 345 
		, PLSQL_RESERVED_MODE = 346 
		, PLSQL_RESERVED_NOCOMPRESS = 347 
		, PLSQL_RESERVED_NOWAIT = 348 
		, PLSQL_RESERVED_RESOURCE = 349 
		, PLSQL_RESERVED_SHARE = 350 
		, PLSQL_RESERVED_START = 351 
		, PLSQL_RESERVED_TABAUTH = 352 
		, PLSQL_RESERVED_VIEWS = 353 
		, PLS_INTEGER_VK = 354 
		, PLUS_SIGN = 355 
		, POSITIVEN_VK = 356 
		, POSITIVE_VK = 357 
		, PRAGMA_VK = 358 
		, PRECEDING_VK = 359 
		, PRECISION = 360 
		, PRECISION_VK = 361 
		, PREDICTION_FUNCTION = 362 
		, PROCEDURE_NAME = 363 
		, PROMPT = 364 
		, QS_ANGLE = 365 
		, QS_BRACE = 366 
		, QS_BRACK = 367 
		, QS_OTHER = 368 
		, QS_OTHER_CH = 369 
		, QS_PAREN = 370 
		, QUERY_NAME = 371 
		, QUESTION_MARK = 372 
		, QUOTE = 373 
		, RAISE_VK = 374 
		, RANGE_VK = 375 
		, RAW_VK = 376 
		, READ_VK = 377 
		, REAL_VK = 378 
		, RECORD_NAME = 379 
		, REFERENCE_MODEL_NAME = 380 
		, REFERENCE_VK = 381 
		, REFERENCING_VK = 382 
		, REF_VK = 383 
		, REGULAR_ID = 384 
		, REJECT_VK = 385 
		, RELIES_ON_VK = 386 
		, RENAME_VK = 387 
		, REPLACE_VK = 388 
		, RESPECT_VK = 389 
		, RESTRICT_REFERENCES_VK = 390 
		, RESULT_CACHE_VK = 391 
		, RETURN_VK = 392 
		, REUSE_VK = 393 
		, REVERSE_VK = 394 
		, RIGHT_BRACKET = 395 
		, RIGHT_PAREN = 396 
		, RIGHT_VK = 397 
		, ROLLBACK_SEGMENT_NAME = 398 
		, ROLLBACK_VK = 399 
		, ROLLUP_VK = 400 
		, ROUTINE_CALL = 401 
		, ROUTINE_NAME = 402 
		, ROWID_VK = 403 
		, ROWS_VK = 404 
		, ROW_VK = 405 
		, RULES_VK = 406 
		, SAMPLE_VK = 407 
		, SAVEPOINT_NAME = 408 
		, SAVEPOINT_VK = 409 
		, SCHEMACHECK_VK = 410 
		, SCHEMA_NAME = 411 
		, SCHEMA_VK = 412 
		, SCN_VK = 413 
		, SEARCHED_CASE = 414 
		, SEARCH_VK = 415 
		, SECOND_VK = 416 
		, SEED_VK = 417 
		, SELECTED_TABLEVIEW = 418 
		, SELECT_ITEM = 419 
		, SELECT_LIST = 420 
		, SELECT_MODE = 421 
		, SELECT_STATEMENT = 422 
		, SELF_VK = 423 
		, SEMICOLON = 424 
		, SEPARATOR = 425 
		, SEQUENCE_NAME = 426 
		, SEQUENCE_VK = 427 
		, SEQUENTIAL_VK = 428 
		, SERIALIZABLE_VK = 429 
		, SERIALLY_REUSABLE_VK = 430 
		, SERVERERROR_VK = 431 
		, SESSIONTIMEZONE_VK = 432 
		, SET_VK = 433 
		, SHOW_VK = 434 
		, SHUTDOWN_VK = 435 
		, SIBLINGS_VK = 436 
		, SIGNTYPE_VK = 437 
		, SIMPLE_CASE = 438 
		, SIMPLE_INTEGER_VK = 439 
		, SIMPLE_LETTER = 440 
		, SINGLE_TABLE_MODE = 441 
		, SINGLE_VK = 442 
		, SKIP_VK = 443 
		, SMALLINT_VK = 444 
		, SOLIDUS = 445 
		, SOME_VK = 446 
		, SPACE = 447 
		, SPECIFICATION_VK = 448 
		, SQL92_RESERVED_ALL = 449 
		, SQL92_RESERVED_ALTER = 450 
		, SQL92_RESERVED_AND = 451 
		, SQL92_RESERVED_ANY = 452 
		, SQL92_RESERVED_AS = 453 
		, SQL92_RESERVED_ASC = 454 
		, SQL92_RESERVED_BEGIN = 455 
		, SQL92_RESERVED_BETWEEN = 456 
		, SQL92_RESERVED_BY = 457 
		, SQL92_RESERVED_CASE = 458 
		, SQL92_RESERVED_CHECK = 459 
		, SQL92_RESERVED_CONNECT = 460 
		, SQL92_RESERVED_CREATE = 461 
		, SQL92_RESERVED_CURRENT = 462 
		, SQL92_RESERVED_CURSOR = 463 
		, SQL92_RESERVED_DATE = 464 
		, SQL92_RESERVED_DECLARE = 465 
		, SQL92_RESERVED_DEFAULT = 466 
		, SQL92_RESERVED_DELETE = 467 
		, SQL92_RESERVED_DESC = 468 
		, SQL92_RESERVED_DISTINCT = 469 
		, SQL92_RESERVED_DROP = 470 
		, SQL92_RESERVED_ELSE = 471 
		, SQL92_RESERVED_END = 472 
		, SQL92_RESERVED_EXCEPTION = 473 
		, SQL92_RESERVED_EXISTS = 474 
		, SQL92_RESERVED_FALSE = 475 
		, SQL92_RESERVED_FETCH = 476 
		, SQL92_RESERVED_FOR = 477 
		, SQL92_RESERVED_FROM = 478 
		, SQL92_RESERVED_GOTO = 479 
		, SQL92_RESERVED_GRANT = 480 
		, SQL92_RESERVED_GROUP = 481 
		, SQL92_RESERVED_HAVING = 482 
		, SQL92_RESERVED_IN = 483 
		, SQL92_RESERVED_INSERT = 484 
		, SQL92_RESERVED_INTERSECT = 485 
		, SQL92_RESERVED_INTO = 486 
		, SQL92_RESERVED_IS = 487 
		, SQL92_RESERVED_LIKE = 488 
		, SQL92_RESERVED_NOT = 489 
		, SQL92_RESERVED_NULL = 490 
		, SQL92_RESERVED_OF = 491 
		, SQL92_RESERVED_ON = 492 
		, SQL92_RESERVED_OPTION = 493 
		, SQL92_RESERVED_OR = 494 
		, SQL92_RESERVED_ORDER = 495 
		, SQL92_RESERVED_OVERLAPS = 496 
		, SQL92_RESERVED_PRIOR = 497 
		, SQL92_RESERVED_PROCEDURE = 498 
		, SQL92_RESERVED_PUBLIC = 499 
		, SQL92_RESERVED_REVOKE = 500 
		, SQL92_RESERVED_SELECT = 501 
		, SQL92_RESERVED_SIZE = 502 
		, SQL92_RESERVED_TABLE = 503 
		, SQL92_RESERVED_THE = 504 
		, SQL92_RESERVED_THEN = 505 
		, SQL92_RESERVED_TO = 506 
		, SQL92_RESERVED_TRUE = 507 
		, SQL92_RESERVED_UNION = 508 
		, SQL92_RESERVED_UNIQUE = 509 
		, SQL92_RESERVED_UPDATE = 510 
		, SQL92_RESERVED_VALUES = 511 
		, SQL92_RESERVED_VIEW = 512 
		, SQL92_RESERVED_WHEN = 513 
		, SQL92_RESERVED_WHERE = 514 
		, SQL92_RESERVED_WITH = 515 
		, SQLDATA_VK = 516 
		, SQL_ISO_RESERVED_OFFSET = 517 
		, STANDALONE_VK = 518 
		, STANDARD_FUNCTION = 519 
		, STARTUP_VK = 520 
		, STATIC_RETURNING = 521 
		, STATIC_VK = 522 
		, STATISTICS_VK = 523 
		, STRING_VK = 524 
		, SUBMULTISET_VK = 525 
		, SUBPARTITION_VK = 526 
		, SUBQUERY = 527 
		, SUSPEND_VK = 528 
		, TABLEVIEW_NAME = 529 
		, TABLE_ELEMENT = 530 
		, TABLE_EXPRESSION = 531 
		, TABLE_REF = 532 
		, TABLE_REF_ELEMENT = 533 
		, TABLE_VAR_NAME = 534 
		, TIES_VK = 535 
		, TILDE_OPERATOR_PART = 536 
		, TIMESTAMP_LTZ_UNCONSTRAINED_VK = 537 
		, TIMESTAMP_TZ_UNCONSTRAINED_VK = 538 
		, TIMESTAMP_UNCONSTRAINED_VK = 539 
		, TIMESTAMP_VK = 540 
		, TIMEZONE_ABBR_VK = 541 
		, TIMEZONE_HOUR_VK = 542 
		, TIMEZONE_MINUTE_VK = 543 
		, TIMEZONE_REGION_VK = 544 
		, TIME_VK = 545 
		, TRAILING_VK = 546 
		, TRANSLATE_VK = 547 
		, TREAT_VK = 548 
		, TRIGGER_NAME = 549 
		, TRIM_VK = 550 
		, TRUNCATE_VK = 551 
		, TYPE_NAME = 552 
		, TYPE_VK = 553 
		, T_BINDVAR_NAME = 554 
		, T_COLUMN_ALIAS = 555 
		, T_COLUMN_LIST = 556 
		, T_COLUMN_NAME = 557 
		, T_COND_AND = 558 
		, T_COND_AND_SEQ = 559 
		, T_COND_BETWEEN = 560 
		, T_COND_COMPARISON = 561 
		, T_COND_EQUALS_PATH = 562 
		, T_COND_EXISTS = 563 
		, T_COND_GROUP_COMPARISON = 564 
		, T_COND_IN = 565 
		, T_COND_IS = 566 
		, T_COND_IS_ANY = 567 
		, T_COND_IS_A_SET = 568 
		, T_COND_IS_EMPTY = 569 
		, T_COND_IS_OF_TYPE = 570 
		, T_COND_IS_PRESENT = 571 
		, T_COND_LIKE = 572 
		, T_COND_MEMEBER = 573 
		, T_COND_NOT = 574 
		, T_COND_OR = 575 
		, T_COND_OR_SEQ = 576 
		, T_COND_PAREN = 577 
		, T_COND_REGEXP_LIKE = 578 
		, T_COND_SUBMULTISET = 579 
		, T_COND_UNDER_PATH = 580 
		, T_DBLINK_NAME = 581 
		, T_DECL = 582 
		, T_FOR_UPDATE_CLAUSE = 583 
		, T_FROM = 584 
		, T_FUNCTION_NAME = 585 
		, T_GROUP_BY = 586 
		, T_HIERARCHICAL = 587 
		, T_IDENTIFIER = 588 
		, T_JOINING_CLAUSE = 589 
		, T_MODEL = 590 
		, T_OPERATOR_BINARY = 591 
		, T_OPERATOR_PART = 592 
		, T_OPERATOR_UNARY = 593 
		, T_ORDER_BY_CLAUSE = 594 
		, T_PACKAGE_NAME = 595 
		, T_RESERVED = 596 
		, T_SCHEMA_NAME = 597 
		, T_SELECT = 598 
		, T_SELECT_COLUMN = 599 
		, T_SUBQUERY = 600 
		, T_TABLE_ALIAS = 601 
		, T_TABLE_CAST = 602 
		, T_TABLE_NAME = 603 
		, T_TABLE_REF = 604 
		, T_UNION = 605 
		, T_UNKNOWN = 606 
		, T_USE = 607 
		, T_WHERE = 608 
		, T_WITH = 609 
		, UNARY_OPERATOR = 610 
		, UNBOUNDED_VK = 611 
		, UNDERSCORE = 612 
		, UNDER_VK = 613 
		, UNLIMITED_VK = 614 
		, UNPIVOT_IN_ELEMENT = 615 
		, UNPIVOT_VK = 616 
		, UNSIGNED_INTEGER = 617 
		, UNTIL_VK = 618 
		, UPDATED_VK = 619 
		, UPSERT_VK = 620 
		, UROWID_VK = 621 
		, VALIDATE_VK = 622 
		, VALUE_VK = 623 
		, VARCHAR2_VK = 624 
		, VARCHAR_VK = 625 
		, VARIABLE_NAME = 626 
		, VECTOR_EXPR = 627 
		, VERSIONS_VK = 628 
		, VERSION_VK = 629 
		, VERTICAL_BAR = 630 
		, WAIT_VK = 631 
		, WELLFORMED_VK = 632 
		, WITHIN_VK = 633 
		, WORK_VK = 634 
		, WRITE_VK = 635 
		, XMLAGG_VK = 636 
		, XMLATTRIBUTES_VK = 637 
		, XMLCAST_VK = 638 
		, XMLCOLATTVAL_VK = 639 
		, XMLELEMENT_VK = 640 
		, XMLEXISTS_VK = 641 
		, XMLFOREST_VK = 642 
		, XMLNAMESPACES_VK = 643 
		, XMLPARSE_VK = 644 
		, XMLPI_VK = 645 
		, XMLQUERY_VK = 646 
		, XMLROOT_VK = 647 
		, XMLSERIALIZE_VK = 648 
		, XMLTABLE_VK = 649 
		, XML_ALIAS = 650 
		, XML_COLUMN = 651 
		, XML_COLUMN_NAME = 652 
		, XML_ELEMENT = 653 
		, XML_VK = 654 
		, YEAR_VK = 655 
		, YES_VK = 656 
		, YMINTERVAL_UNCONSTRAINED_VK = 657 
		, ZV = 658 
		, CONJUNCTION = 669 
		, DISJUNCTION = 671 
	};
};

/** Context tracking structure for OracleDML_OracleDMLKeys
 */
class OracleDML_OracleDMLKeys : public OracleDML_OracleDMLKeysImplTraits::BaseParserType
    , public OracleDML_OracleDMLKeysTokens
{
public:
	typedef OracleDML_OracleDMLKeysImplTraits ImplTraits;
	typedef OracleDML_OracleDMLKeys ComponentType;
	typedef ComponentType::StreamType StreamType;
	typedef OracleDML_OracleDMLKeysImplTraits::BaseParserType BaseType;
	typedef ImplTraits::RecognizerSharedStateType<StreamType> RecognizerSharedStateType;
	typedef StreamType InputType;
	typedef OracleDML_OracleDMLKeysImplTraits::CommonTokenType CommonTokenType;
	typedef OracleDML_OracleDMLKeysImplTraits::TreeAdaptorType TreeAdaptorType;

	static const bool IsFiltered = false;


private:	
	OracleDML*	 m_gOracleDML;
public:
    OracleDML_OracleDMLKeys(InputType* instream, OracleDML* gOracleDML);
    OracleDML_OracleDMLKeys(InputType* instream, RecognizerSharedStateType* state, OracleDML* gOracleDML);

    void init(InputType* instream , OracleDML* gOracleDML );
    static ANTLR_UINT8** getTokenNames();


    struct create_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        create_key_return()
            : BaseType()
            {}
        create_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        create_key_return( create_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~create_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        create_key_return&
        operator=( create_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct replace_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        replace_key_return()
            : BaseType()
            {}
        replace_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        replace_key_return( replace_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~replace_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        replace_key_return&
        operator=( replace_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct package_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        package_key_return()
            : BaseType()
            {}
        package_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        package_key_return( package_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~package_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        package_key_return&
        operator=( package_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct body_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        body_key_return()
            : BaseType()
            {}
        body_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        body_key_return( body_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~body_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        body_key_return&
        operator=( body_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct begin_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        begin_key_return()
            : BaseType()
            {}
        begin_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        begin_key_return( begin_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~begin_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        begin_key_return&
        operator=( begin_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct exit_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        exit_key_return()
            : BaseType()
            {}
        exit_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        exit_key_return( exit_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~exit_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        exit_key_return&
        operator=( exit_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct declare_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        declare_key_return()
            : BaseType()
            {}
        declare_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        declare_key_return( declare_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~declare_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        declare_key_return&
        operator=( declare_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct exception_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        exception_key_return()
            : BaseType()
            {}
        exception_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        exception_key_return( exception_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~exception_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        exception_key_return&
        operator=( exception_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct serveroutput_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        serveroutput_key_return()
            : BaseType()
            {}
        serveroutput_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        serveroutput_key_return( serveroutput_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~serveroutput_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        serveroutput_key_return&
        operator=( serveroutput_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct off_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        off_key_return()
            : BaseType()
            {}
        off_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        off_key_return( off_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~off_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        off_key_return&
        operator=( off_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct constant_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        constant_key_return()
            : BaseType()
            {}
        constant_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        constant_key_return( constant_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~constant_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        constant_key_return&
        operator=( constant_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct subtype_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        subtype_key_return()
            : BaseType()
            {}
        subtype_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        subtype_key_return( subtype_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~subtype_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        subtype_key_return&
        operator=( subtype_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct cursor_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        cursor_key_return()
            : BaseType()
            {}
        cursor_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        cursor_key_return( cursor_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~cursor_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        cursor_key_return&
        operator=( cursor_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct nextval_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        nextval_key_return()
            : BaseType()
            {}
        nextval_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        nextval_key_return( nextval_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~nextval_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        nextval_key_return&
        operator=( nextval_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct goto_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        goto_key_return()
            : BaseType()
            {}
        goto_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        goto_key_return( goto_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~goto_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        goto_key_return&
        operator=( goto_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct execute_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        execute_key_return()
            : BaseType()
            {}
        execute_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        execute_key_return( execute_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~execute_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        execute_key_return&
        operator=( execute_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct immediate_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        immediate_key_return()
            : BaseType()
            {}
        immediate_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        immediate_key_return( immediate_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~immediate_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        immediate_key_return&
        operator=( immediate_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct return_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        return_key_return()
            : BaseType()
            {}
        return_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        return_key_return( return_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~return_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        return_key_return&
        operator=( return_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct procedure_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        procedure_key_return()
            : BaseType()
            {}
        procedure_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        procedure_key_return( procedure_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~procedure_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        procedure_key_return&
        operator=( procedure_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct function_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        function_key_return()
            : BaseType()
            {}
        function_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        function_key_return( function_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~function_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        function_key_return&
        operator=( function_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct pragma_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        pragma_key_return()
            : BaseType()
            {}
        pragma_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        pragma_key_return( pragma_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~pragma_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        pragma_key_return&
        operator=( pragma_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct exception_init_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        exception_init_key_return()
            : BaseType()
            {}
        exception_init_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        exception_init_key_return( exception_init_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~exception_init_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        exception_init_key_return&
        operator=( exception_init_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct type_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        type_key_return()
            : BaseType()
            {}
        type_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        type_key_return( type_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~type_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        type_key_return&
        operator=( type_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct record_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        record_key_return()
            : BaseType()
            {}
        record_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        record_key_return( record_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~record_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        record_key_return&
        operator=( record_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct indexed_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        indexed_key_return()
            : BaseType()
            {}
        indexed_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        indexed_key_return( indexed_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~indexed_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        indexed_key_return&
        operator=( indexed_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct index_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        index_key_return()
            : BaseType()
            {}
        index_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        index_key_return( index_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~index_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        index_key_return&
        operator=( index_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct percent_notfound_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        percent_notfound_key_return()
            : BaseType()
            {}
        percent_notfound_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        percent_notfound_key_return( percent_notfound_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~percent_notfound_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        percent_notfound_key_return&
        operator=( percent_notfound_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct percent_found_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        percent_found_key_return()
            : BaseType()
            {}
        percent_found_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        percent_found_key_return( percent_found_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~percent_found_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        percent_found_key_return&
        operator=( percent_found_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct percent_isopen_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        percent_isopen_key_return()
            : BaseType()
            {}
        percent_isopen_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        percent_isopen_key_return( percent_isopen_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~percent_isopen_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        percent_isopen_key_return&
        operator=( percent_isopen_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct percent_rowcount_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        percent_rowcount_key_return()
            : BaseType()
            {}
        percent_rowcount_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        percent_rowcount_key_return( percent_rowcount_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~percent_rowcount_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        percent_rowcount_key_return&
        operator=( percent_rowcount_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct percent_rowtype_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        percent_rowtype_key_return()
            : BaseType()
            {}
        percent_rowtype_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        percent_rowtype_key_return( percent_rowtype_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~percent_rowtype_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        percent_rowtype_key_return&
        operator=( percent_rowtype_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct percent_type_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        percent_type_key_return()
            : BaseType()
            {}
        percent_type_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        percent_type_key_return( percent_type_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~percent_type_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        percent_type_key_return&
        operator=( percent_type_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct out_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        out_key_return()
            : BaseType()
            {}
        out_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        out_key_return( out_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~out_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        out_key_return&
        operator=( out_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct inout_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        inout_key_return()
            : BaseType()
            {}
        inout_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        inout_key_return( inout_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~inout_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        inout_key_return&
        operator=( inout_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct extend_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        extend_key_return()
            : BaseType()
            {}
        extend_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        extend_key_return( extend_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~extend_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        extend_key_return&
        operator=( extend_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct raise_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        raise_key_return()
            : BaseType()
            {}
        raise_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        raise_key_return( raise_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~raise_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        raise_key_return&
        operator=( raise_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct while_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        while_key_return()
            : BaseType()
            {}
        while_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        while_key_return( while_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~while_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        while_key_return&
        operator=( while_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct loop_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        loop_key_return()
            : BaseType()
            {}
        loop_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        loop_key_return( loop_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~loop_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        loop_key_return&
        operator=( loop_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct commit_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        commit_key_return()
            : BaseType()
            {}
        commit_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        commit_key_return( commit_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~commit_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        commit_key_return&
        operator=( commit_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct work_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        work_key_return()
            : BaseType()
            {}
        work_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        work_key_return( work_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~work_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        work_key_return&
        operator=( work_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct if_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        if_key_return()
            : BaseType()
            {}
        if_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        if_key_return( if_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~if_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        if_key_return&
        operator=( if_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct elsif_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        elsif_key_return()
            : BaseType()
            {}
        elsif_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        elsif_key_return( elsif_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~elsif_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        elsif_key_return&
        operator=( elsif_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct authid_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        authid_key_return()
            : BaseType()
            {}
        authid_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        authid_key_return( authid_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~authid_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        authid_key_return&
        operator=( authid_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct definer_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        definer_key_return()
            : BaseType()
            {}
        definer_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        definer_key_return( definer_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~definer_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        definer_key_return&
        operator=( definer_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct external_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        external_key_return()
            : BaseType()
            {}
        external_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        external_key_return( external_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~external_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        external_key_return&
        operator=( external_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct language_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        language_key_return()
            : BaseType()
            {}
        language_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        language_key_return( language_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~language_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        language_key_return&
        operator=( language_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct java_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        java_key_return()
            : BaseType()
            {}
        java_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        java_key_return( java_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~java_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        java_key_return&
        operator=( java_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct name_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        name_key_return()
            : BaseType()
            {}
        name_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        name_key_return( name_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~name_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        name_key_return&
        operator=( name_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct deterministic_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        deterministic_key_return()
            : BaseType()
            {}
        deterministic_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        deterministic_key_return( deterministic_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~deterministic_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        deterministic_key_return&
        operator=( deterministic_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct parallel_enable_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        parallel_enable_key_return()
            : BaseType()
            {}
        parallel_enable_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        parallel_enable_key_return( parallel_enable_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~parallel_enable_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        parallel_enable_key_return&
        operator=( parallel_enable_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct result_cache_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        result_cache_key_return()
            : BaseType()
            {}
        result_cache_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        result_cache_key_return( result_cache_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~result_cache_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        result_cache_key_return&
        operator=( result_cache_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct pipelined_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        pipelined_key_return()
            : BaseType()
            {}
        pipelined_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        pipelined_key_return( pipelined_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~pipelined_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        pipelined_key_return&
        operator=( pipelined_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct aggregate_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        aggregate_key_return()
            : BaseType()
            {}
        aggregate_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        aggregate_key_return( aggregate_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~aggregate_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        aggregate_key_return&
        operator=( aggregate_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct alter_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        alter_key_return()
            : BaseType()
            {}
        alter_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        alter_key_return( alter_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~alter_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        alter_key_return&
        operator=( alter_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct compile_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        compile_key_return()
            : BaseType()
            {}
        compile_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        compile_key_return( compile_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~compile_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        compile_key_return&
        operator=( compile_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct debug_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        debug_key_return()
            : BaseType()
            {}
        debug_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        debug_key_return( debug_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~debug_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        debug_key_return&
        operator=( debug_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct reuse_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        reuse_key_return()
            : BaseType()
            {}
        reuse_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        reuse_key_return( reuse_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~reuse_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        reuse_key_return&
        operator=( reuse_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct settings_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        settings_key_return()
            : BaseType()
            {}
        settings_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        settings_key_return( settings_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~settings_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        settings_key_return&
        operator=( settings_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct specification_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        specification_key_return()
            : BaseType()
            {}
        specification_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        specification_key_return( specification_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~specification_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        specification_key_return&
        operator=( specification_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct drop_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        drop_key_return()
            : BaseType()
            {}
        drop_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        drop_key_return( drop_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~drop_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        drop_key_return&
        operator=( drop_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct trigger_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        trigger_key_return()
            : BaseType()
            {}
        trigger_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        trigger_key_return( trigger_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~trigger_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        trigger_key_return&
        operator=( trigger_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct force_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        force_key_return()
            : BaseType()
            {}
        force_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        force_key_return( force_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~force_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        force_key_return&
        operator=( force_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct validate_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        validate_key_return()
            : BaseType()
            {}
        validate_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        validate_key_return( validate_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~validate_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        validate_key_return&
        operator=( validate_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct ref_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        ref_key_return()
            : BaseType()
            {}
        ref_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        ref_key_return( ref_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~ref_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        ref_key_return&
        operator=( ref_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct array_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        array_key_return()
            : BaseType()
            {}
        array_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        array_key_return( array_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~array_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        array_key_return&
        operator=( array_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct varray_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        varray_key_return()
            : BaseType()
            {}
        varray_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        varray_key_return( varray_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~varray_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        varray_key_return&
        operator=( varray_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct pls_integer_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        pls_integer_key_return()
            : BaseType()
            {}
        pls_integer_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        pls_integer_key_return( pls_integer_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~pls_integer_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        pls_integer_key_return&
        operator=( pls_integer_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct serially_reusable_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        serially_reusable_key_return()
            : BaseType()
            {}
        serially_reusable_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        serially_reusable_key_return( serially_reusable_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~serially_reusable_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        serially_reusable_key_return&
        operator=( serially_reusable_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct autonomous_transaction_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        autonomous_transaction_key_return()
            : BaseType()
            {}
        autonomous_transaction_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        autonomous_transaction_key_return( autonomous_transaction_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~autonomous_transaction_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        autonomous_transaction_key_return&
        operator=( autonomous_transaction_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct inline_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        inline_key_return()
            : BaseType()
            {}
        inline_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        inline_key_return( inline_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~inline_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        inline_key_return&
        operator=( inline_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct restrict_references_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        restrict_references_key_return()
            : BaseType()
            {}
        restrict_references_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        restrict_references_key_return( restrict_references_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~restrict_references_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        restrict_references_key_return&
        operator=( restrict_references_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct exceptions_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        exceptions_key_return()
            : BaseType()
            {}
        exceptions_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        exceptions_key_return( exceptions_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~exceptions_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        exceptions_key_return&
        operator=( exceptions_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct save_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        save_key_return()
            : BaseType()
            {}
        save_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        save_key_return( save_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~save_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        save_key_return&
        operator=( save_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct forall_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        forall_key_return()
            : BaseType()
            {}
        forall_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        forall_key_return( forall_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~forall_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        forall_key_return&
        operator=( forall_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct continue_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        continue_key_return()
            : BaseType()
            {}
        continue_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        continue_key_return( continue_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~continue_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        continue_key_return&
        operator=( continue_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct indices_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        indices_key_return()
            : BaseType()
            {}
        indices_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        indices_key_return( indices_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~indices_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        indices_key_return&
        operator=( indices_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct values_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        values_key_return()
            : BaseType()
            {}
        values_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        values_key_return( values_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~values_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        values_key_return&
        operator=( values_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct case_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        case_key_return()
            : BaseType()
            {}
        case_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        case_key_return( case_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~case_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        case_key_return&
        operator=( case_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct bulk_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        bulk_key_return()
            : BaseType()
            {}
        bulk_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        bulk_key_return( bulk_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~bulk_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        bulk_key_return&
        operator=( bulk_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct collect_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        collect_key_return()
            : BaseType()
            {}
        collect_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        collect_key_return( collect_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~collect_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        collect_key_return&
        operator=( collect_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct committed_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        committed_key_return()
            : BaseType()
            {}
        committed_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        committed_key_return( committed_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~committed_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        committed_key_return&
        operator=( committed_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct use_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        use_key_return()
            : BaseType()
            {}
        use_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        use_key_return( use_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~use_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        use_key_return&
        operator=( use_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct level_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        level_key_return()
            : BaseType()
            {}
        level_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        level_key_return( level_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~level_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        level_key_return&
        operator=( level_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct isolation_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        isolation_key_return()
            : BaseType()
            {}
        isolation_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        isolation_key_return( isolation_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~isolation_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        isolation_key_return&
        operator=( isolation_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct serializable_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        serializable_key_return()
            : BaseType()
            {}
        serializable_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        serializable_key_return( serializable_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~serializable_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        serializable_key_return&
        operator=( serializable_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct segment_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        segment_key_return()
            : BaseType()
            {}
        segment_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        segment_key_return( segment_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~segment_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        segment_key_return&
        operator=( segment_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct write_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        write_key_return()
            : BaseType()
            {}
        write_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        write_key_return( write_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~write_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        write_key_return&
        operator=( write_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct wait_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        wait_key_return()
            : BaseType()
            {}
        wait_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        wait_key_return( wait_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~wait_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        wait_key_return&
        operator=( wait_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct corrupt_xid_all_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        corrupt_xid_all_key_return()
            : BaseType()
            {}
        corrupt_xid_all_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        corrupt_xid_all_key_return( corrupt_xid_all_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~corrupt_xid_all_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        corrupt_xid_all_key_return&
        operator=( corrupt_xid_all_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct corrupt_xid_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        corrupt_xid_key_return()
            : BaseType()
            {}
        corrupt_xid_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        corrupt_xid_key_return( corrupt_xid_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~corrupt_xid_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        corrupt_xid_key_return&
        operator=( corrupt_xid_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct batch_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        batch_key_return()
            : BaseType()
            {}
        batch_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        batch_key_return( batch_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~batch_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        batch_key_return&
        operator=( batch_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct session_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        session_key_return()
            : BaseType()
            {}
        session_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        session_key_return( session_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~session_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        session_key_return&
        operator=( session_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct role_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        role_key_return()
            : BaseType()
            {}
        role_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        role_key_return( role_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~role_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        role_key_return&
        operator=( role_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct constraint_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        constraint_key_return()
            : BaseType()
            {}
        constraint_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        constraint_key_return( constraint_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~constraint_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        constraint_key_return&
        operator=( constraint_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct constraints_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        constraints_key_return()
            : BaseType()
            {}
        constraints_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        constraints_key_return( constraints_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~constraints_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        constraints_key_return&
        operator=( constraints_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct call_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        call_key_return()
            : BaseType()
            {}
        call_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        call_key_return( call_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~call_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        call_key_return&
        operator=( call_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct explain_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        explain_key_return()
            : BaseType()
            {}
        explain_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        explain_key_return( explain_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~explain_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        explain_key_return&
        operator=( explain_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct merge_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        merge_key_return()
            : BaseType()
            {}
        merge_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        merge_key_return( merge_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~merge_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        merge_key_return&
        operator=( merge_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct plan_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        plan_key_return()
            : BaseType()
            {}
        plan_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        plan_key_return( plan_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~plan_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        plan_key_return&
        operator=( plan_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct system_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        system_key_return()
            : BaseType()
            {}
        system_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        system_key_return( system_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~system_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        system_key_return&
        operator=( system_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct subpartition_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        subpartition_key_return()
            : BaseType()
            {}
        subpartition_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        subpartition_key_return( subpartition_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~subpartition_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        subpartition_key_return&
        operator=( subpartition_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct partition_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        partition_key_return()
            : BaseType()
            {}
        partition_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        partition_key_return( partition_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~partition_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        partition_key_return&
        operator=( partition_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct matched_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        matched_key_return()
            : BaseType()
            {}
        matched_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        matched_key_return( matched_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~matched_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        matched_key_return&
        operator=( matched_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct reject_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        reject_key_return()
            : BaseType()
            {}
        reject_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        reject_key_return( reject_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~reject_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        reject_key_return&
        operator=( reject_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct log_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        log_key_return()
            : BaseType()
            {}
        log_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        log_key_return( log_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~log_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        log_key_return&
        operator=( log_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct unlimited_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        unlimited_key_return()
            : BaseType()
            {}
        unlimited_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        unlimited_key_return( unlimited_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~unlimited_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        unlimited_key_return&
        operator=( unlimited_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct limit_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        limit_key_return()
            : BaseType()
            {}
        limit_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        limit_key_return( limit_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~limit_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        limit_key_return&
        operator=( limit_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct errors_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        errors_key_return()
            : BaseType()
            {}
        errors_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        errors_key_return( errors_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~errors_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        errors_key_return&
        operator=( errors_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct timestamp_tz_unconstrained_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        timestamp_tz_unconstrained_key_return()
            : BaseType()
            {}
        timestamp_tz_unconstrained_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        timestamp_tz_unconstrained_key_return( timestamp_tz_unconstrained_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~timestamp_tz_unconstrained_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        timestamp_tz_unconstrained_key_return&
        operator=( timestamp_tz_unconstrained_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct urowid_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        urowid_key_return()
            : BaseType()
            {}
        urowid_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        urowid_key_return( urowid_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~urowid_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        urowid_key_return&
        operator=( urowid_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct binary_float_min_subnormal_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        binary_float_min_subnormal_key_return()
            : BaseType()
            {}
        binary_float_min_subnormal_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        binary_float_min_subnormal_key_return( binary_float_min_subnormal_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~binary_float_min_subnormal_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        binary_float_min_subnormal_key_return&
        operator=( binary_float_min_subnormal_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct binary_double_min_normal_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        binary_double_min_normal_key_return()
            : BaseType()
            {}
        binary_double_min_normal_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        binary_double_min_normal_key_return( binary_double_min_normal_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~binary_double_min_normal_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        binary_double_min_normal_key_return&
        operator=( binary_double_min_normal_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct binary_float_max_normal_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        binary_float_max_normal_key_return()
            : BaseType()
            {}
        binary_float_max_normal_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        binary_float_max_normal_key_return( binary_float_max_normal_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~binary_float_max_normal_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        binary_float_max_normal_key_return&
        operator=( binary_float_max_normal_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct positiven_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        positiven_key_return()
            : BaseType()
            {}
        positiven_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        positiven_key_return( positiven_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~positiven_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        positiven_key_return&
        operator=( positiven_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct timezone_abbr_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        timezone_abbr_key_return()
            : BaseType()
            {}
        timezone_abbr_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        timezone_abbr_key_return( timezone_abbr_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~timezone_abbr_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        timezone_abbr_key_return&
        operator=( timezone_abbr_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct binary_double_min_subnormal_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        binary_double_min_subnormal_key_return()
            : BaseType()
            {}
        binary_double_min_subnormal_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        binary_double_min_subnormal_key_return( binary_double_min_subnormal_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~binary_double_min_subnormal_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        binary_double_min_subnormal_key_return&
        operator=( binary_double_min_subnormal_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct binary_float_max_subnormal_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        binary_float_max_subnormal_key_return()
            : BaseType()
            {}
        binary_float_max_subnormal_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        binary_float_max_subnormal_key_return( binary_float_max_subnormal_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~binary_float_max_subnormal_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        binary_float_max_subnormal_key_return&
        operator=( binary_float_max_subnormal_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct binary_double_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        binary_double_key_return()
            : BaseType()
            {}
        binary_double_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        binary_double_key_return( binary_double_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~binary_double_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        binary_double_key_return&
        operator=( binary_double_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct bfile_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        bfile_key_return()
            : BaseType()
            {}
        bfile_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        bfile_key_return( bfile_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~bfile_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        bfile_key_return&
        operator=( bfile_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct binary_double_infinity_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        binary_double_infinity_key_return()
            : BaseType()
            {}
        binary_double_infinity_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        binary_double_infinity_key_return( binary_double_infinity_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~binary_double_infinity_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        binary_double_infinity_key_return&
        operator=( binary_double_infinity_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct timezone_region_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        timezone_region_key_return()
            : BaseType()
            {}
        timezone_region_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        timezone_region_key_return( timezone_region_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~timezone_region_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        timezone_region_key_return&
        operator=( timezone_region_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct timestamp_ltz_unconstrained_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        timestamp_ltz_unconstrained_key_return()
            : BaseType()
            {}
        timestamp_ltz_unconstrained_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        timestamp_ltz_unconstrained_key_return( timestamp_ltz_unconstrained_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~timestamp_ltz_unconstrained_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        timestamp_ltz_unconstrained_key_return&
        operator=( timestamp_ltz_unconstrained_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct naturaln_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        naturaln_key_return()
            : BaseType()
            {}
        naturaln_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        naturaln_key_return( naturaln_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~naturaln_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        naturaln_key_return&
        operator=( naturaln_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct simple_integer_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        simple_integer_key_return()
            : BaseType()
            {}
        simple_integer_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        simple_integer_key_return( simple_integer_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~simple_integer_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        simple_integer_key_return&
        operator=( simple_integer_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct binary_double_max_subnormal_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        binary_double_max_subnormal_key_return()
            : BaseType()
            {}
        binary_double_max_subnormal_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        binary_double_max_subnormal_key_return( binary_double_max_subnormal_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~binary_double_max_subnormal_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        binary_double_max_subnormal_key_return&
        operator=( binary_double_max_subnormal_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct byte_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        byte_key_return()
            : BaseType()
            {}
        byte_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        byte_key_return( byte_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~byte_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        byte_key_return&
        operator=( byte_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct binary_float_infinity_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        binary_float_infinity_key_return()
            : BaseType()
            {}
        binary_float_infinity_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        binary_float_infinity_key_return( binary_float_infinity_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~binary_float_infinity_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        binary_float_infinity_key_return&
        operator=( binary_float_infinity_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct binary_float_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        binary_float_key_return()
            : BaseType()
            {}
        binary_float_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        binary_float_key_return( binary_float_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~binary_float_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        binary_float_key_return&
        operator=( binary_float_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct range_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        range_key_return()
            : BaseType()
            {}
        range_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        range_key_return( range_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~range_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        range_key_return&
        operator=( range_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct nclob_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        nclob_key_return()
            : BaseType()
            {}
        nclob_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        nclob_key_return( nclob_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~nclob_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        nclob_key_return&
        operator=( nclob_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct clob_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        clob_key_return()
            : BaseType()
            {}
        clob_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        clob_key_return( clob_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~clob_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        clob_key_return&
        operator=( clob_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct dsinterval_unconstrained_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        dsinterval_unconstrained_key_return()
            : BaseType()
            {}
        dsinterval_unconstrained_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        dsinterval_unconstrained_key_return( dsinterval_unconstrained_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~dsinterval_unconstrained_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        dsinterval_unconstrained_key_return&
        operator=( dsinterval_unconstrained_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct yminterval_unconstrained_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        yminterval_unconstrained_key_return()
            : BaseType()
            {}
        yminterval_unconstrained_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        yminterval_unconstrained_key_return( yminterval_unconstrained_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~yminterval_unconstrained_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        yminterval_unconstrained_key_return&
        operator=( yminterval_unconstrained_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct rowid_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        rowid_key_return()
            : BaseType()
            {}
        rowid_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        rowid_key_return( rowid_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~rowid_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        rowid_key_return&
        operator=( rowid_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct binary_double_nan_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        binary_double_nan_key_return()
            : BaseType()
            {}
        binary_double_nan_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        binary_double_nan_key_return( binary_double_nan_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~binary_double_nan_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        binary_double_nan_key_return&
        operator=( binary_double_nan_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct timestamp_unconstrained_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        timestamp_unconstrained_key_return()
            : BaseType()
            {}
        timestamp_unconstrained_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        timestamp_unconstrained_key_return( timestamp_unconstrained_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~timestamp_unconstrained_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        timestamp_unconstrained_key_return&
        operator=( timestamp_unconstrained_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct binary_float_min_normal_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        binary_float_min_normal_key_return()
            : BaseType()
            {}
        binary_float_min_normal_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        binary_float_min_normal_key_return( binary_float_min_normal_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~binary_float_min_normal_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        binary_float_min_normal_key_return&
        operator=( binary_float_min_normal_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct signtype_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        signtype_key_return()
            : BaseType()
            {}
        signtype_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        signtype_key_return( signtype_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~signtype_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        signtype_key_return&
        operator=( signtype_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct blob_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        blob_key_return()
            : BaseType()
            {}
        blob_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        blob_key_return( blob_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~blob_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        blob_key_return&
        operator=( blob_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct nvarchar2_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        nvarchar2_key_return()
            : BaseType()
            {}
        nvarchar2_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        nvarchar2_key_return( nvarchar2_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~nvarchar2_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        nvarchar2_key_return&
        operator=( nvarchar2_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct binary_double_max_normal_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        binary_double_max_normal_key_return()
            : BaseType()
            {}
        binary_double_max_normal_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        binary_double_max_normal_key_return( binary_double_max_normal_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~binary_double_max_normal_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        binary_double_max_normal_key_return&
        operator=( binary_double_max_normal_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct binary_float_nan_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        binary_float_nan_key_return()
            : BaseType()
            {}
        binary_float_nan_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        binary_float_nan_key_return( binary_float_nan_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~binary_float_nan_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        binary_float_nan_key_return&
        operator=( binary_float_nan_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct string_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        string_key_return()
            : BaseType()
            {}
        string_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        string_key_return( string_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~string_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        string_key_return&
        operator=( string_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct c_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        c_key_return()
            : BaseType()
            {}
        c_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        c_key_return( c_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~c_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        c_key_return&
        operator=( c_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct library_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        library_key_return()
            : BaseType()
            {}
        library_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        library_key_return( library_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~library_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        library_key_return&
        operator=( library_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct context_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        context_key_return()
            : BaseType()
            {}
        context_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        context_key_return( context_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~context_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        context_key_return&
        operator=( context_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct parameters_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        parameters_key_return()
            : BaseType()
            {}
        parameters_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        parameters_key_return( parameters_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~parameters_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        parameters_key_return&
        operator=( parameters_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct agent_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        agent_key_return()
            : BaseType()
            {}
        agent_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        agent_key_return( agent_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~agent_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        agent_key_return&
        operator=( agent_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct cluster_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        cluster_key_return()
            : BaseType()
            {}
        cluster_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        cluster_key_return( cluster_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~cluster_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        cluster_key_return&
        operator=( cluster_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct hash_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        hash_key_return()
            : BaseType()
            {}
        hash_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        hash_key_return( hash_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~hash_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        hash_key_return&
        operator=( hash_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct relies_on_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        relies_on_key_return()
            : BaseType()
            {}
        relies_on_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        relies_on_key_return( relies_on_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~relies_on_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        relies_on_key_return&
        operator=( relies_on_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct returning_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        returning_key_return()
            : BaseType()
            {}
        returning_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        returning_key_return( returning_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~returning_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        returning_key_return&
        operator=( returning_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct statement_id_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        statement_id_key_return()
            : BaseType()
            {}
        statement_id_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        statement_id_key_return( statement_id_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~statement_id_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        statement_id_key_return&
        operator=( statement_id_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct deferred_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        deferred_key_return()
            : BaseType()
            {}
        deferred_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        deferred_key_return( deferred_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~deferred_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        deferred_key_return&
        operator=( deferred_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct advise_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        advise_key_return()
            : BaseType()
            {}
        advise_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        advise_key_return( advise_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~advise_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        advise_key_return&
        operator=( advise_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct resumable_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        resumable_key_return()
            : BaseType()
            {}
        resumable_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        resumable_key_return( resumable_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~resumable_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        resumable_key_return&
        operator=( resumable_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct timeout_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        timeout_key_return()
            : BaseType()
            {}
        timeout_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        timeout_key_return( timeout_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~timeout_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        timeout_key_return&
        operator=( timeout_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct parallel_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        parallel_key_return()
            : BaseType()
            {}
        parallel_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        parallel_key_return( parallel_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~parallel_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        parallel_key_return&
        operator=( parallel_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct ddl_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        ddl_key_return()
            : BaseType()
            {}
        ddl_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        ddl_key_return( ddl_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~ddl_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        ddl_key_return&
        operator=( ddl_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct query_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        query_key_return()
            : BaseType()
            {}
        query_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        query_key_return( query_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~query_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        query_key_return&
        operator=( query_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct dml_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        dml_key_return()
            : BaseType()
            {}
        dml_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        dml_key_return( dml_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~dml_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        dml_key_return&
        operator=( dml_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct guard_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        guard_key_return()
            : BaseType()
            {}
        guard_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        guard_key_return( guard_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~guard_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        guard_key_return&
        operator=( guard_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct nothing_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        nothing_key_return()
            : BaseType()
            {}
        nothing_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        nothing_key_return( nothing_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~nothing_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        nothing_key_return&
        operator=( nothing_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct enable_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        enable_key_return()
            : BaseType()
            {}
        enable_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        enable_key_return( enable_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~enable_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        enable_key_return&
        operator=( enable_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct database_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        database_key_return()
            : BaseType()
            {}
        database_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        database_key_return( database_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~database_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        database_key_return&
        operator=( database_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct disable_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        disable_key_return()
            : BaseType()
            {}
        disable_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        disable_key_return( disable_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~disable_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        disable_key_return&
        operator=( disable_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct link_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        link_key_return()
            : BaseType()
            {}
        link_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        link_key_return( link_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~link_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        link_key_return&
        operator=( link_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct identified_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        identified_key_return()
            : BaseType()
            {}
        identified_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        identified_key_return( identified_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~identified_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        identified_key_return&
        operator=( identified_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct none_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        none_key_return()
            : BaseType()
            {}
        none_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        none_key_return( none_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~none_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        none_key_return&
        operator=( none_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct before_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        before_key_return()
            : BaseType()
            {}
        before_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        before_key_return( before_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~before_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        before_key_return&
        operator=( before_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct referencing_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        referencing_key_return()
            : BaseType()
            {}
        referencing_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        referencing_key_return( referencing_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~referencing_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        referencing_key_return&
        operator=( referencing_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct logon_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        logon_key_return()
            : BaseType()
            {}
        logon_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        logon_key_return( logon_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~logon_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        logon_key_return&
        operator=( logon_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct after_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        after_key_return()
            : BaseType()
            {}
        after_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        after_key_return( after_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~after_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        after_key_return&
        operator=( after_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct schema_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        schema_key_return()
            : BaseType()
            {}
        schema_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        schema_key_return( schema_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~schema_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        schema_key_return&
        operator=( schema_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct grant_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        grant_key_return()
            : BaseType()
            {}
        grant_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        grant_key_return( grant_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~grant_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        grant_key_return&
        operator=( grant_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct truncate_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        truncate_key_return()
            : BaseType()
            {}
        truncate_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        truncate_key_return( truncate_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~truncate_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        truncate_key_return&
        operator=( truncate_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct startup_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        startup_key_return()
            : BaseType()
            {}
        startup_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        startup_key_return( startup_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~startup_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        startup_key_return&
        operator=( startup_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct statistics_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        statistics_key_return()
            : BaseType()
            {}
        statistics_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        statistics_key_return( statistics_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~statistics_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        statistics_key_return&
        operator=( statistics_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct noaudit_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        noaudit_key_return()
            : BaseType()
            {}
        noaudit_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        noaudit_key_return( noaudit_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~noaudit_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        noaudit_key_return&
        operator=( noaudit_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct suspend_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        suspend_key_return()
            : BaseType()
            {}
        suspend_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        suspend_key_return( suspend_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~suspend_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        suspend_key_return&
        operator=( suspend_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct audit_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        audit_key_return()
            : BaseType()
            {}
        audit_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        audit_key_return( audit_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~audit_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        audit_key_return&
        operator=( audit_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct disassociate_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        disassociate_key_return()
            : BaseType()
            {}
        disassociate_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        disassociate_key_return( disassociate_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~disassociate_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        disassociate_key_return&
        operator=( disassociate_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct shutdown_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        shutdown_key_return()
            : BaseType()
            {}
        shutdown_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        shutdown_key_return( shutdown_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~shutdown_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        shutdown_key_return&
        operator=( shutdown_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct compound_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        compound_key_return()
            : BaseType()
            {}
        compound_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        compound_key_return( compound_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~compound_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        compound_key_return&
        operator=( compound_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct servererror_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        servererror_key_return()
            : BaseType()
            {}
        servererror_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        servererror_key_return( servererror_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~servererror_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        servererror_key_return&
        operator=( servererror_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct parent_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        parent_key_return()
            : BaseType()
            {}
        parent_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        parent_key_return( parent_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~parent_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        parent_key_return&
        operator=( parent_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct follows_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        follows_key_return()
            : BaseType()
            {}
        follows_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        follows_key_return( follows_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~follows_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        follows_key_return&
        operator=( follows_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct nested_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        nested_key_return()
            : BaseType()
            {}
        nested_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        nested_key_return( nested_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~nested_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        nested_key_return&
        operator=( nested_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct old_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        old_key_return()
            : BaseType()
            {}
        old_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        old_key_return( old_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~old_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        old_key_return&
        operator=( old_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct statement_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        statement_key_return()
            : BaseType()
            {}
        statement_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        statement_key_return( statement_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~statement_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        statement_key_return&
        operator=( statement_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct db_role_change_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        db_role_change_key_return()
            : BaseType()
            {}
        db_role_change_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        db_role_change_key_return( db_role_change_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~db_role_change_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        db_role_change_key_return&
        operator=( db_role_change_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct each_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        each_key_return()
            : BaseType()
            {}
        each_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        each_key_return( each_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~each_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        each_key_return&
        operator=( each_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct logoff_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        logoff_key_return()
            : BaseType()
            {}
        logoff_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        logoff_key_return( logoff_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~logoff_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        logoff_key_return&
        operator=( logoff_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct analyze_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        analyze_key_return()
            : BaseType()
            {}
        analyze_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        analyze_key_return( analyze_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~analyze_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        analyze_key_return&
        operator=( analyze_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct instead_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        instead_key_return()
            : BaseType()
            {}
        instead_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        instead_key_return( instead_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~instead_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        instead_key_return&
        operator=( instead_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct associate_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        associate_key_return()
            : BaseType()
            {}
        associate_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        associate_key_return( associate_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~associate_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        associate_key_return&
        operator=( associate_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct new_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        new_key_return()
            : BaseType()
            {}
        new_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        new_key_return( new_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~new_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        new_key_return&
        operator=( new_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct revoke_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        revoke_key_return()
            : BaseType()
            {}
        revoke_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        revoke_key_return( revoke_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~revoke_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        revoke_key_return&
        operator=( revoke_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct rename_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        rename_key_return()
            : BaseType()
            {}
        rename_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        rename_key_return( rename_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~rename_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        rename_key_return&
        operator=( rename_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct customdatum_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        customdatum_key_return()
            : BaseType()
            {}
        customdatum_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        customdatum_key_return( customdatum_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~customdatum_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        customdatum_key_return&
        operator=( customdatum_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct oradata_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        oradata_key_return()
            : BaseType()
            {}
        oradata_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        oradata_key_return( oradata_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~oradata_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        oradata_key_return&
        operator=( oradata_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct constructor_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        constructor_key_return()
            : BaseType()
            {}
        constructor_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        constructor_key_return( constructor_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~constructor_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        constructor_key_return&
        operator=( constructor_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct sqldata_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        sqldata_key_return()
            : BaseType()
            {}
        sqldata_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        sqldata_key_return( sqldata_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~sqldata_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        sqldata_key_return&
        operator=( sqldata_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct member_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        member_key_return()
            : BaseType()
            {}
        member_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        member_key_return( member_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~member_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        member_key_return&
        operator=( member_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct self_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        self_key_return()
            : BaseType()
            {}
        self_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        self_key_return( self_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~self_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        self_key_return&
        operator=( self_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct object_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        object_key_return()
            : BaseType()
            {}
        object_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        object_key_return( object_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~object_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        object_key_return&
        operator=( object_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct variable_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        variable_key_return()
            : BaseType()
            {}
        variable_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        variable_key_return( variable_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~variable_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        variable_key_return&
        operator=( variable_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct instantiable_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        instantiable_key_return()
            : BaseType()
            {}
        instantiable_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        instantiable_key_return( instantiable_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~instantiable_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        instantiable_key_return&
        operator=( instantiable_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct final_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        final_key_return()
            : BaseType()
            {}
        final_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        final_key_return( final_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~final_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        final_key_return&
        operator=( final_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct static_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        static_key_return()
            : BaseType()
            {}
        static_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        static_key_return( static_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~static_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        static_key_return&
        operator=( static_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct oid_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        oid_key_return()
            : BaseType()
            {}
        oid_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        oid_key_return( oid_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~oid_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        oid_key_return&
        operator=( oid_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct result_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        result_key_return()
            : BaseType()
            {}
        result_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        result_key_return( result_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~result_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        result_key_return&
        operator=( result_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct under_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        under_key_return()
            : BaseType()
            {}
        under_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        under_key_return( under_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~under_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        under_key_return&
        operator=( under_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct map_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        map_key_return()
            : BaseType()
            {}
        map_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        map_key_return( map_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~map_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        map_key_return&
        operator=( map_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct overriding_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        overriding_key_return()
            : BaseType()
            {}
        overriding_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        overriding_key_return( overriding_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~overriding_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        overriding_key_return&
        operator=( overriding_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct add_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        add_key_return()
            : BaseType()
            {}
        add_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        add_key_return( add_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~add_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        add_key_return&
        operator=( add_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct modify_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        modify_key_return()
            : BaseType()
            {}
        modify_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        modify_key_return( modify_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~modify_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        modify_key_return&
        operator=( modify_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct including_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        including_key_return()
            : BaseType()
            {}
        including_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        including_key_return( including_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~including_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        including_key_return&
        operator=( including_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct substitutable_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        substitutable_key_return()
            : BaseType()
            {}
        substitutable_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        substitutable_key_return( substitutable_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~substitutable_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        substitutable_key_return&
        operator=( substitutable_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct attribute_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        attribute_key_return()
            : BaseType()
            {}
        attribute_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        attribute_key_return( attribute_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~attribute_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        attribute_key_return&
        operator=( attribute_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct cascade_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        cascade_key_return()
            : BaseType()
            {}
        cascade_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        cascade_key_return( cascade_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~cascade_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        cascade_key_return&
        operator=( cascade_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct data_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        data_key_return()
            : BaseType()
            {}
        data_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        data_key_return( data_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~data_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        data_key_return&
        operator=( data_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct invalidate_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        invalidate_key_return()
            : BaseType()
            {}
        invalidate_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        invalidate_key_return( invalidate_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~invalidate_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        invalidate_key_return&
        operator=( invalidate_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct element_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        element_key_return()
            : BaseType()
            {}
        element_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        element_key_return( element_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~element_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        element_key_return&
        operator=( element_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct first_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        first_key_return()
            : BaseType()
            {}
        first_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        first_key_return( first_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~first_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        first_key_return&
        operator=( first_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct check_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        check_key_return()
            : BaseType()
            {}
        check_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        check_key_return( check_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~check_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        check_key_return&
        operator=( check_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct option_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        option_key_return()
            : BaseType()
            {}
        option_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        option_key_return( option_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~option_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        option_key_return&
        operator=( option_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct nocycle_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        nocycle_key_return()
            : BaseType()
            {}
        nocycle_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        nocycle_key_return( nocycle_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~nocycle_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        nocycle_key_return&
        operator=( nocycle_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct locked_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        locked_key_return()
            : BaseType()
            {}
        locked_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        locked_key_return( locked_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~locked_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        locked_key_return&
        operator=( locked_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct block_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        block_key_return()
            : BaseType()
            {}
        block_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        block_key_return( block_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~block_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        block_key_return&
        operator=( block_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct xml_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        xml_key_return()
            : BaseType()
            {}
        xml_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        xml_key_return( xml_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~xml_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        xml_key_return&
        operator=( xml_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct pivot_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        pivot_key_return()
            : BaseType()
            {}
        pivot_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        pivot_key_return( pivot_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~pivot_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        pivot_key_return&
        operator=( pivot_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct prior_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        prior_key_return()
            : BaseType()
            {}
        prior_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        prior_key_return( prior_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~prior_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        prior_key_return&
        operator=( prior_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct sequential_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        sequential_key_return()
            : BaseType()
            {}
        sequential_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        sequential_key_return( sequential_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~sequential_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        sequential_key_return&
        operator=( sequential_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct single_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        single_key_return()
            : BaseType()
            {}
        single_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        single_key_return( single_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~single_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        single_key_return&
        operator=( single_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct skip_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        skip_key_return()
            : BaseType()
            {}
        skip_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        skip_key_return( skip_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~skip_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        skip_key_return&
        operator=( skip_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct model_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        model_key_return()
            : BaseType()
            {}
        model_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        model_key_return( model_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~model_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        model_key_return&
        operator=( model_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct updated_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        updated_key_return()
            : BaseType()
            {}
        updated_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        updated_key_return( updated_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~updated_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        updated_key_return&
        operator=( updated_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct increment_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        increment_key_return()
            : BaseType()
            {}
        increment_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        increment_key_return( increment_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~increment_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        increment_key_return&
        operator=( increment_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct exclude_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        exclude_key_return()
            : BaseType()
            {}
        exclude_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        exclude_key_return( exclude_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~exclude_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        exclude_key_return&
        operator=( exclude_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct reference_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        reference_key_return()
            : BaseType()
            {}
        reference_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        reference_key_return( reference_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~reference_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        reference_key_return&
        operator=( reference_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct sets_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        sets_key_return()
            : BaseType()
            {}
        sets_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        sets_key_return( sets_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~sets_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        sets_key_return&
        operator=( sets_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct until_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        until_key_return()
            : BaseType()
            {}
        until_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        until_key_return( until_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~until_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        until_key_return&
        operator=( until_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct seed_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        seed_key_return()
            : BaseType()
            {}
        seed_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        seed_key_return( seed_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~seed_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        seed_key_return&
        operator=( seed_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct maxvalue_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        maxvalue_key_return()
            : BaseType()
            {}
        maxvalue_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        maxvalue_key_return( maxvalue_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~maxvalue_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        maxvalue_key_return&
        operator=( maxvalue_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct siblings_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        siblings_key_return()
            : BaseType()
            {}
        siblings_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        siblings_key_return( siblings_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~siblings_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        siblings_key_return&
        operator=( siblings_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct cube_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        cube_key_return()
            : BaseType()
            {}
        cube_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        cube_key_return( cube_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~cube_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        cube_key_return&
        operator=( cube_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct nulls_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        nulls_key_return()
            : BaseType()
            {}
        nulls_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        nulls_key_return( nulls_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~nulls_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        nulls_key_return&
        operator=( nulls_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct dimension_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        dimension_key_return()
            : BaseType()
            {}
        dimension_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        dimension_key_return( dimension_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~dimension_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        dimension_key_return&
        operator=( dimension_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct scn_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        scn_key_return()
            : BaseType()
            {}
        scn_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        scn_key_return( scn_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~scn_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        scn_key_return&
        operator=( scn_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct snapshot_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        snapshot_key_return()
            : BaseType()
            {}
        snapshot_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        snapshot_key_return( snapshot_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~snapshot_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        snapshot_key_return&
        operator=( snapshot_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct decrement_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        decrement_key_return()
            : BaseType()
            {}
        decrement_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        decrement_key_return( decrement_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~decrement_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        decrement_key_return&
        operator=( decrement_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct unpivot_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        unpivot_key_return()
            : BaseType()
            {}
        unpivot_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        unpivot_key_return( unpivot_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~unpivot_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        unpivot_key_return&
        operator=( unpivot_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct keep_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        keep_key_return()
            : BaseType()
            {}
        keep_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        keep_key_return( keep_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~keep_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        keep_key_return&
        operator=( keep_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct measures_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        measures_key_return()
            : BaseType()
            {}
        measures_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        measures_key_return( measures_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~measures_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        measures_key_return&
        operator=( measures_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct rows_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        rows_key_return()
            : BaseType()
            {}
        rows_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        rows_key_return( rows_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~rows_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        rows_key_return&
        operator=( rows_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct sample_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        sample_key_return()
            : BaseType()
            {}
        sample_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        sample_key_return( sample_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~sample_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        sample_key_return&
        operator=( sample_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct upsert_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        upsert_key_return()
            : BaseType()
            {}
        upsert_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        upsert_key_return( upsert_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~upsert_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        upsert_key_return&
        operator=( upsert_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct versions_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        versions_key_return()
            : BaseType()
            {}
        versions_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        versions_key_return( versions_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~versions_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        versions_key_return&
        operator=( versions_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct rules_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        rules_key_return()
            : BaseType()
            {}
        rules_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        rules_key_return( rules_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~rules_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        rules_key_return&
        operator=( rules_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct iterate_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        iterate_key_return()
            : BaseType()
            {}
        iterate_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        iterate_key_return( iterate_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~iterate_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        iterate_key_return&
        operator=( iterate_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct minvalue_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        minvalue_key_return()
            : BaseType()
            {}
        minvalue_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        minvalue_key_return( minvalue_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~minvalue_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        minvalue_key_return&
        operator=( minvalue_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct rollup_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        rollup_key_return()
            : BaseType()
            {}
        rollup_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        rollup_key_return( rollup_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~rollup_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        rollup_key_return&
        operator=( rollup_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct nav_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        nav_key_return()
            : BaseType()
            {}
        nav_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        nav_key_return( nav_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~nav_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        nav_key_return&
        operator=( nav_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct automatic_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        automatic_key_return()
            : BaseType()
            {}
        automatic_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        automatic_key_return( automatic_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~automatic_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        automatic_key_return&
        operator=( automatic_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct last_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        last_key_return()
            : BaseType()
            {}
        last_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        last_key_return( last_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~last_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        last_key_return&
        operator=( last_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct main_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        main_key_return()
            : BaseType()
            {}
        main_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        main_key_return( main_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~main_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        main_key_return&
        operator=( main_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct grouping_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        grouping_key_return()
            : BaseType()
            {}
        grouping_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        grouping_key_return( grouping_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~grouping_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        grouping_key_return&
        operator=( grouping_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct include_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        include_key_return()
            : BaseType()
            {}
        include_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        include_key_return( include_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~include_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        include_key_return&
        operator=( include_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct ignore_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        ignore_key_return()
            : BaseType()
            {}
        ignore_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        ignore_key_return( ignore_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~ignore_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        ignore_key_return&
        operator=( ignore_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct respect_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        respect_key_return()
            : BaseType()
            {}
        respect_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        respect_key_return( respect_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~respect_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        respect_key_return&
        operator=( respect_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct unique_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        unique_key_return()
            : BaseType()
            {}
        unique_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        unique_key_return( unique_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~unique_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        unique_key_return&
        operator=( unique_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct submultiset_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        submultiset_key_return()
            : BaseType()
            {}
        submultiset_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        submultiset_key_return( submultiset_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~submultiset_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        submultiset_key_return&
        operator=( submultiset_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct at_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        at_key_return()
            : BaseType()
            {}
        at_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        at_key_return( at_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~at_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        at_key_return&
        operator=( at_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct a_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        a_key_return()
            : BaseType()
            {}
        a_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        a_key_return( a_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~a_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        a_key_return&
        operator=( a_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct empty_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        empty_key_return()
            : BaseType()
            {}
        empty_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        empty_key_return( empty_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~empty_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        empty_key_return&
        operator=( empty_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct likec_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        likec_key_return()
            : BaseType()
            {}
        likec_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        likec_key_return( likec_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~likec_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        likec_key_return&
        operator=( likec_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct nan_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        nan_key_return()
            : BaseType()
            {}
        nan_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        nan_key_return( nan_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~nan_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        nan_key_return&
        operator=( nan_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct infinite_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        infinite_key_return()
            : BaseType()
            {}
        infinite_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        infinite_key_return( infinite_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~infinite_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        infinite_key_return&
        operator=( infinite_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct like2_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        like2_key_return()
            : BaseType()
            {}
        like2_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        like2_key_return( like2_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~like2_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        like2_key_return&
        operator=( like2_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct like4_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        like4_key_return()
            : BaseType()
            {}
        like4_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        like4_key_return( like4_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~like4_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        like4_key_return&
        operator=( like4_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct present_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        present_key_return()
            : BaseType()
            {}
        present_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        present_key_return( present_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~present_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        present_key_return&
        operator=( present_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct dbtimezone_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        dbtimezone_key_return()
            : BaseType()
            {}
        dbtimezone_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        dbtimezone_key_return( dbtimezone_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~dbtimezone_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        dbtimezone_key_return&
        operator=( dbtimezone_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct sessiontimezone_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        sessiontimezone_key_return()
            : BaseType()
            {}
        sessiontimezone_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        sessiontimezone_key_return( sessiontimezone_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~sessiontimezone_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        sessiontimezone_key_return&
        operator=( sessiontimezone_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct nchar_cs_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        nchar_cs_key_return()
            : BaseType()
            {}
        nchar_cs_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        nchar_cs_key_return( nchar_cs_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~nchar_cs_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        nchar_cs_key_return&
        operator=( nchar_cs_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct decompose_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        decompose_key_return()
            : BaseType()
            {}
        decompose_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        decompose_key_return( decompose_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~decompose_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        decompose_key_return&
        operator=( decompose_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct following_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        following_key_return()
            : BaseType()
            {}
        following_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        following_key_return( following_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~following_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        following_key_return&
        operator=( following_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct first_value_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        first_value_key_return()
            : BaseType()
            {}
        first_value_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        first_value_key_return( first_value_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~first_value_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        first_value_key_return&
        operator=( first_value_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct preceding_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        preceding_key_return()
            : BaseType()
            {}
        preceding_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        preceding_key_return( preceding_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~preceding_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        preceding_key_return&
        operator=( preceding_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct within_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        within_key_return()
            : BaseType()
            {}
        within_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        within_key_return( within_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~within_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        within_key_return&
        operator=( within_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct canonical_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        canonical_key_return()
            : BaseType()
            {}
        canonical_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        canonical_key_return( canonical_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~canonical_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        canonical_key_return&
        operator=( canonical_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct compatibility_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        compatibility_key_return()
            : BaseType()
            {}
        compatibility_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        compatibility_key_return( compatibility_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~compatibility_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        compatibility_key_return&
        operator=( compatibility_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct over_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        over_key_return()
            : BaseType()
            {}
        over_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        over_key_return( over_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~over_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        over_key_return&
        operator=( over_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct multiset_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        multiset_key_return()
            : BaseType()
            {}
        multiset_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        multiset_key_return( multiset_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~multiset_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        multiset_key_return&
        operator=( multiset_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct connect_by_root_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        connect_by_root_key_return()
            : BaseType()
            {}
        connect_by_root_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        connect_by_root_key_return( connect_by_root_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~connect_by_root_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        connect_by_root_key_return&
        operator=( connect_by_root_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct last_value_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        last_value_key_return()
            : BaseType()
            {}
        last_value_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        last_value_key_return( last_value_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~last_value_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        last_value_key_return&
        operator=( last_value_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct current_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        current_key_return()
            : BaseType()
            {}
        current_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        current_key_return( current_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~current_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        current_key_return&
        operator=( current_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct unbounded_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        unbounded_key_return()
            : BaseType()
            {}
        unbounded_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        unbounded_key_return( unbounded_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~unbounded_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        unbounded_key_return&
        operator=( unbounded_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct dense_rank_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        dense_rank_key_return()
            : BaseType()
            {}
        dense_rank_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        dense_rank_key_return( dense_rank_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~dense_rank_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        dense_rank_key_return&
        operator=( dense_rank_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct cost_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        cost_key_return()
            : BaseType()
            {}
        cost_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        cost_key_return( cost_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~cost_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        cost_key_return&
        operator=( cost_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct char_cs_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        char_cs_key_return()
            : BaseType()
            {}
        char_cs_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        char_cs_key_return( char_cs_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~char_cs_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        char_cs_key_return&
        operator=( char_cs_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct auto_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        auto_key_return()
            : BaseType()
            {}
        auto_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        auto_key_return( auto_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~auto_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        auto_key_return&
        operator=( auto_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct treat_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        treat_key_return()
            : BaseType()
            {}
        treat_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        treat_key_return( treat_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~treat_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        treat_key_return&
        operator=( treat_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct content_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        content_key_return()
            : BaseType()
            {}
        content_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        content_key_return( content_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~content_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        content_key_return&
        operator=( content_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct xmlparse_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        xmlparse_key_return()
            : BaseType()
            {}
        xmlparse_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        xmlparse_key_return( xmlparse_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~xmlparse_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        xmlparse_key_return&
        operator=( xmlparse_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct xmlelement_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        xmlelement_key_return()
            : BaseType()
            {}
        xmlelement_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        xmlelement_key_return( xmlelement_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~xmlelement_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        xmlelement_key_return&
        operator=( xmlelement_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct entityescaping_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        entityescaping_key_return()
            : BaseType()
            {}
        entityescaping_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        entityescaping_key_return( entityescaping_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~entityescaping_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        entityescaping_key_return&
        operator=( entityescaping_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct standalone_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        standalone_key_return()
            : BaseType()
            {}
        standalone_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        standalone_key_return( standalone_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~standalone_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        standalone_key_return&
        operator=( standalone_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct wellformed_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        wellformed_key_return()
            : BaseType()
            {}
        wellformed_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        wellformed_key_return( wellformed_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~wellformed_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        wellformed_key_return&
        operator=( wellformed_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct xmlexists_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        xmlexists_key_return()
            : BaseType()
            {}
        xmlexists_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        xmlexists_key_return( xmlexists_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~xmlexists_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        xmlexists_key_return&
        operator=( xmlexists_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct version_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        version_key_return()
            : BaseType()
            {}
        version_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        version_key_return( version_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~version_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        version_key_return&
        operator=( version_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct xmlcast_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        xmlcast_key_return()
            : BaseType()
            {}
        xmlcast_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        xmlcast_key_return( xmlcast_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~xmlcast_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        xmlcast_key_return&
        operator=( xmlcast_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct yes_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        yes_key_return()
            : BaseType()
            {}
        yes_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        yes_key_return( yes_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~yes_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        yes_key_return&
        operator=( yes_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct no_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        no_key_return()
            : BaseType()
            {}
        no_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        no_key_return( no_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~no_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        no_key_return&
        operator=( no_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct evalname_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        evalname_key_return()
            : BaseType()
            {}
        evalname_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        evalname_key_return( evalname_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~evalname_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        evalname_key_return&
        operator=( evalname_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct xmlpi_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        xmlpi_key_return()
            : BaseType()
            {}
        xmlpi_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        xmlpi_key_return( xmlpi_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~xmlpi_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        xmlpi_key_return&
        operator=( xmlpi_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct xmlcolattval_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        xmlcolattval_key_return()
            : BaseType()
            {}
        xmlcolattval_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        xmlcolattval_key_return( xmlcolattval_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~xmlcolattval_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        xmlcolattval_key_return&
        operator=( xmlcolattval_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct document_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        document_key_return()
            : BaseType()
            {}
        document_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        document_key_return( document_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~document_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        document_key_return&
        operator=( document_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct xmlforest_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        xmlforest_key_return()
            : BaseType()
            {}
        xmlforest_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        xmlforest_key_return( xmlforest_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~xmlforest_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        xmlforest_key_return&
        operator=( xmlforest_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct passing_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        passing_key_return()
            : BaseType()
            {}
        passing_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        passing_key_return( passing_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~passing_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        passing_key_return&
        operator=( passing_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct columns_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        columns_key_return()
            : BaseType()
            {}
        columns_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        columns_key_return( columns_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~columns_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        columns_key_return&
        operator=( columns_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct indent_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        indent_key_return()
            : BaseType()
            {}
        indent_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        indent_key_return( indent_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~indent_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        indent_key_return&
        operator=( indent_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct hide_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        hide_key_return()
            : BaseType()
            {}
        hide_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        hide_key_return( hide_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~hide_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        hide_key_return&
        operator=( hide_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct xmlagg_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        xmlagg_key_return()
            : BaseType()
            {}
        xmlagg_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        xmlagg_key_return( xmlagg_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~xmlagg_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        xmlagg_key_return&
        operator=( xmlagg_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct path_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        path_key_return()
            : BaseType()
            {}
        path_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        path_key_return( path_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~path_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        path_key_return&
        operator=( path_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct xmlnamespaces_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        xmlnamespaces_key_return()
            : BaseType()
            {}
        xmlnamespaces_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        xmlnamespaces_key_return( xmlnamespaces_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~xmlnamespaces_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        xmlnamespaces_key_return&
        operator=( xmlnamespaces_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct size_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        size_key_return()
            : BaseType()
            {}
        size_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        size_key_return( size_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~size_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        size_key_return&
        operator=( size_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct noschemacheck_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        noschemacheck_key_return()
            : BaseType()
            {}
        noschemacheck_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        noschemacheck_key_return( noschemacheck_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~noschemacheck_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        noschemacheck_key_return&
        operator=( noschemacheck_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct noentityescaping_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        noentityescaping_key_return()
            : BaseType()
            {}
        noentityescaping_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        noentityescaping_key_return( noentityescaping_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~noentityescaping_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        noentityescaping_key_return&
        operator=( noentityescaping_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct xmlquery_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        xmlquery_key_return()
            : BaseType()
            {}
        xmlquery_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        xmlquery_key_return( xmlquery_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~xmlquery_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        xmlquery_key_return&
        operator=( xmlquery_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct xmltable_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        xmltable_key_return()
            : BaseType()
            {}
        xmltable_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        xmltable_key_return( xmltable_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~xmltable_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        xmltable_key_return&
        operator=( xmltable_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct xmlroot_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        xmlroot_key_return()
            : BaseType()
            {}
        xmlroot_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        xmlroot_key_return( xmlroot_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~xmlroot_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        xmlroot_key_return&
        operator=( xmlroot_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct schemacheck_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        schemacheck_key_return()
            : BaseType()
            {}
        schemacheck_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        schemacheck_key_return( schemacheck_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~schemacheck_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        schemacheck_key_return&
        operator=( schemacheck_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct xmlattributes_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        xmlattributes_key_return()
            : BaseType()
            {}
        xmlattributes_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        xmlattributes_key_return( xmlattributes_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~xmlattributes_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        xmlattributes_key_return&
        operator=( xmlattributes_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct encoding_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        encoding_key_return()
            : BaseType()
            {}
        encoding_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        encoding_key_return( encoding_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~encoding_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        encoding_key_return&
        operator=( encoding_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct show_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        show_key_return()
            : BaseType()
            {}
        show_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        show_key_return( show_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~show_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        show_key_return&
        operator=( show_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct xmlserialize_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        xmlserialize_key_return()
            : BaseType()
            {}
        xmlserialize_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        xmlserialize_key_return( xmlserialize_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~xmlserialize_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        xmlserialize_key_return&
        operator=( xmlserialize_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct ordinality_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        ordinality_key_return()
            : BaseType()
            {}
        ordinality_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        ordinality_key_return( ordinality_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~ordinality_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        ordinality_key_return&
        operator=( ordinality_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct defaults_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        defaults_key_return()
            : BaseType()
            {}
        defaults_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        defaults_key_return( defaults_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~defaults_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        defaults_key_return&
        operator=( defaults_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct sqlerror_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        sqlerror_key_return()
            : BaseType()
            {}
        sqlerror_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        sqlerror_key_return( sqlerror_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~sqlerror_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        sqlerror_key_return&
        operator=( sqlerror_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct oserror_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        oserror_key_return()
            : BaseType()
            {}
        oserror_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        oserror_key_return( oserror_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~oserror_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        oserror_key_return&
        operator=( oserror_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct success_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        success_key_return()
            : BaseType()
            {}
        success_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        success_key_return( success_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~success_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        success_key_return&
        operator=( success_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct warning_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        warning_key_return()
            : BaseType()
            {}
        warning_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        warning_key_return( warning_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~warning_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        warning_key_return&
        operator=( warning_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct failure_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        failure_key_return()
            : BaseType()
            {}
        failure_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        failure_key_return( failure_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~failure_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        failure_key_return&
        operator=( failure_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct insert_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        insert_key_return()
            : BaseType()
            {}
        insert_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        insert_key_return( insert_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~insert_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        insert_key_return&
        operator=( insert_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct order_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        order_key_return()
            : BaseType()
            {}
        order_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        order_key_return( order_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~order_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        order_key_return&
        operator=( order_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct minus_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        minus_key_return()
            : BaseType()
            {}
        minus_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        minus_key_return( minus_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~minus_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        minus_key_return&
        operator=( minus_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct row_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        row_key_return()
            : BaseType()
            {}
        row_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        row_key_return( row_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~row_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        row_key_return&
        operator=( row_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct mod_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        mod_key_return()
            : BaseType()
            {}
        mod_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        mod_key_return( mod_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~mod_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        mod_key_return&
        operator=( mod_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct raw_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        raw_key_return()
            : BaseType()
            {}
        raw_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        raw_key_return( raw_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~raw_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        raw_key_return&
        operator=( raw_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct power_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        power_key_return()
            : BaseType()
            {}
        power_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        power_key_return( power_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~power_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        power_key_return&
        operator=( power_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct lock_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        lock_key_return()
            : BaseType()
            {}
        lock_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        lock_key_return( lock_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~lock_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        lock_key_return&
        operator=( lock_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct exists_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        exists_key_return()
            : BaseType()
            {}
        exists_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        exists_key_return( exists_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~exists_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        exists_key_return&
        operator=( exists_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct having_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        having_key_return()
            : BaseType()
            {}
        having_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        having_key_return( having_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~having_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        having_key_return&
        operator=( having_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct any_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        any_key_return()
            : BaseType()
            {}
        any_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        any_key_return( any_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~any_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        any_key_return&
        operator=( any_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct with_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        with_key_return()
            : BaseType()
            {}
        with_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        with_key_return( with_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~with_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        with_key_return&
        operator=( with_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct transaction_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        transaction_key_return()
            : BaseType()
            {}
        transaction_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        transaction_key_return( transaction_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~transaction_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        transaction_key_return&
        operator=( transaction_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct rawtohex_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        rawtohex_key_return()
            : BaseType()
            {}
        rawtohex_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        rawtohex_key_return( rawtohex_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~rawtohex_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        rawtohex_key_return&
        operator=( rawtohex_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct number_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        number_key_return()
            : BaseType()
            {}
        number_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        number_key_return( number_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~number_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        number_key_return&
        operator=( number_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct nocopy_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        nocopy_key_return()
            : BaseType()
            {}
        nocopy_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        nocopy_key_return( nocopy_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~nocopy_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        nocopy_key_return&
        operator=( nocopy_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct to_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        to_key_return()
            : BaseType()
            {}
        to_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        to_key_return( to_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~to_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        to_key_return&
        operator=( to_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct abs_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        abs_key_return()
            : BaseType()
            {}
        abs_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        abs_key_return( abs_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~abs_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        abs_key_return&
        operator=( abs_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct rollback_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        rollback_key_return()
            : BaseType()
            {}
        rollback_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        rollback_key_return( rollback_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~rollback_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        rollback_key_return&
        operator=( rollback_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct share_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        share_key_return()
            : BaseType()
            {}
        share_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        share_key_return( share_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~share_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        share_key_return&
        operator=( share_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct greatest_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        greatest_key_return()
            : BaseType()
            {}
        greatest_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        greatest_key_return( greatest_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~greatest_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        greatest_key_return&
        operator=( greatest_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct vsize_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        vsize_key_return()
            : BaseType()
            {}
        vsize_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        vsize_key_return( vsize_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~vsize_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        vsize_key_return&
        operator=( vsize_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct exclusive_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        exclusive_key_return()
            : BaseType()
            {}
        exclusive_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        exclusive_key_return( exclusive_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~exclusive_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        exclusive_key_return&
        operator=( exclusive_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct varchar2_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        varchar2_key_return()
            : BaseType()
            {}
        varchar2_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        varchar2_key_return( varchar2_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~varchar2_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        varchar2_key_return&
        operator=( varchar2_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct rowidtochar_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        rowidtochar_key_return()
            : BaseType()
            {}
        rowidtochar_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        rowidtochar_key_return( rowidtochar_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~rowidtochar_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        rowidtochar_key_return&
        operator=( rowidtochar_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct open_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        open_key_return()
            : BaseType()
            {}
        open_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        open_key_return( open_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~open_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        open_key_return&
        operator=( open_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct comment_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        comment_key_return()
            : BaseType()
            {}
        comment_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        comment_key_return( comment_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~comment_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        comment_key_return&
        operator=( comment_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct sqrt_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        sqrt_key_return()
            : BaseType()
            {}
        sqrt_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        sqrt_key_return( sqrt_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~sqrt_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        sqrt_key_return&
        operator=( sqrt_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct instr_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        instr_key_return()
            : BaseType()
            {}
        instr_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        instr_key_return( instr_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~instr_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        instr_key_return&
        operator=( instr_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct nowait_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        nowait_key_return()
            : BaseType()
            {}
        nowait_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        nowait_key_return( nowait_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~nowait_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        nowait_key_return&
        operator=( nowait_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct lpad_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        lpad_key_return()
            : BaseType()
            {}
        lpad_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        lpad_key_return( lpad_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~lpad_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        lpad_key_return&
        operator=( lpad_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct boolean_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        boolean_key_return()
            : BaseType()
            {}
        boolean_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        boolean_key_return( boolean_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~boolean_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        boolean_key_return&
        operator=( boolean_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct rpad_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        rpad_key_return()
            : BaseType()
            {}
        rpad_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        rpad_key_return( rpad_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~rpad_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        rpad_key_return&
        operator=( rpad_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct savepoint_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        savepoint_key_return()
            : BaseType()
            {}
        savepoint_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        savepoint_key_return( savepoint_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~savepoint_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        savepoint_key_return&
        operator=( savepoint_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct decode_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        decode_key_return()
            : BaseType()
            {}
        decode_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        decode_key_return( decode_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~decode_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        decode_key_return&
        operator=( decode_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct reverse_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        reverse_key_return()
            : BaseType()
            {}
        reverse_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        reverse_key_return( reverse_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~reverse_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        reverse_key_return&
        operator=( reverse_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct least_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        least_key_return()
            : BaseType()
            {}
        least_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        least_key_return( least_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~least_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        least_key_return&
        operator=( least_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct nvl_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        nvl_key_return()
            : BaseType()
            {}
        nvl_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        nvl_key_return( nvl_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~nvl_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        nvl_key_return&
        operator=( nvl_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct variance_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        variance_key_return()
            : BaseType()
            {}
        variance_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        variance_key_return( variance_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~variance_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        variance_key_return&
        operator=( variance_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct start_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        start_key_return()
            : BaseType()
            {}
        start_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        start_key_return( start_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~start_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        start_key_return&
        operator=( start_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct desc_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        desc_key_return()
            : BaseType()
            {}
        desc_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        desc_key_return( desc_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~desc_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        desc_key_return&
        operator=( desc_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct concat_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        concat_key_return()
            : BaseType()
            {}
        concat_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        concat_key_return( concat_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~concat_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        concat_key_return&
        operator=( concat_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct dump_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        dump_key_return()
            : BaseType()
            {}
        dump_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        dump_key_return( dump_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~dump_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        dump_key_return&
        operator=( dump_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct soundex_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        soundex_key_return()
            : BaseType()
            {}
        soundex_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        soundex_key_return( soundex_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~soundex_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        soundex_key_return&
        operator=( soundex_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct positive_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        positive_key_return()
            : BaseType()
            {}
        positive_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        positive_key_return( positive_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~positive_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        positive_key_return&
        operator=( positive_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct union_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        union_key_return()
            : BaseType()
            {}
        union_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        union_key_return( union_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~union_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        union_key_return&
        operator=( union_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct ascii_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        ascii_key_return()
            : BaseType()
            {}
        ascii_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        ascii_key_return( ascii_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~ascii_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        ascii_key_return&
        operator=( ascii_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct connect_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        connect_key_return()
            : BaseType()
            {}
        connect_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        connect_key_return( connect_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~connect_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        connect_key_return&
        operator=( connect_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct asc_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        asc_key_return()
            : BaseType()
            {}
        asc_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        asc_key_return( asc_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~asc_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        asc_key_return&
        operator=( asc_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct hextoraw_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        hextoraw_key_return()
            : BaseType()
            {}
        hextoraw_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        hextoraw_key_return( hextoraw_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~hextoraw_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        hextoraw_key_return&
        operator=( hextoraw_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct to_date_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        to_date_key_return()
            : BaseType()
            {}
        to_date_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        to_date_key_return( to_date_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~to_date_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        to_date_key_return&
        operator=( to_date_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct floor_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        floor_key_return()
            : BaseType()
            {}
        floor_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        floor_key_return( floor_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~floor_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        floor_key_return&
        operator=( floor_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct sign_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        sign_key_return()
            : BaseType()
            {}
        sign_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        sign_key_return( sign_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~sign_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        sign_key_return&
        operator=( sign_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct update_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        update_key_return()
            : BaseType()
            {}
        update_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        update_key_return( update_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~update_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        update_key_return&
        operator=( update_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct trunc_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        trunc_key_return()
            : BaseType()
            {}
        trunc_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        trunc_key_return( trunc_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~trunc_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        trunc_key_return&
        operator=( trunc_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct rtrim_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        rtrim_key_return()
            : BaseType()
            {}
        rtrim_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        rtrim_key_return( rtrim_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~rtrim_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        rtrim_key_return&
        operator=( rtrim_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct close_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        close_key_return()
            : BaseType()
            {}
        close_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        close_key_return( close_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~close_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        close_key_return&
        operator=( close_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct to_char_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        to_char_key_return()
            : BaseType()
            {}
        to_char_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        to_char_key_return( to_char_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~to_char_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        to_char_key_return&
        operator=( to_char_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct ltrim_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        ltrim_key_return()
            : BaseType()
            {}
        ltrim_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        ltrim_key_return( ltrim_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~ltrim_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        ltrim_key_return&
        operator=( ltrim_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct mode_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        mode_key_return()
            : BaseType()
            {}
        mode_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        mode_key_return( mode_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~mode_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        mode_key_return&
        operator=( mode_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct uid_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        uid_key_return()
            : BaseType()
            {}
        uid_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        uid_key_return( uid_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~uid_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        uid_key_return&
        operator=( uid_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct chr_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        chr_key_return()
            : BaseType()
            {}
        chr_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        chr_key_return( chr_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~chr_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        chr_key_return&
        operator=( chr_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct intersect_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        intersect_key_return()
            : BaseType()
            {}
        intersect_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        intersect_key_return( intersect_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~intersect_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        intersect_key_return&
        operator=( intersect_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct chartorowid_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        chartorowid_key_return()
            : BaseType()
            {}
        chartorowid_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        chartorowid_key_return( chartorowid_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~chartorowid_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        chartorowid_key_return&
        operator=( chartorowid_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct mlslabel_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        mlslabel_key_return()
            : BaseType()
            {}
        mlslabel_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        mlslabel_key_return( mlslabel_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~mlslabel_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        mlslabel_key_return&
        operator=( mlslabel_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct userenv_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        userenv_key_return()
            : BaseType()
            {}
        userenv_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        userenv_key_return( userenv_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~userenv_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        userenv_key_return&
        operator=( userenv_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct stddev_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        stddev_key_return()
            : BaseType()
            {}
        stddev_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        stddev_key_return( stddev_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~stddev_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        stddev_key_return&
        operator=( stddev_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct length_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        length_key_return()
            : BaseType()
            {}
        length_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        length_key_return( length_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~length_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        length_key_return&
        operator=( length_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct fetch_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        fetch_key_return()
            : BaseType()
            {}
        fetch_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        fetch_key_return( fetch_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~fetch_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        fetch_key_return&
        operator=( fetch_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct group_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        group_key_return()
            : BaseType()
            {}
        group_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        group_key_return( group_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~group_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        group_key_return&
        operator=( group_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct sysdate_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        sysdate_key_return()
            : BaseType()
            {}
        sysdate_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        sysdate_key_return( sysdate_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~sysdate_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        sysdate_key_return&
        operator=( sysdate_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct binary_integer_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        binary_integer_key_return()
            : BaseType()
            {}
        binary_integer_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        binary_integer_key_return( binary_integer_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~binary_integer_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        binary_integer_key_return&
        operator=( binary_integer_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct to_number_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        to_number_key_return()
            : BaseType()
            {}
        to_number_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        to_number_key_return( to_number_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~to_number_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        to_number_key_return&
        operator=( to_number_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct substr_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        substr_key_return()
            : BaseType()
            {}
        substr_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        substr_key_return( substr_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~substr_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        substr_key_return&
        operator=( substr_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct ceil_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        ceil_key_return()
            : BaseType()
            {}
        ceil_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        ceil_key_return( ceil_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~ceil_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        ceil_key_return&
        operator=( ceil_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct initcap_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        initcap_key_return()
            : BaseType()
            {}
        initcap_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        initcap_key_return( initcap_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~initcap_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        initcap_key_return&
        operator=( initcap_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct round_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        round_key_return()
            : BaseType()
            {}
        round_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        round_key_return( round_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~round_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        round_key_return&
        operator=( round_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct long_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        long_key_return()
            : BaseType()
            {}
        long_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        long_key_return( long_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~long_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        long_key_return&
        operator=( long_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct read_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        read_key_return()
            : BaseType()
            {}
        read_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        read_key_return( read_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~read_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        read_key_return&
        operator=( read_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct only_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        only_key_return()
            : BaseType()
            {}
        only_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        only_key_return( only_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~only_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        only_key_return&
        operator=( only_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct set_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        set_key_return()
            : BaseType()
            {}
        set_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        set_key_return( set_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~set_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        set_key_return&
        operator=( set_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct nullif_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        nullif_key_return()
            : BaseType()
            {}
        nullif_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        nullif_key_return( nullif_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~nullif_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        nullif_key_return&
        operator=( nullif_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct coalesce_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        coalesce_key_return()
            : BaseType()
            {}
        coalesce_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        coalesce_key_return( coalesce_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~coalesce_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        coalesce_key_return&
        operator=( coalesce_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct count_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        count_key_return()
            : BaseType()
            {}
        count_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        count_key_return( count_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~count_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        count_key_return&
        operator=( count_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct avg_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        avg_key_return()
            : BaseType()
            {}
        avg_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        avg_key_return( avg_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~avg_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        avg_key_return&
        operator=( avg_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct max_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        max_key_return()
            : BaseType()
            {}
        max_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        max_key_return( max_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~max_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        max_key_return&
        operator=( max_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct min_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        min_key_return()
            : BaseType()
            {}
        min_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        min_key_return( min_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~min_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        min_key_return&
        operator=( min_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct sum_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        sum_key_return()
            : BaseType()
            {}
        sum_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        sum_key_return( sum_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~sum_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        sum_key_return&
        operator=( sum_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct unknown_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        unknown_key_return()
            : BaseType()
            {}
        unknown_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        unknown_key_return( unknown_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~unknown_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        unknown_key_return&
        operator=( unknown_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct escape_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        escape_key_return()
            : BaseType()
            {}
        escape_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        escape_key_return( escape_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~escape_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        escape_key_return&
        operator=( escape_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct some_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        some_key_return()
            : BaseType()
            {}
        some_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        some_key_return( some_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~some_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        some_key_return&
        operator=( some_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct match_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        match_key_return()
            : BaseType()
            {}
        match_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        match_key_return( match_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~match_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        match_key_return&
        operator=( match_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct cast_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        cast_key_return()
            : BaseType()
            {}
        cast_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        cast_key_return( cast_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~cast_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        cast_key_return&
        operator=( cast_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct full_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        full_key_return()
            : BaseType()
            {}
        full_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        full_key_return( full_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~full_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        full_key_return&
        operator=( full_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct partial_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        partial_key_return()
            : BaseType()
            {}
        partial_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        partial_key_return( partial_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~partial_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        partial_key_return&
        operator=( partial_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct character_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        character_key_return()
            : BaseType()
            {}
        character_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        character_key_return( character_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~character_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        character_key_return&
        operator=( character_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct except_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        except_key_return()
            : BaseType()
            {}
        except_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        except_key_return( except_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~except_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        except_key_return&
        operator=( except_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct char_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        char_key_return()
            : BaseType()
            {}
        char_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        char_key_return( char_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~char_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        char_key_return&
        operator=( char_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct varying_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        varying_key_return()
            : BaseType()
            {}
        varying_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        varying_key_return( varying_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~varying_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        varying_key_return&
        operator=( varying_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct varchar_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        varchar_key_return()
            : BaseType()
            {}
        varchar_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        varchar_key_return( varchar_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~varchar_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        varchar_key_return&
        operator=( varchar_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct national_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        national_key_return()
            : BaseType()
            {}
        national_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        national_key_return( national_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~national_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        national_key_return&
        operator=( national_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct nchar_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        nchar_key_return()
            : BaseType()
            {}
        nchar_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        nchar_key_return( nchar_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~nchar_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        nchar_key_return&
        operator=( nchar_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct bit_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        bit_key_return()
            : BaseType()
            {}
        bit_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        bit_key_return( bit_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~bit_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        bit_key_return&
        operator=( bit_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct float_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        float_key_return()
            : BaseType()
            {}
        float_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        float_key_return( float_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~float_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        float_key_return&
        operator=( float_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct real_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        real_key_return()
            : BaseType()
            {}
        real_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        real_key_return( real_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~real_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        real_key_return&
        operator=( real_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct double_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        double_key_return()
            : BaseType()
            {}
        double_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        double_key_return( double_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~double_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        double_key_return&
        operator=( double_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct precision_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        precision_key_return()
            : BaseType()
            {}
        precision_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        precision_key_return( precision_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~precision_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        precision_key_return&
        operator=( precision_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct interval_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        interval_key_return()
            : BaseType()
            {}
        interval_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        interval_key_return( interval_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~interval_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        interval_key_return&
        operator=( interval_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct time_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        time_key_return()
            : BaseType()
            {}
        time_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        time_key_return( time_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~time_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        time_key_return&
        operator=( time_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct zone_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        zone_key_return()
            : BaseType()
            {}
        zone_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        zone_key_return( zone_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~zone_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        zone_key_return&
        operator=( zone_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct timestamp_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        timestamp_key_return()
            : BaseType()
            {}
        timestamp_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        timestamp_key_return( timestamp_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~timestamp_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        timestamp_key_return&
        operator=( timestamp_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct date_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        date_key_return()
            : BaseType()
            {}
        date_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        date_key_return( date_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~date_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        date_key_return&
        operator=( date_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct numeric_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        numeric_key_return()
            : BaseType()
            {}
        numeric_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        numeric_key_return( numeric_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~numeric_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        numeric_key_return&
        operator=( numeric_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct decimal_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        decimal_key_return()
            : BaseType()
            {}
        decimal_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        decimal_key_return( decimal_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~decimal_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        decimal_key_return&
        operator=( decimal_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct dec_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        dec_key_return()
            : BaseType()
            {}
        dec_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        dec_key_return( dec_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~dec_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        dec_key_return&
        operator=( dec_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct integer_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        integer_key_return()
            : BaseType()
            {}
        integer_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        integer_key_return( integer_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~integer_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        integer_key_return&
        operator=( integer_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct int_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        int_key_return()
            : BaseType()
            {}
        int_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        int_key_return( int_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~int_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        int_key_return&
        operator=( int_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct smallint_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        smallint_key_return()
            : BaseType()
            {}
        smallint_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        smallint_key_return( smallint_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~smallint_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        smallint_key_return&
        operator=( smallint_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct corresponding_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        corresponding_key_return()
            : BaseType()
            {}
        corresponding_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        corresponding_key_return( corresponding_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~corresponding_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        corresponding_key_return&
        operator=( corresponding_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct cross_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        cross_key_return()
            : BaseType()
            {}
        cross_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        cross_key_return( cross_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~cross_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        cross_key_return&
        operator=( cross_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct join_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        join_key_return()
            : BaseType()
            {}
        join_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        join_key_return( join_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~join_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        join_key_return&
        operator=( join_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct left_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        left_key_return()
            : BaseType()
            {}
        left_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        left_key_return( left_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~left_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        left_key_return&
        operator=( left_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct right_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        right_key_return()
            : BaseType()
            {}
        right_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        right_key_return( right_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~right_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        right_key_return&
        operator=( right_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct inner_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        inner_key_return()
            : BaseType()
            {}
        inner_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        inner_key_return( inner_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~inner_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        inner_key_return&
        operator=( inner_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct natural_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        natural_key_return()
            : BaseType()
            {}
        natural_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        natural_key_return( natural_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~natural_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        natural_key_return&
        operator=( natural_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct outer_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        outer_key_return()
            : BaseType()
            {}
        outer_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        outer_key_return( outer_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~outer_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        outer_key_return&
        operator=( outer_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct using_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        using_key_return()
            : BaseType()
            {}
        using_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        using_key_return( using_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~using_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        using_key_return&
        operator=( using_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct indicator_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        indicator_key_return()
            : BaseType()
            {}
        indicator_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        indicator_key_return( indicator_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~indicator_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        indicator_key_return&
        operator=( indicator_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct user_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        user_key_return()
            : BaseType()
            {}
        user_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        user_key_return( user_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~user_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        user_key_return&
        operator=( user_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct current_user_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        current_user_key_return()
            : BaseType()
            {}
        current_user_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        current_user_key_return( current_user_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~current_user_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        current_user_key_return&
        operator=( current_user_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct session_user_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        session_user_key_return()
            : BaseType()
            {}
        session_user_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        session_user_key_return( session_user_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~session_user_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        session_user_key_return&
        operator=( session_user_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct system_user_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        system_user_key_return()
            : BaseType()
            {}
        system_user_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        system_user_key_return( system_user_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~system_user_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        system_user_key_return&
        operator=( system_user_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct value_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        value_key_return()
            : BaseType()
            {}
        value_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        value_key_return( value_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~value_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        value_key_return&
        operator=( value_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct substring_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        substring_key_return()
            : BaseType()
            {}
        substring_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        substring_key_return( substring_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~substring_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        substring_key_return&
        operator=( substring_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct upper_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        upper_key_return()
            : BaseType()
            {}
        upper_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        upper_key_return( upper_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~upper_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        upper_key_return&
        operator=( upper_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct lower_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        lower_key_return()
            : BaseType()
            {}
        lower_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        lower_key_return( lower_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~lower_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        lower_key_return&
        operator=( lower_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct convert_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        convert_key_return()
            : BaseType()
            {}
        convert_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        convert_key_return( convert_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~convert_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        convert_key_return&
        operator=( convert_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct translate_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        translate_key_return()
            : BaseType()
            {}
        translate_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        translate_key_return( translate_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~translate_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        translate_key_return&
        operator=( translate_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct trim_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        trim_key_return()
            : BaseType()
            {}
        trim_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        trim_key_return( trim_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~trim_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        trim_key_return&
        operator=( trim_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct leading_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        leading_key_return()
            : BaseType()
            {}
        leading_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        leading_key_return( leading_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~leading_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        leading_key_return&
        operator=( leading_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct trailing_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        trailing_key_return()
            : BaseType()
            {}
        trailing_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        trailing_key_return( trailing_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~trailing_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        trailing_key_return&
        operator=( trailing_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct both_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        both_key_return()
            : BaseType()
            {}
        both_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        both_key_return( both_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~both_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        both_key_return&
        operator=( both_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct collate_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        collate_key_return()
            : BaseType()
            {}
        collate_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        collate_key_return( collate_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~collate_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        collate_key_return&
        operator=( collate_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct position_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        position_key_return()
            : BaseType()
            {}
        position_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        position_key_return( position_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~position_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        position_key_return&
        operator=( position_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct extract_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        extract_key_return()
            : BaseType()
            {}
        extract_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        extract_key_return( extract_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~extract_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        extract_key_return&
        operator=( extract_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct second_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        second_key_return()
            : BaseType()
            {}
        second_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        second_key_return( second_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~second_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        second_key_return&
        operator=( second_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct timezone_hour_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        timezone_hour_key_return()
            : BaseType()
            {}
        timezone_hour_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        timezone_hour_key_return( timezone_hour_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~timezone_hour_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        timezone_hour_key_return&
        operator=( timezone_hour_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct timezone_minute_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        timezone_minute_key_return()
            : BaseType()
            {}
        timezone_minute_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        timezone_minute_key_return( timezone_minute_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~timezone_minute_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        timezone_minute_key_return&
        operator=( timezone_minute_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct char_length_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        char_length_key_return()
            : BaseType()
            {}
        char_length_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        char_length_key_return( char_length_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~char_length_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        char_length_key_return&
        operator=( char_length_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct octet_length_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        octet_length_key_return()
            : BaseType()
            {}
        octet_length_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        octet_length_key_return( octet_length_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~octet_length_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        octet_length_key_return&
        operator=( octet_length_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct character_length_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        character_length_key_return()
            : BaseType()
            {}
        character_length_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        character_length_key_return( character_length_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~character_length_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        character_length_key_return&
        operator=( character_length_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct bit_length_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        bit_length_key_return()
            : BaseType()
            {}
        bit_length_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        bit_length_key_return( bit_length_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~bit_length_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        bit_length_key_return&
        operator=( bit_length_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct local_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        local_key_return()
            : BaseType()
            {}
        local_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        local_key_return( local_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~local_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        local_key_return&
        operator=( local_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct current_timestamp_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        current_timestamp_key_return()
            : BaseType()
            {}
        current_timestamp_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        current_timestamp_key_return( current_timestamp_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~current_timestamp_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        current_timestamp_key_return&
        operator=( current_timestamp_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct current_date_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        current_date_key_return()
            : BaseType()
            {}
        current_date_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        current_date_key_return( current_date_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~current_date_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        current_date_key_return&
        operator=( current_date_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct current_time_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        current_time_key_return()
            : BaseType()
            {}
        current_time_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        current_time_key_return( current_time_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~current_time_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        current_time_key_return&
        operator=( current_time_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct module_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        module_key_return()
            : BaseType()
            {}
        module_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        module_key_return( module_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~module_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        module_key_return&
        operator=( module_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct global_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        global_key_return()
            : BaseType()
            {}
        global_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        global_key_return( global_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~global_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        global_key_return&
        operator=( global_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct year_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        year_key_return()
            : BaseType()
            {}
        year_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        year_key_return( year_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~year_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        year_key_return&
        operator=( year_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct month_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        month_key_return()
            : BaseType()
            {}
        month_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        month_key_return( month_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~month_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        month_key_return&
        operator=( month_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct day_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        day_key_return()
            : BaseType()
            {}
        day_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        day_key_return( day_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~day_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        day_key_return&
        operator=( day_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct hour_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        hour_key_return()
            : BaseType()
            {}
        hour_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        hour_key_return( hour_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~hour_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        hour_key_return&
        operator=( hour_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct minute_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        minute_key_return()
            : BaseType()
            {}
        minute_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        minute_key_return( minute_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~minute_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        minute_key_return&
        operator=( minute_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct whenever_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        whenever_key_return()
            : BaseType()
            {}
        whenever_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        whenever_key_return( whenever_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~whenever_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        whenever_key_return&
        operator=( whenever_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct is_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        is_key_return()
            : BaseType()
            {}
        is_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        is_key_return( is_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~is_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        is_key_return&
        operator=( is_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct else_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        else_key_return()
            : BaseType()
            {}
        else_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        else_key_return( else_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~else_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        else_key_return&
        operator=( else_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct table_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        table_key_return()
            : BaseType()
            {}
        table_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        table_key_return( table_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~table_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        table_key_return&
        operator=( table_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct the_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        the_key_return()
            : BaseType()
            {}
        the_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        the_key_return( the_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~the_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        the_key_return&
        operator=( the_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct then_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        then_key_return()
            : BaseType()
            {}
        then_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        then_key_return( then_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~then_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        then_key_return&
        operator=( then_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct end_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        end_key_return()
            : BaseType()
            {}
        end_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        end_key_return( end_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~end_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        end_key_return&
        operator=( end_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct all_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        all_key_return()
            : BaseType()
            {}
        all_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        all_key_return( all_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~all_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        all_key_return&
        operator=( all_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct on_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        on_key_return()
            : BaseType()
            {}
        on_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        on_key_return( on_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~on_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        on_key_return&
        operator=( on_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct or_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        or_key_return()
            : BaseType()
            {}
        or_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        or_key_return( or_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~or_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        or_key_return&
        operator=( or_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct and_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        and_key_return()
            : BaseType()
            {}
        and_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        and_key_return( and_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~and_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        and_key_return&
        operator=( and_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct not_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        not_key_return()
            : BaseType()
            {}
        not_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        not_key_return( not_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~not_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        not_key_return&
        operator=( not_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct true_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        true_key_return()
            : BaseType()
            {}
        true_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        true_key_return( true_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~true_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        true_key_return&
        operator=( true_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct false_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        false_key_return()
            : BaseType()
            {}
        false_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        false_key_return( false_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~false_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        false_key_return&
        operator=( false_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct default_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        default_key_return()
            : BaseType()
            {}
        default_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        default_key_return( default_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~default_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        default_key_return&
        operator=( default_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct distinct_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        distinct_key_return()
            : BaseType()
            {}
        distinct_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        distinct_key_return( distinct_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~distinct_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        distinct_key_return&
        operator=( distinct_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct into_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        into_key_return()
            : BaseType()
            {}
        into_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        into_key_return( into_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~into_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        into_key_return&
        operator=( into_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct by_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        by_key_return()
            : BaseType()
            {}
        by_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        by_key_return( by_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~by_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        by_key_return&
        operator=( by_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct as_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        as_key_return()
            : BaseType()
            {}
        as_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        as_key_return( as_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~as_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        as_key_return&
        operator=( as_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct in_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        in_key_return()
            : BaseType()
            {}
        in_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        in_key_return( in_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~in_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        in_key_return&
        operator=( in_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct of_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        of_key_return()
            : BaseType()
            {}
        of_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        of_key_return( of_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~of_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        of_key_return&
        operator=( of_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct null_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        null_key_return()
            : BaseType()
            {}
        null_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        null_key_return( null_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~null_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        null_key_return&
        operator=( null_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct for_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        for_key_return()
            : BaseType()
            {}
        for_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        for_key_return( for_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~for_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        for_key_return&
        operator=( for_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct select_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        select_key_return()
            : BaseType()
            {}
        select_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        select_key_return( select_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~select_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        select_key_return&
        operator=( select_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct when_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        when_key_return()
            : BaseType()
            {}
        when_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        when_key_return( when_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~when_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        when_key_return&
        operator=( when_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct delete_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        delete_key_return()
            : BaseType()
            {}
        delete_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        delete_key_return( delete_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~delete_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        delete_key_return&
        operator=( delete_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct between_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        between_key_return()
            : BaseType()
            {}
        between_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        between_key_return( between_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~between_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        between_key_return&
        operator=( between_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct like_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        like_key_return()
            : BaseType()
            {}
        like_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        like_key_return( like_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~like_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        like_key_return&
        operator=( like_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct from_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        from_key_return()
            : BaseType()
            {}
        from_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        from_key_return( from_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~from_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        from_key_return&
        operator=( from_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct where_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        where_key_return()
            : BaseType()
            {}
        where_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        where_key_return( where_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~where_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        where_key_return&
        operator=( where_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct sequence_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        sequence_key_return()
            : BaseType()
            {}
        sequence_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        sequence_key_return( sequence_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~sequence_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        sequence_key_return&
        operator=( sequence_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct noorder_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        noorder_key_return()
            : BaseType()
            {}
        noorder_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        noorder_key_return( noorder_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~noorder_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        noorder_key_return&
        operator=( noorder_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct cycle_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        cycle_key_return()
            : BaseType()
            {}
        cycle_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        cycle_key_return( cycle_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~cycle_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        cycle_key_return&
        operator=( cycle_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct cache_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        cache_key_return()
            : BaseType()
            {}
        cache_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        cache_key_return( cache_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~cache_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        cache_key_return&
        operator=( cache_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct nocache_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        nocache_key_return()
            : BaseType()
            {}
        nocache_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        nocache_key_return( nocache_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~nocache_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        nocache_key_return&
        operator=( nocache_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct nomaxvalue_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        nomaxvalue_key_return()
            : BaseType()
            {}
        nomaxvalue_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        nomaxvalue_key_return( nomaxvalue_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~nomaxvalue_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        nomaxvalue_key_return&
        operator=( nomaxvalue_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct nominvalue_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        nominvalue_key_return()
            : BaseType()
            {}
        nominvalue_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        nominvalue_key_return( nominvalue_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~nominvalue_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        nominvalue_key_return&
        operator=( nominvalue_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct search_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        search_key_return()
            : BaseType()
            {}
        search_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        search_key_return( search_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~search_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        search_key_return&
        operator=( search_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct depth_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        depth_key_return()
            : BaseType()
            {}
        depth_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        depth_key_return( depth_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~depth_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        depth_key_return&
        operator=( depth_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct breadth_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        breadth_key_return()
            : BaseType()
            {}
        breadth_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        breadth_key_return( breadth_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~breadth_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        breadth_key_return&
        operator=( breadth_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct offset_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        offset_key_return()
            : BaseType()
            {}
        offset_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        offset_key_return( offset_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~offset_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        offset_key_return&
        operator=( offset_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct percent_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        percent_key_return()
            : BaseType()
            {}
        percent_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        percent_key_return( percent_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~percent_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        percent_key_return&
        operator=( percent_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct ties_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        ties_key_return()
            : BaseType()
            {}
        ties_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        ties_key_return( ties_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~ties_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        ties_key_return&
        operator=( ties_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


    struct next_key_return : public OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType
    {
    public:
        typedef OracleDML_OracleDMLKeysImplTraits::RuleReturnValueType BaseType;
        next_key_return()
            : BaseType()
            {}
        next_key_return( BaseParserType* parser )
            : BaseType(parser)
            {}
        next_key_return( next_key_return&& other )
            : BaseType(other)
        {
            tree = std::move(other.tree);
        }
        ~next_key_return()
        {
            //if(tree != NULL)
            //    delete tree;
        }

        next_key_return&
        operator=( next_key_return&& other )
        {
            BaseType::operator=( other );
            tree = std::move(other.tree);
        	return *this;
        }

        ImplTraits::TreeTypePtr tree;
    };


     OracleDML_OracleDMLKeys::create_key_return create_key (); 
     OracleDML_OracleDMLKeys::replace_key_return replace_key (); 
     OracleDML_OracleDMLKeys::package_key_return package_key (); 
     OracleDML_OracleDMLKeys::body_key_return body_key (); 
     OracleDML_OracleDMLKeys::begin_key_return begin_key (); 
     OracleDML_OracleDMLKeys::exit_key_return exit_key (); 
     OracleDML_OracleDMLKeys::declare_key_return declare_key (); 
     OracleDML_OracleDMLKeys::exception_key_return exception_key (); 
     OracleDML_OracleDMLKeys::serveroutput_key_return serveroutput_key (); 
     OracleDML_OracleDMLKeys::off_key_return off_key (); 
     OracleDML_OracleDMLKeys::constant_key_return constant_key (); 
     OracleDML_OracleDMLKeys::subtype_key_return subtype_key (); 
     OracleDML_OracleDMLKeys::cursor_key_return cursor_key (); 
     OracleDML_OracleDMLKeys::nextval_key_return nextval_key (); 
     OracleDML_OracleDMLKeys::goto_key_return goto_key (); 
     OracleDML_OracleDMLKeys::execute_key_return execute_key (); 
     OracleDML_OracleDMLKeys::immediate_key_return immediate_key (); 
     OracleDML_OracleDMLKeys::return_key_return return_key (); 
     OracleDML_OracleDMLKeys::procedure_key_return procedure_key (); 
     OracleDML_OracleDMLKeys::function_key_return function_key (); 
     OracleDML_OracleDMLKeys::pragma_key_return pragma_key (); 
     OracleDML_OracleDMLKeys::exception_init_key_return exception_init_key (); 
     OracleDML_OracleDMLKeys::type_key_return type_key (); 
     OracleDML_OracleDMLKeys::record_key_return record_key (); 
     OracleDML_OracleDMLKeys::indexed_key_return indexed_key (); 
     OracleDML_OracleDMLKeys::index_key_return index_key (); 
     OracleDML_OracleDMLKeys::percent_notfound_key_return percent_notfound_key (); 
     OracleDML_OracleDMLKeys::percent_found_key_return percent_found_key (); 
     OracleDML_OracleDMLKeys::percent_isopen_key_return percent_isopen_key (); 
     OracleDML_OracleDMLKeys::percent_rowcount_key_return percent_rowcount_key (); 
     OracleDML_OracleDMLKeys::percent_rowtype_key_return percent_rowtype_key (); 
     OracleDML_OracleDMLKeys::percent_type_key_return percent_type_key (); 
     OracleDML_OracleDMLKeys::out_key_return out_key (); 
     OracleDML_OracleDMLKeys::inout_key_return inout_key (); 
     OracleDML_OracleDMLKeys::extend_key_return extend_key (); 
     OracleDML_OracleDMLKeys::raise_key_return raise_key (); 
     OracleDML_OracleDMLKeys::while_key_return while_key (); 
     OracleDML_OracleDMLKeys::loop_key_return loop_key (); 
     OracleDML_OracleDMLKeys::commit_key_return commit_key (); 
     OracleDML_OracleDMLKeys::work_key_return work_key (); 
     OracleDML_OracleDMLKeys::if_key_return if_key (); 
     OracleDML_OracleDMLKeys::elsif_key_return elsif_key (); 
     OracleDML_OracleDMLKeys::authid_key_return authid_key (); 
     OracleDML_OracleDMLKeys::definer_key_return definer_key (); 
     OracleDML_OracleDMLKeys::external_key_return external_key (); 
     OracleDML_OracleDMLKeys::language_key_return language_key (); 
     OracleDML_OracleDMLKeys::java_key_return java_key (); 
     OracleDML_OracleDMLKeys::name_key_return name_key (); 
     OracleDML_OracleDMLKeys::deterministic_key_return deterministic_key (); 
     OracleDML_OracleDMLKeys::parallel_enable_key_return parallel_enable_key (); 
     OracleDML_OracleDMLKeys::result_cache_key_return result_cache_key (); 
     OracleDML_OracleDMLKeys::pipelined_key_return pipelined_key (); 
     OracleDML_OracleDMLKeys::aggregate_key_return aggregate_key (); 
     OracleDML_OracleDMLKeys::alter_key_return alter_key (); 
     OracleDML_OracleDMLKeys::compile_key_return compile_key (); 
     OracleDML_OracleDMLKeys::debug_key_return debug_key (); 
     OracleDML_OracleDMLKeys::reuse_key_return reuse_key (); 
     OracleDML_OracleDMLKeys::settings_key_return settings_key (); 
     OracleDML_OracleDMLKeys::specification_key_return specification_key (); 
     OracleDML_OracleDMLKeys::drop_key_return drop_key (); 
     OracleDML_OracleDMLKeys::trigger_key_return trigger_key (); 
     OracleDML_OracleDMLKeys::force_key_return force_key (); 
     OracleDML_OracleDMLKeys::validate_key_return validate_key (); 
     OracleDML_OracleDMLKeys::ref_key_return ref_key (); 
     OracleDML_OracleDMLKeys::array_key_return array_key (); 
     OracleDML_OracleDMLKeys::varray_key_return varray_key (); 
     OracleDML_OracleDMLKeys::pls_integer_key_return pls_integer_key (); 
     OracleDML_OracleDMLKeys::serially_reusable_key_return serially_reusable_key (); 
     OracleDML_OracleDMLKeys::autonomous_transaction_key_return autonomous_transaction_key (); 
     OracleDML_OracleDMLKeys::inline_key_return inline_key (); 
     OracleDML_OracleDMLKeys::restrict_references_key_return restrict_references_key (); 
     OracleDML_OracleDMLKeys::exceptions_key_return exceptions_key (); 
     OracleDML_OracleDMLKeys::save_key_return save_key (); 
     OracleDML_OracleDMLKeys::forall_key_return forall_key (); 
     OracleDML_OracleDMLKeys::continue_key_return continue_key (); 
     OracleDML_OracleDMLKeys::indices_key_return indices_key (); 
     OracleDML_OracleDMLKeys::values_key_return values_key (); 
     OracleDML_OracleDMLKeys::case_key_return case_key (); 
     OracleDML_OracleDMLKeys::bulk_key_return bulk_key (); 
     OracleDML_OracleDMLKeys::collect_key_return collect_key (); 
     OracleDML_OracleDMLKeys::committed_key_return committed_key (); 
     OracleDML_OracleDMLKeys::use_key_return use_key (); 
     OracleDML_OracleDMLKeys::level_key_return level_key (); 
     OracleDML_OracleDMLKeys::isolation_key_return isolation_key (); 
     OracleDML_OracleDMLKeys::serializable_key_return serializable_key (); 
     OracleDML_OracleDMLKeys::segment_key_return segment_key (); 
     OracleDML_OracleDMLKeys::write_key_return write_key (); 
     OracleDML_OracleDMLKeys::wait_key_return wait_key (); 
     OracleDML_OracleDMLKeys::corrupt_xid_all_key_return corrupt_xid_all_key (); 
     OracleDML_OracleDMLKeys::corrupt_xid_key_return corrupt_xid_key (); 
     OracleDML_OracleDMLKeys::batch_key_return batch_key (); 
     OracleDML_OracleDMLKeys::session_key_return session_key (); 
     OracleDML_OracleDMLKeys::role_key_return role_key (); 
     OracleDML_OracleDMLKeys::constraint_key_return constraint_key (); 
     OracleDML_OracleDMLKeys::constraints_key_return constraints_key (); 
     OracleDML_OracleDMLKeys::call_key_return call_key (); 
     OracleDML_OracleDMLKeys::explain_key_return explain_key (); 
     OracleDML_OracleDMLKeys::merge_key_return merge_key (); 
     OracleDML_OracleDMLKeys::plan_key_return plan_key (); 
     OracleDML_OracleDMLKeys::system_key_return system_key (); 
     OracleDML_OracleDMLKeys::subpartition_key_return subpartition_key (); 
     OracleDML_OracleDMLKeys::partition_key_return partition_key (); 
     OracleDML_OracleDMLKeys::matched_key_return matched_key (); 
     OracleDML_OracleDMLKeys::reject_key_return reject_key (); 
     OracleDML_OracleDMLKeys::log_key_return log_key (); 
     OracleDML_OracleDMLKeys::unlimited_key_return unlimited_key (); 
     OracleDML_OracleDMLKeys::limit_key_return limit_key (); 
     OracleDML_OracleDMLKeys::errors_key_return errors_key (); 
     OracleDML_OracleDMLKeys::timestamp_tz_unconstrained_key_return timestamp_tz_unconstrained_key (); 
     OracleDML_OracleDMLKeys::urowid_key_return urowid_key (); 
     OracleDML_OracleDMLKeys::binary_float_min_subnormal_key_return binary_float_min_subnormal_key (); 
     OracleDML_OracleDMLKeys::binary_double_min_normal_key_return binary_double_min_normal_key (); 
     OracleDML_OracleDMLKeys::binary_float_max_normal_key_return binary_float_max_normal_key (); 
     OracleDML_OracleDMLKeys::positiven_key_return positiven_key (); 
     OracleDML_OracleDMLKeys::timezone_abbr_key_return timezone_abbr_key (); 
     OracleDML_OracleDMLKeys::binary_double_min_subnormal_key_return binary_double_min_subnormal_key (); 
     OracleDML_OracleDMLKeys::binary_float_max_subnormal_key_return binary_float_max_subnormal_key (); 
     OracleDML_OracleDMLKeys::binary_double_key_return binary_double_key (); 
     OracleDML_OracleDMLKeys::bfile_key_return bfile_key (); 
     OracleDML_OracleDMLKeys::binary_double_infinity_key_return binary_double_infinity_key (); 
     OracleDML_OracleDMLKeys::timezone_region_key_return timezone_region_key (); 
     OracleDML_OracleDMLKeys::timestamp_ltz_unconstrained_key_return timestamp_ltz_unconstrained_key (); 
     OracleDML_OracleDMLKeys::naturaln_key_return naturaln_key (); 
     OracleDML_OracleDMLKeys::simple_integer_key_return simple_integer_key (); 
     OracleDML_OracleDMLKeys::binary_double_max_subnormal_key_return binary_double_max_subnormal_key (); 
     OracleDML_OracleDMLKeys::byte_key_return byte_key (); 
     OracleDML_OracleDMLKeys::binary_float_infinity_key_return binary_float_infinity_key (); 
     OracleDML_OracleDMLKeys::binary_float_key_return binary_float_key (); 
     OracleDML_OracleDMLKeys::range_key_return range_key (); 
     OracleDML_OracleDMLKeys::nclob_key_return nclob_key (); 
     OracleDML_OracleDMLKeys::clob_key_return clob_key (); 
     OracleDML_OracleDMLKeys::dsinterval_unconstrained_key_return dsinterval_unconstrained_key (); 
     OracleDML_OracleDMLKeys::yminterval_unconstrained_key_return yminterval_unconstrained_key (); 
     OracleDML_OracleDMLKeys::rowid_key_return rowid_key (); 
     OracleDML_OracleDMLKeys::binary_double_nan_key_return binary_double_nan_key (); 
     OracleDML_OracleDMLKeys::timestamp_unconstrained_key_return timestamp_unconstrained_key (); 
     OracleDML_OracleDMLKeys::binary_float_min_normal_key_return binary_float_min_normal_key (); 
     OracleDML_OracleDMLKeys::signtype_key_return signtype_key (); 
     OracleDML_OracleDMLKeys::blob_key_return blob_key (); 
     OracleDML_OracleDMLKeys::nvarchar2_key_return nvarchar2_key (); 
     OracleDML_OracleDMLKeys::binary_double_max_normal_key_return binary_double_max_normal_key (); 
     OracleDML_OracleDMLKeys::binary_float_nan_key_return binary_float_nan_key (); 
     OracleDML_OracleDMLKeys::string_key_return string_key (); 
     OracleDML_OracleDMLKeys::c_key_return c_key (); 
     OracleDML_OracleDMLKeys::library_key_return library_key (); 
     OracleDML_OracleDMLKeys::context_key_return context_key (); 
     OracleDML_OracleDMLKeys::parameters_key_return parameters_key (); 
     OracleDML_OracleDMLKeys::agent_key_return agent_key (); 
     OracleDML_OracleDMLKeys::cluster_key_return cluster_key (); 
     OracleDML_OracleDMLKeys::hash_key_return hash_key (); 
     OracleDML_OracleDMLKeys::relies_on_key_return relies_on_key (); 
     OracleDML_OracleDMLKeys::returning_key_return returning_key (); 
     OracleDML_OracleDMLKeys::statement_id_key_return statement_id_key (); 
     OracleDML_OracleDMLKeys::deferred_key_return deferred_key (); 
     OracleDML_OracleDMLKeys::advise_key_return advise_key (); 
     OracleDML_OracleDMLKeys::resumable_key_return resumable_key (); 
     OracleDML_OracleDMLKeys::timeout_key_return timeout_key (); 
     OracleDML_OracleDMLKeys::parallel_key_return parallel_key (); 
     OracleDML_OracleDMLKeys::ddl_key_return ddl_key (); 
     OracleDML_OracleDMLKeys::query_key_return query_key (); 
     OracleDML_OracleDMLKeys::dml_key_return dml_key (); 
     OracleDML_OracleDMLKeys::guard_key_return guard_key (); 
     OracleDML_OracleDMLKeys::nothing_key_return nothing_key (); 
     OracleDML_OracleDMLKeys::enable_key_return enable_key (); 
     OracleDML_OracleDMLKeys::database_key_return database_key (); 
     OracleDML_OracleDMLKeys::disable_key_return disable_key (); 
     OracleDML_OracleDMLKeys::link_key_return link_key (); 
     OracleDML_OracleDMLKeys::identified_key_return identified_key (); 
     OracleDML_OracleDMLKeys::none_key_return none_key (); 
     OracleDML_OracleDMLKeys::before_key_return before_key (); 
     OracleDML_OracleDMLKeys::referencing_key_return referencing_key (); 
     OracleDML_OracleDMLKeys::logon_key_return logon_key (); 
     OracleDML_OracleDMLKeys::after_key_return after_key (); 
     OracleDML_OracleDMLKeys::schema_key_return schema_key (); 
     OracleDML_OracleDMLKeys::grant_key_return grant_key (); 
     OracleDML_OracleDMLKeys::truncate_key_return truncate_key (); 
     OracleDML_OracleDMLKeys::startup_key_return startup_key (); 
     OracleDML_OracleDMLKeys::statistics_key_return statistics_key (); 
     OracleDML_OracleDMLKeys::noaudit_key_return noaudit_key (); 
     OracleDML_OracleDMLKeys::suspend_key_return suspend_key (); 
     OracleDML_OracleDMLKeys::audit_key_return audit_key (); 
     OracleDML_OracleDMLKeys::disassociate_key_return disassociate_key (); 
     OracleDML_OracleDMLKeys::shutdown_key_return shutdown_key (); 
     OracleDML_OracleDMLKeys::compound_key_return compound_key (); 
     OracleDML_OracleDMLKeys::servererror_key_return servererror_key (); 
     OracleDML_OracleDMLKeys::parent_key_return parent_key (); 
     OracleDML_OracleDMLKeys::follows_key_return follows_key (); 
     OracleDML_OracleDMLKeys::nested_key_return nested_key (); 
     OracleDML_OracleDMLKeys::old_key_return old_key (); 
     OracleDML_OracleDMLKeys::statement_key_return statement_key (); 
     OracleDML_OracleDMLKeys::db_role_change_key_return db_role_change_key (); 
     OracleDML_OracleDMLKeys::each_key_return each_key (); 
     OracleDML_OracleDMLKeys::logoff_key_return logoff_key (); 
     OracleDML_OracleDMLKeys::analyze_key_return analyze_key (); 
     OracleDML_OracleDMLKeys::instead_key_return instead_key (); 
     OracleDML_OracleDMLKeys::associate_key_return associate_key (); 
     OracleDML_OracleDMLKeys::new_key_return new_key (); 
     OracleDML_OracleDMLKeys::revoke_key_return revoke_key (); 
     OracleDML_OracleDMLKeys::rename_key_return rename_key (); 
     OracleDML_OracleDMLKeys::customdatum_key_return customdatum_key (); 
     OracleDML_OracleDMLKeys::oradata_key_return oradata_key (); 
     OracleDML_OracleDMLKeys::constructor_key_return constructor_key (); 
     OracleDML_OracleDMLKeys::sqldata_key_return sqldata_key (); 
     OracleDML_OracleDMLKeys::member_key_return member_key (); 
     OracleDML_OracleDMLKeys::self_key_return self_key (); 
     OracleDML_OracleDMLKeys::object_key_return object_key (); 
     OracleDML_OracleDMLKeys::variable_key_return variable_key (); 
     OracleDML_OracleDMLKeys::instantiable_key_return instantiable_key (); 
     OracleDML_OracleDMLKeys::final_key_return final_key (); 
     OracleDML_OracleDMLKeys::static_key_return static_key (); 
     OracleDML_OracleDMLKeys::oid_key_return oid_key (); 
     OracleDML_OracleDMLKeys::result_key_return result_key (); 
     OracleDML_OracleDMLKeys::under_key_return under_key (); 
     OracleDML_OracleDMLKeys::map_key_return map_key (); 
     OracleDML_OracleDMLKeys::overriding_key_return overriding_key (); 
     OracleDML_OracleDMLKeys::add_key_return add_key (); 
     OracleDML_OracleDMLKeys::modify_key_return modify_key (); 
     OracleDML_OracleDMLKeys::including_key_return including_key (); 
     OracleDML_OracleDMLKeys::substitutable_key_return substitutable_key (); 
     OracleDML_OracleDMLKeys::attribute_key_return attribute_key (); 
     OracleDML_OracleDMLKeys::cascade_key_return cascade_key (); 
     OracleDML_OracleDMLKeys::data_key_return data_key (); 
     OracleDML_OracleDMLKeys::invalidate_key_return invalidate_key (); 
     OracleDML_OracleDMLKeys::element_key_return element_key (); 
     OracleDML_OracleDMLKeys::first_key_return first_key (); 
     OracleDML_OracleDMLKeys::check_key_return check_key (); 
     OracleDML_OracleDMLKeys::option_key_return option_key (); 
     OracleDML_OracleDMLKeys::nocycle_key_return nocycle_key (); 
     OracleDML_OracleDMLKeys::locked_key_return locked_key (); 
     OracleDML_OracleDMLKeys::block_key_return block_key (); 
     OracleDML_OracleDMLKeys::xml_key_return xml_key (); 
     OracleDML_OracleDMLKeys::pivot_key_return pivot_key (); 
     OracleDML_OracleDMLKeys::prior_key_return prior_key (); 
     OracleDML_OracleDMLKeys::sequential_key_return sequential_key (); 
     OracleDML_OracleDMLKeys::single_key_return single_key (); 
     OracleDML_OracleDMLKeys::skip_key_return skip_key (); 
     OracleDML_OracleDMLKeys::model_key_return model_key (); 
     OracleDML_OracleDMLKeys::updated_key_return updated_key (); 
     OracleDML_OracleDMLKeys::increment_key_return increment_key (); 
     OracleDML_OracleDMLKeys::exclude_key_return exclude_key (); 
     OracleDML_OracleDMLKeys::reference_key_return reference_key (); 
     OracleDML_OracleDMLKeys::sets_key_return sets_key (); 
     OracleDML_OracleDMLKeys::until_key_return until_key (); 
     OracleDML_OracleDMLKeys::seed_key_return seed_key (); 
     OracleDML_OracleDMLKeys::maxvalue_key_return maxvalue_key (); 
     OracleDML_OracleDMLKeys::siblings_key_return siblings_key (); 
     OracleDML_OracleDMLKeys::cube_key_return cube_key (); 
     OracleDML_OracleDMLKeys::nulls_key_return nulls_key (); 
     OracleDML_OracleDMLKeys::dimension_key_return dimension_key (); 
     OracleDML_OracleDMLKeys::scn_key_return scn_key (); 
     OracleDML_OracleDMLKeys::snapshot_key_return snapshot_key (); 
     OracleDML_OracleDMLKeys::decrement_key_return decrement_key (); 
     OracleDML_OracleDMLKeys::unpivot_key_return unpivot_key (); 
     OracleDML_OracleDMLKeys::keep_key_return keep_key (); 
     OracleDML_OracleDMLKeys::measures_key_return measures_key (); 
     OracleDML_OracleDMLKeys::rows_key_return rows_key (); 
     OracleDML_OracleDMLKeys::sample_key_return sample_key (); 
     OracleDML_OracleDMLKeys::upsert_key_return upsert_key (); 
     OracleDML_OracleDMLKeys::versions_key_return versions_key (); 
     OracleDML_OracleDMLKeys::rules_key_return rules_key (); 
     OracleDML_OracleDMLKeys::iterate_key_return iterate_key (); 
     OracleDML_OracleDMLKeys::minvalue_key_return minvalue_key (); 
     OracleDML_OracleDMLKeys::rollup_key_return rollup_key (); 
     OracleDML_OracleDMLKeys::nav_key_return nav_key (); 
     OracleDML_OracleDMLKeys::automatic_key_return automatic_key (); 
     OracleDML_OracleDMLKeys::last_key_return last_key (); 
     OracleDML_OracleDMLKeys::main_key_return main_key (); 
     OracleDML_OracleDMLKeys::grouping_key_return grouping_key (); 
     OracleDML_OracleDMLKeys::include_key_return include_key (); 
     OracleDML_OracleDMLKeys::ignore_key_return ignore_key (); 
     OracleDML_OracleDMLKeys::respect_key_return respect_key (); 
     OracleDML_OracleDMLKeys::unique_key_return unique_key (); 
     OracleDML_OracleDMLKeys::submultiset_key_return submultiset_key (); 
     OracleDML_OracleDMLKeys::at_key_return at_key (); 
     OracleDML_OracleDMLKeys::a_key_return a_key (); 
     OracleDML_OracleDMLKeys::empty_key_return empty_key (); 
     OracleDML_OracleDMLKeys::likec_key_return likec_key (); 
     OracleDML_OracleDMLKeys::nan_key_return nan_key (); 
     OracleDML_OracleDMLKeys::infinite_key_return infinite_key (); 
     OracleDML_OracleDMLKeys::like2_key_return like2_key (); 
     OracleDML_OracleDMLKeys::like4_key_return like4_key (); 
     OracleDML_OracleDMLKeys::present_key_return present_key (); 
     OracleDML_OracleDMLKeys::dbtimezone_key_return dbtimezone_key (); 
     OracleDML_OracleDMLKeys::sessiontimezone_key_return sessiontimezone_key (); 
     OracleDML_OracleDMLKeys::nchar_cs_key_return nchar_cs_key (); 
     OracleDML_OracleDMLKeys::decompose_key_return decompose_key (); 
     OracleDML_OracleDMLKeys::following_key_return following_key (); 
     OracleDML_OracleDMLKeys::first_value_key_return first_value_key (); 
     OracleDML_OracleDMLKeys::preceding_key_return preceding_key (); 
     OracleDML_OracleDMLKeys::within_key_return within_key (); 
     OracleDML_OracleDMLKeys::canonical_key_return canonical_key (); 
     OracleDML_OracleDMLKeys::compatibility_key_return compatibility_key (); 
     OracleDML_OracleDMLKeys::over_key_return over_key (); 
     OracleDML_OracleDMLKeys::multiset_key_return multiset_key (); 
     OracleDML_OracleDMLKeys::connect_by_root_key_return connect_by_root_key (); 
     OracleDML_OracleDMLKeys::last_value_key_return last_value_key (); 
     OracleDML_OracleDMLKeys::current_key_return current_key (); 
     OracleDML_OracleDMLKeys::unbounded_key_return unbounded_key (); 
     OracleDML_OracleDMLKeys::dense_rank_key_return dense_rank_key (); 
     OracleDML_OracleDMLKeys::cost_key_return cost_key (); 
     OracleDML_OracleDMLKeys::char_cs_key_return char_cs_key (); 
     OracleDML_OracleDMLKeys::auto_key_return auto_key (); 
     OracleDML_OracleDMLKeys::treat_key_return treat_key (); 
     OracleDML_OracleDMLKeys::content_key_return content_key (); 
     OracleDML_OracleDMLKeys::xmlparse_key_return xmlparse_key (); 
     OracleDML_OracleDMLKeys::xmlelement_key_return xmlelement_key (); 
     OracleDML_OracleDMLKeys::entityescaping_key_return entityescaping_key (); 
     OracleDML_OracleDMLKeys::standalone_key_return standalone_key (); 
     OracleDML_OracleDMLKeys::wellformed_key_return wellformed_key (); 
     OracleDML_OracleDMLKeys::xmlexists_key_return xmlexists_key (); 
     OracleDML_OracleDMLKeys::version_key_return version_key (); 
     OracleDML_OracleDMLKeys::xmlcast_key_return xmlcast_key (); 
     OracleDML_OracleDMLKeys::yes_key_return yes_key (); 
     OracleDML_OracleDMLKeys::no_key_return no_key (); 
     OracleDML_OracleDMLKeys::evalname_key_return evalname_key (); 
     OracleDML_OracleDMLKeys::xmlpi_key_return xmlpi_key (); 
     OracleDML_OracleDMLKeys::xmlcolattval_key_return xmlcolattval_key (); 
     OracleDML_OracleDMLKeys::document_key_return document_key (); 
     OracleDML_OracleDMLKeys::xmlforest_key_return xmlforest_key (); 
     OracleDML_OracleDMLKeys::passing_key_return passing_key (); 
     OracleDML_OracleDMLKeys::columns_key_return columns_key (); 
     OracleDML_OracleDMLKeys::indent_key_return indent_key (); 
     OracleDML_OracleDMLKeys::hide_key_return hide_key (); 
     OracleDML_OracleDMLKeys::xmlagg_key_return xmlagg_key (); 
     OracleDML_OracleDMLKeys::path_key_return path_key (); 
     OracleDML_OracleDMLKeys::xmlnamespaces_key_return xmlnamespaces_key (); 
     OracleDML_OracleDMLKeys::size_key_return size_key (); 
     OracleDML_OracleDMLKeys::noschemacheck_key_return noschemacheck_key (); 
     OracleDML_OracleDMLKeys::noentityescaping_key_return noentityescaping_key (); 
     OracleDML_OracleDMLKeys::xmlquery_key_return xmlquery_key (); 
     OracleDML_OracleDMLKeys::xmltable_key_return xmltable_key (); 
     OracleDML_OracleDMLKeys::xmlroot_key_return xmlroot_key (); 
     OracleDML_OracleDMLKeys::schemacheck_key_return schemacheck_key (); 
     OracleDML_OracleDMLKeys::xmlattributes_key_return xmlattributes_key (); 
     OracleDML_OracleDMLKeys::encoding_key_return encoding_key (); 
     OracleDML_OracleDMLKeys::show_key_return show_key (); 
     OracleDML_OracleDMLKeys::xmlserialize_key_return xmlserialize_key (); 
     OracleDML_OracleDMLKeys::ordinality_key_return ordinality_key (); 
     OracleDML_OracleDMLKeys::defaults_key_return defaults_key (); 
     OracleDML_OracleDMLKeys::sqlerror_key_return sqlerror_key (); 
     OracleDML_OracleDMLKeys::oserror_key_return oserror_key (); 
     OracleDML_OracleDMLKeys::success_key_return success_key (); 
     OracleDML_OracleDMLKeys::warning_key_return warning_key (); 
     OracleDML_OracleDMLKeys::failure_key_return failure_key (); 
     OracleDML_OracleDMLKeys::insert_key_return insert_key (); 
     OracleDML_OracleDMLKeys::order_key_return order_key (); 
     OracleDML_OracleDMLKeys::minus_key_return minus_key (); 
     OracleDML_OracleDMLKeys::row_key_return row_key (); 
     OracleDML_OracleDMLKeys::mod_key_return mod_key (); 
     OracleDML_OracleDMLKeys::raw_key_return raw_key (); 
     OracleDML_OracleDMLKeys::power_key_return power_key (); 
     OracleDML_OracleDMLKeys::lock_key_return lock_key (); 
     OracleDML_OracleDMLKeys::exists_key_return exists_key (); 
     OracleDML_OracleDMLKeys::having_key_return having_key (); 
     OracleDML_OracleDMLKeys::any_key_return any_key (); 
     OracleDML_OracleDMLKeys::with_key_return with_key (); 
     OracleDML_OracleDMLKeys::transaction_key_return transaction_key (); 
     OracleDML_OracleDMLKeys::rawtohex_key_return rawtohex_key (); 
     OracleDML_OracleDMLKeys::number_key_return number_key (); 
     OracleDML_OracleDMLKeys::nocopy_key_return nocopy_key (); 
     OracleDML_OracleDMLKeys::to_key_return to_key (); 
     OracleDML_OracleDMLKeys::abs_key_return abs_key (); 
     OracleDML_OracleDMLKeys::rollback_key_return rollback_key (); 
     OracleDML_OracleDMLKeys::share_key_return share_key (); 
     OracleDML_OracleDMLKeys::greatest_key_return greatest_key (); 
     OracleDML_OracleDMLKeys::vsize_key_return vsize_key (); 
     OracleDML_OracleDMLKeys::exclusive_key_return exclusive_key (); 
     OracleDML_OracleDMLKeys::varchar2_key_return varchar2_key (); 
     OracleDML_OracleDMLKeys::rowidtochar_key_return rowidtochar_key (); 
     OracleDML_OracleDMLKeys::open_key_return open_key (); 
     OracleDML_OracleDMLKeys::comment_key_return comment_key (); 
     OracleDML_OracleDMLKeys::sqrt_key_return sqrt_key (); 
     OracleDML_OracleDMLKeys::instr_key_return instr_key (); 
     OracleDML_OracleDMLKeys::nowait_key_return nowait_key (); 
     OracleDML_OracleDMLKeys::lpad_key_return lpad_key (); 
     OracleDML_OracleDMLKeys::boolean_key_return boolean_key (); 
     OracleDML_OracleDMLKeys::rpad_key_return rpad_key (); 
     OracleDML_OracleDMLKeys::savepoint_key_return savepoint_key (); 
     OracleDML_OracleDMLKeys::decode_key_return decode_key (); 
     OracleDML_OracleDMLKeys::reverse_key_return reverse_key (); 
     OracleDML_OracleDMLKeys::least_key_return least_key (); 
     OracleDML_OracleDMLKeys::nvl_key_return nvl_key (); 
     OracleDML_OracleDMLKeys::variance_key_return variance_key (); 
     OracleDML_OracleDMLKeys::start_key_return start_key (); 
     OracleDML_OracleDMLKeys::desc_key_return desc_key (); 
     OracleDML_OracleDMLKeys::concat_key_return concat_key (); 
     OracleDML_OracleDMLKeys::dump_key_return dump_key (); 
     OracleDML_OracleDMLKeys::soundex_key_return soundex_key (); 
     OracleDML_OracleDMLKeys::positive_key_return positive_key (); 
     OracleDML_OracleDMLKeys::union_key_return union_key (); 
     OracleDML_OracleDMLKeys::ascii_key_return ascii_key (); 
     OracleDML_OracleDMLKeys::connect_key_return connect_key (); 
     OracleDML_OracleDMLKeys::asc_key_return asc_key (); 
     OracleDML_OracleDMLKeys::hextoraw_key_return hextoraw_key (); 
     OracleDML_OracleDMLKeys::to_date_key_return to_date_key (); 
     OracleDML_OracleDMLKeys::floor_key_return floor_key (); 
     OracleDML_OracleDMLKeys::sign_key_return sign_key (); 
     OracleDML_OracleDMLKeys::update_key_return update_key (); 
     OracleDML_OracleDMLKeys::trunc_key_return trunc_key (); 
     OracleDML_OracleDMLKeys::rtrim_key_return rtrim_key (); 
     OracleDML_OracleDMLKeys::close_key_return close_key (); 
     OracleDML_OracleDMLKeys::to_char_key_return to_char_key (); 
     OracleDML_OracleDMLKeys::ltrim_key_return ltrim_key (); 
     OracleDML_OracleDMLKeys::mode_key_return mode_key (); 
     OracleDML_OracleDMLKeys::uid_key_return uid_key (); 
     OracleDML_OracleDMLKeys::chr_key_return chr_key (); 
     OracleDML_OracleDMLKeys::intersect_key_return intersect_key (); 
     OracleDML_OracleDMLKeys::chartorowid_key_return chartorowid_key (); 
     OracleDML_OracleDMLKeys::mlslabel_key_return mlslabel_key (); 
     OracleDML_OracleDMLKeys::userenv_key_return userenv_key (); 
     OracleDML_OracleDMLKeys::stddev_key_return stddev_key (); 
     OracleDML_OracleDMLKeys::length_key_return length_key (); 
     OracleDML_OracleDMLKeys::fetch_key_return fetch_key (); 
     OracleDML_OracleDMLKeys::group_key_return group_key (); 
     OracleDML_OracleDMLKeys::sysdate_key_return sysdate_key (); 
     OracleDML_OracleDMLKeys::binary_integer_key_return binary_integer_key (); 
     OracleDML_OracleDMLKeys::to_number_key_return to_number_key (); 
     OracleDML_OracleDMLKeys::substr_key_return substr_key (); 
     OracleDML_OracleDMLKeys::ceil_key_return ceil_key (); 
     OracleDML_OracleDMLKeys::initcap_key_return initcap_key (); 
     OracleDML_OracleDMLKeys::round_key_return round_key (); 
     OracleDML_OracleDMLKeys::long_key_return long_key (); 
     OracleDML_OracleDMLKeys::read_key_return read_key (); 
     OracleDML_OracleDMLKeys::only_key_return only_key (); 
     OracleDML_OracleDMLKeys::set_key_return set_key (); 
     OracleDML_OracleDMLKeys::nullif_key_return nullif_key (); 
     OracleDML_OracleDMLKeys::coalesce_key_return coalesce_key (); 
     OracleDML_OracleDMLKeys::count_key_return count_key (); 
     OracleDML_OracleDMLKeys::avg_key_return avg_key (); 
     OracleDML_OracleDMLKeys::max_key_return max_key (); 
     OracleDML_OracleDMLKeys::min_key_return min_key (); 
     OracleDML_OracleDMLKeys::sum_key_return sum_key (); 
     OracleDML_OracleDMLKeys::unknown_key_return unknown_key (); 
     OracleDML_OracleDMLKeys::escape_key_return escape_key (); 
     OracleDML_OracleDMLKeys::some_key_return some_key (); 
     OracleDML_OracleDMLKeys::match_key_return match_key (); 
     OracleDML_OracleDMLKeys::cast_key_return cast_key (); 
     OracleDML_OracleDMLKeys::full_key_return full_key (); 
     OracleDML_OracleDMLKeys::partial_key_return partial_key (); 
     OracleDML_OracleDMLKeys::character_key_return character_key (); 
     OracleDML_OracleDMLKeys::except_key_return except_key (); 
     OracleDML_OracleDMLKeys::char_key_return char_key (); 
     OracleDML_OracleDMLKeys::varying_key_return varying_key (); 
     OracleDML_OracleDMLKeys::varchar_key_return varchar_key (); 
     OracleDML_OracleDMLKeys::national_key_return national_key (); 
     OracleDML_OracleDMLKeys::nchar_key_return nchar_key (); 
     OracleDML_OracleDMLKeys::bit_key_return bit_key (); 
     OracleDML_OracleDMLKeys::float_key_return float_key (); 
     OracleDML_OracleDMLKeys::real_key_return real_key (); 
     OracleDML_OracleDMLKeys::double_key_return double_key (); 
     OracleDML_OracleDMLKeys::precision_key_return precision_key (); 
     OracleDML_OracleDMLKeys::interval_key_return interval_key (); 
     OracleDML_OracleDMLKeys::time_key_return time_key (); 
     OracleDML_OracleDMLKeys::zone_key_return zone_key (); 
     OracleDML_OracleDMLKeys::timestamp_key_return timestamp_key (); 
     OracleDML_OracleDMLKeys::date_key_return date_key (); 
     OracleDML_OracleDMLKeys::numeric_key_return numeric_key (); 
     OracleDML_OracleDMLKeys::decimal_key_return decimal_key (); 
     OracleDML_OracleDMLKeys::dec_key_return dec_key (); 
     OracleDML_OracleDMLKeys::integer_key_return integer_key (); 
     OracleDML_OracleDMLKeys::int_key_return int_key (); 
     OracleDML_OracleDMLKeys::smallint_key_return smallint_key (); 
     OracleDML_OracleDMLKeys::corresponding_key_return corresponding_key (); 
     OracleDML_OracleDMLKeys::cross_key_return cross_key (); 
     OracleDML_OracleDMLKeys::join_key_return join_key (); 
     OracleDML_OracleDMLKeys::left_key_return left_key (); 
     OracleDML_OracleDMLKeys::right_key_return right_key (); 
     OracleDML_OracleDMLKeys::inner_key_return inner_key (); 
     OracleDML_OracleDMLKeys::natural_key_return natural_key (); 
     OracleDML_OracleDMLKeys::outer_key_return outer_key (); 
     OracleDML_OracleDMLKeys::using_key_return using_key (); 
     OracleDML_OracleDMLKeys::indicator_key_return indicator_key (); 
     OracleDML_OracleDMLKeys::user_key_return user_key (); 
     OracleDML_OracleDMLKeys::current_user_key_return current_user_key (); 
     OracleDML_OracleDMLKeys::session_user_key_return session_user_key (); 
     OracleDML_OracleDMLKeys::system_user_key_return system_user_key (); 
     OracleDML_OracleDMLKeys::value_key_return value_key (); 
     OracleDML_OracleDMLKeys::substring_key_return substring_key (); 
     OracleDML_OracleDMLKeys::upper_key_return upper_key (); 
     OracleDML_OracleDMLKeys::lower_key_return lower_key (); 
     OracleDML_OracleDMLKeys::convert_key_return convert_key (); 
     OracleDML_OracleDMLKeys::translate_key_return translate_key (); 
     OracleDML_OracleDMLKeys::trim_key_return trim_key (); 
     OracleDML_OracleDMLKeys::leading_key_return leading_key (); 
     OracleDML_OracleDMLKeys::trailing_key_return trailing_key (); 
     OracleDML_OracleDMLKeys::both_key_return both_key (); 
     OracleDML_OracleDMLKeys::collate_key_return collate_key (); 
     OracleDML_OracleDMLKeys::position_key_return position_key (); 
     OracleDML_OracleDMLKeys::extract_key_return extract_key (); 
     OracleDML_OracleDMLKeys::second_key_return second_key (); 
     OracleDML_OracleDMLKeys::timezone_hour_key_return timezone_hour_key (); 
     OracleDML_OracleDMLKeys::timezone_minute_key_return timezone_minute_key (); 
     OracleDML_OracleDMLKeys::char_length_key_return char_length_key (); 
     OracleDML_OracleDMLKeys::octet_length_key_return octet_length_key (); 
     OracleDML_OracleDMLKeys::character_length_key_return character_length_key (); 
     OracleDML_OracleDMLKeys::bit_length_key_return bit_length_key (); 
     OracleDML_OracleDMLKeys::local_key_return local_key (); 
     OracleDML_OracleDMLKeys::current_timestamp_key_return current_timestamp_key (); 
     OracleDML_OracleDMLKeys::current_date_key_return current_date_key (); 
     OracleDML_OracleDMLKeys::current_time_key_return current_time_key (); 
     OracleDML_OracleDMLKeys::module_key_return module_key (); 
     OracleDML_OracleDMLKeys::global_key_return global_key (); 
     OracleDML_OracleDMLKeys::year_key_return year_key (); 
     OracleDML_OracleDMLKeys::month_key_return month_key (); 
     OracleDML_OracleDMLKeys::day_key_return day_key (); 
     OracleDML_OracleDMLKeys::hour_key_return hour_key (); 
     OracleDML_OracleDMLKeys::minute_key_return minute_key (); 
     OracleDML_OracleDMLKeys::whenever_key_return whenever_key (); 
     OracleDML_OracleDMLKeys::is_key_return is_key (); 
     OracleDML_OracleDMLKeys::else_key_return else_key (); 
     OracleDML_OracleDMLKeys::table_key_return table_key (); 
     OracleDML_OracleDMLKeys::the_key_return the_key (); 
     OracleDML_OracleDMLKeys::then_key_return then_key (); 
     OracleDML_OracleDMLKeys::end_key_return end_key (); 
     OracleDML_OracleDMLKeys::all_key_return all_key (); 
     OracleDML_OracleDMLKeys::on_key_return on_key (); 
     OracleDML_OracleDMLKeys::or_key_return or_key (); 
     OracleDML_OracleDMLKeys::and_key_return and_key (); 
     OracleDML_OracleDMLKeys::not_key_return not_key (); 
     OracleDML_OracleDMLKeys::true_key_return true_key (); 
     OracleDML_OracleDMLKeys::false_key_return false_key (); 
     OracleDML_OracleDMLKeys::default_key_return default_key (); 
     OracleDML_OracleDMLKeys::distinct_key_return distinct_key (); 
     OracleDML_OracleDMLKeys::into_key_return into_key (); 
     OracleDML_OracleDMLKeys::by_key_return by_key (); 
     OracleDML_OracleDMLKeys::as_key_return as_key (); 
     OracleDML_OracleDMLKeys::in_key_return in_key (); 
     OracleDML_OracleDMLKeys::of_key_return of_key (); 
     OracleDML_OracleDMLKeys::null_key_return null_key (); 
     OracleDML_OracleDMLKeys::for_key_return for_key (); 
     OracleDML_OracleDMLKeys::select_key_return select_key (); 
     OracleDML_OracleDMLKeys::when_key_return when_key (); 
     OracleDML_OracleDMLKeys::delete_key_return delete_key (); 
     OracleDML_OracleDMLKeys::between_key_return between_key (); 
     OracleDML_OracleDMLKeys::like_key_return like_key (); 
     OracleDML_OracleDMLKeys::from_key_return from_key (); 
     OracleDML_OracleDMLKeys::where_key_return where_key (); 
     OracleDML_OracleDMLKeys::sequence_key_return sequence_key (); 
     OracleDML_OracleDMLKeys::noorder_key_return noorder_key (); 
     OracleDML_OracleDMLKeys::cycle_key_return cycle_key (); 
     OracleDML_OracleDMLKeys::cache_key_return cache_key (); 
     OracleDML_OracleDMLKeys::nocache_key_return nocache_key (); 
     OracleDML_OracleDMLKeys::nomaxvalue_key_return nomaxvalue_key (); 
     OracleDML_OracleDMLKeys::nominvalue_key_return nominvalue_key (); 
     OracleDML_OracleDMLKeys::search_key_return search_key (); 
     OracleDML_OracleDMLKeys::depth_key_return depth_key (); 
     OracleDML_OracleDMLKeys::breadth_key_return breadth_key (); 
     OracleDML_OracleDMLKeys::offset_key_return offset_key (); 
     OracleDML_OracleDMLKeys::percent_key_return percent_key (); 
     OracleDML_OracleDMLKeys::ties_key_return ties_key (); 
     OracleDML_OracleDMLKeys::next_key_return next_key (); 
    // Delegated rules

    const char *    getGrammarFileName();
    void            reset();
    ~OracleDML_OracleDMLKeys();

};

// Function protoypes for the constructor functions that external translation units
// such as delegators and delegates may wish to call.
//
extern ANTLR_UINT8*   OracleDMLTokenNames[];


/* End of token definitions for OracleDML_OracleDMLKeys
 * =============================================================================
 */

}

#endif

/* END - Note:Keep extra line feed to satisfy UNIX systems */
