/*
* Copyright (c) 2013, OpenCloudDB/MyCAT and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software;Designed and Developed mainly by many Chinese
* opensource volunteers. you can redistribute it and/or modify it under the
* terms of the GNU General Public License version 2 only, as published by the
* Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Any questions about this component can be directed to it's project Web address
* https://code.google.com/p/opencloudb/.
*
*/
package com.akiban.sql.parser;
/**
* The purpose of this interface is to hold the constant definitions
* of the different node type identifiers, for use with NodeFactory.
* The reason this class exists is that it is not shipped with the
* product, so it saves footprint to have all these constant definitions
* here instead of in NodeFactory.
*/
public interface NodeTypes
{
/** Node types, for use with getNode methods */
public static final int TEST_CONSTRAINT_NODE = 1;
public static final int CURRENT_ROW_LOCATION_NODE = 2;
public static final int GROUP_BY_LIST = 3;
public static final int CURRENT_ISOLATION_NODE = 4;
public static final int IDENTITY_VAL_NODE = 5;
public static final int CURRENT_SCHEMA_NODE = 6;
public static final int ORDER_BY_LIST = 7;
public static final int PREDICATE_LIST = 8;
public static final int RESULT_COLUMN_LIST = 9;
public static final int INDEX_COLUMN = 10;
public static final int SUBQUERY_LIST = 11;
public static final int TABLE_ELEMENT_LIST = 12;
public static final int UNTYPED_NULL_CONSTANT_NODE = 13;
public static final int TABLE_ELEMENT_NODE = 14;
public static final int VALUE_NODE_LIST = 15;
public static final int ALL_RESULT_COLUMN = 16;
public static final int INDEX_COLUMN_LIST = 17;
public static final int GET_CURRENT_CONNECTION_NODE = 18;
public static final int NOP_STATEMENT_NODE = 19;
public static final int OCTET_LENGTH_OPERATOR_NODE = 20;
public static final int SET_TRANSACTION_ISOLATION_NODE = 21;
public static final int SET_TRANSACTION_ACCESS_NODE = 22;
public static final int CHAR_LENGTH_OPERATOR_NODE = 23;
public static final int IS_NOT_NULL_NODE = 24;
public static final int IS_NULL_NODE = 25;
public static final int NOT_NODE = 26;
public static final int SET_CONFIGURATION_NODE = 27;
public static final int SQL_TO_JAVA_VALUE_NODE = 28;
public static final int UNARY_MINUS_OPERATOR_NODE = 29;
public static final int UNARY_PLUS_OPERATOR_NODE = 30;
public static final int SQL_BOOLEAN_CONSTANT_NODE = 31;
public static final int UNARY_DATE_TIMESTAMP_OPERATOR_NODE = 32;
public static final int TIMESTAMP_OPERATOR_NODE = 33;
public static final int TABLE_NAME = 34;
public static final int GROUP_BY_COLUMN = 35;
public static final int JAVA_TO_SQL_VALUE_NODE = 36;
public static final int FROM_LIST = 37;
public static final int BOOLEAN_CONSTANT_NODE = 38;
public static final int AND_NODE = 39;
public static final int BINARY_DIVIDE_OPERATOR_NODE = 40;
public static final int BINARY_EQUALS_OPERATOR_NODE = 41;
public static final int BINARY_GREATER_EQUALS_OPERATOR_NODE = 42;
public static final int BINARY_GREATER_THAN_OPERATOR_NODE = 43;
public static final int BINARY_LESS_EQUALS_OPERATOR_NODE = 44;
public static final int BINARY_LESS_THAN_OPERATOR_NODE = 45;
public static final int BINARY_MINUS_OPERATOR_NODE = 46;
public static final int BINARY_NOT_EQUALS_OPERATOR_NODE = 47;
public static final int BINARY_PLUS_OPERATOR_NODE = 48;
public static final int BINARY_TIMES_OPERATOR_NODE = 49;
public static final int CONCATENATION_OPERATOR_NODE = 50;
public static final int LIKE_OPERATOR_NODE = 51;
public static final int OR_NODE = 52;
public static final int BETWEEN_OPERATOR_NODE = 53;
public static final int CONDITIONAL_NODE = 54;
public static final int IN_LIST_OPERATOR_NODE = 55;
public static final int NOT_BETWEEN_OPERATOR_NODE = 56;
public static final int NOT_IN_LIST_OPERATOR_NODE = 57;
public static final int BIT_CONSTANT_NODE = 58;
public static final int VARBIT_CONSTANT_NODE = 59;
public static final int CAST_NODE = 60;
public static final int CHAR_CONSTANT_NODE = 61;
public static final int COLUMN_REFERENCE = 62;
public static final int DROP_INDEX_NODE = 63;
public static final int UNARY_BITNOT_OPERATOR_NODE = 64;
public static final int DROP_TRIGGER_NODE = 65;
public static final int BINARY_BIT_OPERATOR_NODE = 66;
public static final int DECIMAL_CONSTANT_NODE = 67;
public static final int DOUBLE_CONSTANT_NODE = 68;
public static final int FLOAT_CONSTANT_NODE = 69;
public static final int INT_CONSTANT_NODE = 70;
public static final int LONGINT_CONSTANT_NODE = 71;
public static final int LONGVARBIT_CONSTANT_NODE = 72;
public static final int LONGVARCHAR_CONSTANT_NODE = 73;
public static final int SMALLINT_CONSTANT_NODE = 74;
public static final int TINYINT_CONSTANT_NODE = 75;
public static final int USERTYPE_CONSTANT_NODE = 76;
public static final int VARCHAR_CONSTANT_NODE = 77;
public static final int PREDICATE = 78;
public static final int BINARY_DIV_OPERATOR_NODE = 79;
public static final int RESULT_COLUMN = 80;
public static final int SET_SCHEMA_NODE = 81;
public static final int UPDATE_COLUMN = 82;
public static final int SIMPLE_STRING_OPERATOR_NODE = 83;
public static final int STATIC_CLASS_FIELD_REFERENCE_NODE = 84;
public static final int STATIC_METHOD_CALL_NODE = 85;
public static final int REVOKE_NODE = 86;
public static final int EXTRACT_OPERATOR_NODE = 87;
public static final int PARAMETER_NODE = 88;
public static final int GRANT_NODE = 89;
public static final int DROP_SCHEMA_NODE = 90;
public static final int DROP_TABLE_NODE = 91;
public static final int DROP_VIEW_NODE = 92;
public static final int SUBQUERY_NODE = 93;
public static final int BASE_COLUMN_NODE = 94;
public static final int CALL_STATEMENT_NODE = 95;
public static final int MODIFY_COLUMN_DEFAULT_NODE = 97;
public static final int NON_STATIC_METHOD_CALL_NODE = 98;
public static final int CURRENT_OF_NODE = 99;
public static final int DEFAULT_NODE = 100;
public static final int DELETE_NODE = 101;
public static final int UPDATE_NODE = 102;
public static final int PRIVILEGE_NODE = 103;
public static final int ORDER_BY_COLUMN = 104;
public static final int ROW_RESULT_SET_NODE = 105;
public static final int TABLE_PRIVILEGES_NODE = 106;
public static final int VIRTUAL_COLUMN_NODE = 107;
public static final int CURRENT_DATETIME_OPERATOR_NODE = 108;
public static final int CURRENT_USER_NODE = 109; // special function CURRENT_USER
public static final int USER_NODE = 110; // // special function USER
public static final int IS_NODE = 111;
public static final int LOCK_TABLE_NODE = 112;
public static final int DROP_COLUMN_NODE = 113;
public static final int ALTER_TABLE_NODE = 114;
public static final int AGGREGATE_NODE = 115;
public static final int COLUMN_DEFINITION_NODE = 116;
public static final int EXPLAIN_STATEMENT_NODE = 117;
public static final int COPY_STATEMENT_NODE = 118;
public static final int FK_CONSTRAINT_DEFINITION_NODE = 119;
public static final int FROM_VTI = 120;
public static final int MATERIALIZE_RESULT_SET_NODE = 121;
public static final int NORMALIZE_RESULT_SET_NODE = 122;
public static final int SCROLL_INSENSITIVE_RESULT_SET_NODE = 123;
public static final int DISTINCT_NODE = 124;
public static final int SESSION_USER_NODE = 125; // // special function SESSION_USER
public static final int SYSTEM_USER_NODE = 126; // // special function SYSTEM_USER
public static final int TRIM_OPERATOR_NODE = 127;
public static final int INDEX_HINT_NODE = 128;
public static final int SELECT_NODE = 129;
public static final int CREATE_VIEW_NODE = 130;
public static final int CONSTRAINT_DEFINITION_NODE = 131;
public static final int INDEX_HINT_LIST = 132;
public static final int NEW_INVOCATION_NODE = 133;
public static final int CREATE_SCHEMA_NODE = 134;
public static final int FROM_BASE_TABLE = 135;
public static final int FROM_SUBQUERY = 136;
public static final int GROUP_BY_NODE = 137;
public static final int INSERT_NODE = 138;
public static final int JOIN_NODE = 139;
public static final int ORDER_BY_NODE = 140;
public static final int CREATE_TABLE_NODE = 141;
public static final int UNION_NODE = 142;
public static final int CREATE_TRIGGER_NODE = 143;
public static final int HALF_OUTER_JOIN_NODE = 144;
public static final int EXPLICIT_COLLATE_NODE = 145;
public static final int CREATE_INDEX_NODE = 146;
public static final int CURSOR_NODE = 147;
public static final int HASH_TABLE_NODE = 148;
public static final int INDEX_TO_BASE_ROW_NODE = 149;
public static final int CREATE_ALIAS_NODE = 150;
public static final int PROJECT_RESTRICT_NODE = 151;
// UNUSED public static final int BOOLEAN_TRUE_NODE = 152;
// UNUSED public static final int BOOLEAN_FALSE_NODE = 153;
public static final int SUBSTRING_OPERATOR_NODE = 154;
// UNUSED public static final int BOOLEAN_NODE = 155;
public static final int DROP_ALIAS_NODE = 156;
public static final int INTERSECT_OR_EXCEPT_NODE = 157;
public static final int LEFT_FN_NODE = 158;
public static final int RIGHT_FN_NODE = 159;
public static final int ROWS_RESULT_SET_NODE = 160;
// UNUSED public static final int SPECIAL_INDEX_FUNC_NODE = 161;
public static final int AT_DROP_INDEX_NODE = 162;
public static final int AT_ADD_INDEX_NODE = 163;
public static final int INDEX_CONSTRAINT_NODE = 164;
public static final int DROP_GROUP_NODE = 165;
public static final int ROW_CTOR_NODE = 166;
public static final int GROUP_CONCAT_NODE = 167;
public static final int AT_RENAME_NODE = 168;
public static final int AT_RENAME_COLUMN_NODE = 169;
public static final int SIMPLE_CASE_NODE = 170;
public static final int PARTITION_BY_LIST = 171;
public static final int PARTITION_BY_COLUMN = 172;
public static final int FULL_OUTER_JOIN_NODE = 173;
// 174 - 182 available
public static final int ALTER_SERVER_NODE = 183;
public static final int TIMESTAMP_ADD_FN_NODE = 184;
public static final int TIMESTAMP_DIFF_FN_NODE = 185;
public static final int MODIFY_COLUMN_TYPE_NODE = 186;
public static final int MODIFY_COLUMN_CONSTRAINT_NODE = 187;
public static final int ABSOLUTE_OPERATOR_NODE = 188;
public static final int SQRT_OPERATOR_NODE = 189;
public static final int LOCATE_FUNCTION_NODE = 190;
//for rename table/column/index
public static final int RENAME_NODE = 191;
public static final int COALESCE_FUNCTION_NODE = 192;
public static final int MODIFY_COLUMN_CONSTRAINT_NOT_NULL_NODE = 193;
public static final int MOD_OPERATOR_NODE = 194;
// LOB
public static final int BLOB_CONSTANT_NODE = 195;
public static final int CLOB_CONSTANT_NODE = 196;
// Transactions / savepoints
public static final int TRANSACTION_CONTROL_NODE = 197;
public static final int SAVEPOINT_NODE = 198;
// XML
public static final int XML_CONSTANT_NODE = 199;
public static final int XML_PARSE_OPERATOR_NODE = 200;
public static final int XML_SERIALIZE_OPERATOR_NODE = 201;
public static final int XML_EXISTS_OPERATOR_NODE = 202;
public static final int XML_QUERY_OPERATOR_NODE = 203;
// Roles
public static final int CURRENT_ROLE_NODE = 210;
public static final int CREATE_ROLE_NODE = 211;
public static final int SET_ROLE_NODE = 212;
public static final int SET_ROLE_DYNAMIC = 213;
public static final int DROP_ROLE_NODE = 214;
public static final int GRANT_ROLE_NODE = 215;
public static final int REVOKE_ROLE_NODE = 216;
// generated columns
public static final int GENERATION_CLAUSE_NODE = 222;
// OFFSET, FETCH FIRST node
public static final int ROW_COUNT_NODE = 223;
// sequences
public static final int CREATE_SEQUENCE_NODE = 224;
public static final int DROP_SEQUENCE_NODE = 225;
public static final int NEXT_SEQUENCE_NODE = 231;
public static final int CURRENT_SEQUENCE_NODE = 232;
// Windowing
public static final int AGGREGATE_WINDOW_FUNCTION_NODE = 226;
public static final int ROW_NUMBER_FUNCTION_NODE = 227;
public static final int WINDOW_DEFINITION_NODE = 228;
public static final int WINDOW_REFERENCE_NODE = 229;
public static final int WINDOW_RESULTSET_NODE = 230;
// Cursors
public static final int DECLARE_STATEMENT_NODE = 233;
public static final int FETCH_STATEMENT_NODE = 234;
public static final int CLOSE_STATEMENT_NODE = 235;
public static final int PREPARE_STATEMENT_NODE = 236;
public static final int EXECUTE_STATEMENT_NODE = 237;
public static final int DEALLOCATE_STATEMENT_NODE = 238;
// Final value in set, keep up to date!
public static final int FINAL_VALUE = DEALLOCATE_STATEMENT_NODE;
/**
* Extensions to this interface can use nodetypes > MAX_NODE_TYPE with out fear of collision
* with C_NodeTypes
*/
public static final int MAX_NODE_TYPE = 999;
}