001/*
002 *  Copyright 2018 Anyware Services
003 *
004 *  Licensed under the Apache License, Version 2.0 (the "License");
005 *  you may not use this file except in compliance with the License.
006 *  You may obtain a copy of the License at
007 *
008 *      http://www.apache.org/licenses/LICENSE-2.0
009 *
010 *  Unless required by applicable law or agreed to in writing, software
011 *  distributed under the License is distributed on an "AS IS" BASIS,
012 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 *  See the License for the specific language governing permissions and
014 *  limitations under the License.
015 */
016package org.ametys.plugins.contentio.export;
017
018import java.util.HashMap;
019import java.util.Map;
020
021/**
022 * The reserved words utils
023 */
024public final class ReservedWordsUtils
025{
026    /** The MYSQL key */
027    public static final String MYSQL_KEY = "mysql";
028    
029    /** The Oracle key */
030    public static final String ORACLE_KEY = "oracle";
031    
032    /**
033     * The map of reserved words in ORACLE with their alias
034     */
035    public static final Map<String, String> RESERVED_WORDS_MYSQL = new HashMap<>();
036    static 
037    {
038        RESERVED_WORDS_MYSQL.put("ACCESSIBLE", "ACCESSIBLE_2");
039        RESERVED_WORDS_MYSQL.put("ADD", "ADD_2");
040        RESERVED_WORDS_MYSQL.put("ALL", "ALL_2");
041        RESERVED_WORDS_MYSQL.put("ALTER", "ALTER_2");
042        RESERVED_WORDS_MYSQL.put("ANALYZE", "ANALYZE_2");
043        RESERVED_WORDS_MYSQL.put("AND", "AND_2");
044        RESERVED_WORDS_MYSQL.put("AS", "AS_2");
045        RESERVED_WORDS_MYSQL.put("ASC", "ASC_2");
046        RESERVED_WORDS_MYSQL.put("ASENSITIVE", "ASENSITIVE_2");
047        RESERVED_WORDS_MYSQL.put("BEFORE", "BEFORE_2");
048        RESERVED_WORDS_MYSQL.put("BETWEEN", "BETWEEN_2");
049        RESERVED_WORDS_MYSQL.put("BIGINT", "BIGINT_2");
050        RESERVED_WORDS_MYSQL.put("BINARY", "BINARY_2");
051        RESERVED_WORDS_MYSQL.put("BLOB", "BLOB_2");
052        RESERVED_WORDS_MYSQL.put("BOTH", "BOTH_2");
053        RESERVED_WORDS_MYSQL.put("BY", "BY_2");
054        RESERVED_WORDS_MYSQL.put("CALL", "CALL_2");
055        RESERVED_WORDS_MYSQL.put("CASCADE", "CASCADE_2");
056        RESERVED_WORDS_MYSQL.put("CASE", "CASE_2");
057        RESERVED_WORDS_MYSQL.put("CHANGE", "CHANGE_2");
058        RESERVED_WORDS_MYSQL.put("CHAR", "CHAR_2");
059        RESERVED_WORDS_MYSQL.put("CHARACTER", "CHARACTER_2");
060        RESERVED_WORDS_MYSQL.put("CHECK", "CHECK_2");
061        RESERVED_WORDS_MYSQL.put("COLLATE", "COLLATE_2");
062        RESERVED_WORDS_MYSQL.put("COLUMN", "COLUMN_2");
063        RESERVED_WORDS_MYSQL.put("CONDITION", "CONDITION_2");
064        RESERVED_WORDS_MYSQL.put("CONSTRAINT", "CONSTRAINT_2");
065        RESERVED_WORDS_MYSQL.put("CONTINUE", "CONTINUE_2");
066        RESERVED_WORDS_MYSQL.put("CONVERT", "CONVERT_2");
067        RESERVED_WORDS_MYSQL.put("CREATE", "CREATE_2");
068        RESERVED_WORDS_MYSQL.put("CROSS", "CROSS_2");
069        RESERVED_WORDS_MYSQL.put("CURRENT_DATE", "CURRENT_DATE_2");
070        RESERVED_WORDS_MYSQL.put("CURRENT_TIME", "CURRENT_TIME_2");
071        RESERVED_WORDS_MYSQL.put("CURRENT_TIMESTAMP", "CURRENT_TIMESTAMP_2");
072        RESERVED_WORDS_MYSQL.put("CURRENT_USER", "CURRENT_USER_2");
073        RESERVED_WORDS_MYSQL.put("CURSOR", "CURSOR_2");
074        RESERVED_WORDS_MYSQL.put("DATABASE", "DATABASE_2");
075        RESERVED_WORDS_MYSQL.put("DATABASES", "DATABASES_2");
076        RESERVED_WORDS_MYSQL.put("DAY_HOUR", "DAY_HOUR_2");
077        RESERVED_WORDS_MYSQL.put("DAY_MICROSECOND", "DAY_MICROSECOND_2");
078        RESERVED_WORDS_MYSQL.put("DAY_MINUTE", "DAY_MINUTE_2");
079        RESERVED_WORDS_MYSQL.put("DAY_SECOND", "DAY_SECOND_2");
080        RESERVED_WORDS_MYSQL.put("DEC", "DEC_2");
081        RESERVED_WORDS_MYSQL.put("DECIMAL", "DECIMAL_2");
082        RESERVED_WORDS_MYSQL.put("DECLARE", "DECLARE_2");
083        RESERVED_WORDS_MYSQL.put("DEFAULT", "DEFAULT_2");
084        RESERVED_WORDS_MYSQL.put("DELAYED", "DELAYED_2");
085        RESERVED_WORDS_MYSQL.put("DELETE", "DELETE_2");
086        RESERVED_WORDS_MYSQL.put("DESC", "DESC_2");
087        RESERVED_WORDS_MYSQL.put("DESCRIBE", "DESCRIBE_2");
088        RESERVED_WORDS_MYSQL.put("DETERMINISTIC", "DETERMINISTIC_2");
089        RESERVED_WORDS_MYSQL.put("DISTINCT", "DISTINCT_2");
090        RESERVED_WORDS_MYSQL.put("DISTINCTROW", "DISTINCTROW_2");
091        RESERVED_WORDS_MYSQL.put("DIV", "DIV_2");
092        RESERVED_WORDS_MYSQL.put("DOUBLE", "DOUBLE_2");
093        RESERVED_WORDS_MYSQL.put("DROP", "DROP_2");
094        RESERVED_WORDS_MYSQL.put("DUAL", "DUAL_2");
095        RESERVED_WORDS_MYSQL.put("EACH", "EACH_2");
096        RESERVED_WORDS_MYSQL.put("ELSE", "ELSE_2");
097        RESERVED_WORDS_MYSQL.put("ELSEIF", "ELSEIF_2");
098        RESERVED_WORDS_MYSQL.put("ENCLOSED", "ENCLOSED_2");
099        RESERVED_WORDS_MYSQL.put("ESCAPED", "ESCAPED_2");
100        RESERVED_WORDS_MYSQL.put("EXISTS", "EXISTS_2");
101        RESERVED_WORDS_MYSQL.put("EXIT", "EXIT_2");
102        RESERVED_WORDS_MYSQL.put("EXPLAIN", "EXPLAIN_2");
103        RESERVED_WORDS_MYSQL.put("FALSE", "FALSE_2");
104        RESERVED_WORDS_MYSQL.put("FETCH", "FETCH_2");
105        RESERVED_WORDS_MYSQL.put("FLOAT", "FLOAT_2");
106        RESERVED_WORDS_MYSQL.put("FLOAT4", "FLOAT4_2");
107        RESERVED_WORDS_MYSQL.put("FLOAT8", "FLOAT8_2");
108        RESERVED_WORDS_MYSQL.put("FOR", "FOR_2");
109        RESERVED_WORDS_MYSQL.put("FORCE", "FORCE_2");
110        RESERVED_WORDS_MYSQL.put("FOREIGN", "FOREIGN_2");
111        RESERVED_WORDS_MYSQL.put("FROM", "FROM_2");
112        RESERVED_WORDS_MYSQL.put("FULLTEXT", "FULLTEXT_2");
113        RESERVED_WORDS_MYSQL.put("GRANT", "GRANT_2");
114        RESERVED_WORDS_MYSQL.put("GROUP", "GROUP_2");
115        RESERVED_WORDS_MYSQL.put("HAVING", "HAVING_2");
116        RESERVED_WORDS_MYSQL.put("HIGH_PRIORITY", "HIGH_PRIORITY_2");
117        RESERVED_WORDS_MYSQL.put("HOUR_MICROSECOND", "HOUR_MICROSECOND_2");
118        RESERVED_WORDS_MYSQL.put("HOUR_MINUTE", "HOUR_MINUTE_2");
119        RESERVED_WORDS_MYSQL.put("HOUR_SECOND", "HOUR_SECOND_2");
120        RESERVED_WORDS_MYSQL.put("IF", "IF_2");
121        RESERVED_WORDS_MYSQL.put("IGNORE", "IGNORE_2");
122        RESERVED_WORDS_MYSQL.put("IN", "IN_2");
123        RESERVED_WORDS_MYSQL.put("INDEX", "INDEX_2");
124        RESERVED_WORDS_MYSQL.put("INFILE", "INFILE_2");
125        RESERVED_WORDS_MYSQL.put("INNER", "INNER_2");
126        RESERVED_WORDS_MYSQL.put("INOUT", "INOUT_2");
127        RESERVED_WORDS_MYSQL.put("INSENSITIVE", "INSENSITIVE_2");
128        RESERVED_WORDS_MYSQL.put("INSERT", "INSERT_2");
129        RESERVED_WORDS_MYSQL.put("INT", "INT_2");
130        RESERVED_WORDS_MYSQL.put("INT1", "INT1_2");
131        RESERVED_WORDS_MYSQL.put("INT2", "INT2_2");
132        RESERVED_WORDS_MYSQL.put("INT3", "INT3_2");
133        RESERVED_WORDS_MYSQL.put("INT4", "INT4_2");
134        RESERVED_WORDS_MYSQL.put("INT8", "INT8_2");
135        RESERVED_WORDS_MYSQL.put("INTEGER", "INTEGER_2");
136        RESERVED_WORDS_MYSQL.put("INTERVAL", "INTERVAL_2");
137        RESERVED_WORDS_MYSQL.put("INTO", "INTO_2");
138        RESERVED_WORDS_MYSQL.put("IS", "IS_2");
139        RESERVED_WORDS_MYSQL.put("ITERATE", "ITERATE_2");
140        RESERVED_WORDS_MYSQL.put("JOIN", "JOIN_2");
141        RESERVED_WORDS_MYSQL.put("KEY", "KEY_2");
142        RESERVED_WORDS_MYSQL.put("KEYS", "KEYS_2");
143        RESERVED_WORDS_MYSQL.put("KILL", "KILL_2");
144        RESERVED_WORDS_MYSQL.put("LEADING", "LEADING_2");
145        RESERVED_WORDS_MYSQL.put("LEAVE", "LEAVE_2");
146        RESERVED_WORDS_MYSQL.put("LEFT", "LEFT_2");
147        RESERVED_WORDS_MYSQL.put("LIKE", "LIKE_2");
148        RESERVED_WORDS_MYSQL.put("LIMIT", "LIMIT_2");
149        RESERVED_WORDS_MYSQL.put("LINEAR", "LINEAR_2");
150        RESERVED_WORDS_MYSQL.put("LINES", "LINES_2");
151        RESERVED_WORDS_MYSQL.put("LOAD", "LOAD_2");
152        RESERVED_WORDS_MYSQL.put("LOCALTIME", "LOCALTIME_2");
153        RESERVED_WORDS_MYSQL.put("LOCALTIMESTAMP", "LOCALTIMESTAMP_2");
154        RESERVED_WORDS_MYSQL.put("LOCK", "LOCK_2");
155        RESERVED_WORDS_MYSQL.put("LONG", "LONG_2");
156        RESERVED_WORDS_MYSQL.put("LONGBLOB", "LONGBLOB_2");
157        RESERVED_WORDS_MYSQL.put("LONGTEXT", "LONGTEXT_2");
158        RESERVED_WORDS_MYSQL.put("LOOP", "LOOP_2");
159        RESERVED_WORDS_MYSQL.put("LOW_PRIORITY", "LOW_PRIORITY_2");
160        RESERVED_WORDS_MYSQL.put("MASTER_SSL_VERIFY_SERVER_CERT", "MASTER_SSL_VERIFY_SERVER_CERT_2");
161        RESERVED_WORDS_MYSQL.put("MATCH", "MATCH_2");
162        RESERVED_WORDS_MYSQL.put("MAXVALUE", "MAXVALUE_2");
163        RESERVED_WORDS_MYSQL.put("MEDIUMBLOB", "MEDIUMBLOB_2");
164        RESERVED_WORDS_MYSQL.put("MEDIUMINT", "MEDIUMINT_2");
165        RESERVED_WORDS_MYSQL.put("MEDIUMTEXT", "MEDIUMTEXT_2");
166        RESERVED_WORDS_MYSQL.put("MIDDLEINT", "MIDDLEINT_2");
167        RESERVED_WORDS_MYSQL.put("MINUTE_MICROSECOND", "MINUTE_MICROSECOND_2");
168        RESERVED_WORDS_MYSQL.put("MINUTE_SECOND", "MINUTE_SECOND_2");
169        RESERVED_WORDS_MYSQL.put("MOD", "MOD_2");
170        RESERVED_WORDS_MYSQL.put("MODIFIES", "MODIFIES_2");
171        RESERVED_WORDS_MYSQL.put("NATURAL", "NATURAL_2");
172        RESERVED_WORDS_MYSQL.put("NOT", "NOT_2");
173        RESERVED_WORDS_MYSQL.put("NO_WRITE_TO_BINLOG", "NO_WRITE_TO_BINLOG_2");
174        RESERVED_WORDS_MYSQL.put("NULL", "NULL_2");
175        RESERVED_WORDS_MYSQL.put("NUMERIC", "NUMERIC_2");
176        RESERVED_WORDS_MYSQL.put("ON", "ON_2");
177        RESERVED_WORDS_MYSQL.put("OPTIMIZE", "OPTIMIZE_2");
178        RESERVED_WORDS_MYSQL.put("OPTION", "OPTION_2");
179        RESERVED_WORDS_MYSQL.put("OPTIONALLY", "OPTIONALLY_2");
180        RESERVED_WORDS_MYSQL.put("OR", "OR_2");
181        RESERVED_WORDS_MYSQL.put("ORDER", "ORDER_2");
182        RESERVED_WORDS_MYSQL.put("OUT", "OUT_2");
183        RESERVED_WORDS_MYSQL.put("OUTER", "OUTER_2");
184        RESERVED_WORDS_MYSQL.put("OUTFILE", "OUTFILE_2");
185        RESERVED_WORDS_MYSQL.put("PRECISION", "PRECISION_2");
186        RESERVED_WORDS_MYSQL.put("PRIMARY", "PRIMARY_2");
187        RESERVED_WORDS_MYSQL.put("PROCEDURE", "PROCEDURE_2");
188        RESERVED_WORDS_MYSQL.put("PURGE", "PURGE_2");
189        RESERVED_WORDS_MYSQL.put("RANGE", "RANGE_2");
190        RESERVED_WORDS_MYSQL.put("READ", "READ_2");
191        RESERVED_WORDS_MYSQL.put("READS", "READS_2");
192        RESERVED_WORDS_MYSQL.put("READ_WRITE", "READ_WRITE_2");
193        RESERVED_WORDS_MYSQL.put("REAL", "REAL_2");
194        RESERVED_WORDS_MYSQL.put("REFERENCES", "REFERENCES_2");
195        RESERVED_WORDS_MYSQL.put("REGEXP", "REGEXP_2");
196        RESERVED_WORDS_MYSQL.put("RELEASE", "RELEASE_2");
197        RESERVED_WORDS_MYSQL.put("RENAME", "RENAME_2");
198        RESERVED_WORDS_MYSQL.put("REPEAT", "REPEAT_2");
199        RESERVED_WORDS_MYSQL.put("REPLACE", "REPLACE_2");
200        RESERVED_WORDS_MYSQL.put("REQUIRE", "REQUIRE_2");
201        RESERVED_WORDS_MYSQL.put("RESIGNAL", "RESIGNAL_2");
202        RESERVED_WORDS_MYSQL.put("RESTRICT", "RESTRICT_2");
203        RESERVED_WORDS_MYSQL.put("RETURN", "RETURN_2");
204        RESERVED_WORDS_MYSQL.put("REVOKE", "REVOKE_2");
205        RESERVED_WORDS_MYSQL.put("RIGHT", "RIGHT_2");
206        RESERVED_WORDS_MYSQL.put("RLIKE", "RLIKE_2");
207        RESERVED_WORDS_MYSQL.put("SCHEMA", "SCHEMA_2");
208        RESERVED_WORDS_MYSQL.put("SCHEMAS", "SCHEMAS_2");
209        RESERVED_WORDS_MYSQL.put("SECOND_MICROSECOND", "SECOND_MICROSECOND_2");
210        RESERVED_WORDS_MYSQL.put("SELECT", "SELECT_2");
211        RESERVED_WORDS_MYSQL.put("SENSITIVE", "SENSITIVE_2");
212        RESERVED_WORDS_MYSQL.put("SEPARATOR", "SEPARATOR_2");
213        RESERVED_WORDS_MYSQL.put("SET", "SET_2");
214        RESERVED_WORDS_MYSQL.put("SHOW", "SHOW_2");
215        RESERVED_WORDS_MYSQL.put("SIGNAL", "SIGNAL_2");
216        RESERVED_WORDS_MYSQL.put("SMALLINT", "SMALLINT_2");
217        RESERVED_WORDS_MYSQL.put("SPATIAL", "SPATIAL_2");
218        RESERVED_WORDS_MYSQL.put("SPECIFIC", "SPECIFIC_2");
219        RESERVED_WORDS_MYSQL.put("SQL", "SQL_2");
220        RESERVED_WORDS_MYSQL.put("SQLEXCEPTION", "SQLEXCEPTION_2");
221        RESERVED_WORDS_MYSQL.put("SQLSTATE", "SQLSTATE_2");
222        RESERVED_WORDS_MYSQL.put("SQLWARNING", "SQLWARNING_2");
223        RESERVED_WORDS_MYSQL.put("SQL_BIG_RESULT", "SQL_BIG_RESULT_2");
224        RESERVED_WORDS_MYSQL.put("SQL_CALC_FOUND_ROWS", "SQL_CALC_FOUND_ROWS_2");
225        RESERVED_WORDS_MYSQL.put("SQL_SMALL_RESULT", "SQL_SMALL_RESULT_2");
226        RESERVED_WORDS_MYSQL.put("SSL", "SSL_2");
227        RESERVED_WORDS_MYSQL.put("STARTING", "STARTING_2");
228        RESERVED_WORDS_MYSQL.put("STRAIGHT_JOIN", "STRAIGHT_JOIN_2");
229        RESERVED_WORDS_MYSQL.put("TABLE", "TABLE_2");
230        RESERVED_WORDS_MYSQL.put("TERMINATED", "TERMINATED_2");
231        RESERVED_WORDS_MYSQL.put("THEN", "THEN_2");
232        RESERVED_WORDS_MYSQL.put("TINYBLOB", "TINYBLOB_2");
233        RESERVED_WORDS_MYSQL.put("TINYINT", "TINYINT_2");
234        RESERVED_WORDS_MYSQL.put("TINYTEXT", "TINYTEXT_2");
235        RESERVED_WORDS_MYSQL.put("TO", "TO_2");
236        RESERVED_WORDS_MYSQL.put("TRAILING", "TRAILING_2");
237        RESERVED_WORDS_MYSQL.put("TRIGGER", "TRIGGER_2");
238        RESERVED_WORDS_MYSQL.put("TRUE", "TRUE_2");
239        RESERVED_WORDS_MYSQL.put("UNDO", "UNDO_2");
240        RESERVED_WORDS_MYSQL.put("UNION", "UNION_2");
241        RESERVED_WORDS_MYSQL.put("UNIQUE", "UNIQUE_2");
242        RESERVED_WORDS_MYSQL.put("UNLOCK", "UNLOCK_2");
243        RESERVED_WORDS_MYSQL.put("UNSIGNED", "UNSIGNED_2");
244        RESERVED_WORDS_MYSQL.put("UPDATE", "UPDATE_2");
245        RESERVED_WORDS_MYSQL.put("USAGE", "USAGE_2");
246        RESERVED_WORDS_MYSQL.put("USE", "USE_2");
247        RESERVED_WORDS_MYSQL.put("USING", "USING_2");
248        RESERVED_WORDS_MYSQL.put("UTC_DATE", "UTC_DATE_2");
249        RESERVED_WORDS_MYSQL.put("UTC_TIME", "UTC_TIME_2");
250        RESERVED_WORDS_MYSQL.put("UTC_TIMESTAMP", "UTC_TIMESTAMP_2");
251        RESERVED_WORDS_MYSQL.put("VALUES", "VALUES_2");
252        RESERVED_WORDS_MYSQL.put("VARBINARY", "VARBINARY_2");
253        RESERVED_WORDS_MYSQL.put("VARCHAR", "VARCHAR_2");
254        RESERVED_WORDS_MYSQL.put("VARCHARACTER", "VARCHARACTER_2");
255        RESERVED_WORDS_MYSQL.put("VARYING", "VARYING_2");
256        RESERVED_WORDS_MYSQL.put("WHEN", "WHEN_2");
257        RESERVED_WORDS_MYSQL.put("WHERE", "WHERE_2");
258        RESERVED_WORDS_MYSQL.put("WHILE", "WHILE_2");
259        RESERVED_WORDS_MYSQL.put("WITH", "WITH_2");
260        RESERVED_WORDS_MYSQL.put("WRITE", "WRITE_2");
261        RESERVED_WORDS_MYSQL.put("XOR", "XOR_2");
262        RESERVED_WORDS_MYSQL.put("YEAR_MONTH", "YEAR_MONTH_2");
263        RESERVED_WORDS_MYSQL.put("ZEROFILL", "ZEROFILL_2");
264    }
265    
266    /**
267     * The map of reserved words in ORACLE with their alias
268     */
269    public static final Map<String, String> RESERVED_WORDS_ORACLE = new HashMap<>();
270    static 
271    {
272        RESERVED_WORDS_ORACLE.put("ACCESS", "ACCESS_2");
273        RESERVED_WORDS_ORACLE.put("ACCOUNT", "ACCOUNT_2");
274        RESERVED_WORDS_ORACLE.put("ACTIVATE", "ACTIVATE_2");
275        RESERVED_WORDS_ORACLE.put("ADD", "ADD_2");
276        RESERVED_WORDS_ORACLE.put("ADMIN", "ADMIN_2");
277        RESERVED_WORDS_ORACLE.put("ADVISE", "ADVISE_2");
278        RESERVED_WORDS_ORACLE.put("AFTER", "AFTER_2");
279        RESERVED_WORDS_ORACLE.put("ALL", "ALL_2");
280        RESERVED_WORDS_ORACLE.put("ALL_ROWS", "ALL_ROWS_2");
281        RESERVED_WORDS_ORACLE.put("ALLOCATE", "ALLOCATE_2");
282        RESERVED_WORDS_ORACLE.put("ALTER", "ALTER_2");
283        RESERVED_WORDS_ORACLE.put("ANALYZE", "ANALYZE_2");
284        RESERVED_WORDS_ORACLE.put("AND", "AND_2");
285        RESERVED_WORDS_ORACLE.put("ANY", "ANY_2");
286        RESERVED_WORDS_ORACLE.put("ARCHIVE", "ARCHIVE_2");
287        RESERVED_WORDS_ORACLE.put("ARCHIVELOG", "ARCHIVELOG_2");
288        RESERVED_WORDS_ORACLE.put("ARRAY", "ARRAY_2");
289        RESERVED_WORDS_ORACLE.put("AS", "AS_2");
290        RESERVED_WORDS_ORACLE.put("ASC", "ASC_2");
291        RESERVED_WORDS_ORACLE.put("AT", "AT_2");
292        RESERVED_WORDS_ORACLE.put("AUDIT", "AUDIT_2");
293        RESERVED_WORDS_ORACLE.put("AUTHENTICATED", "AUTHENTICATED_2");
294        RESERVED_WORDS_ORACLE.put("AUTHORIZATION", "AUTHORIZATION_2");
295        RESERVED_WORDS_ORACLE.put("AUTOEXTEND", "AUTOEXTEND_2");
296        RESERVED_WORDS_ORACLE.put("AUTOMATIC", "AUTOMATIC_2");
297        RESERVED_WORDS_ORACLE.put("BACKUP", "BACKUP_2");
298        RESERVED_WORDS_ORACLE.put("BECOME", "BECOME_2");
299        RESERVED_WORDS_ORACLE.put("BEFORE", "BEFORE_2");
300        RESERVED_WORDS_ORACLE.put("BEGIN", "BEGIN_2");
301        RESERVED_WORDS_ORACLE.put("BETWEEN", "BETWEEN_2");
302        RESERVED_WORDS_ORACLE.put("BFILE", "BFILE_2");
303        RESERVED_WORDS_ORACLE.put("BITMAP", "BITMAP_2");
304        RESERVED_WORDS_ORACLE.put("BLOB", "BLOB_2");
305        RESERVED_WORDS_ORACLE.put("BLOCK", "BLOCK_2");
306        RESERVED_WORDS_ORACLE.put("BODY", "BODY_2");
307        RESERVED_WORDS_ORACLE.put("BY", "BY_2");
308        RESERVED_WORDS_ORACLE.put("CACHE", "CACHE_2");
309        RESERVED_WORDS_ORACLE.put("CACHE_INSTANCES", "CACHE_INSTANCES_2");
310        RESERVED_WORDS_ORACLE.put("CANCEL", "CANCEL_2");
311        RESERVED_WORDS_ORACLE.put("CASCADE", "CASCADE_2");
312        RESERVED_WORDS_ORACLE.put("CAST", "CAST_2");
313        RESERVED_WORDS_ORACLE.put("CFILE", "CFILE_2");
314        RESERVED_WORDS_ORACLE.put("CHAINED", "CHAINED_2");
315        RESERVED_WORDS_ORACLE.put("CHANGE", "CHANGE_2");
316        RESERVED_WORDS_ORACLE.put("CHAR", "CHAR_2");
317        RESERVED_WORDS_ORACLE.put("CHAR_CS", "CHAR_CS_2");
318        RESERVED_WORDS_ORACLE.put("CHARACTER", "CHARACTER_2");
319        RESERVED_WORDS_ORACLE.put("CHECK", "CHECK_2");
320        RESERVED_WORDS_ORACLE.put("CHECKPOINT", "CHECKPOINT_2");
321        RESERVED_WORDS_ORACLE.put("CHOOSE", "CHOOSE_2");
322        RESERVED_WORDS_ORACLE.put("CHUNK", "CHUNK_2");
323        RESERVED_WORDS_ORACLE.put("CLEAR", "CLEAR_2");
324        RESERVED_WORDS_ORACLE.put("CLOB", "CLOB_2");
325        RESERVED_WORDS_ORACLE.put("CLONE", "CLONE_2");
326        RESERVED_WORDS_ORACLE.put("CLOSE", "CLOSE_2");
327        RESERVED_WORDS_ORACLE.put("CLOSE_CACHED_OPEN_CURSORS", "CLOSE_CACHED_OPEN_CURSORS_2");
328        RESERVED_WORDS_ORACLE.put("CLUSTER", "CLUSTER_2");
329        RESERVED_WORDS_ORACLE.put("COALESCE", "COALESCE_2");
330        RESERVED_WORDS_ORACLE.put("COLUMN", "COLUMN_2");
331        RESERVED_WORDS_ORACLE.put("COLUMNS", "COLUMNS_2");
332        RESERVED_WORDS_ORACLE.put("COMMENT", "COMMENT_2");
333        RESERVED_WORDS_ORACLE.put("COMMIT", "COMMIT_2");
334        RESERVED_WORDS_ORACLE.put("COMMITTED", "COMMITTED_2");
335        RESERVED_WORDS_ORACLE.put("COMPATIBILITY", "COMPATIBILITY_2");
336        RESERVED_WORDS_ORACLE.put("COMPILE", "COMPILE_2");
337        RESERVED_WORDS_ORACLE.put("COMPLETE", "COMPLETE_2");
338        RESERVED_WORDS_ORACLE.put("COMPOSITE_LIMIT", "COMPOSITE_LIMIT_2");
339        RESERVED_WORDS_ORACLE.put("COMPRESS", "COMPRESS_2");
340        RESERVED_WORDS_ORACLE.put("COMPUTE", "COMPUTE_2");
341        RESERVED_WORDS_ORACLE.put("CONNECT", "CONNECT_2");
342        RESERVED_WORDS_ORACLE.put("CONNECT_TIME", "CONNECT_TIME_2");
343        RESERVED_WORDS_ORACLE.put("CONSTRAINT", "CONSTRAINT_2");
344        RESERVED_WORDS_ORACLE.put("CONSTRAINTS", "CONSTRAINTS_2");
345        RESERVED_WORDS_ORACLE.put("CONTENTS", "CONTENTS_2");
346        RESERVED_WORDS_ORACLE.put("CONTINUE", "CONTINUE_2");
347        RESERVED_WORDS_ORACLE.put("CONTROLFILE", "CONTROLFILE_2");
348        RESERVED_WORDS_ORACLE.put("CONVERT", "CONVERT_2");
349        RESERVED_WORDS_ORACLE.put("COST", "COST_2");
350        RESERVED_WORDS_ORACLE.put("CPU_PER_CALL", "CPU_PER_CALL_2");
351        RESERVED_WORDS_ORACLE.put("CPU_PER_SESSION", "CPU_PER_SESSION_2");
352        RESERVED_WORDS_ORACLE.put("CREATE", "CREATE_2");
353        RESERVED_WORDS_ORACLE.put("CURRENT", "CURRENT_2");
354        RESERVED_WORDS_ORACLE.put("CURRENT_SCHEMA", "CURRENT_SCHEMA_2");
355        RESERVED_WORDS_ORACLE.put("CURREN_USER", "CURREN_USER_2");
356        RESERVED_WORDS_ORACLE.put("CURSOR", "CURSOR_2");
357        RESERVED_WORDS_ORACLE.put("CYCLE", "CYCLE_2");
358        RESERVED_WORDS_ORACLE.put("DANGLING", "DANGLING_2");
359        RESERVED_WORDS_ORACLE.put("DATABASE", "DATABASE_2");
360        RESERVED_WORDS_ORACLE.put("DATAFILE", "DATAFILE_2");
361        RESERVED_WORDS_ORACLE.put("DATAFILES", "DATAFILES_2");
362        RESERVED_WORDS_ORACLE.put("DATAOBJNO", "DATAOBJNO_2");
363        RESERVED_WORDS_ORACLE.put("DATE", "DATE_2");
364        RESERVED_WORDS_ORACLE.put("DBA", "DBA_2");
365        RESERVED_WORDS_ORACLE.put("DBHIGH", "DBHIGH_2");
366        RESERVED_WORDS_ORACLE.put("DBLOW", "DBLOW_2");
367        RESERVED_WORDS_ORACLE.put("DBMAC", "DBMAC_2");
368        RESERVED_WORDS_ORACLE.put("DEALLOCATE", "DEALLOCATE_2");
369        RESERVED_WORDS_ORACLE.put("DEBUG", "DEBUG_2");
370        RESERVED_WORDS_ORACLE.put("DEC", "DEC_2");
371        RESERVED_WORDS_ORACLE.put("DECIMAL", "DECIMAL_2");
372        RESERVED_WORDS_ORACLE.put("DECLARE", "DECLARE_2");
373        RESERVED_WORDS_ORACLE.put("DEFAULT", "DEFAULT_2");
374        RESERVED_WORDS_ORACLE.put("DEFERRABLE", "DEFERRABLE_2");
375        RESERVED_WORDS_ORACLE.put("DEFERRED", "DEFERRED_2");
376        RESERVED_WORDS_ORACLE.put("DEGREE", "DEGREE_2");
377        RESERVED_WORDS_ORACLE.put("DELETE", "DELETE_2");
378        RESERVED_WORDS_ORACLE.put("DEREF", "DEREF_2");
379        RESERVED_WORDS_ORACLE.put("DESC", "DESC_2");
380        RESERVED_WORDS_ORACLE.put("DIRECTORY", "DIRECTORY_2");
381        RESERVED_WORDS_ORACLE.put("DISABLE", "DISABLE_2");
382        RESERVED_WORDS_ORACLE.put("DISCONNECT", "DISCONNECT_2");
383        RESERVED_WORDS_ORACLE.put("DISMOUNT", "DISMOUNT_2");
384        RESERVED_WORDS_ORACLE.put("DISTINCT", "DISTINCT_2");
385        RESERVED_WORDS_ORACLE.put("DISTRIBUTED", "DISTRIBUTED_2");
386        RESERVED_WORDS_ORACLE.put("DML", "DML_2");
387        RESERVED_WORDS_ORACLE.put("DOUBLE", "DOUBLE_2");
388        RESERVED_WORDS_ORACLE.put("DROP", "DROP_2");
389        RESERVED_WORDS_ORACLE.put("DUMP", "DUMP_2");
390        RESERVED_WORDS_ORACLE.put("EACH", "EACH_2");
391        RESERVED_WORDS_ORACLE.put("ELSE", "ELSE_2");
392        RESERVED_WORDS_ORACLE.put("ENABLE", "ENABLE_2");
393        RESERVED_WORDS_ORACLE.put("END", "END_2");
394        RESERVED_WORDS_ORACLE.put("ENFORCE", "ENFORCE_2");
395        RESERVED_WORDS_ORACLE.put("ENTRY", "ENTRY_2");
396        RESERVED_WORDS_ORACLE.put("ESCAPE", "ESCAPE_2");
397        RESERVED_WORDS_ORACLE.put("EXCEPT", "EXCEPT_2");
398        RESERVED_WORDS_ORACLE.put("EXCEPTIONS", "EXCEPTIONS_2");
399        RESERVED_WORDS_ORACLE.put("EXCHANGE", "EXCHANGE_2");
400        RESERVED_WORDS_ORACLE.put("EXCLUDING", "EXCLUDING_2");
401        RESERVED_WORDS_ORACLE.put("EXCLUSIVE", "EXCLUSIVE_2");
402        RESERVED_WORDS_ORACLE.put("EXECUTE", "EXECUTE_2");
403        RESERVED_WORDS_ORACLE.put("EXISTS", "EXISTS_2");
404        RESERVED_WORDS_ORACLE.put("EXPIRE", "EXPIRE_2");
405        RESERVED_WORDS_ORACLE.put("EXPLAIN", "EXPLAIN_2");
406        RESERVED_WORDS_ORACLE.put("EXTENT", "EXTENT_2");
407        RESERVED_WORDS_ORACLE.put("EXTENTS", "EXTENTS_2");
408        RESERVED_WORDS_ORACLE.put("EXTERNALLY", "EXTERNALLY_2");
409        RESERVED_WORDS_ORACLE.put("FAILED_LOGIN_ATTEMPTS", "FAILED_LOGIN_ATTEMPTS_2");
410        RESERVED_WORDS_ORACLE.put("FALSE", "FALSE_2");
411        RESERVED_WORDS_ORACLE.put("FAST", "FAST_2");
412        RESERVED_WORDS_ORACLE.put("FILE", "FILE_2");
413        RESERVED_WORDS_ORACLE.put("FIRST_ROWS", "FIRST_ROWS_2");
414        RESERVED_WORDS_ORACLE.put("FLAGGER", "FLAGGER_2");
415        RESERVED_WORDS_ORACLE.put("FLOAT", "FLOAT_2");
416        RESERVED_WORDS_ORACLE.put("FLOB", "FLOB_2");
417        RESERVED_WORDS_ORACLE.put("FLUSH", "FLUSH_2");
418        RESERVED_WORDS_ORACLE.put("FOR", "FOR_2");
419        RESERVED_WORDS_ORACLE.put("FORCE", "FORCE_2");
420        RESERVED_WORDS_ORACLE.put("FOREIGN", "FOREIGN_2");
421        RESERVED_WORDS_ORACLE.put("FREELIST", "FREELIST_2");
422        RESERVED_WORDS_ORACLE.put("FREELISTS", "FREELISTS_2");
423        RESERVED_WORDS_ORACLE.put("FROM", "FROM_2");
424        RESERVED_WORDS_ORACLE.put("FULL", "FULL_2");
425        RESERVED_WORDS_ORACLE.put("FUNCTION", "FUNCTION_2");
426        RESERVED_WORDS_ORACLE.put("GLOBAL", "GLOBAL_2");
427        RESERVED_WORDS_ORACLE.put("GLOBALLY", "GLOBALLY_2");
428        RESERVED_WORDS_ORACLE.put("GLOBAL_NAME", "GLOBAL_NAME_2");
429        RESERVED_WORDS_ORACLE.put("GRANT", "GRANT_2");
430        RESERVED_WORDS_ORACLE.put("GROUP", "GROUP_2");
431        RESERVED_WORDS_ORACLE.put("GROUPS", "GROUPS_2");
432        RESERVED_WORDS_ORACLE.put("HASH", "HASH_2");
433        RESERVED_WORDS_ORACLE.put("HASHKEYS", "HASHKEYS_2");
434        RESERVED_WORDS_ORACLE.put("HAVING", "HAVING_2");
435        RESERVED_WORDS_ORACLE.put("HEADER", "HEADER_2");
436        RESERVED_WORDS_ORACLE.put("HEAP", "HEAP_2");
437        RESERVED_WORDS_ORACLE.put("IDENTIFIED", "IDENTIFIED_2");
438        RESERVED_WORDS_ORACLE.put("IDGENERATORS", "IDGENERATORS_2");
439        RESERVED_WORDS_ORACLE.put("IDLE_TIME", "IDLE_TIME_2");
440        RESERVED_WORDS_ORACLE.put("IF", "IF_2");
441        RESERVED_WORDS_ORACLE.put("IMMEDIATE", "IMMEDIATE_2");
442        RESERVED_WORDS_ORACLE.put("IN", "IN_2");
443        RESERVED_WORDS_ORACLE.put("INCLUDING", "INCLUDING_2");
444        RESERVED_WORDS_ORACLE.put("INCREMENT", "INCREMENT_2");
445        RESERVED_WORDS_ORACLE.put("INDEX", "INDEX_2");
446        RESERVED_WORDS_ORACLE.put("INDEXED", "INDEXED_2");
447        RESERVED_WORDS_ORACLE.put("INDEXES", "INDEXES_2");
448        RESERVED_WORDS_ORACLE.put("INDICATOR", "INDICATOR_2");
449        RESERVED_WORDS_ORACLE.put("IND_PARTITION", "IND_PARTITION_2");
450        RESERVED_WORDS_ORACLE.put("INITIAL", "INITIAL_2");
451        RESERVED_WORDS_ORACLE.put("INITIALLY", "INITIALLY_2");
452        RESERVED_WORDS_ORACLE.put("INITRANS", "INITRANS_2");
453        RESERVED_WORDS_ORACLE.put("INSERT", "INSERT_2");
454        RESERVED_WORDS_ORACLE.put("INSTANCE", "INSTANCE_2");
455        RESERVED_WORDS_ORACLE.put("INSTANCES", "INSTANCES_2");
456        RESERVED_WORDS_ORACLE.put("INSTEAD", "INSTEAD_2");
457        RESERVED_WORDS_ORACLE.put("INT", "INT_2");
458        RESERVED_WORDS_ORACLE.put("INTEGER", "INTEGER_2");
459        RESERVED_WORDS_ORACLE.put("INTERMEDIATE", "INTERMEDIATE_2");
460        RESERVED_WORDS_ORACLE.put("INTERSECT", "INTERSECT_2");
461        RESERVED_WORDS_ORACLE.put("INTO", "INTO_2");
462        RESERVED_WORDS_ORACLE.put("IS", "IS_2");
463        RESERVED_WORDS_ORACLE.put("ISOLATION", "ISOLATION_2");
464        RESERVED_WORDS_ORACLE.put("ISOLATION_LEVEL", "ISOLATION_LEVEL_2");
465        RESERVED_WORDS_ORACLE.put("KEEP", "KEEP_2");
466        RESERVED_WORDS_ORACLE.put("KEY", "KEY_2");
467        RESERVED_WORDS_ORACLE.put("KILL", "KILL_2");
468        RESERVED_WORDS_ORACLE.put("LABEL", "LABEL_2");
469        RESERVED_WORDS_ORACLE.put("LAYER", "LAYER_2");
470        RESERVED_WORDS_ORACLE.put("LESS", "LESS_2");
471        RESERVED_WORDS_ORACLE.put("LEVEL", "LEVEL_2");
472        RESERVED_WORDS_ORACLE.put("LIBRARY", "LIBRARY_2");
473        RESERVED_WORDS_ORACLE.put("LIKE", "LIKE_2");
474        RESERVED_WORDS_ORACLE.put("LIMIT", "LIMIT_2");
475        RESERVED_WORDS_ORACLE.put("LINK", "LINK_2");
476        RESERVED_WORDS_ORACLE.put("LIST", "LIST_2");
477        RESERVED_WORDS_ORACLE.put("LOB", "LOB_2");
478        RESERVED_WORDS_ORACLE.put("LOCAL", "LOCAL_2");
479        RESERVED_WORDS_ORACLE.put("LOCK", "LOCK_2");
480        RESERVED_WORDS_ORACLE.put("LOCKED", "LOCKED_2");
481        RESERVED_WORDS_ORACLE.put("LOG", "LOG_2");
482        RESERVED_WORDS_ORACLE.put("LOGFILE", "LOGFILE_2");
483        RESERVED_WORDS_ORACLE.put("LOGGING", "LOGGING_2");
484        RESERVED_WORDS_ORACLE.put("LOGICAL_READS_PER_CALL", "LOGICAL_READS_PER_CALL_2");
485        RESERVED_WORDS_ORACLE.put("LOGICAL_READS_PER_SESSION", "LOGICAL_READS_PER_SESSION_2");
486        RESERVED_WORDS_ORACLE.put("LONG", "LONG_2");
487        RESERVED_WORDS_ORACLE.put("MANAGE", "MANAGE_2");
488        RESERVED_WORDS_ORACLE.put("MASTER", "MASTER_2");
489        RESERVED_WORDS_ORACLE.put("MAX", "MAX_2");
490        RESERVED_WORDS_ORACLE.put("MAXARCHLOGS", "MAXARCHLOGS_2");
491        RESERVED_WORDS_ORACLE.put("MAXDATAFILES", "MAXDATAFILES_2");
492        RESERVED_WORDS_ORACLE.put("MAXEXTENTS", "MAXEXTENTS_2");
493        RESERVED_WORDS_ORACLE.put("MAXINSTANCES", "MAXINSTANCES_2");
494        RESERVED_WORDS_ORACLE.put("MAXLOGFILES", "MAXLOGFILES_2");
495        RESERVED_WORDS_ORACLE.put("MAXLOGHISTORY", "MAXLOGHISTORY_2");
496        RESERVED_WORDS_ORACLE.put("MAXLOGMEMBERS", "MAXLOGMEMBERS_2");
497        RESERVED_WORDS_ORACLE.put("MAXSIZE", "MAXSIZE_2");
498        RESERVED_WORDS_ORACLE.put("MAXTRANS", "MAXTRANS_2");
499        RESERVED_WORDS_ORACLE.put("MAXVALUE", "MAXVALUE_2");
500        RESERVED_WORDS_ORACLE.put("MIN", "MIN_2");
501        RESERVED_WORDS_ORACLE.put("MEMBER", "MEMBER_2");
502        RESERVED_WORDS_ORACLE.put("MINIMUM", "MINIMUM_2");
503        RESERVED_WORDS_ORACLE.put("MINEXTENTS", "MINEXTENTS_2");
504        RESERVED_WORDS_ORACLE.put("MINUS", "MINUS_2");
505        RESERVED_WORDS_ORACLE.put("MINVALUE", "MINVALUE_2");
506        RESERVED_WORDS_ORACLE.put("MLSLABEL", "MLSLABEL_2");
507        RESERVED_WORDS_ORACLE.put("MLS_LABEL_FORMAT", "MLS_LABEL_FORMAT_2");
508        RESERVED_WORDS_ORACLE.put("MODE", "MODE_2");
509        RESERVED_WORDS_ORACLE.put("MODIFY", "MODIFY_2");
510        RESERVED_WORDS_ORACLE.put("MOUNT", "MOUNT_2");
511        RESERVED_WORDS_ORACLE.put("MOVE", "MOVE_2");
512        RESERVED_WORDS_ORACLE.put("MTS_DISPATCHERS", "MTS_DISPATCHERS_2");
513        RESERVED_WORDS_ORACLE.put("MULTISET", "MULTISET_2");
514        RESERVED_WORDS_ORACLE.put("NATIONAL", "NATIONAL_2");
515        RESERVED_WORDS_ORACLE.put("NCHAR", "NCHAR_2");
516        RESERVED_WORDS_ORACLE.put("NCHAR_CS", "NCHAR_CS_2");
517        RESERVED_WORDS_ORACLE.put("NCLOB", "NCLOB_2");
518        RESERVED_WORDS_ORACLE.put("NEEDED", "NEEDED_2");
519        RESERVED_WORDS_ORACLE.put("NESTED", "NESTED_2");
520        RESERVED_WORDS_ORACLE.put("NETWORK", "NETWORK_2");
521        RESERVED_WORDS_ORACLE.put("NEW", "NEW_2");
522        RESERVED_WORDS_ORACLE.put("NEXT", "NEXT_2");
523        RESERVED_WORDS_ORACLE.put("NOARCHIVELOG", "NOARCHIVELOG_2");
524        RESERVED_WORDS_ORACLE.put("NOAUDIT", "NOAUDIT_2");
525        RESERVED_WORDS_ORACLE.put("NOCACHE", "NOCACHE_2");
526        RESERVED_WORDS_ORACLE.put("NOCOMPRESS", "NOCOMPRESS_2");
527        RESERVED_WORDS_ORACLE.put("NOCYCLE", "NOCYCLE_2");
528        RESERVED_WORDS_ORACLE.put("NOFORCE", "NOFORCE_2");
529        RESERVED_WORDS_ORACLE.put("NOLOGGING", "NOLOGGING_2");
530        RESERVED_WORDS_ORACLE.put("NOMAXVALUE", "NOMAXVALUE_2");
531        RESERVED_WORDS_ORACLE.put("NOMINVALUE", "NOMINVALUE_2");
532        RESERVED_WORDS_ORACLE.put("NONE", "NONE_2");
533        RESERVED_WORDS_ORACLE.put("NOORDER", "NOORDER_2");
534        RESERVED_WORDS_ORACLE.put("NOOVERRIDE", "NOOVERRIDE_2");
535        RESERVED_WORDS_ORACLE.put("NOPARALLEL", "NOPARALLEL_2");
536        RESERVED_WORDS_ORACLE.put("NOPARALLEL", "NOPARALLEL_2");
537        RESERVED_WORDS_ORACLE.put("NOREVERSE", "NOREVERSE_2");
538        RESERVED_WORDS_ORACLE.put("NORMAL", "NORMAL_2");
539        RESERVED_WORDS_ORACLE.put("NOSORT", "NOSORT_2");
540        RESERVED_WORDS_ORACLE.put("NOT", "NOT_2");
541        RESERVED_WORDS_ORACLE.put("NOTHING", "NOTHING_2");
542        RESERVED_WORDS_ORACLE.put("NOWAIT", "NOWAIT_2");
543        RESERVED_WORDS_ORACLE.put("NULL", "NULL_2");
544        RESERVED_WORDS_ORACLE.put("NUMBER", "NUMBER_2");
545        RESERVED_WORDS_ORACLE.put("NUMERIC", "NUMERIC_2");
546        RESERVED_WORDS_ORACLE.put("NVARCHAR2", "NVARCHAR2_2");
547        RESERVED_WORDS_ORACLE.put("OBJECT", "OBJECT_2");
548        RESERVED_WORDS_ORACLE.put("OBJNO", "OBJNO_2");
549        RESERVED_WORDS_ORACLE.put("OBJNO_REUSE", "OBJNO_REUSE_2");
550        RESERVED_WORDS_ORACLE.put("OF", "OF_2");
551        RESERVED_WORDS_ORACLE.put("OFF", "OFF_2");
552        RESERVED_WORDS_ORACLE.put("OFFLINE", "OFFLINE_2");
553        RESERVED_WORDS_ORACLE.put("OID", "OID_2");
554        RESERVED_WORDS_ORACLE.put("OIDINDEX", "OIDINDEX_2");
555        RESERVED_WORDS_ORACLE.put("OLD", "OLD_2");
556        RESERVED_WORDS_ORACLE.put("ON", "ON_2");
557        RESERVED_WORDS_ORACLE.put("ONLINE", "ONLINE_2");
558        RESERVED_WORDS_ORACLE.put("ONLY", "ONLY_2");
559        RESERVED_WORDS_ORACLE.put("OPCODE", "OPCODE_2");
560        RESERVED_WORDS_ORACLE.put("OPEN", "OPEN_2");
561        RESERVED_WORDS_ORACLE.put("OPTIMAL", "OPTIMAL_2");
562        RESERVED_WORDS_ORACLE.put("OPTIMIZER_GOAL", "OPTIMIZER_GOAL_2");
563        RESERVED_WORDS_ORACLE.put("OPTION", "OPTION_2");
564        RESERVED_WORDS_ORACLE.put("OR", "OR_2");
565        RESERVED_WORDS_ORACLE.put("ORDER", "ORDER_2");
566        RESERVED_WORDS_ORACLE.put("ORGANIZATION", "ORGANIZATION_2");
567        RESERVED_WORDS_ORACLE.put("OSLABEL", "OSLABEL_2");
568        RESERVED_WORDS_ORACLE.put("OVERFLOW", "OVERFLOW_2");
569        RESERVED_WORDS_ORACLE.put("OWN", "OWN_2");
570        RESERVED_WORDS_ORACLE.put("PACKAGE", "PACKAGE_2");
571        RESERVED_WORDS_ORACLE.put("PARALLEL", "PARALLEL_2");
572        RESERVED_WORDS_ORACLE.put("PARTITION", "PARTITION_2");
573        RESERVED_WORDS_ORACLE.put("PASSWORD", "PASSWORD_2");
574        RESERVED_WORDS_ORACLE.put("PASSWORD_GRACE_TIME", "PASSWORD_GRACE_TIME_2");
575        RESERVED_WORDS_ORACLE.put("PASSWORD_LIFE_TIME", "PASSWORD_LIFE_TIME_2");
576        RESERVED_WORDS_ORACLE.put("PASSWORD_LOCK_TIME", "PASSWORD_LOCK_TIME_2");
577        RESERVED_WORDS_ORACLE.put("PASSWORD_REUSE_MAX", "PASSWORD_REUSE_MAX_2");
578        RESERVED_WORDS_ORACLE.put("PASSWORD_REUSE_TIME", "PASSWORD_REUSE_TIME_2");
579        RESERVED_WORDS_ORACLE.put("PASSWORD_VERIFY_FUNCTION", "PASSWORD_VERIFY_FUNCTION_2");
580        RESERVED_WORDS_ORACLE.put("PCTFREE", "PCTFREE_2");
581        RESERVED_WORDS_ORACLE.put("PCTINCREASE", "PCTINCREASE_2");
582        RESERVED_WORDS_ORACLE.put("PCTTHRESHOLD", "PCTTHRESHOLD_2");
583        RESERVED_WORDS_ORACLE.put("PCTUSED", "PCTUSED_2");
584        RESERVED_WORDS_ORACLE.put("PCTVERSION", "PCTVERSION_2");
585        RESERVED_WORDS_ORACLE.put("PERCENT", "PERCENT_2");
586        RESERVED_WORDS_ORACLE.put("PERMANENT", "PERMANENT_2");
587        RESERVED_WORDS_ORACLE.put("PLAN", "PLAN_2");
588        RESERVED_WORDS_ORACLE.put("PLSQL_DEBUG", "PLSQL_DEBUG_2");
589        RESERVED_WORDS_ORACLE.put("POST_TRANSACTION", "POST_TRANSACTION_2");
590        RESERVED_WORDS_ORACLE.put("PRECISION", "PRECISION_2");
591        RESERVED_WORDS_ORACLE.put("PRESERVE", "PRESERVE_2");
592        RESERVED_WORDS_ORACLE.put("PRIMARY", "PRIMARY_2");
593        RESERVED_WORDS_ORACLE.put("PRIOR", "PRIOR_2");
594        RESERVED_WORDS_ORACLE.put("PRIVATE", "PRIVATE_2");
595        RESERVED_WORDS_ORACLE.put("PRIVATE_SGA", "PRIVATE_SGA_2");
596        RESERVED_WORDS_ORACLE.put("PRIVILEGE", "PRIVILEGE_2");
597        RESERVED_WORDS_ORACLE.put("PRIVILEGES", "PRIVILEGES_2");
598        RESERVED_WORDS_ORACLE.put("PROCEDURE", "PROCEDURE_2");
599        RESERVED_WORDS_ORACLE.put("PROFILE", "PROFILE_2");
600        RESERVED_WORDS_ORACLE.put("PUBLIC", "PUBLIC_2");
601        RESERVED_WORDS_ORACLE.put("PURGE", "PURGE_2");
602        RESERVED_WORDS_ORACLE.put("QUEUE", "QUEUE_2");
603        RESERVED_WORDS_ORACLE.put("QUOTA", "QUOTA_2");
604        RESERVED_WORDS_ORACLE.put("RANGE", "RANGE_2");
605        RESERVED_WORDS_ORACLE.put("RAW", "RAW_2");
606        RESERVED_WORDS_ORACLE.put("RBA", "RBA_2");
607        RESERVED_WORDS_ORACLE.put("READ", "READ_2");
608        RESERVED_WORDS_ORACLE.put("READUP", "READUP_2");
609        RESERVED_WORDS_ORACLE.put("REAL", "REAL_2");
610        RESERVED_WORDS_ORACLE.put("REBUILD", "REBUILD_2");
611        RESERVED_WORDS_ORACLE.put("RECOVER", "RECOVER_2");
612        RESERVED_WORDS_ORACLE.put("RECOVERABLE", "RECOVERABLE_2");
613        RESERVED_WORDS_ORACLE.put("RECOVERY", "RECOVERY_2");
614        RESERVED_WORDS_ORACLE.put("REF", "REF_2");
615        RESERVED_WORDS_ORACLE.put("REFERENCES", "REFERENCES_2");
616        RESERVED_WORDS_ORACLE.put("REFERENCING", "REFERENCING_2");
617        RESERVED_WORDS_ORACLE.put("REFRESH", "REFRESH_2");
618        RESERVED_WORDS_ORACLE.put("RENAME", "RENAME_2");
619        RESERVED_WORDS_ORACLE.put("REPLACE", "REPLACE_2");
620        RESERVED_WORDS_ORACLE.put("RESET", "RESET_2");
621        RESERVED_WORDS_ORACLE.put("RESETLOGS", "RESETLOGS_2");
622        RESERVED_WORDS_ORACLE.put("RESIZE", "RESIZE_2");
623        RESERVED_WORDS_ORACLE.put("RESOURCE", "RESOURCE_2");
624        RESERVED_WORDS_ORACLE.put("RESTRICTED", "RESTRICTED_2");
625        RESERVED_WORDS_ORACLE.put("RETURN", "RETURN_2");
626        RESERVED_WORDS_ORACLE.put("RETURNING", "RETURNING_2");
627        RESERVED_WORDS_ORACLE.put("REUSE", "REUSE_2");
628        RESERVED_WORDS_ORACLE.put("REVERSE", "REVERSE_2");
629        RESERVED_WORDS_ORACLE.put("REVOKE", "REVOKE_2");
630        RESERVED_WORDS_ORACLE.put("ROLE", "ROLE_2");
631        RESERVED_WORDS_ORACLE.put("ROLES", "ROLES_2");
632        RESERVED_WORDS_ORACLE.put("ROLLBACK", "ROLLBACK_2");
633        RESERVED_WORDS_ORACLE.put("ROW", "ROW_2");
634        RESERVED_WORDS_ORACLE.put("ROWID", "ROWID_2");
635        RESERVED_WORDS_ORACLE.put("ROWNUM", "ROWNUM_2");
636        RESERVED_WORDS_ORACLE.put("ROWS", "ROWS_2");
637        RESERVED_WORDS_ORACLE.put("RULE", "RULE_2");
638        RESERVED_WORDS_ORACLE.put("SAMPLE", "SAMPLE_2");
639        RESERVED_WORDS_ORACLE.put("SAVEPOINT", "SAVEPOINT_2");
640        RESERVED_WORDS_ORACLE.put("SB4", "SB4_2");
641        RESERVED_WORDS_ORACLE.put("SCAN_INSTANCES", "SCAN_INSTANCES_2");
642        RESERVED_WORDS_ORACLE.put("SCHEMA", "SCHEMA_2");
643        RESERVED_WORDS_ORACLE.put("SCN", "SCN_2");
644        RESERVED_WORDS_ORACLE.put("SCOPE", "SCOPE_2");
645        RESERVED_WORDS_ORACLE.put("SD_ALL", "SD_ALL_2");
646        RESERVED_WORDS_ORACLE.put("SD_INHIBIT", "SD_INHIBIT_2");
647        RESERVED_WORDS_ORACLE.put("SD_SHOW", "SD_SHOW_2");
648        RESERVED_WORDS_ORACLE.put("SEGMENT", "SEGMENT_2");
649        RESERVED_WORDS_ORACLE.put("SEG_BLOCK", "SEG_BLOCK_2");
650        RESERVED_WORDS_ORACLE.put("SEG_FILE", "SEG_FILE_2");
651        RESERVED_WORDS_ORACLE.put("SELECT", "SELECT_2");
652        RESERVED_WORDS_ORACLE.put("SEQUENCE", "SEQUENCE_2");
653        RESERVED_WORDS_ORACLE.put("SERIALIZABLE", "SERIALIZABLE_2");
654        RESERVED_WORDS_ORACLE.put("SESSION", "SESSION_2");
655        RESERVED_WORDS_ORACLE.put("SESSION_CACHED_CURSORS", "SESSION_CACHED_CURSORS_2");
656        RESERVED_WORDS_ORACLE.put("SESSIONS_PER_USER", "SESSIONS_PER_USER_2");
657        RESERVED_WORDS_ORACLE.put("SET", "SET_2");
658        RESERVED_WORDS_ORACLE.put("SHARE", "SHARE_2");
659        RESERVED_WORDS_ORACLE.put("SHARED", "SHARED_2");
660        RESERVED_WORDS_ORACLE.put("SHARED_POOL", "SHARED_POOL_2");
661        RESERVED_WORDS_ORACLE.put("SHRINK", "SHRINK_2");
662        RESERVED_WORDS_ORACLE.put("SIZE", "SIZE_2");
663        RESERVED_WORDS_ORACLE.put("SKIP", "SKIP_2");
664        RESERVED_WORDS_ORACLE.put("SKIP_UNUSABLE_INDEXES", "SKIP_UNUSABLE_INDEXES_2");
665        RESERVED_WORDS_ORACLE.put("SMALLINT", "SMALLINT_2");
666        RESERVED_WORDS_ORACLE.put("SNAPSHOT", "SNAPSHOT_2");
667        RESERVED_WORDS_ORACLE.put("SOME", "SOME_2");
668        RESERVED_WORDS_ORACLE.put("SORT", "SORT_2");
669        RESERVED_WORDS_ORACLE.put("SPECIFICATION", "SPECIFICATION_2");
670        RESERVED_WORDS_ORACLE.put("SPLIT", "SPLIT_2");
671        RESERVED_WORDS_ORACLE.put("SQL_TRACE", "SQL_TRACE_2");
672        RESERVED_WORDS_ORACLE.put("STANDBY", "STANDBY_2");
673        RESERVED_WORDS_ORACLE.put("START", "START_2");
674        RESERVED_WORDS_ORACLE.put("STATEMENT_ID", "STATEMENT_ID_2");
675        RESERVED_WORDS_ORACLE.put("STATISTICS", "STATISTICS_2");
676        RESERVED_WORDS_ORACLE.put("STOP", "STOP_2");
677        RESERVED_WORDS_ORACLE.put("STORAGE", "STORAGE_2");
678        RESERVED_WORDS_ORACLE.put("STORE", "STORE_2");
679        RESERVED_WORDS_ORACLE.put("STRUCTURE", "STRUCTURE_2");
680        RESERVED_WORDS_ORACLE.put("SUCCESSFUL", "SUCCESSFUL_2");
681        RESERVED_WORDS_ORACLE.put("SWITCH", "SWITCH_2");
682        RESERVED_WORDS_ORACLE.put("SYNONYM", "SYNONYM_2");
683        RESERVED_WORDS_ORACLE.put("SYSDATE", "SYSDATE_2");
684        RESERVED_WORDS_ORACLE.put("SYSDBA", "SYSDBA_2");
685        RESERVED_WORDS_ORACLE.put("SYSOPER", "SYSOPER_2");
686        RESERVED_WORDS_ORACLE.put("SYSTEM", "SYSTEM_2");
687        RESERVED_WORDS_ORACLE.put("TABLE", "TABLE_2");
688        RESERVED_WORDS_ORACLE.put("TABLES", "TABLES_2");
689        RESERVED_WORDS_ORACLE.put("TABLESPACE", "TABLESPACE_2");
690        RESERVED_WORDS_ORACLE.put("TABLESPACE_NO", "TABLESPACE_NO_2");
691        RESERVED_WORDS_ORACLE.put("TABNO", "TABNO_2");
692        RESERVED_WORDS_ORACLE.put("TEMPORARY", "TEMPORARY_2");
693        RESERVED_WORDS_ORACLE.put("THAN", "THAN_2");
694        RESERVED_WORDS_ORACLE.put("THE", "THE_2");
695        RESERVED_WORDS_ORACLE.put("THEN", "THEN_2");
696        RESERVED_WORDS_ORACLE.put("THREAD", "THREAD_2");
697        RESERVED_WORDS_ORACLE.put("TIMESTAMP", "TIMESTAMP_2");
698        RESERVED_WORDS_ORACLE.put("TIME", "TIME_2");
699        RESERVED_WORDS_ORACLE.put("TO", "TO_2");
700        RESERVED_WORDS_ORACLE.put("TOPLEVEL", "TOPLEVEL_2");
701        RESERVED_WORDS_ORACLE.put("TRACE", "TRACE_2");
702        RESERVED_WORDS_ORACLE.put("TRACING", "TRACING_2");
703        RESERVED_WORDS_ORACLE.put("TRANSACTION", "TRANSACTION_2");
704        RESERVED_WORDS_ORACLE.put("TRANSITIONAL", "TRANSITIONAL_2");
705        RESERVED_WORDS_ORACLE.put("TRIGGER", "TRIGGER_2");
706        RESERVED_WORDS_ORACLE.put("TRIGGERS", "TRIGGERS_2");
707        RESERVED_WORDS_ORACLE.put("TRUE", "TRUE_2");
708        RESERVED_WORDS_ORACLE.put("TRUNCATE", "TRUNCATE_2");
709        RESERVED_WORDS_ORACLE.put("TX", "TX_2");
710        RESERVED_WORDS_ORACLE.put("TYPE", "TYPE_2");
711        RESERVED_WORDS_ORACLE.put("UB2", "UB2_2");
712        RESERVED_WORDS_ORACLE.put("UBA", "UBA_2");
713        RESERVED_WORDS_ORACLE.put("UID", "UID_2");
714        RESERVED_WORDS_ORACLE.put("UNARCHIVED", "UNARCHIVED_2");
715        RESERVED_WORDS_ORACLE.put("UNDO", "UNDO_2");
716        RESERVED_WORDS_ORACLE.put("UNION", "UNION_2");
717        RESERVED_WORDS_ORACLE.put("UNIQUE", "UNIQUE_2");
718        RESERVED_WORDS_ORACLE.put("UNLIMITED", "UNLIMITED_2");
719        RESERVED_WORDS_ORACLE.put("UNLOCK", "UNLOCK_2");
720        RESERVED_WORDS_ORACLE.put("UNRECOVERABLE", "UNRECOVERABLE_2");
721        RESERVED_WORDS_ORACLE.put("UNTIL", "UNTIL_2");
722        RESERVED_WORDS_ORACLE.put("UNUSABLE", "UNUSABLE_2");
723        RESERVED_WORDS_ORACLE.put("UNUSED", "UNUSED_2");
724        RESERVED_WORDS_ORACLE.put("UPDATABLE", "UPDATABLE_2");
725        RESERVED_WORDS_ORACLE.put("UPDATE", "UPDATE_2");
726        RESERVED_WORDS_ORACLE.put("USAGE", "USAGE_2");
727        RESERVED_WORDS_ORACLE.put("USE", "USE_2");
728        RESERVED_WORDS_ORACLE.put("USER", "USER_2");
729        RESERVED_WORDS_ORACLE.put("USING", "USING_2");
730        RESERVED_WORDS_ORACLE.put("VALIDATE", "VALIDATE_2");
731        RESERVED_WORDS_ORACLE.put("VALIDATION", "VALIDATION_2");
732        RESERVED_WORDS_ORACLE.put("VALUE", "VALUE_2");
733        RESERVED_WORDS_ORACLE.put("VALUES", "VALUES_2");
734        RESERVED_WORDS_ORACLE.put("VARCHAR", "VARCHAR_2");
735        RESERVED_WORDS_ORACLE.put("VARCHAR2", "VARCHAR2_2");
736        RESERVED_WORDS_ORACLE.put("VARYING", "VARYING_2");
737        RESERVED_WORDS_ORACLE.put("VIEW", "VIEW_2");
738        RESERVED_WORDS_ORACLE.put("WHEN", "WHEN_2");
739        RESERVED_WORDS_ORACLE.put("WHENEVER", "WHENEVER_2");
740        RESERVED_WORDS_ORACLE.put("WHERE", "WHERE_2");
741        RESERVED_WORDS_ORACLE.put("WITH", "WITH_2");
742        RESERVED_WORDS_ORACLE.put("WITHOUT", "WITHOUT_2");
743        RESERVED_WORDS_ORACLE.put("WORK", "WORK_2");
744        RESERVED_WORDS_ORACLE.put("WRITE", "WRITE_2");
745        RESERVED_WORDS_ORACLE.put("WRITEDOWN", "WRITEDOWN_2");
746        RESERVED_WORDS_ORACLE.put("WRITEUP", "WRITEUP_2");
747        RESERVED_WORDS_ORACLE.put("XID", "XID_2");
748        RESERVED_WORDS_ORACLE.put("YEAR", "YEAR_2");
749        RESERVED_WORDS_ORACLE.put("ZONE", "ZONE_2");
750    }
751    
752    private ReservedWordsUtils ()
753    {
754        // Nothing
755    }
756    
757    /**
758     * Get the reserved words
759     * @return the map of reserved words
760     */
761    public static Map<String, Map<String, String>> getReservedWords()
762    {
763        Map<String, Map<String, String>> reservedWords = new HashMap<>();
764        reservedWords.put(MYSQL_KEY, RESERVED_WORDS_MYSQL);
765        reservedWords.put(ORACLE_KEY, RESERVED_WORDS_ORACLE);
766        
767        return reservedWords;
768    }
769}