001: /*
002:
003: Derby - Class org.apache.derby.iapi.sql.compile.C_NodeTypes
004:
005: Licensed to the Apache Software Foundation (ASF) under one or more
006: contributor license agreements. See the NOTICE file distributed with
007: this work for additional information regarding copyright ownership.
008: The ASF licenses this file to you under the Apache License, Version 2.0
009: (the "License"); you may not use this file except in compliance with
010: the License. You may obtain a copy of the License at
011:
012: http://www.apache.org/licenses/LICENSE-2.0
013:
014: Unless required by applicable law or agreed to in writing, software
015: distributed under the License is distributed on an "AS IS" BASIS,
016: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
017: See the License for the specific language governing permissions and
018: limitations under the License.
019:
020: */
021:
022: package org.apache.derby.iapi.sql.compile;
023:
024: /**
025: * The purpose of this interface is to hold the constant definitions
026: * of the different node type identifiers, for use with NodeFactory.
027: * The reason this class exists is that it is not shipped with the
028: * product, so it saves footprint to have all these constant definitions
029: * here instead of in NodeFactory.
030: */
031: public interface C_NodeTypes {
032: /** Node types, for use with getNode methods */
033: static final int TEST_CONSTRAINT_NODE = 1;
034: static final int CURRENT_ROW_LOCATION_NODE = 2;
035: static final int GROUP_BY_LIST = 3;
036: static final int CURRENT_ISOLATION_NODE = 4;
037: static final int IDENTITY_VAL_NODE = 5;
038: static final int CURRENT_SCHEMA_NODE = 6;
039: static final int ORDER_BY_LIST = 7;
040: static final int PREDICATE_LIST = 8;
041: static final int RESULT_COLUMN_LIST = 9;
042: // 10 available
043: static final int SUBQUERY_LIST = 11;
044: static final int TABLE_ELEMENT_LIST = 12;
045: static final int UNTYPED_NULL_CONSTANT_NODE = 13;
046: static final int TABLE_ELEMENT_NODE = 14;
047: static final int VALUE_NODE_LIST = 15;
048: static final int ALL_RESULT_COLUMN = 16;
049: // 17 is available
050: static final int GET_CURRENT_CONNECTION_NODE = 18;
051: static final int NOP_STATEMENT_NODE = 19;
052: static final int DB2_LENGTH_OPERATOR_NODE = 20;
053: static final int SET_TRANSACTION_ISOLATION_NODE = 21;
054: // 22 is available
055: static final int CHAR_LENGTH_OPERATOR_NODE = 23;
056: static final int IS_NOT_NULL_NODE = 24;
057: static final int IS_NULL_NODE = 25;
058: static final int NOT_NODE = 26;
059: // 27 is available
060: static final int SQL_TO_JAVA_VALUE_NODE = 28;
061: static final int UNARY_MINUS_OPERATOR_NODE = 29;
062: static final int UNARY_PLUS_OPERATOR_NODE = 30;
063: static final int SQL_BOOLEAN_CONSTANT_NODE = 31;
064: static final int UNARY_DATE_TIMESTAMP_OPERATOR_NODE = 32;
065: static final int TIMESTAMP_OPERATOR_NODE = 33;
066: static final int TABLE_NAME = 34;
067: static final int GROUP_BY_COLUMN = 35;
068: static final int JAVA_TO_SQL_VALUE_NODE = 36;
069: static final int FROM_LIST = 37;
070: static final int BOOLEAN_CONSTANT_NODE = 38;
071: static final int AND_NODE = 39;
072: static final int BINARY_DIVIDE_OPERATOR_NODE = 40;
073: static final int BINARY_EQUALS_OPERATOR_NODE = 41;
074: static final int BINARY_GREATER_EQUALS_OPERATOR_NODE = 42;
075: static final int BINARY_GREATER_THAN_OPERATOR_NODE = 43;
076: static final int BINARY_LESS_EQUALS_OPERATOR_NODE = 44;
077: static final int BINARY_LESS_THAN_OPERATOR_NODE = 45;
078: static final int BINARY_MINUS_OPERATOR_NODE = 46;
079: static final int BINARY_NOT_EQUALS_OPERATOR_NODE = 47;
080: static final int BINARY_PLUS_OPERATOR_NODE = 48;
081: static final int BINARY_TIMES_OPERATOR_NODE = 49;
082: static final int CONCATENATION_OPERATOR_NODE = 50;
083: static final int LIKE_OPERATOR_NODE = 51;
084: static final int OR_NODE = 52;
085: static final int BETWEEN_OPERATOR_NODE = 53;
086: static final int CONDITIONAL_NODE = 54;
087: static final int IN_LIST_OPERATOR_NODE = 55;
088: static final int NOT_BETWEEN_OPERATOR_NODE = 56;
089: static final int NOT_IN_LIST_OPERATOR_NODE = 57;
090: static final int BIT_CONSTANT_NODE = 58;
091: static final int VARBIT_CONSTANT_NODE = 59;
092: static final int CAST_NODE = 60;
093: static final int CHAR_CONSTANT_NODE = 61;
094: static final int COLUMN_REFERENCE = 62;
095: static final int DROP_INDEX_NODE = 63;
096: // 64 available;
097: static final int DROP_TRIGGER_NODE = 65;
098: static final int READ_CURSOR_NODE = 66;
099: static final int DECIMAL_CONSTANT_NODE = 67;
100: static final int DOUBLE_CONSTANT_NODE = 68;
101: static final int FLOAT_CONSTANT_NODE = 69;
102: static final int INT_CONSTANT_NODE = 70;
103: static final int LONGINT_CONSTANT_NODE = 71;
104: static final int LONGVARBIT_CONSTANT_NODE = 72;
105: static final int LONGVARCHAR_CONSTANT_NODE = 73;
106: static final int SMALLINT_CONSTANT_NODE = 74;
107: static final int TINYINT_CONSTANT_NODE = 75;
108: static final int USERTYPE_CONSTANT_NODE = 76;
109: static final int VARCHAR_CONSTANT_NODE = 77;
110: static final int PREDICATE = 78;
111: // 79 available
112: static final int RESULT_COLUMN = 80;
113: static final int SET_SCHEMA_NODE = 81;
114: static final int UPDATE_COLUMN = 82;
115: static final int SIMPLE_STRING_OPERATOR_NODE = 83;
116: static final int STATIC_CLASS_FIELD_REFERENCE_NODE = 84;
117: static final int STATIC_METHOD_CALL_NODE = 85;
118: static final int REVOKE_NODE = 86;
119: static final int EXTRACT_OPERATOR_NODE = 87;
120: static final int PARAMETER_NODE = 88;
121: static final int GRANT_NODE = 89;
122: static final int DROP_SCHEMA_NODE = 90;
123: static final int DROP_TABLE_NODE = 91;
124: static final int DROP_VIEW_NODE = 92;
125: static final int SUBQUERY_NODE = 93;
126: static final int BASE_COLUMN_NODE = 94;
127: static final int CALL_STATEMENT_NODE = 95;
128: static final int MODIFY_COLUMN_DEFAULT_NODE = 97;
129: static final int NON_STATIC_METHOD_CALL_NODE = 98;
130: static final int CURRENT_OF_NODE = 99;
131: static final int DEFAULT_NODE = 100;
132: static final int DELETE_NODE = 101;
133: static final int UPDATE_NODE = 102;
134: static final int PRIVILEGE_NODE = 103;
135: static final int ORDER_BY_COLUMN = 104;
136: static final int ROW_RESULT_SET_NODE = 105;
137: static final int TABLE_PRIVILEGES_NODE = 106;
138: static final int VIRTUAL_COLUMN_NODE = 107;
139: static final int CURRENT_DATETIME_OPERATOR_NODE = 108;
140: static final int CURRENT_USER_NODE = 109; // special function CURRENT_USER
141: static final int USER_NODE = 110; // // special function USER
142: static final int IS_NODE = 111;
143: static final int LOCK_TABLE_NODE = 112;
144: // 113
145: static final int ALTER_TABLE_NODE = 114;
146: static final int AGGREGATE_NODE = 115;
147: static final int COLUMN_DEFINITION_NODE = 116;
148: // 117 is available
149: static final int EXEC_SPS_NODE = 118;
150: static final int FK_CONSTRAINT_DEFINITION_NODE = 119;
151: static final int FROM_VTI = 120;
152: static final int MATERIALIZE_RESULT_SET_NODE = 121;
153: static final int NORMALIZE_RESULT_SET_NODE = 122;
154: static final int SCROLL_INSENSITIVE_RESULT_SET_NODE = 123;
155: static final int DISTINCT_NODE = 124;
156: static final int SESSION_USER_NODE = 125; // // special function SESSION_USER
157: static final int SYSTEM_USER_NODE = 126; // // special function SYSTEM_USER
158: static final int TRIM_OPERATOR_NODE = 127;
159: // 128 is available
160: static final int SELECT_NODE = 129;
161: static final int CREATE_VIEW_NODE = 130;
162: static final int CONSTRAINT_DEFINITION_NODE = 131;
163: // 132 available;
164: static final int NEW_INVOCATION_NODE = 133;
165: static final int CREATE_SCHEMA_NODE = 134;
166: static final int FROM_BASE_TABLE = 135;
167: static final int FROM_SUBQUERY = 136;
168: static final int GROUP_BY_NODE = 137;
169: static final int INSERT_NODE = 138;
170: static final int JOIN_NODE = 139;
171: static final int ORDER_BY_NODE = 140;
172: static final int CREATE_TABLE_NODE = 141;
173: static final int UNION_NODE = 142;
174: static final int CREATE_TRIGGER_NODE = 143;
175: static final int HALF_OUTER_JOIN_NODE = 144;
176: // UNUSED static final int CREATE_SPS_NODE = 145;
177: static final int CREATE_INDEX_NODE = 146;
178: static final int CURSOR_NODE = 147;
179: static final int HASH_TABLE_NODE = 148;
180: static final int INDEX_TO_BASE_ROW_NODE = 149;
181: static final int CREATE_ALIAS_NODE = 150;
182: static final int PROJECT_RESTRICT_NODE = 151;
183: // UNUSED static final int BOOLEAN_TRUE_NODE = 152;
184: // UNUSED static final int BOOLEAN_FALSE_NODE = 153;
185: static final int SUBSTRING_OPERATOR_NODE = 154;
186: // UNUSED static final int BOOLEAN_NODE = 155;
187: static final int DROP_ALIAS_NODE = 156;
188: static final int INTERSECT_OR_EXCEPT_NODE = 157;
189: // 158 - 183 available
190: static final int TIMESTAMP_ADD_FN_NODE = 184;
191: static final int TIMESTAMP_DIFF_FN_NODE = 185;
192: static final int MODIFY_COLUMN_TYPE_NODE = 186;
193: static final int MODIFY_COLUMN_CONSTRAINT_NODE = 187;
194: static final int ABSOLUTE_OPERATOR_NODE = 188;
195: static final int SQRT_OPERATOR_NODE = 189;
196: static final int LOCATE_FUNCTION_NODE = 190;
197: //for rename table/column/index
198: static final int RENAME_NODE = 191;
199:
200: static final int COALESCE_FUNCTION_NODE = 192;
201:
202: static final int MODIFY_COLUMN_CONSTRAINT_NOT_NULL_NODE = 193;
203:
204: static final int MOD_OPERATOR_NODE = 194;
205: // LOB
206: static final int BLOB_CONSTANT_NODE = 195;
207: static final int CLOB_CONSTANT_NODE = 196;
208: static final int NCLOB_CONSTANT_NODE = 197;
209: // for SAVEPOINT sql
210: static final int SAVEPOINT_NODE = 198;
211:
212: // XML
213: static final int XML_CONSTANT_NODE = 199;
214: static final int XML_PARSE_OPERATOR_NODE = 200;
215: static final int XML_SERIALIZE_OPERATOR_NODE = 201;
216: static final int XML_EXISTS_OPERATOR_NODE = 202;
217: static final int XML_QUERY_OPERATOR_NODE = 203;
218:
219: /**
220: * Extensions to this interface can use nodetypes > MAX_NODE_TYPE with out fear of collision
221: * with C_NodeTypes
222: */
223: static final int MAX_NODE_TYPE = 999;
224: }
|