View Javadoc
1   /**
2    *    Copyright 2006-2016 the original author or authors.
3    *
4    *    Licensed under the Apache License, Version 2.0 (the "License");
5    *    you may not use this file except in compliance with the License.
6    *    You may obtain a copy of the License at
7    *
8    *       http://www.apache.org/licenses/LICENSE-2.0
9    *
10   *    Unless required by applicable law or agreed to in writing, software
11   *    distributed under the License is distributed on an "AS IS" BASIS,
12   *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   *    See the License for the specific language governing permissions and
14   *    limitations under the License.
15   */
16  package org.mybatis.generator.internal.db;
17  
18  import java.util.HashSet;
19  import java.util.Set;
20  
21  /**
22   * This class contains a somewhat comprehensive list of SQL reserved words.
23   * Since different databases have different reserved words, this list is
24   * inclusive of many different databases - so it may include words that are not
25   * reserved in some databases.
26   * 
27   * This list is based on the list from Drupal Handbook:
28   * http://drupal.org/node/141051 With additions for DB2
29   * 
30   * @author Jeff Butler
31   * 
32   */
33  public class SqlReservedWords {
34  
35      private static Set<String> RESERVED_WORDS;
36  
37      static {
38          String[] words = { "A", //$NON-NLS-1$
39                  "ABORT", //$NON-NLS-1$
40                  "ABS", //$NON-NLS-1$
41                  "ABSOLUTE", //$NON-NLS-1$
42                  "ACCESS", //$NON-NLS-1$
43                  "ACTION", //$NON-NLS-1$
44                  "ADA", //$NON-NLS-1$
45                  "ADD", // DB2 //$NON-NLS-1$
46                  "ADMIN", //$NON-NLS-1$
47                  "AFTER", // DB2 //$NON-NLS-1$
48                  "AGGREGATE", //$NON-NLS-1$
49                  "ALIAS", // DB2 //$NON-NLS-1$
50                  "ALL", // DB2 //$NON-NLS-1$
51                  "ALLOCATE", // DB2 //$NON-NLS-1$
52                  "ALLOW", // DB2 //$NON-NLS-1$
53                  "ALSO", //$NON-NLS-1$
54                  "ALTER", // DB2 //$NON-NLS-1$
55                  "ALWAYS", //$NON-NLS-1$
56                  "ANALYSE", //$NON-NLS-1$
57                  "ANALYZE", //$NON-NLS-1$
58                  "AND", // DB2 //$NON-NLS-1$
59                  "ANY", // DB2 //$NON-NLS-1$
60                  "APPLICATION", // DB2 //$NON-NLS-1$
61                  "ARE", //$NON-NLS-1$
62                  "ARRAY", //$NON-NLS-1$
63                  "AS", // DB2 //$NON-NLS-1$
64                  "ASC", //$NON-NLS-1$
65                  "ASENSITIVE", //$NON-NLS-1$
66                  "ASSERTION", //$NON-NLS-1$
67                  "ASSIGNMENT", //$NON-NLS-1$
68                  "ASSOCIATE", // DB2 //$NON-NLS-1$
69                  "ASUTIME", // DB2 //$NON-NLS-1$
70                  "ASYMMETRIC", //$NON-NLS-1$
71                  "AT", //$NON-NLS-1$
72                  "ATOMIC", //$NON-NLS-1$
73                  "ATTRIBUTE", //$NON-NLS-1$
74                  "ATTRIBUTES", //$NON-NLS-1$
75                  "AUDIT", // DB2 //$NON-NLS-1$
76                  "AUTHORIZATION", // DB2 //$NON-NLS-1$
77                  "AUTO_INCREMENT", //$NON-NLS-1$
78                  "AUX", // DB2 //$NON-NLS-1$
79                  "AUXILIARY", // DB2 //$NON-NLS-1$
80                  "AVG", //$NON-NLS-1$
81                  "AVG_ROW_LENGTH", //$NON-NLS-1$
82                  "BACKUP", //$NON-NLS-1$
83                  "BACKWARD", //$NON-NLS-1$
84                  "BEFORE", // DB2 //$NON-NLS-1$
85                  "BEGIN", // DB2 //$NON-NLS-1$
86                  "BERNOULLI", //$NON-NLS-1$
87                  "BETWEEN", // DB2 //$NON-NLS-1$
88                  "BIGINT", //$NON-NLS-1$
89                  "BINARY", // DB2 //$NON-NLS-1$
90                  "BIT", //$NON-NLS-1$
91                  "BIT_LENGTH", //$NON-NLS-1$
92                  "BITVAR", //$NON-NLS-1$
93                  "BLOB", //$NON-NLS-1$
94                  "BOOL", //$NON-NLS-1$
95                  "BOOLEAN", //$NON-NLS-1$
96                  "BOTH", //$NON-NLS-1$
97                  "BREADTH", //$NON-NLS-1$
98                  "BREAK", //$NON-NLS-1$
99                  "BROWSE", //$NON-NLS-1$
100                 "BUFFERPOOL", // DB2 //$NON-NLS-1$
101                 "BULK", //$NON-NLS-1$
102                 "BY", // DB2 //$NON-NLS-1$
103                 "C", //$NON-NLS-1$
104                 "CACHE", // DB2 //$NON-NLS-1$
105                 "CALL", // DB2 //$NON-NLS-1$
106                 "CALLED", // DB2 //$NON-NLS-1$
107                 "CAPTURE", // DB2 //$NON-NLS-1$
108                 "CARDINALITY", // DB2 //$NON-NLS-1$
109                 "CASCADE", //$NON-NLS-1$
110                 "CASCADED", // DB2 //$NON-NLS-1$
111                 "CASE", // DB2 //$NON-NLS-1$
112                 "CAST", // DB2 //$NON-NLS-1$
113                 "CATALOG", //$NON-NLS-1$
114                 "CATALOG_NAME", //$NON-NLS-1$
115                 "CCSID", // DB2 //$NON-NLS-1$
116                 "CEIL", //$NON-NLS-1$
117                 "CEILING", //$NON-NLS-1$
118                 "CHAIN", //$NON-NLS-1$
119                 "CHANGE", //$NON-NLS-1$
120                 "CHAR", // DB2 //$NON-NLS-1$
121                 "CHAR_LENGTH", //$NON-NLS-1$
122                 "CHARACTER", // DB2 //$NON-NLS-1$
123                 "CHARACTER_LENGTH", //$NON-NLS-1$
124                 "CHARACTER_SET_CATALOG", //$NON-NLS-1$
125                 "CHARACTER_SET_NAME", //$NON-NLS-1$
126                 "CHARACTER_SET_SCHEMA", //$NON-NLS-1$
127                 "CHARACTERISTICS", //$NON-NLS-1$
128                 "CHARACTERS", //$NON-NLS-1$
129                 "CHECK", // DB2 //$NON-NLS-1$
130                 "CHECKED", //$NON-NLS-1$
131                 "CHECKPOINT", //$NON-NLS-1$
132                 "CHECKSUM", //$NON-NLS-1$
133                 "CLASS", //$NON-NLS-1$
134                 "CLASS_ORIGIN", //$NON-NLS-1$
135                 "CLOB", //$NON-NLS-1$
136                 "CLOSE", // DB2 //$NON-NLS-1$
137                 "CLUSTER", // DB2 //$NON-NLS-1$
138                 "CLUSTERED", //$NON-NLS-1$
139                 "COALESCE", //$NON-NLS-1$
140                 "COBOL", //$NON-NLS-1$
141                 "COLLATE", //$NON-NLS-1$
142                 "COLLATION", //$NON-NLS-1$
143                 "COLLATION_CATALOG", //$NON-NLS-1$
144                 "COLLATION_NAME", //$NON-NLS-1$
145                 "COLLATION_SCHEMA", //$NON-NLS-1$
146                 "COLLECT", //$NON-NLS-1$
147                 "COLLECTION", // DB2 //$NON-NLS-1$
148                 "COLLID", // DB2 //$NON-NLS-1$
149                 "COLUMN", // DB2 //$NON-NLS-1$
150                 "COLUMN_NAME", //$NON-NLS-1$
151                 "COLUMNS", //$NON-NLS-1$
152                 "COMMAND_FUNCTION", //$NON-NLS-1$
153                 "COMMAND_FUNCTION_CODE", //$NON-NLS-1$
154                 "COMMENT", // DB2 //$NON-NLS-1$
155                 "COMMIT", // DB2 //$NON-NLS-1$
156                 "COMMITTED", //$NON-NLS-1$
157                 "COMPLETION", //$NON-NLS-1$
158                 "COMPRESS", //$NON-NLS-1$
159                 "COMPUTE", //$NON-NLS-1$
160                 "CONCAT", // DB2 //$NON-NLS-1$
161                 "CONDITION", // DB2 //$NON-NLS-1$
162                 "CONDITION_NUMBER", //$NON-NLS-1$
163                 "CONNECT", // DB2 //$NON-NLS-1$
164                 "CONNECTION", // DB2 //$NON-NLS-1$
165                 "CONNECTION_NAME", //$NON-NLS-1$
166                 "CONSTRAINT", // DB2 //$NON-NLS-1$
167                 "CONSTRAINT_CATALOG", //$NON-NLS-1$
168                 "CONSTRAINT_NAME", //$NON-NLS-1$
169                 "CONSTRAINT_SCHEMA", //$NON-NLS-1$
170                 "CONSTRAINTS", //$NON-NLS-1$
171                 "CONSTRUCTOR", //$NON-NLS-1$
172                 "CONTAINS", // DB2 //$NON-NLS-1$
173                 "CONTAINSTABLE", //$NON-NLS-1$
174                 "CONTINUE", // DB2 //$NON-NLS-1$
175                 "CONVERSION", //$NON-NLS-1$
176                 "CONVERT", //$NON-NLS-1$
177                 "COPY", //$NON-NLS-1$
178                 "CORR", //$NON-NLS-1$
179                 "CORRESPONDING", //$NON-NLS-1$
180                 "COUNT", // DB2 //$NON-NLS-1$
181                 "COUNT_BIG", // DB2 //$NON-NLS-1$
182                 "COVAR_POP", //$NON-NLS-1$
183                 "COVAR_SAMP", //$NON-NLS-1$
184                 "CREATE", // DB2 //$NON-NLS-1$
185                 "CREATEDB", //$NON-NLS-1$
186                 "CREATEROLE", //$NON-NLS-1$
187                 "CREATEUSER", //$NON-NLS-1$
188                 "CROSS", // DB2 //$NON-NLS-1$
189                 "CSV", //$NON-NLS-1$
190                 "CUBE", //$NON-NLS-1$
191                 "CUME_DIST", //$NON-NLS-1$
192                 "CURRENT", // DB2 //$NON-NLS-1$
193                 "CURRENT_DATE", // DB2 //$NON-NLS-1$
194                 "CURRENT_DEFAULT_TRANSFORM_GROUP", //$NON-NLS-1$
195                 "CURRENT_LC_CTYPE", // DB2 //$NON-NLS-1$
196                 "CURRENT_PATH", // DB2 //$NON-NLS-1$
197                 "CURRENT_ROLE", //$NON-NLS-1$
198                 "CURRENT_SERVER", // DB2 //$NON-NLS-1$
199                 "CURRENT_TIME", // DB2 //$NON-NLS-1$
200                 "CURRENT_TIMESTAMP", // DB2 //$NON-NLS-1$
201                 "CURRENT_TIMEZONE", // DB2 //$NON-NLS-1$
202                 "CURRENT_TRANSFORM_GROUP_FOR_TYPE", //$NON-NLS-1$
203                 "CURRENT_USER", // DB2 //$NON-NLS-1$
204                 "CURSOR", // DB2 //$NON-NLS-1$
205                 "CURSOR_NAME", //$NON-NLS-1$
206                 "CYCLE", // DB2 //$NON-NLS-1$
207                 "DATA", // DB2 //$NON-NLS-1$
208                 "DATABASE", // DB2 //$NON-NLS-1$
209                 "DATABASES", //$NON-NLS-1$
210                 "DATE", //$NON-NLS-1$
211                 "DATETIME", //$NON-NLS-1$
212                 "DATETIME_INTERVAL_CODE", //$NON-NLS-1$
213                 "DATETIME_INTERVAL_PRECISION", //$NON-NLS-1$
214                 "DAY", // DB2 //$NON-NLS-1$
215                 "DAY_HOUR", //$NON-NLS-1$
216                 "DAY_MICROSECOND", //$NON-NLS-1$
217                 "DAY_MINUTE", //$NON-NLS-1$
218                 "DAY_SECOND", //$NON-NLS-1$
219                 "DAYOFMONTH", //$NON-NLS-1$
220                 "DAYOFWEEK", //$NON-NLS-1$
221                 "DAYOFYEAR", //$NON-NLS-1$
222                 "DAYS", // DB2 //$NON-NLS-1$
223                 "DB2GENERAL", // DB2 //$NON-NLS-1$
224                 "DB2GNRL", // DB2 //$NON-NLS-1$
225                 "DB2SQL", // DB2 //$NON-NLS-1$
226                 "DBCC", //$NON-NLS-1$
227                 "DBINFO", // DB2 //$NON-NLS-1$
228                 "DEALLOCATE", //$NON-NLS-1$
229                 "DEC", //$NON-NLS-1$
230                 "DECIMAL", //$NON-NLS-1$
231                 "DECLARE", // DB2 //$NON-NLS-1$
232                 "DEFAULT", // DB2 //$NON-NLS-1$
233                 "DEFAULTS", // DB2 //$NON-NLS-1$
234                 "DEFERRABLE", //$NON-NLS-1$
235                 "DEFERRED", //$NON-NLS-1$
236                 "DEFINED", //$NON-NLS-1$
237                 "DEFINER", //$NON-NLS-1$
238                 "DEFINITION", // DB2 //$NON-NLS-1$
239                 "DEGREE", //$NON-NLS-1$
240                 "DELAY_KEY_WRITE", //$NON-NLS-1$
241                 "DELAYED", //$NON-NLS-1$
242                 "DELETE", // DB2 //$NON-NLS-1$
243                 "DELIMITER", //$NON-NLS-1$
244                 "DELIMITERS", //$NON-NLS-1$
245                 "DENSE_RANK", //$NON-NLS-1$
246                 "DENY", //$NON-NLS-1$
247                 "DEPTH", //$NON-NLS-1$
248                 "DEREF", //$NON-NLS-1$
249                 "DERIVED", //$NON-NLS-1$
250                 "DESC", //$NON-NLS-1$
251                 "DESCRIBE", //$NON-NLS-1$
252                 "DESCRIPTOR", // DB2 //$NON-NLS-1$
253                 "DESTROY", //$NON-NLS-1$
254                 "DESTRUCTOR", //$NON-NLS-1$
255                 "DETERMINISTIC", // DB2 //$NON-NLS-1$
256                 "DIAGNOSTICS", //$NON-NLS-1$
257                 "DICTIONARY", //$NON-NLS-1$
258                 "DISABLE", //$NON-NLS-1$
259                 "DISALLOW", // DB2 //$NON-NLS-1$
260                 "DISCONNECT", // DB2 //$NON-NLS-1$
261                 "DISK", //$NON-NLS-1$
262                 "DISPATCH", //$NON-NLS-1$
263                 "DISTINCT", // DB2 //$NON-NLS-1$
264                 "DISTINCTROW", //$NON-NLS-1$
265                 "DISTRIBUTED", //$NON-NLS-1$
266                 "DIV", //$NON-NLS-1$
267                 "DO", // DB2 //$NON-NLS-1$
268                 "DOMAIN", //$NON-NLS-1$
269                 "DOUBLE", // DB2 //$NON-NLS-1$
270                 "DROP", // DB2 //$NON-NLS-1$
271                 "DSNHATTR", // DB2 //$NON-NLS-1$
272                 "DSSIZE", // DB2 //$NON-NLS-1$
273                 "DUAL", //$NON-NLS-1$
274                 "DUMMY", //$NON-NLS-1$
275                 "DUMP", //$NON-NLS-1$
276                 "DYNAMIC", // DB2 //$NON-NLS-1$
277                 "DYNAMIC_FUNCTION", //$NON-NLS-1$
278                 "DYNAMIC_FUNCTION_CODE", //$NON-NLS-1$
279                 "EACH", // DB2 //$NON-NLS-1$
280                 "EDITPROC", // DB2 //$NON-NLS-1$
281                 "ELEMENT", //$NON-NLS-1$
282                 "ELSE", // DB2 //$NON-NLS-1$
283                 "ELSEIF", // DB2 //$NON-NLS-1$
284                 "ENABLE", //$NON-NLS-1$
285                 "ENCLOSED", //$NON-NLS-1$
286                 "ENCODING", // DB2 //$NON-NLS-1$
287                 "ENCRYPTED", //$NON-NLS-1$
288                 "END", // DB2 //$NON-NLS-1$
289                 "END-EXEC", // DB2 //$NON-NLS-1$
290                 "END-EXEC1", // DB2 //$NON-NLS-1$
291                 "ENUM", //$NON-NLS-1$
292                 "EQUALS", //$NON-NLS-1$
293                 "ERASE", // DB2 //$NON-NLS-1$
294                 "ERRLVL", //$NON-NLS-1$
295                 "ESCAPE", // DB2 //$NON-NLS-1$
296                 "ESCAPED", //$NON-NLS-1$
297                 "EVERY", //$NON-NLS-1$
298                 "EXCEPT", // DB2 //$NON-NLS-1$
299                 "EXCEPTION", // DB2 //$NON-NLS-1$
300                 "EXCLUDE", //$NON-NLS-1$
301                 "EXCLUDING", // DB2 //$NON-NLS-1$
302                 "EXCLUSIVE", //$NON-NLS-1$
303                 "EXEC", //$NON-NLS-1$
304                 "EXECUTE", // DB2 //$NON-NLS-1$
305                 "EXISTING", //$NON-NLS-1$
306                 "EXISTS", // DB2 //$NON-NLS-1$
307                 "EXIT", // DB2 //$NON-NLS-1$
308                 "EXP", //$NON-NLS-1$
309                 "EXPLAIN", //$NON-NLS-1$
310                 "EXTERNAL", // DB2 //$NON-NLS-1$
311                 "EXTRACT", //$NON-NLS-1$
312                 "FALSE", //$NON-NLS-1$
313                 "FENCED", // DB2 //$NON-NLS-1$
314                 "FETCH", // DB2 //$NON-NLS-1$
315                 "FIELDPROC", // DB2 //$NON-NLS-1$
316                 "FIELDS", //$NON-NLS-1$
317                 "FILE", // DB2 //$NON-NLS-1$
318                 "FILLFACTOR", //$NON-NLS-1$
319                 "FILTER", //$NON-NLS-1$
320                 "FINAL", // DB2 //$NON-NLS-1$
321                 "FIRST", //$NON-NLS-1$
322                 "FLOAT", //$NON-NLS-1$
323                 "FLOAT4", //$NON-NLS-1$
324                 "FLOAT8", //$NON-NLS-1$
325                 "FLOOR", //$NON-NLS-1$
326                 "FLUSH", //$NON-NLS-1$
327                 "FOLLOWING", //$NON-NLS-1$
328                 "FOR", // DB2 //$NON-NLS-1$
329                 "FORCE", //$NON-NLS-1$
330                 "FOREIGN", // DB2 //$NON-NLS-1$
331                 "FORTRAN", //$NON-NLS-1$
332                 "FORWARD", //$NON-NLS-1$
333                 "FOUND", //$NON-NLS-1$
334                 "FREE", // DB2 //$NON-NLS-1$
335                 "FREETEXT", //$NON-NLS-1$
336                 "FREETEXTTABLE", //$NON-NLS-1$
337                 "FREEZE", //$NON-NLS-1$
338                 "FROM", // DB2 //$NON-NLS-1$
339                 "FULL", // DB2 //$NON-NLS-1$
340                 "FULLTEXT", //$NON-NLS-1$
341                 "FUNCTION", // DB2 //$NON-NLS-1$
342                 "FUSION", //$NON-NLS-1$
343                 "G", //$NON-NLS-1$
344                 "GENERAL", // DB2 //$NON-NLS-1$
345                 "GENERATED", // DB2 //$NON-NLS-1$
346                 "GET", // DB2 //$NON-NLS-1$
347                 "GLOBAL", // DB2 //$NON-NLS-1$
348                 "GO", // DB2 //$NON-NLS-1$
349                 "GOTO", // DB2 //$NON-NLS-1$
350                 "GRANT", // DB2 //$NON-NLS-1$
351                 "GRANTED", //$NON-NLS-1$
352                 "GRANTS", //$NON-NLS-1$
353                 "GRAPHIC", // DB2 //$NON-NLS-1$
354                 "GREATEST", //$NON-NLS-1$
355                 "GROUP", // DB2 //$NON-NLS-1$
356                 "GROUPING", //$NON-NLS-1$
357                 "HANDLER", // DB2 //$NON-NLS-1$
358                 "HAVING", // DB2 //$NON-NLS-1$
359                 "HEADER", //$NON-NLS-1$
360                 "HEAP", //$NON-NLS-1$
361                 "HIERARCHY", //$NON-NLS-1$
362                 "HIGH_PRIORITY", //$NON-NLS-1$
363                 "HOLD", // DB2 //$NON-NLS-1$
364                 "HOLDLOCK", //$NON-NLS-1$
365                 "HOST", //$NON-NLS-1$
366                 "HOSTS", //$NON-NLS-1$
367                 "HOUR", // DB2 //$NON-NLS-1$
368                 "HOUR_MICROSECOND", //$NON-NLS-1$
369                 "HOUR_MINUTE", //$NON-NLS-1$
370                 "HOUR_SECOND", //$NON-NLS-1$
371                 "HOURS", // DB2 //$NON-NLS-1$
372                 "IDENTIFIED", //$NON-NLS-1$
373                 "IDENTITY", // DB2 //$NON-NLS-1$
374                 "IDENTITY_INSERT", //$NON-NLS-1$
375                 "IDENTITYCOL", //$NON-NLS-1$
376                 "IF", // DB2 //$NON-NLS-1$
377                 "IGNORE", //$NON-NLS-1$
378                 "ILIKE", //$NON-NLS-1$
379                 "IMMEDIATE", // DB2 //$NON-NLS-1$
380                 "IMMUTABLE", //$NON-NLS-1$
381                 "IMPLEMENTATION", //$NON-NLS-1$
382                 "IMPLICIT", //$NON-NLS-1$
383                 "IN", // DB2 //$NON-NLS-1$
384                 "INCLUDE", //$NON-NLS-1$
385                 "INCLUDING", // DB2 //$NON-NLS-1$
386                 "INCREMENT", // DB2 //$NON-NLS-1$
387                 "INDEX", // DB2 //$NON-NLS-1$
388                 "INDICATOR", // DB2 //$NON-NLS-1$
389                 "INFILE", //$NON-NLS-1$
390                 "INFIX", //$NON-NLS-1$
391                 "INHERIT", // DB2 //$NON-NLS-1$
392                 "INHERITS", //$NON-NLS-1$
393                 "INITIAL", //$NON-NLS-1$
394                 "INITIALIZE", //$NON-NLS-1$
395                 "INITIALLY", //$NON-NLS-1$
396                 "INNER", // DB2 //$NON-NLS-1$
397                 "INOUT", // DB2 //$NON-NLS-1$
398                 "INPUT", //$NON-NLS-1$
399                 "INSENSITIVE", // DB2 //$NON-NLS-1$
400                 "INSERT", // DB2 //$NON-NLS-1$
401                 "INSERT_ID", //$NON-NLS-1$
402                 "INSTANCE", //$NON-NLS-1$
403                 "INSTANTIABLE", //$NON-NLS-1$
404                 "INSTEAD", //$NON-NLS-1$
405                 "INT", //$NON-NLS-1$
406                 "INT1", //$NON-NLS-1$
407                 "INT2", //$NON-NLS-1$
408                 "INT3", //$NON-NLS-1$
409                 "INT4", //$NON-NLS-1$
410                 "INT8", //$NON-NLS-1$
411                 "INTEGER", //$NON-NLS-1$
412                 "INTEGRITY", // DB2 //$NON-NLS-1$
413                 "INTERSECT", //$NON-NLS-1$
414                 "INTERSECTION", //$NON-NLS-1$
415                 "INTERVAL", //$NON-NLS-1$
416                 "INTO", // DB2 //$NON-NLS-1$
417                 "INVOKER", //$NON-NLS-1$
418                 "IS", // DB2 //$NON-NLS-1$
419                 "ISAM", //$NON-NLS-1$
420                 "ISNULL", //$NON-NLS-1$
421                 "ISOBID", // DB2 //$NON-NLS-1$
422                 "ISOLATION", // DB2 //$NON-NLS-1$
423                 "ITERATE", // DB2 //$NON-NLS-1$
424                 "JAR", // DB2 //$NON-NLS-1$
425                 "JAVA", // DB2 //$NON-NLS-1$
426                 "JOIN", // DB2 //$NON-NLS-1$
427                 "K", //$NON-NLS-1$
428                 "KEY", // DB2 //$NON-NLS-1$
429                 "KEY_MEMBER", //$NON-NLS-1$
430                 "KEY_TYPE", //$NON-NLS-1$
431                 "KEYS", //$NON-NLS-1$
432                 "KILL", //$NON-NLS-1$
433                 "LABEL", // DB2 //$NON-NLS-1$
434                 "LANCOMPILER", //$NON-NLS-1$
435                 "LANGUAGE", // DB2 //$NON-NLS-1$
436                 "LARGE", //$NON-NLS-1$
437                 "LAST", //$NON-NLS-1$
438                 "LAST_INSERT_ID", //$NON-NLS-1$
439                 "LATERAL", //$NON-NLS-1$
440                 "LC_CTYPE", // DB2 //$NON-NLS-1$
441                 "LEADING", //$NON-NLS-1$
442                 "LEAST", //$NON-NLS-1$
443                 "LEAVE", // DB2 //$NON-NLS-1$
444                 "LEFT", // DB2 //$NON-NLS-1$
445                 "LENGTH", //$NON-NLS-1$
446                 "LESS", //$NON-NLS-1$
447                 "LEVEL", //$NON-NLS-1$
448                 "LIKE", // DB2 //$NON-NLS-1$
449                 "LIMIT", //$NON-NLS-1$
450                 "LINENO", //$NON-NLS-1$
451                 "LINES", //$NON-NLS-1$
452                 "LINKTYPE", // DB2 //$NON-NLS-1$
453                 "LISTEN", //$NON-NLS-1$
454                 "LN", //$NON-NLS-1$
455                 "LOAD", //$NON-NLS-1$
456                 "LOCAL", // DB2 //$NON-NLS-1$
457                 "LOCALE", // DB2 //$NON-NLS-1$
458                 "LOCALTIME", //$NON-NLS-1$
459                 "LOCALTIMESTAMP", //$NON-NLS-1$
460                 "LOCATION", //$NON-NLS-1$
461                 "LOCATOR", // DB2 //$NON-NLS-1$
462                 "LOCATORS", // DB2 //$NON-NLS-1$
463                 "LOCK", // DB2 //$NON-NLS-1$
464                 "LOCKMAX", // DB2 //$NON-NLS-1$
465                 "LOCKSIZE", // DB2 //$NON-NLS-1$
466                 "LOGIN", //$NON-NLS-1$
467                 "LOGS", //$NON-NLS-1$
468                 "LONG", // DB2 //$NON-NLS-1$
469                 "LONGBLOB", //$NON-NLS-1$
470                 "LONGTEXT", //$NON-NLS-1$
471                 "LOOP", // DB2 //$NON-NLS-1$
472                 "LOW_PRIORITY", //$NON-NLS-1$
473                 "LOWER", //$NON-NLS-1$
474                 "M", //$NON-NLS-1$
475                 "MAP", //$NON-NLS-1$
476                 "MATCH", //$NON-NLS-1$
477                 "MATCHED", //$NON-NLS-1$
478                 "MAX", //$NON-NLS-1$
479                 "MAX_ROWS", //$NON-NLS-1$
480                 "MAXEXTENTS", //$NON-NLS-1$
481                 "MAXVALUE", // DB2 //$NON-NLS-1$
482                 "MEDIUMBLOB", //$NON-NLS-1$
483                 "MEDIUMINT", //$NON-NLS-1$
484                 "MEDIUMTEXT", //$NON-NLS-1$
485                 "MEMBER", //$NON-NLS-1$
486                 "MERGE", //$NON-NLS-1$
487                 "MESSAGE_LENGTH", //$NON-NLS-1$
488                 "MESSAGE_OCTET_LENGTH", //$NON-NLS-1$
489                 "MESSAGE_TEXT", //$NON-NLS-1$
490                 "METHOD", //$NON-NLS-1$
491                 "MICROSECOND", // DB2 //$NON-NLS-1$
492                 "MICROSECONDS", // DB2 //$NON-NLS-1$
493                 "MIDDLEINT", //$NON-NLS-1$
494                 "MIN", //$NON-NLS-1$
495                 "MIN_ROWS", //$NON-NLS-1$
496                 "MINUS", //$NON-NLS-1$
497                 "MINUTE", // DB2 //$NON-NLS-1$
498                 "MINUTE_MICROSECOND", //$NON-NLS-1$
499                 "MINUTE_SECOND", //$NON-NLS-1$
500                 "MINUTES", // DB2 //$NON-NLS-1$
501                 "MINVALUE", // DB2 //$NON-NLS-1$
502                 "MLSLABEL", //$NON-NLS-1$
503                 "MOD", //$NON-NLS-1$
504                 "MODE", // DB2 //$NON-NLS-1$
505                 "MODIFIES", // DB2 //$NON-NLS-1$
506                 "MODIFY", //$NON-NLS-1$
507                 "MODULE", //$NON-NLS-1$
508                 "MONTH", // DB2 //$NON-NLS-1$
509                 "MONTHNAME", //$NON-NLS-1$
510                 "MONTHS", // DB2 //$NON-NLS-1$
511                 "MORE", //$NON-NLS-1$
512                 "MOVE", //$NON-NLS-1$
513                 "MULTISET", //$NON-NLS-1$
514                 "MUMPS", //$NON-NLS-1$
515                 "MYISAM", //$NON-NLS-1$
516                 "NAME", //$NON-NLS-1$
517                 "NAMES", //$NON-NLS-1$
518                 "NATIONAL", //$NON-NLS-1$
519                 "NATURAL", //$NON-NLS-1$
520                 "NCHAR", //$NON-NLS-1$
521                 "NCLOB", //$NON-NLS-1$
522                 "NESTING", //$NON-NLS-1$
523                 "NEW", // DB2 //$NON-NLS-1$
524                 "NEW_TABLE", // DB2 //$NON-NLS-1$
525                 "NEXT", //$NON-NLS-1$
526                 "NO", // DB2 //$NON-NLS-1$
527                 "NO_WRITE_TO_BINLOG", //$NON-NLS-1$
528                 "NOAUDIT", //$NON-NLS-1$
529                 "NOCACHE", // DB2 //$NON-NLS-1$
530                 "NOCHECK", //$NON-NLS-1$
531                 "NOCOMPRESS", //$NON-NLS-1$
532                 "NOCREATEDB", //$NON-NLS-1$
533                 "NOCREATEROLE", //$NON-NLS-1$
534                 "NOCREATEUSER", //$NON-NLS-1$
535                 "NOCYCLE", // DB2 //$NON-NLS-1$
536                 "NODENAME", // DB2 //$NON-NLS-1$
537                 "NODENUMBER", // DB2 //$NON-NLS-1$
538                 "NOINHERIT", //$NON-NLS-1$
539                 "NOLOGIN", //$NON-NLS-1$
540                 "NOMAXVALUE", // DB2 //$NON-NLS-1$
541                 "NOMINVALUE", // DB2 //$NON-NLS-1$
542                 "NONCLUSTERED", //$NON-NLS-1$
543                 "NONE", //$NON-NLS-1$
544                 "NOORDER", // DB2 //$NON-NLS-1$
545                 "NORMALIZE", //$NON-NLS-1$
546                 "NORMALIZED", //$NON-NLS-1$
547                 "NOSUPERUSER", //$NON-NLS-1$
548                 "NOT", // DB2 //$NON-NLS-1$
549                 "NOTHING", //$NON-NLS-1$
550                 "NOTIFY", //$NON-NLS-1$
551                 "NOTNULL", //$NON-NLS-1$
552                 "NOWAIT", //$NON-NLS-1$
553                 "NULL", // DB2 //$NON-NLS-1$
554                 "NULLABLE", //$NON-NLS-1$
555                 "NULLIF", //$NON-NLS-1$
556                 "NULLS", // DB2 //$NON-NLS-1$
557                 "NUMBER", //$NON-NLS-1$
558                 "NUMERIC", //$NON-NLS-1$
559                 "NUMPARTS", // DB2 //$NON-NLS-1$
560                 "OBID", // DB2 //$NON-NLS-1$
561                 "OBJECT", //$NON-NLS-1$
562                 "OCTET_LENGTH", //$NON-NLS-1$
563                 "OCTETS", //$NON-NLS-1$
564                 "OF", // DB2 //$NON-NLS-1$
565                 "OFF", //$NON-NLS-1$
566                 "OFFLINE", //$NON-NLS-1$
567                 "OFFSET", //$NON-NLS-1$
568                 "OFFSETS", //$NON-NLS-1$
569                 "OIDS", //$NON-NLS-1$
570                 "OLD", // DB2 //$NON-NLS-1$
571                 "OLD_TABLE", // DB2 //$NON-NLS-1$
572                 "ON", // DB2 //$NON-NLS-1$
573                 "ONLINE", //$NON-NLS-1$
574                 "ONLY", //$NON-NLS-1$
575                 "OPEN", // DB2 //$NON-NLS-1$
576                 "OPENDATASOURCE", //$NON-NLS-1$
577                 "OPENQUERY", //$NON-NLS-1$
578                 "OPENROWSET", //$NON-NLS-1$
579                 "OPENXML", //$NON-NLS-1$
580                 "OPERATION", //$NON-NLS-1$
581                 "OPERATOR", //$NON-NLS-1$
582                 "OPTIMIZATION", // DB2 //$NON-NLS-1$
583                 "OPTIMIZE", // DB2 //$NON-NLS-1$
584                 "OPTION", // DB2 //$NON-NLS-1$
585                 "OPTIONALLY", //$NON-NLS-1$
586                 "OPTIONS", //$NON-NLS-1$
587                 "OR", // DB2 //$NON-NLS-1$
588                 "ORDER", // DB2 //$NON-NLS-1$
589                 "ORDERING", //$NON-NLS-1$
590                 "ORDINALITY", //$NON-NLS-1$
591                 "OTHERS", //$NON-NLS-1$
592                 "OUT", // DB2 //$NON-NLS-1$
593                 "OUTER", // DB2 //$NON-NLS-1$
594                 "OUTFILE", //$NON-NLS-1$
595                 "OUTPUT", //$NON-NLS-1$
596                 "OVER", //$NON-NLS-1$
597                 "OVERLAPS", //$NON-NLS-1$
598                 "OVERLAY", //$NON-NLS-1$
599                 "OVERRIDING", // DB2 //$NON-NLS-1$
600                 "OWNER", //$NON-NLS-1$
601                 "PACK_KEYS", //$NON-NLS-1$
602                 "PACKAGE", // DB2 //$NON-NLS-1$
603                 "PAD", //$NON-NLS-1$
604                 "PARAMETER", // DB2 //$NON-NLS-1$
605                 "PARAMETER_MODE", //$NON-NLS-1$
606                 "PARAMETER_NAME", //$NON-NLS-1$
607                 "PARAMETER_ORDINAL_POSITION", //$NON-NLS-1$
608                 "PARAMETER_SPECIFIC_CATALOG", //$NON-NLS-1$
609                 "PARAMETER_SPECIFIC_NAME", //$NON-NLS-1$
610                 "PARAMETER_SPECIFIC_SCHEMA", //$NON-NLS-1$
611                 "PARAMETERS", //$NON-NLS-1$
612                 "PART", // DB2 //$NON-NLS-1$
613                 "PARTIAL", //$NON-NLS-1$
614                 "PARTITION", // DB2 //$NON-NLS-1$
615                 "PASCAL", //$NON-NLS-1$
616                 "PASSWORD", //$NON-NLS-1$
617                 "PATH", // DB2 //$NON-NLS-1$
618                 "PCTFREE", //$NON-NLS-1$
619                 "PERCENT", //$NON-NLS-1$
620                 "PERCENT_RANK", //$NON-NLS-1$
621                 "PERCENTILE_CONT", //$NON-NLS-1$
622                 "PERCENTILE_DISC", //$NON-NLS-1$
623                 "PIECESIZE", // DB2 //$NON-NLS-1$
624                 "PLACING", //$NON-NLS-1$
625                 "PLAN", // DB2 //$NON-NLS-1$
626                 "PLI", //$NON-NLS-1$
627                 "POSITION", // DB2 //$NON-NLS-1$
628                 "POSTFIX", //$NON-NLS-1$
629                 "POWER", //$NON-NLS-1$
630                 "PRECEDING", //$NON-NLS-1$
631                 "PRECISION", // DB2 //$NON-NLS-1$
632                 "PREFIX", //$NON-NLS-1$
633                 "PREORDER", //$NON-NLS-1$
634                 "PREPARE", // DB2 //$NON-NLS-1$
635                 "PREPARED", //$NON-NLS-1$
636                 "PRESERVE", //$NON-NLS-1$
637                 "PRIMARY", // DB2 //$NON-NLS-1$
638                 "PRINT", //$NON-NLS-1$
639                 "PRIOR", //$NON-NLS-1$
640                 "PRIQTY", // DB2 //$NON-NLS-1$
641                 "PRIVILEGES", // DB2 //$NON-NLS-1$
642                 "PROC", //$NON-NLS-1$
643                 "PROCEDURAL", //$NON-NLS-1$
644                 "PROCEDURE", // DB2 //$NON-NLS-1$
645                 "PROCESS", //$NON-NLS-1$
646                 "PROCESSLIST", //$NON-NLS-1$
647                 "PROGRAM", // DB2 //$NON-NLS-1$
648                 "PSID", // DB2 //$NON-NLS-1$
649                 "PUBLIC", //$NON-NLS-1$
650                 "PURGE", //$NON-NLS-1$
651                 "QUERYNO", // DB2 //$NON-NLS-1$
652                 "QUOTE", //$NON-NLS-1$
653                 "RAID0", //$NON-NLS-1$
654                 "RAISERROR", //$NON-NLS-1$
655                 "RANGE", //$NON-NLS-1$
656                 "RANK", //$NON-NLS-1$
657                 "RAW", //$NON-NLS-1$
658                 "READ", // DB2 //$NON-NLS-1$
659                 "READS", // DB2 //$NON-NLS-1$
660                 "READTEXT", //$NON-NLS-1$
661                 "REAL", //$NON-NLS-1$
662                 "RECHECK", //$NON-NLS-1$
663                 "RECONFIGURE", //$NON-NLS-1$
664                 "RECOVERY", // DB2 //$NON-NLS-1$
665                 "RECURSIVE", //$NON-NLS-1$
666                 "REF", //$NON-NLS-1$
667                 "REFERENCES", // DB2 //$NON-NLS-1$
668                 "REFERENCING", // DB2 //$NON-NLS-1$
669                 "REGEXP", //$NON-NLS-1$
670                 "REGR_AVGX", //$NON-NLS-1$
671                 "REGR_AVGY", //$NON-NLS-1$
672                 "REGR_COUNT", //$NON-NLS-1$
673                 "REGR_INTERCEPT", //$NON-NLS-1$
674                 "REGR_R2", //$NON-NLS-1$
675                 "REGR_SLOPE", //$NON-NLS-1$
676                 "REGR_SXX", //$NON-NLS-1$
677                 "REGR_SXY", //$NON-NLS-1$
678                 "REGR_SYY", //$NON-NLS-1$
679                 "REINDEX", //$NON-NLS-1$
680                 "RELATIVE", //$NON-NLS-1$
681                 "RELEASE", // DB2 //$NON-NLS-1$
682                 "RELOAD", //$NON-NLS-1$
683                 "RENAME", // DB2 //$NON-NLS-1$
684                 "REPEAT", // DB2 //$NON-NLS-1$
685                 "REPEATABLE", //$NON-NLS-1$
686                 "REPLACE", //$NON-NLS-1$
687                 "REPLICATION", //$NON-NLS-1$
688                 "REQUIRE", //$NON-NLS-1$
689                 "RESET", // DB2 //$NON-NLS-1$
690                 "RESIGNAL", // DB2 //$NON-NLS-1$
691                 "RESOURCE", //$NON-NLS-1$
692                 "RESTART", // DB2 //$NON-NLS-1$
693                 "RESTORE", //$NON-NLS-1$
694                 "RESTRICT", // DB2 //$NON-NLS-1$
695                 "RESULT", // DB2 //$NON-NLS-1$
696                 "RESULT_SET_LOCATOR", // DB2 //$NON-NLS-1$
697                 "RETURN", // DB2 //$NON-NLS-1$
698                 "RETURNED_CARDINALITY", //$NON-NLS-1$
699                 "RETURNED_LENGTH", //$NON-NLS-1$
700                 "RETURNED_OCTET_LENGTH", //$NON-NLS-1$
701                 "RETURNED_SQLSTATE", //$NON-NLS-1$
702                 "RETURNS", // DB2 //$NON-NLS-1$
703                 "REVOKE", // DB2 //$NON-NLS-1$
704                 "RIGHT", // DB2 //$NON-NLS-1$
705                 "RLIKE", //$NON-NLS-1$
706                 "ROLE", //$NON-NLS-1$
707                 "ROLLBACK", // DB2 //$NON-NLS-1$
708                 "ROLLUP", //$NON-NLS-1$
709                 "ROUTINE", // DB2 //$NON-NLS-1$
710                 "ROUTINE_CATALOG", //$NON-NLS-1$
711                 "ROUTINE_NAME", //$NON-NLS-1$
712                 "ROUTINE_SCHEMA", //$NON-NLS-1$
713                 "ROW", // DB2 //$NON-NLS-1$
714                 "ROW_COUNT", //$NON-NLS-1$
715                 "ROW_NUMBER", //$NON-NLS-1$
716                 "ROWCOUNT", //$NON-NLS-1$
717                 "ROWGUIDCOL", //$NON-NLS-1$
718                 "ROWID", //$NON-NLS-1$
719                 "ROWNUM", //$NON-NLS-1$
720                 "ROWS", // DB2 //$NON-NLS-1$
721                 "RRN", // DB2 //$NON-NLS-1$
722                 "RULE", //$NON-NLS-1$
723                 "RUN", // DB2 //$NON-NLS-1$
724                 "SAVE", //$NON-NLS-1$
725                 "SAVEPOINT", // DB2 //$NON-NLS-1$
726                 "SCALE", //$NON-NLS-1$
727                 "SCHEMA", // DB2 //$NON-NLS-1$
728                 "SCHEMA_NAME", //$NON-NLS-1$
729                 "SCHEMAS", //$NON-NLS-1$
730                 "SCOPE", //$NON-NLS-1$
731                 "SCOPE_CATALOG", //$NON-NLS-1$
732                 "SCOPE_NAME", //$NON-NLS-1$
733                 "SCOPE_SCHEMA", //$NON-NLS-1$
734                 "SCRATCHPAD", // DB2 //$NON-NLS-1$
735                 "SCROLL", //$NON-NLS-1$
736                 "SEARCH", //$NON-NLS-1$
737                 "SECOND", // DB2 //$NON-NLS-1$
738                 "SECOND_MICROSECOND", //$NON-NLS-1$
739                 "SECONDS", // DB2 //$NON-NLS-1$
740                 "SECQTY", // DB2 //$NON-NLS-1$
741                 "SECTION", //$NON-NLS-1$
742                 "SECURITY", // DB2 //$NON-NLS-1$
743                 "SELECT", // DB2 //$NON-NLS-1$
744                 "SELF", //$NON-NLS-1$
745                 "SENSITIVE", // DB2 //$NON-NLS-1$
746                 "SEPARATOR", //$NON-NLS-1$
747                 "SEQUENCE", //$NON-NLS-1$
748                 "SERIALIZABLE", //$NON-NLS-1$
749                 "SERVER_NAME", //$NON-NLS-1$
750                 "SESSION", //$NON-NLS-1$
751                 "SESSION_USER", //$NON-NLS-1$
752                 "SET", // DB2 //$NON-NLS-1$
753                 "SETOF", //$NON-NLS-1$
754                 "SETS", //$NON-NLS-1$
755                 "SETUSER", //$NON-NLS-1$
756                 "SHARE", //$NON-NLS-1$
757                 "SHOW", //$NON-NLS-1$
758                 "SHUTDOWN", //$NON-NLS-1$
759                 "SIGNAL", // DB2 //$NON-NLS-1$
760                 "SIMILAR", //$NON-NLS-1$
761                 "SIMPLE", // DB2 //$NON-NLS-1$
762                 "SIZE", //$NON-NLS-1$
763                 "SMALLINT", //$NON-NLS-1$
764                 "SOME", // DB2 //$NON-NLS-1$
765                 "SONAME", //$NON-NLS-1$
766                 "SOURCE", // DB2 //$NON-NLS-1$
767                 "SPACE", //$NON-NLS-1$
768                 "SPATIAL", //$NON-NLS-1$
769                 "SPECIFIC", // DB2 //$NON-NLS-1$
770                 "SPECIFIC_NAME", //$NON-NLS-1$
771                 "SPECIFICTYPE", //$NON-NLS-1$
772                 "SQL", // DB2 //$NON-NLS-1$
773                 "SQL_BIG_RESULT", //$NON-NLS-1$
774                 "SQL_BIG_SELECTS", //$NON-NLS-1$
775                 "SQL_BIG_TABLES", //$NON-NLS-1$
776                 "SQL_CALC_FOUND_ROWS", //$NON-NLS-1$
777                 "SQL_LOG_OFF", //$NON-NLS-1$
778                 "SQL_LOG_UPDATE", //$NON-NLS-1$
779                 "SQL_LOW_PRIORITY_UPDATES", //$NON-NLS-1$
780                 "SQL_SELECT_LIMIT", //$NON-NLS-1$
781                 "SQL_SMALL_RESULT", //$NON-NLS-1$
782                 "SQL_WARNINGS", //$NON-NLS-1$
783                 "SQLCA", //$NON-NLS-1$
784                 "SQLCODE", //$NON-NLS-1$
785                 "SQLERROR", //$NON-NLS-1$
786                 "SQLEXCEPTION", //$NON-NLS-1$
787                 "SQLID", // DB2 //$NON-NLS-1$
788                 "SQLSTATE", //$NON-NLS-1$
789                 "SQLWARNING", //$NON-NLS-1$
790                 "SQRT", //$NON-NLS-1$
791                 "SSL", //$NON-NLS-1$
792                 "STABLE", //$NON-NLS-1$
793                 "STANDARD", // DB2 //$NON-NLS-1$
794                 "START", // DB2 //$NON-NLS-1$
795                 "STARTING", //$NON-NLS-1$
796                 "STATE", //$NON-NLS-1$
797                 "STATEMENT", //$NON-NLS-1$
798                 "STATIC", // DB2 //$NON-NLS-1$
799                 "STATISTICS", //$NON-NLS-1$
800                 "STATUS", //$NON-NLS-1$
801                 "STAY", // DB2 //$NON-NLS-1$
802                 "STDDEV_POP", //$NON-NLS-1$
803                 "STDDEV_SAMP", //$NON-NLS-1$
804                 "STDIN", //$NON-NLS-1$
805                 "STDOUT", //$NON-NLS-1$
806                 "STOGROUP", // DB2 //$NON-NLS-1$
807                 "STORAGE", //$NON-NLS-1$
808                 "STORES", // DB2 //$NON-NLS-1$
809                 "STRAIGHT_JOIN", //$NON-NLS-1$
810                 "STRICT", //$NON-NLS-1$
811                 "STRING", //$NON-NLS-1$
812                 "STRUCTURE", //$NON-NLS-1$
813                 "STYLE", // DB2 //$NON-NLS-1$
814                 "SUBCLASS_ORIGIN", //$NON-NLS-1$
815                 "SUBLIST", //$NON-NLS-1$
816                 "SUBMULTISET", //$NON-NLS-1$
817                 "SUBPAGES", // DB2 //$NON-NLS-1$
818                 "SUBSTRING", // DB2 //$NON-NLS-1$
819                 "SUCCESSFUL", //$NON-NLS-1$
820                 "SUM", //$NON-NLS-1$
821                 "SUPERUSER", //$NON-NLS-1$
822                 "SYMMETRIC", //$NON-NLS-1$
823                 "SYNONYM", // DB2 //$NON-NLS-1$
824                 "SYSDATE", //$NON-NLS-1$
825                 "SYSFUN", // DB2 //$NON-NLS-1$
826                 "SYSIBM", // DB2 //$NON-NLS-1$
827                 "SYSID", //$NON-NLS-1$
828                 "SYSPROC", // DB2 //$NON-NLS-1$
829                 "SYSTEM", // DB2 //$NON-NLS-1$
830                 "SYSTEM_USER", //$NON-NLS-1$
831                 "TABLE", // DB2 //$NON-NLS-1$
832                 "TABLE_NAME", //$NON-NLS-1$
833                 "TABLES", //$NON-NLS-1$
834                 "TABLESAMPLE", //$NON-NLS-1$
835                 "TABLESPACE", // DB2 //$NON-NLS-1$
836                 "TEMP", //$NON-NLS-1$
837                 "TEMPLATE", //$NON-NLS-1$
838                 "TEMPORARY", //$NON-NLS-1$
839                 "TERMINATE", //$NON-NLS-1$
840                 "TERMINATED", //$NON-NLS-1$
841                 "TEXT", //$NON-NLS-1$
842                 "TEXTSIZE", //$NON-NLS-1$
843                 "THAN", //$NON-NLS-1$
844                 "THEN", // DB2 //$NON-NLS-1$
845                 "TIES", //$NON-NLS-1$
846                 "TIME", //$NON-NLS-1$
847                 "TIMESTAMP", //$NON-NLS-1$
848                 "TIMEZONE_HOUR", //$NON-NLS-1$
849                 "TIMEZONE_MINUTE", //$NON-NLS-1$
850                 "TINYBLOB", //$NON-NLS-1$
851                 "TINYINT", //$NON-NLS-1$
852                 "TINYTEXT", //$NON-NLS-1$
853                 "TO", // DB2 //$NON-NLS-1$
854                 "TOAST", //$NON-NLS-1$
855                 "TOP", //$NON-NLS-1$
856                 "TOP_LEVEL_COUNT", //$NON-NLS-1$
857                 "TRAILING", //$NON-NLS-1$
858                 "TRAN", //$NON-NLS-1$
859                 "TRANSACTION", // DB2 //$NON-NLS-1$
860                 "TRANSACTION_ACTIVE", //$NON-NLS-1$
861                 "TRANSACTIONS_COMMITTED", //$NON-NLS-1$
862                 "TRANSACTIONS_ROLLED_BACK", //$NON-NLS-1$
863                 "TRANSFORM", //$NON-NLS-1$
864                 "TRANSFORMS", //$NON-NLS-1$
865                 "TRANSLATE", //$NON-NLS-1$
866                 "TRANSLATION", //$NON-NLS-1$
867                 "TREAT", //$NON-NLS-1$
868                 "TRIGGER", // DB2 //$NON-NLS-1$
869                 "TRIGGER_CATALOG", //$NON-NLS-1$
870                 "TRIGGER_NAME", //$NON-NLS-1$
871                 "TRIGGER_SCHEMA", //$NON-NLS-1$
872                 "TRIM", // DB2 //$NON-NLS-1$
873                 "TRUE", //$NON-NLS-1$
874                 "TRUNCATE", //$NON-NLS-1$
875                 "TRUSTED", //$NON-NLS-1$
876                 "TSEQUAL", //$NON-NLS-1$
877                 "TYPE", // DB2 //$NON-NLS-1$
878                 "UESCAPE", //$NON-NLS-1$
879                 "UID", //$NON-NLS-1$
880                 "UNBOUNDED", //$NON-NLS-1$
881                 "UNCOMMITTED", //$NON-NLS-1$
882                 "UNDER", //$NON-NLS-1$
883                 "UNDO", // DB2 //$NON-NLS-1$
884                 "UNENCRYPTED", //$NON-NLS-1$
885                 "UNION", // DB2 //$NON-NLS-1$
886                 "UNIQUE", // DB2 //$NON-NLS-1$
887                 "UNKNOWN", //$NON-NLS-1$
888                 "UNLISTEN", //$NON-NLS-1$
889                 "UNLOCK", //$NON-NLS-1$
890                 "UNNAMED", //$NON-NLS-1$
891                 "UNNEST", //$NON-NLS-1$
892                 "UNSIGNED", //$NON-NLS-1$
893                 "UNTIL", // DB2 //$NON-NLS-1$
894                 "UPDATE", // DB2 //$NON-NLS-1$
895                 "UPDATETEXT", //$NON-NLS-1$
896                 "UPPER", //$NON-NLS-1$
897                 "USAGE", // DB2 //$NON-NLS-1$
898                 "USE", //$NON-NLS-1$
899                 "USER", // DB2 //$NON-NLS-1$
900                 "USER_DEFINED_TYPE_CATALOG", //$NON-NLS-1$
901                 "USER_DEFINED_TYPE_CODE", //$NON-NLS-1$
902                 "USER_DEFINED_TYPE_NAME", //$NON-NLS-1$
903                 "USER_DEFINED_TYPE_SCHEMA", //$NON-NLS-1$
904                 "USING", // DB2 //$NON-NLS-1$
905                 "UTC_DATE", //$NON-NLS-1$
906                 "UTC_TIME", //$NON-NLS-1$
907                 "UTC_TIMESTAMP", //$NON-NLS-1$
908                 "VACUUM", //$NON-NLS-1$
909                 "VALID", //$NON-NLS-1$
910                 "VALIDATE", //$NON-NLS-1$
911                 "VALIDATOR", //$NON-NLS-1$
912                 "VALIDPROC", // DB2 //$NON-NLS-1$
913                 "VALUE", //$NON-NLS-1$
914                 "VALUES", // DB2 //$NON-NLS-1$
915                 "VAR_POP", //$NON-NLS-1$
916                 "VAR_SAMP", //$NON-NLS-1$
917                 "VARBINARY", //$NON-NLS-1$
918                 "VARCHAR", //$NON-NLS-1$
919                 "VARCHAR2", //$NON-NLS-1$
920                 "VARCHARACTER", //$NON-NLS-1$
921                 "VARIABLE", // DB2 //$NON-NLS-1$
922                 "VARIABLES", //$NON-NLS-1$
923                 "VARIANT", // DB2 //$NON-NLS-1$
924                 "VARYING", //$NON-NLS-1$
925                 "VCAT", // DB2 //$NON-NLS-1$
926                 "VERBOSE", //$NON-NLS-1$
927                 "VIEW", // DB2 //$NON-NLS-1$
928                 "VOLATILE", //$NON-NLS-1$
929                 "VOLUMES", // DB2 //$NON-NLS-1$
930                 "WAITFOR", //$NON-NLS-1$
931                 "WHEN", // DB2 //$NON-NLS-1$
932                 "WHENEVER", //$NON-NLS-1$
933                 "WHERE", // DB2 //$NON-NLS-1$
934                 "WHILE", // DB2 //$NON-NLS-1$
935                 "WIDTH_BUCKET", //$NON-NLS-1$
936                 "WINDOW", //$NON-NLS-1$
937                 "WITH", // DB2 //$NON-NLS-1$
938                 "WITHIN", //$NON-NLS-1$
939                 "WITHOUT", //$NON-NLS-1$
940                 "WLM", // DB2 //$NON-NLS-1$
941                 "WORK", //$NON-NLS-1$
942                 "WRITE", // DB2 //$NON-NLS-1$
943                 "WRITETEXT", //$NON-NLS-1$
944                 "X509", //$NON-NLS-1$
945                 "XOR", //$NON-NLS-1$
946                 "YEAR", // DB2 //$NON-NLS-1$
947                 "YEAR_MONTH", //$NON-NLS-1$
948                 "YEARS", // DB2 //$NON-NLS-1$
949                 "ZEROFILL", //$NON-NLS-1$
950                 "ZONE" //$NON-NLS-1$
951         };
952 
953         RESERVED_WORDS = new HashSet<String>(words.length);
954 
955         for (String word : words) {
956             RESERVED_WORDS.add(word);
957         }
958     }
959 
960     public static boolean containsWord(String word) {
961         boolean rc;
962 
963         if (word == null) {
964             rc = false;
965         } else {
966             rc = RESERVED_WORDS.contains(word.toUpperCase());
967         }
968 
969         return rc;
970     }
971 
972     /**
973      * Utility class - no instances allowed
974      */
975     private SqlReservedWords() {
976     }
977 }