/* * 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; }