1 /* Copyright (c) 2001-2016, The HSQL Development Group
2  * All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions are met:
6  *
7  * Redistributions of source code must retain the above copyright notice, this
8  * list of conditions and the following disclaimer.
9  *
10  * Redistributions in binary form must reproduce the above copyright notice,
11  * this list of conditions and the following disclaimer in the documentation
12  * and/or other materials provided with the distribution.
13  *
14  * Neither the name of the HSQL Development Group nor the names of its
main()15  * contributors may be used to endorse or promote products derived from this
16  * software without specific prior written permission.
17  *
18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21  * ARE DISCLAIMED. IN NO EVENT SHALL HSQL DEVELOPMENT GROUP, HSQLDB.ORG,
22  * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
26  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29  */
30 
31 
32 package org.hsqldb;
33 
34 /*
35  * Codes based on SQL Standards for different types of statement.
36  *
37  * @author Fred Toussi (fredt@users dot sourceforge.net)
38  * @version 2.3.4
39  * @since 1.9.0
40  */
41 public interface StatementTypes {
42 
43     int ALLOCATE_CURSOR                  = 1;
44     int ALLOCATE_DESCRIPTOR              = 2;
45     int ALTER_DOMAIN                     = 3;
46     int ALTER_ROUTINE                    = 4;
47     int ALTER_SEQUENCE                   = 5;
48     int ALTER_TYPE                       = 6;
49     int ALTER_TABLE                      = 7;
50     int ALTER_TRANSFORM                  = 8;
51     int CREATE_ASSERTION                 = 9;
52     int CALL                             = 10;
53     int CREATE_CHARACTER_SET             = 11;
54     int CLOSE_CURSOR                     = 12;
55     int CREATE_COLLATION                 = 13;
56     int COMMIT_WORK                      = 14;
57     int CONNECT                          = 15;
58     int DEALLOCATE_DESCRIPTOR            = 16;
59     int DEALLOCATE_PREPARE               = 17;
60     int DELETE_CURSOR                    = 18;
61     int DELETE_WHERE                     = 19;
62     int DESCRIBE                         = 20;
63     int SELECT_DIRECT_SINGLE             = 21;   // identifier is SELECT
64     int DISCONNECT                       = 22;
65     int CREATE_DOMAIN                    = 23;
66     int DROP_ASSERTION                   = 24;
67     int DROP_CHARACTER_SET               = 25;
68     int DROP_COLLATION                   = 26;
69     int DROP_TYPE                        = 27;
70     int DROP_DOMAIN                      = 28;
71     int DROP_ROLE                        = 29;
72     int DROP_ROUTINE                     = 30;
73     int DROP_SCHEMA                      = 31;
74     int DROP_SEQUENCE                    = 32;
75     int DROP_TABLE                       = 33;
76     int DROP_TRANSFORM                   = 34;
77     int DROP_TRANSLATION                 = 35;
78     int DROP_TRIGGER                     = 36;
79     int DROP_CAST                        = 37;
80     int DROP_ORDERING                    = 38;
81     int DROP_VIEW                        = 39;
82     int DYNAMIC_CLOSE                    = 40;
83     int DYNAMIC_DELETE_CURSOR            = 41;
84     int DYNAMIC_FETCH                    = 42;
85     int DYNAMIC_OPEN                     = 43;
86     int SELECT_CURSOR                    = 44;
87     int SELECT_SINGLE_DYNAMIC            = 45;   // identifier is SELECT
88     int DYNAMIC_UPDATE_CURSOR            = 46;
89     int EXECUTE_IMMEDIATE                = 47;
90     int EXECUTE                          = 48;
91     int FETCH                            = 49;
92     int FREE_LOCATOR                     = 50;
93     int GET_DESCRIPTOR                   = 51;
94     int HOLD_LOCATOR                     = 52;
95     int GRANT                            = 53;
96     int GRANT_ROLE                       = 54;
97     int INSERT                           = 55;
98     int MERGE                            = 56;
99     int OPEN                             = 57;
100     int PREPARABLE_DYNAMIC_DELETE_CURSOR = 58;
101     int PREPARABLE_DYNAMIC_UPDATE_CURSOR = 59;
102     int PREPARE                          = 60;
103     int RELEASE_SAVEPOINT                = 61;
104     int RETURN                           = 62;
105     int REVOKE                           = 63;
106     int REVOKE_ROLE                      = 64;
107     int CREATE_ROLE                      = 65;
108     int ROLLBACK_WORK                    = 66;
109     int SAVEPOINT                        = 67;
110     int CREATE_SCHEMA                    = 68;
111     int CREATE_ROUTINE                   = 69;
112     int SELECT_SINGLE                    = 70;   // identifier is SELECT
113     int CREATE_SEQUENCE                  = 71;
114     int SET_CATALOG                      = 72;
115     int SET_CONNECTION                   = 73;
116     int SET_CONSTRAINT                   = 74;
117     int SET_DESCRIPTOR                   = 75;
118     int SET_TIME_ZONE                    = 76;
119     int SET_NAMES                        = 77;
120     int SET_PATH                         = 78;
121     int SET_ROLE                         = 79;
122     int SET_SCHEMA                       = 80;
123     int SET_SESSION_AUTHORIZATION        = 81;
124     int SET_SESSION_CHARACTERISTICS      = 82;
125     int SET_COLLATION                    = 83;
126     int SET_TRANSFORM_GROUP              = 84;
127     int SET_TRANSACTION                  = 85;
128     int START_TRANSACTION                = 86;
129     int CREATE_TABLE                     = 87;
130     int CREATE_TRANSFORM                 = 88;
131     int CREATE_TRANSLATION               = 89;
132     int CREATE_TRIGGER                   = 90;
133     int UPDATE_CURSOR                    = 91;
134     int UPDATE_WHERE                     = 92;
135     int CREATE_CAST                      = 93;
136     int CREATE_TYPE                      = 94;
137     int CREATE_ORDERING                  = 95;
138     int CREATE_VIEW                      = 96;
139     int ASSIGNMENT                       = 97;   // PSM
140     int CASE                             = 98;
141     int BEGIN_END                        = 99;
142     int DROP_MODULE                      = 100;
143     int FOR                              = 101;
144     int IF                               = 102;
145     int ITERATE                          = 103;
146     int LEAVE                            = 104;
147     int LOOP                             = 105;
148     int RESIGNAL                         = 106;
149     int REPEAT                           = 107;
150     int SIGNAL                           = 108;
151     int CREATE_MODULE                    = 109;
152     int WHILE                            = 110;
153     int NULL                             = 111;
154 
155     //
156     int ALTER_FOREIGN_TABLE         = 121;
157     int ALTER_USER_MAPPING          = 122;
158     int DROP_FOREIGN_DATA_WRAPPER   = 123;
159     int DROP_SERVER                 = 124;
160     int DROP_FOREIGN_TABLE          = 125;
161     int DROP_ROUTINE_MAPPING        = 126;
162     int DROP_USER_MAPPING           = 127;
163     int CREATE_FOREIGN_DATA_WRAPPER = 128;
164     int CREATE_SERVER               = 129;
165     int CREATE_FOREIGN_TABLE        = 130;
166     int IMPORT_FOREIGN_SCHEMA       = 131;
167     int CREATE_ROUTINE_MAPPING      = 132;
168     int SET_PASSTHROUGH             = 133;
169     int CREATE_USER_MAPPING         = 134;
170 
171     // hsqldb database
172     int DATABASE_BACKUP     = 1001;
173     int DATABASE_CHECKPOINT = 1002;
174     int DATABASE_SHUTDOWN   = 1003;
175     int DATABASE_SCRIPT     = 1004;
176     int ALTER_SESSION       = 1005;
177     int CHECK_INDEX         = 1006;
178 
179     // hsqldb database settings
180     int SET_DATABASE_FILES_BACKUP_INCREMENT    = 1011;
181     int SET_DATABASE_FILES_CACHE_ROWS          = 1012;
182     int SET_DATABASE_FILES_CACHE_SIZE          = 1013;
183     int SET_DATABASE_FILES_CHECK               = 1014;
184     int SET_DATABASE_FILES_DEFRAG              = 1015;
185     int SET_DATABASE_FILES_EVENT_LOG           = 1016;
186     int SET_DATABASE_FILES_LOBS_SCALE          = 1017;
187     int SET_DATABASE_FILES_LOBS_COMPRESSED     = 1018;
188     int SET_DATABASE_FILES_UNUSED_TYPE_SETTING = 1019;
189     int SET_DATABASE_FILES_LOG                 = 1020;
190     int SET_DATABASE_FILES_LOG_SIZE            = 1021;
191     int SET_DATABASE_FILES_NIO                 = 1022;
192     int SET_DATABASE_FILES_READ_ONLY           = 1023;
193     int SET_DATABASE_FILES_READ_ONLY_FILES     = 1024;
194     int SET_DATABASE_FILES_SCALE               = 1025;
195     int SET_DATABASE_FILES_SCRIPT_FORMAT       = 1026;
196     int SET_DATABASE_FILES_SPACE               = 1031;
197     int SET_DATABASE_FILES_TEMP_PATH           = 1032;
198     int SET_DATABASE_FILES_WRITE_DELAY         = 1033;
199     int SET_DATABASE_DEFAULT_INITIAL_SCHEMA    = 1034;
200     int SET_DATABASE_DEFAULT_TABLE_TYPE        = 1035;
201     int SET_DATABASE_AUTHENTICATION            = 1036;
202     int SET_DATABASE_GC                        = 1037;
203     int SET_DATABASE_PROPERTY                  = 1039;
204     int SET_DATABASE_PASSWORD_CHECK            = 1040;
205     int SET_DATABASE_READ_ONLY                 = 1041;
206     int SET_DATABASE_READ_ONLY_FILES           = 1042;
207     int SET_DATABASE_RESULT_MEMORY_ROWS        = 1046;
208     int SET_DATABASE_SQL_COLLATION             = 1047;
209     int SET_SESSION_SQL_IGNORECASE             = 1048;
210     int SET_DATABASE_SQL_REFERENTIAL_INTEGRITY = 1049;
211     int SET_DATABASE_SQL                       = 1050;
212     int SET_DATABASE_TEXT_SOURCE               = 1051;
213     int SET_DATABASE_TRANSACTION_CONTROL       = 1052;
214     int SET_DATABASE_DEFAULT_ISOLATION_LEVEL   = 1053;
215     int SET_DATABASE_TRANSACTION_CONFLICT      = 1054;
216     int SET_DATABASE_UNIQUE_NAME               = 1055;
217     int SET_DATABASE_PASSWORD_DIGEST           = 1056;
218 
219     // hsqldb user settings
220     int SET_USER_LOCAL          = 1091;
221     int SET_USER_INITIAL_SCHEMA = 1092;
222     int SET_USER_PASSWORD       = 1093;
223 
224     // hsqldb session
225     int TRANSACTION_LOCK_CATALOG       = 1111;
226     int TRANSACTION_UNLOCK_CATALOG     = 1112;
227     int TRANSACTION_LOCK_TABLE         = 1113;
228     int SET_SESSION_AUTOCOMMIT         = 1114;
229     int SET_SESSION_FEATURE            = 1115;
230     int SET_SESSION_RESULT_MAX_ROWS    = 1116;
231     int SET_SESSION_RESULT_MEMORY_ROWS = 1117;
232     int ROLLBACK_SAVEPOINT             = 1118;
233     int DECLARE_SESSION_TABLE          = 1119;
234 
235     // hsqldb schema
236     int ALTER_INDEX                  = 1121;
237     int ALTER_VIEW                   = 1122;
238     int COMMENT                      = 1123;
239     int CREATE_ALIAS                 = 1124;
240     int CREATE_INDEX                 = 1125;
241     int CREATE_USER                  = 1126;
242     int DECLARE_VARIABLE             = 1127;
243     int DROP_COLUMN                  = 1128;
244     int DROP_INDEX                   = 1129;
245     int DROP_CONSTRAINT              = 1130;
246     int DROP_USER                    = 1131;
247     int DROP_DEFAULT                 = 1132;
248     int ADD_COLUMN                   = 1133;
249     int ADD_CONSTRAINT               = 1134;
250     int ADD_DEFAULT                  = 1135;
251     int ALTER_COLUMN_TYPE            = 1136;
252     int ALTER_COLUMN_SEQUENCE        = 1137;
253     int ALTER_COLUMN_NULL            = 1139;
254     int ALTER_COLUMN_DEFAULT         = 1140;
255     int ALTER_COLUMN_DROP_DEFAULT    = 1141;
256     int ALTER_COLUMN_DROP_EXPRESSION = 1142;
257     int ALTER_COLUMN_DROP_GENERATED  = 1143;
258     int ALTER_COLUMN_TYPE_IDENTITY   = 1144;
259 
260     //
261     int CREATE_REFERENCE = 1146;
262     int DROP_REFERENCE   = 1147;
263 
264     //
265     int EXPLAIN_PLAN             = 1151;
266     int RENAME_OBJECT            = 1152;
267     int SET_TABLE_INDEX          = 1153;
268     int SET_TABLE_READONLY       = 1154;
269     int SET_TABLE_SOURCE         = 1155;
270     int SET_TABLE_SOURCE_HEADER  = 1156;
271     int SET_TABLE_TYPE           = 1157;
272     int SET_TABLE_CLUSTERED      = 1158;
273     int SET_TABLE_NEW_TABLESPACE = 1159;
274     int SET_TABLE_SET_TABLESPACE = 1160;
275     int LOG_SCHEMA_STATEMENT     = 1161;
276 
277     // hsqldb sql implementation
278     int CONDITION = 1211;                         // element of IF
279     int HANDLER   = 1212;
280     int DDL       = 1213;
281     int CHECK     = 1214;
282     int TRUNCATE  = 1215;
283 
284     //
285     int CREATE_SEARCH = 1301;
286     int DROP_SEARCH   = 1302;
287 
288     //
289     // hsqldb groups
290     int X_SQL_SCHEMA_DEFINITION      = 2001;
291     int X_SQL_SCHEMA_MANIPULATION    = 2002;
292     int X_SQL_DATA                   = 2003;
293     int X_SQL_DATA_CHANGE            = 2004;
294     int X_SQL_TRANSACTION            = 2005;
295     int X_SQL_CONNECTION             = 2006;
296     int X_SQL_CONTROL                = 2007;
297     int X_SQL_SESSION                = 2008;
298     int X_SQL_DIAGNOSTICS            = 2009;
299     int X_SQL_DYNAMIC                = 2010;
300     int X_HSQLDB_SESSION             = 2011;
301     int X_HSQLDB_SCHEMA_MANIPULATION = 2012;
302     int X_HSQLDB_SETTING             = 2013;
303     int X_HSQLDB_DATABASE_OPERATION  = 2014;
304     int X_HSQLDB_NONBLOCK_OPERATION  = 2015;
305     int X_HSQLDB_TRANSACTION         = 2016;
306     int X_DYNAMIC                    = 2017;
307 
308     // Expected types of Result returned for an SQL statement
309     int RETURN_ANY    = 0;
310     int RETURN_COUNT  = 1;
311     int RETURN_RESULT = 2;
312 }
313