oracle-sql-parser 0.9.2 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +213 -0
  3. data/LICENSE.txt +21 -0
  4. data/README.md +66 -3
  5. data/Rakefile +62 -10
  6. data/lib/oracle-sql-parser/ast/fetch.rb +12 -0
  7. data/lib/oracle-sql-parser/ast/number_literal.rb +1 -1
  8. data/lib/oracle-sql-parser/ast/offset.rb +11 -0
  9. data/lib/oracle-sql-parser/ast/row_limiting_clause.rb +10 -0
  10. data/lib/oracle-sql-parser/ast/subquery.rb +8 -4
  11. data/lib/oracle-sql-parser/ast.rb +3 -0
  12. data/lib/oracle-sql-parser/grammar/condition/between.rb +5 -3
  13. data/lib/oracle-sql-parser/grammar/condition/comparison.rb +5 -3
  14. data/lib/oracle-sql-parser/grammar/condition/comparison.treetop +1 -0
  15. data/lib/oracle-sql-parser/grammar/condition/compound.rb +5 -3
  16. data/lib/oracle-sql-parser/grammar/condition/exists.rb +5 -3
  17. data/lib/oracle-sql-parser/grammar/condition/floating_point.rb +5 -3
  18. data/lib/oracle-sql-parser/grammar/condition/in.rb +5 -3
  19. data/lib/oracle-sql-parser/grammar/condition/is_of_type.rb +5 -3
  20. data/lib/oracle-sql-parser/grammar/condition/multiset.rb +5 -3
  21. data/lib/oracle-sql-parser/grammar/condition/null.rb +5 -3
  22. data/lib/oracle-sql-parser/grammar/condition/pattern_matching.rb +5 -3
  23. data/lib/oracle-sql-parser/grammar/condition.rb +5 -3
  24. data/lib/oracle-sql-parser/grammar/delete.rb +5 -3
  25. data/lib/oracle-sql-parser/grammar/expression/case.rb +5 -3
  26. data/lib/oracle-sql-parser/grammar/expression/compound.rb +5 -3
  27. data/lib/oracle-sql-parser/grammar/expression/cursor.rb +5 -3
  28. data/lib/oracle-sql-parser/grammar/expression/datetime.rb +5 -3
  29. data/lib/oracle-sql-parser/grammar/expression/function.rb +5 -3
  30. data/lib/oracle-sql-parser/grammar/expression/interval.rb +5 -3
  31. data/lib/oracle-sql-parser/grammar/expression/simple.rb +5 -3
  32. data/lib/oracle-sql-parser/grammar/expression.rb +5 -27
  33. data/lib/oracle-sql-parser/grammar/expression.treetop +0 -4
  34. data/lib/oracle-sql-parser/grammar/grammar.rb +5 -29
  35. data/lib/oracle-sql-parser/grammar/grammar.treetop +0 -8
  36. data/lib/oracle-sql-parser/grammar/insert.rb +5 -3
  37. data/lib/oracle-sql-parser/grammar/reserved_word.rb +662 -42
  38. data/lib/oracle-sql-parser/grammar/reserved_word.treetop +1150 -0
  39. data/lib/oracle-sql-parser/grammar/reserved_word_generator.rb +7 -1
  40. data/lib/oracle-sql-parser/grammar/select/for_update.rb +5 -3
  41. data/lib/oracle-sql-parser/grammar/select/group.rb +5 -3
  42. data/lib/oracle-sql-parser/grammar/select/join.rb +5 -3
  43. data/lib/oracle-sql-parser/grammar/select/order.rb +5 -3
  44. data/lib/oracle-sql-parser/grammar/select/query_block.rb +5 -3
  45. data/lib/oracle-sql-parser/grammar/select/row_limit.rb +407 -0
  46. data/lib/oracle-sql-parser/grammar/select/row_limit.treetop +49 -0
  47. data/lib/oracle-sql-parser/grammar/select/union.rb +5 -3
  48. data/lib/oracle-sql-parser/grammar/select.rb +46 -5
  49. data/lib/oracle-sql-parser/grammar/select.treetop +4 -1
  50. data/lib/oracle-sql-parser/grammar/update.rb +5 -3
  51. data/lib/oracle-sql-parser/grammar.rb +1 -0
  52. data/lib/oracle-sql-parser/version.rb +1 -1
  53. data/oracle-sql-parser.gemspec +14 -12
  54. metadata +40 -53
  55. data/.gitignore +0 -24
  56. data/Gemfile +0 -4
  57. data/HISTORY.md +0 -70
@@ -0,0 +1,1150 @@
1
+ #
2
+ # reserved_word.treetop is generated by reserved_word_generator.rb. Do not edit.
3
+ #
4
+ module OracleSqlParser::Grammar
5
+ grammar ReservedWord
6
+ rule keyword
7
+ [a-zA-Z0-9_]+ ![a-zA-Z0-9] &{|w| ["ACCESS", "ADD", "ALL", "ALTER", "AND", "ANY", "AS", "ASC", "AT", "AUDIT", "BETWEEN", "BY", "CASE", "CAST", "CHAR", "CHECK", "CLUSTER", "COLUMN", "COLUMN_VALUE", "COMMENT", "COMPRESS", "CONNECT", "CREATE", "CROSS", "CUBE", "CURRENT", "CURRENT_OF", "CURRVAL", "CURSOR", "DATE", "DAY", "DBTIMEZONE", "DECIMAL", "DEFAULT", "DELETE", "DESC", "DISTINCT", "DROP", "ELSE", "EMPTY", "END", "ESCAPE", "EXCLUSIVE", "EXISTS", "FETCH", "FILE", "FIRST", "FLOAT", "FOR", "FROM", "FULL", "GRANT", "GROUP", "HAVING", "IDENTIFIED", "IMMEDIATE", "IN", "INCREMENT", "INDEX", "INFINITE", "INITIAL", "INNER", "INSERT", "INTEGER", "INTERSECT", "INTO", "IS", "JOIN", "LAST", "LEFT", "LEVEL", "LIKE", "LIKE2", "LIKE4", "LIKEC", "LOCAL", "LOCK", "LONG", "MAXEXTENTS", "MEMBER", "MINUS", "MLSLABEL", "MODE", "MODIFY", "MONTH", "NAN", "NATURAL", "NESTED_TABLE_ID", "NEXT", "NEXTVAL", "NOAUDIT", "NOCOMPRESS", "NOT", "NOWAIT", "NULL", "NULLS", "NUMBER", "OF", "OFFLINE", "OFFSET", "ON", "ONLINE", "ONLY", "OPTION", "OR", "ORDER", "OUTER", "PCTFREE", "PERCENT", "PRIOR", "PRIVILEGES", "PUBLIC", "RAW", "REGEXP_LIKE", "RENAME", "RESOURCE", "REVOKE", "RIGHT", "ROLLUP", "ROW", "ROWID", "ROWNUM", "ROWS", "SECOND", "SELECT", "SESSION", "SESSIONTIMEZONE", "SET", "SHARE", "SIBLINGS", "SIZE", "SMALLINT", "START", "SUBMULTISET", "SUCCESSFUL", "SYNONYM", "SYSDATE", "SYSTIMESTAMP", "TABLE", "THEN", "TIES", "TIME", "TO", "TRIGGER", "TYPE", "UID", "UNION", "UNIQUE", "UPDATE", "USER", "USING", "VALIDATE", "VALUES", "VARCHAR", "VARCHAR2", "VIEW", "WAIT", "WHEN", "WHENEVER", "WHERE", "WITH", "YEAR", "ZONE"].include? w.first.text_value.upcase}
8
+ end
9
+ rule access_keyword
10
+ [aA] [cC] [cC] [eE] [sS] [sS] ( ![A-Za-z0-9] ) {
11
+ def ast
12
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
13
+ end
14
+ }
15
+ end
16
+ rule add_keyword
17
+ [aA] [dD] [dD] ( ![A-Za-z0-9] ) {
18
+ def ast
19
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
20
+ end
21
+ }
22
+ end
23
+ rule all_keyword
24
+ [aA] [lL] [lL] ( ![A-Za-z0-9] ) {
25
+ def ast
26
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
27
+ end
28
+ }
29
+ end
30
+ rule alter_keyword
31
+ [aA] [lL] [tT] [eE] [rR] ( ![A-Za-z0-9] ) {
32
+ def ast
33
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
34
+ end
35
+ }
36
+ end
37
+ rule and_keyword
38
+ [aA] [nN] [dD] ( ![A-Za-z0-9] ) {
39
+ def ast
40
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
41
+ end
42
+ }
43
+ end
44
+ rule any_keyword
45
+ [aA] [nN] [yY] ( ![A-Za-z0-9] ) {
46
+ def ast
47
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
48
+ end
49
+ }
50
+ end
51
+ rule as_keyword
52
+ [aA] [sS] ( ![A-Za-z0-9] ) {
53
+ def ast
54
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
55
+ end
56
+ }
57
+ end
58
+ rule asc_keyword
59
+ [aA] [sS] [cC] ( ![A-Za-z0-9] ) {
60
+ def ast
61
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
62
+ end
63
+ }
64
+ end
65
+ rule at_keyword
66
+ [aA] [tT] ( ![A-Za-z0-9] ) {
67
+ def ast
68
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
69
+ end
70
+ }
71
+ end
72
+ rule audit_keyword
73
+ [aA] [uU] [dD] [iI] [tT] ( ![A-Za-z0-9] ) {
74
+ def ast
75
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
76
+ end
77
+ }
78
+ end
79
+ rule between_keyword
80
+ [bB] [eE] [tT] [wW] [eE] [eE] [nN] ( ![A-Za-z0-9] ) {
81
+ def ast
82
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
83
+ end
84
+ }
85
+ end
86
+ rule by_keyword
87
+ [bB] [yY] ( ![A-Za-z0-9] ) {
88
+ def ast
89
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
90
+ end
91
+ }
92
+ end
93
+ rule case_keyword
94
+ [cC] [aA] [sS] [eE] ( ![A-Za-z0-9] ) {
95
+ def ast
96
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
97
+ end
98
+ }
99
+ end
100
+ rule cast_keyword
101
+ [cC] [aA] [sS] [tT] ( ![A-Za-z0-9] ) {
102
+ def ast
103
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
104
+ end
105
+ }
106
+ end
107
+ rule char_keyword
108
+ [cC] [hH] [aA] [rR] ( ![A-Za-z0-9] ) {
109
+ def ast
110
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
111
+ end
112
+ }
113
+ end
114
+ rule check_keyword
115
+ [cC] [hH] [eE] [cC] [kK] ( ![A-Za-z0-9] ) {
116
+ def ast
117
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
118
+ end
119
+ }
120
+ end
121
+ rule cluster_keyword
122
+ [cC] [lL] [uU] [sS] [tT] [eE] [rR] ( ![A-Za-z0-9] ) {
123
+ def ast
124
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
125
+ end
126
+ }
127
+ end
128
+ rule column_keyword
129
+ [cC] [oO] [lL] [uU] [mM] [nN] ( ![A-Za-z0-9] ) {
130
+ def ast
131
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
132
+ end
133
+ }
134
+ end
135
+ rule column_value_keyword
136
+ [cC] [oO] [lL] [uU] [mM] [nN] '_' [vV] [aA] [lL] [uU] [eE] ( ![A-Za-z0-9] ) {
137
+ def ast
138
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
139
+ end
140
+ }
141
+ end
142
+ rule comment_keyword
143
+ [cC] [oO] [mM] [mM] [eE] [nN] [tT] ( ![A-Za-z0-9] ) {
144
+ def ast
145
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
146
+ end
147
+ }
148
+ end
149
+ rule compress_keyword
150
+ [cC] [oO] [mM] [pP] [rR] [eE] [sS] [sS] ( ![A-Za-z0-9] ) {
151
+ def ast
152
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
153
+ end
154
+ }
155
+ end
156
+ rule connect_keyword
157
+ [cC] [oO] [nN] [nN] [eE] [cC] [tT] ( ![A-Za-z0-9] ) {
158
+ def ast
159
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
160
+ end
161
+ }
162
+ end
163
+ rule create_keyword
164
+ [cC] [rR] [eE] [aA] [tT] [eE] ( ![A-Za-z0-9] ) {
165
+ def ast
166
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
167
+ end
168
+ }
169
+ end
170
+ rule cross_keyword
171
+ [cC] [rR] [oO] [sS] [sS] ( ![A-Za-z0-9] ) {
172
+ def ast
173
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
174
+ end
175
+ }
176
+ end
177
+ rule cube_keyword
178
+ [cC] [uU] [bB] [eE] ( ![A-Za-z0-9] ) {
179
+ def ast
180
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
181
+ end
182
+ }
183
+ end
184
+ rule current_keyword
185
+ [cC] [uU] [rR] [rR] [eE] [nN] [tT] ( ![A-Za-z0-9] ) {
186
+ def ast
187
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
188
+ end
189
+ }
190
+ end
191
+ rule current_of_keyword
192
+ [cC] [uU] [rR] [rR] [eE] [nN] [tT] '_' [oO] [fF] ( ![A-Za-z0-9] ) {
193
+ def ast
194
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
195
+ end
196
+ }
197
+ end
198
+ rule currval_keyword
199
+ [cC] [uU] [rR] [rR] [vV] [aA] [lL] ( ![A-Za-z0-9] ) {
200
+ def ast
201
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
202
+ end
203
+ }
204
+ end
205
+ rule cursor_keyword
206
+ [cC] [uU] [rR] [sS] [oO] [rR] ( ![A-Za-z0-9] ) {
207
+ def ast
208
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
209
+ end
210
+ }
211
+ end
212
+ rule date_keyword
213
+ [dD] [aA] [tT] [eE] ( ![A-Za-z0-9] ) {
214
+ def ast
215
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
216
+ end
217
+ }
218
+ end
219
+ rule day_keyword
220
+ [dD] [aA] [yY] ( ![A-Za-z0-9] ) {
221
+ def ast
222
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
223
+ end
224
+ }
225
+ end
226
+ rule dbtimezone_keyword
227
+ [dD] [bB] [tT] [iI] [mM] [eE] [zZ] [oO] [nN] [eE] ( ![A-Za-z0-9] ) {
228
+ def ast
229
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
230
+ end
231
+ }
232
+ end
233
+ rule decimal_keyword
234
+ [dD] [eE] [cC] [iI] [mM] [aA] [lL] ( ![A-Za-z0-9] ) {
235
+ def ast
236
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
237
+ end
238
+ }
239
+ end
240
+ rule default_keyword
241
+ [dD] [eE] [fF] [aA] [uU] [lL] [tT] ( ![A-Za-z0-9] ) {
242
+ def ast
243
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
244
+ end
245
+ }
246
+ end
247
+ rule delete_keyword
248
+ [dD] [eE] [lL] [eE] [tT] [eE] ( ![A-Za-z0-9] ) {
249
+ def ast
250
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
251
+ end
252
+ }
253
+ end
254
+ rule desc_keyword
255
+ [dD] [eE] [sS] [cC] ( ![A-Za-z0-9] ) {
256
+ def ast
257
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
258
+ end
259
+ }
260
+ end
261
+ rule distinct_keyword
262
+ [dD] [iI] [sS] [tT] [iI] [nN] [cC] [tT] ( ![A-Za-z0-9] ) {
263
+ def ast
264
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
265
+ end
266
+ }
267
+ end
268
+ rule drop_keyword
269
+ [dD] [rR] [oO] [pP] ( ![A-Za-z0-9] ) {
270
+ def ast
271
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
272
+ end
273
+ }
274
+ end
275
+ rule else_keyword
276
+ [eE] [lL] [sS] [eE] ( ![A-Za-z0-9] ) {
277
+ def ast
278
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
279
+ end
280
+ }
281
+ end
282
+ rule empty_keyword
283
+ [eE] [mM] [pP] [tT] [yY] ( ![A-Za-z0-9] ) {
284
+ def ast
285
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
286
+ end
287
+ }
288
+ end
289
+ rule end_keyword
290
+ [eE] [nN] [dD] ( ![A-Za-z0-9] ) {
291
+ def ast
292
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
293
+ end
294
+ }
295
+ end
296
+ rule escape_keyword
297
+ [eE] [sS] [cC] [aA] [pP] [eE] ( ![A-Za-z0-9] ) {
298
+ def ast
299
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
300
+ end
301
+ }
302
+ end
303
+ rule exclusive_keyword
304
+ [eE] [xX] [cC] [lL] [uU] [sS] [iI] [vV] [eE] ( ![A-Za-z0-9] ) {
305
+ def ast
306
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
307
+ end
308
+ }
309
+ end
310
+ rule exists_keyword
311
+ [eE] [xX] [iI] [sS] [tT] [sS] ( ![A-Za-z0-9] ) {
312
+ def ast
313
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
314
+ end
315
+ }
316
+ end
317
+ rule fetch_keyword
318
+ [fF] [eE] [tT] [cC] [hH] ( ![A-Za-z0-9] ) {
319
+ def ast
320
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
321
+ end
322
+ }
323
+ end
324
+ rule file_keyword
325
+ [fF] [iI] [lL] [eE] ( ![A-Za-z0-9] ) {
326
+ def ast
327
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
328
+ end
329
+ }
330
+ end
331
+ rule first_keyword
332
+ [fF] [iI] [rR] [sS] [tT] ( ![A-Za-z0-9] ) {
333
+ def ast
334
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
335
+ end
336
+ }
337
+ end
338
+ rule float_keyword
339
+ [fF] [lL] [oO] [aA] [tT] ( ![A-Za-z0-9] ) {
340
+ def ast
341
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
342
+ end
343
+ }
344
+ end
345
+ rule for_keyword
346
+ [fF] [oO] [rR] ( ![A-Za-z0-9] ) {
347
+ def ast
348
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
349
+ end
350
+ }
351
+ end
352
+ rule from_keyword
353
+ [fF] [rR] [oO] [mM] ( ![A-Za-z0-9] ) {
354
+ def ast
355
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
356
+ end
357
+ }
358
+ end
359
+ rule full_keyword
360
+ [fF] [uU] [lL] [lL] ( ![A-Za-z0-9] ) {
361
+ def ast
362
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
363
+ end
364
+ }
365
+ end
366
+ rule grant_keyword
367
+ [gG] [rR] [aA] [nN] [tT] ( ![A-Za-z0-9] ) {
368
+ def ast
369
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
370
+ end
371
+ }
372
+ end
373
+ rule group_keyword
374
+ [gG] [rR] [oO] [uU] [pP] ( ![A-Za-z0-9] ) {
375
+ def ast
376
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
377
+ end
378
+ }
379
+ end
380
+ rule having_keyword
381
+ [hH] [aA] [vV] [iI] [nN] [gG] ( ![A-Za-z0-9] ) {
382
+ def ast
383
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
384
+ end
385
+ }
386
+ end
387
+ rule identified_keyword
388
+ [iI] [dD] [eE] [nN] [tT] [iI] [fF] [iI] [eE] [dD] ( ![A-Za-z0-9] ) {
389
+ def ast
390
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
391
+ end
392
+ }
393
+ end
394
+ rule immediate_keyword
395
+ [iI] [mM] [mM] [eE] [dD] [iI] [aA] [tT] [eE] ( ![A-Za-z0-9] ) {
396
+ def ast
397
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
398
+ end
399
+ }
400
+ end
401
+ rule in_keyword
402
+ [iI] [nN] ( ![A-Za-z0-9] ) {
403
+ def ast
404
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
405
+ end
406
+ }
407
+ end
408
+ rule increment_keyword
409
+ [iI] [nN] [cC] [rR] [eE] [mM] [eE] [nN] [tT] ( ![A-Za-z0-9] ) {
410
+ def ast
411
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
412
+ end
413
+ }
414
+ end
415
+ rule index_keyword
416
+ [iI] [nN] [dD] [eE] [xX] ( ![A-Za-z0-9] ) {
417
+ def ast
418
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
419
+ end
420
+ }
421
+ end
422
+ rule infinite_keyword
423
+ [iI] [nN] [fF] [iI] [nN] [iI] [tT] [eE] ( ![A-Za-z0-9] ) {
424
+ def ast
425
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
426
+ end
427
+ }
428
+ end
429
+ rule initial_keyword
430
+ [iI] [nN] [iI] [tT] [iI] [aA] [lL] ( ![A-Za-z0-9] ) {
431
+ def ast
432
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
433
+ end
434
+ }
435
+ end
436
+ rule inner_keyword
437
+ [iI] [nN] [nN] [eE] [rR] ( ![A-Za-z0-9] ) {
438
+ def ast
439
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
440
+ end
441
+ }
442
+ end
443
+ rule insert_keyword
444
+ [iI] [nN] [sS] [eE] [rR] [tT] ( ![A-Za-z0-9] ) {
445
+ def ast
446
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
447
+ end
448
+ }
449
+ end
450
+ rule integer_keyword
451
+ [iI] [nN] [tT] [eE] [gG] [eE] [rR] ( ![A-Za-z0-9] ) {
452
+ def ast
453
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
454
+ end
455
+ }
456
+ end
457
+ rule intersect_keyword
458
+ [iI] [nN] [tT] [eE] [rR] [sS] [eE] [cC] [tT] ( ![A-Za-z0-9] ) {
459
+ def ast
460
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
461
+ end
462
+ }
463
+ end
464
+ rule into_keyword
465
+ [iI] [nN] [tT] [oO] ( ![A-Za-z0-9] ) {
466
+ def ast
467
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
468
+ end
469
+ }
470
+ end
471
+ rule is_keyword
472
+ [iI] [sS] ( ![A-Za-z0-9] ) {
473
+ def ast
474
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
475
+ end
476
+ }
477
+ end
478
+ rule join_keyword
479
+ [jJ] [oO] [iI] [nN] ( ![A-Za-z0-9] ) {
480
+ def ast
481
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
482
+ end
483
+ }
484
+ end
485
+ rule last_keyword
486
+ [lL] [aA] [sS] [tT] ( ![A-Za-z0-9] ) {
487
+ def ast
488
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
489
+ end
490
+ }
491
+ end
492
+ rule left_keyword
493
+ [lL] [eE] [fF] [tT] ( ![A-Za-z0-9] ) {
494
+ def ast
495
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
496
+ end
497
+ }
498
+ end
499
+ rule level_keyword
500
+ [lL] [eE] [vV] [eE] [lL] ( ![A-Za-z0-9] ) {
501
+ def ast
502
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
503
+ end
504
+ }
505
+ end
506
+ rule like_keyword
507
+ [lL] [iI] [kK] [eE] ( ![A-Za-z0-9] ) {
508
+ def ast
509
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
510
+ end
511
+ }
512
+ end
513
+ rule like2_keyword
514
+ [lL] [iI] [kK] [eE] '2' ( ![A-Za-z0-9] ) {
515
+ def ast
516
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
517
+ end
518
+ }
519
+ end
520
+ rule like4_keyword
521
+ [lL] [iI] [kK] [eE] '4' ( ![A-Za-z0-9] ) {
522
+ def ast
523
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
524
+ end
525
+ }
526
+ end
527
+ rule likec_keyword
528
+ [lL] [iI] [kK] [eE] [cC] ( ![A-Za-z0-9] ) {
529
+ def ast
530
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
531
+ end
532
+ }
533
+ end
534
+ rule local_keyword
535
+ [lL] [oO] [cC] [aA] [lL] ( ![A-Za-z0-9] ) {
536
+ def ast
537
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
538
+ end
539
+ }
540
+ end
541
+ rule lock_keyword
542
+ [lL] [oO] [cC] [kK] ( ![A-Za-z0-9] ) {
543
+ def ast
544
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
545
+ end
546
+ }
547
+ end
548
+ rule long_keyword
549
+ [lL] [oO] [nN] [gG] ( ![A-Za-z0-9] ) {
550
+ def ast
551
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
552
+ end
553
+ }
554
+ end
555
+ rule maxextents_keyword
556
+ [mM] [aA] [xX] [eE] [xX] [tT] [eE] [nN] [tT] [sS] ( ![A-Za-z0-9] ) {
557
+ def ast
558
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
559
+ end
560
+ }
561
+ end
562
+ rule member_keyword
563
+ [mM] [eE] [mM] [bB] [eE] [rR] ( ![A-Za-z0-9] ) {
564
+ def ast
565
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
566
+ end
567
+ }
568
+ end
569
+ rule minus_keyword
570
+ [mM] [iI] [nN] [uU] [sS] ( ![A-Za-z0-9] ) {
571
+ def ast
572
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
573
+ end
574
+ }
575
+ end
576
+ rule mlslabel_keyword
577
+ [mM] [lL] [sS] [lL] [aA] [bB] [eE] [lL] ( ![A-Za-z0-9] ) {
578
+ def ast
579
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
580
+ end
581
+ }
582
+ end
583
+ rule mode_keyword
584
+ [mM] [oO] [dD] [eE] ( ![A-Za-z0-9] ) {
585
+ def ast
586
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
587
+ end
588
+ }
589
+ end
590
+ rule modify_keyword
591
+ [mM] [oO] [dD] [iI] [fF] [yY] ( ![A-Za-z0-9] ) {
592
+ def ast
593
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
594
+ end
595
+ }
596
+ end
597
+ rule month_keyword
598
+ [mM] [oO] [nN] [tT] [hH] ( ![A-Za-z0-9] ) {
599
+ def ast
600
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
601
+ end
602
+ }
603
+ end
604
+ rule nan_keyword
605
+ [nN] [aA] [nN] ( ![A-Za-z0-9] ) {
606
+ def ast
607
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
608
+ end
609
+ }
610
+ end
611
+ rule natural_keyword
612
+ [nN] [aA] [tT] [uU] [rR] [aA] [lL] ( ![A-Za-z0-9] ) {
613
+ def ast
614
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
615
+ end
616
+ }
617
+ end
618
+ rule nested_table_id_keyword
619
+ [nN] [eE] [sS] [tT] [eE] [dD] '_' [tT] [aA] [bB] [lL] [eE] '_' [iI] [dD] ( ![A-Za-z0-9] ) {
620
+ def ast
621
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
622
+ end
623
+ }
624
+ end
625
+ rule next_keyword
626
+ [nN] [eE] [xX] [tT] ( ![A-Za-z0-9] ) {
627
+ def ast
628
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
629
+ end
630
+ }
631
+ end
632
+ rule nextval_keyword
633
+ [nN] [eE] [xX] [tT] [vV] [aA] [lL] ( ![A-Za-z0-9] ) {
634
+ def ast
635
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
636
+ end
637
+ }
638
+ end
639
+ rule noaudit_keyword
640
+ [nN] [oO] [aA] [uU] [dD] [iI] [tT] ( ![A-Za-z0-9] ) {
641
+ def ast
642
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
643
+ end
644
+ }
645
+ end
646
+ rule nocompress_keyword
647
+ [nN] [oO] [cC] [oO] [mM] [pP] [rR] [eE] [sS] [sS] ( ![A-Za-z0-9] ) {
648
+ def ast
649
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
650
+ end
651
+ }
652
+ end
653
+ rule not_keyword
654
+ [nN] [oO] [tT] ( ![A-Za-z0-9] ) {
655
+ def ast
656
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
657
+ end
658
+ }
659
+ end
660
+ rule nowait_keyword
661
+ [nN] [oO] [wW] [aA] [iI] [tT] ( ![A-Za-z0-9] ) {
662
+ def ast
663
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
664
+ end
665
+ }
666
+ end
667
+ rule null_keyword
668
+ [nN] [uU] [lL] [lL] ( ![A-Za-z0-9] ) {
669
+ def ast
670
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
671
+ end
672
+ }
673
+ end
674
+ rule nulls_keyword
675
+ [nN] [uU] [lL] [lL] [sS] ( ![A-Za-z0-9] ) {
676
+ def ast
677
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
678
+ end
679
+ }
680
+ end
681
+ rule number_keyword
682
+ [nN] [uU] [mM] [bB] [eE] [rR] ( ![A-Za-z0-9] ) {
683
+ def ast
684
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
685
+ end
686
+ }
687
+ end
688
+ rule of_keyword
689
+ [oO] [fF] ( ![A-Za-z0-9] ) {
690
+ def ast
691
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
692
+ end
693
+ }
694
+ end
695
+ rule offline_keyword
696
+ [oO] [fF] [fF] [lL] [iI] [nN] [eE] ( ![A-Za-z0-9] ) {
697
+ def ast
698
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
699
+ end
700
+ }
701
+ end
702
+ rule offset_keyword
703
+ [oO] [fF] [fF] [sS] [eE] [tT] ( ![A-Za-z0-9] ) {
704
+ def ast
705
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
706
+ end
707
+ }
708
+ end
709
+ rule on_keyword
710
+ [oO] [nN] ( ![A-Za-z0-9] ) {
711
+ def ast
712
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
713
+ end
714
+ }
715
+ end
716
+ rule online_keyword
717
+ [oO] [nN] [lL] [iI] [nN] [eE] ( ![A-Za-z0-9] ) {
718
+ def ast
719
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
720
+ end
721
+ }
722
+ end
723
+ rule only_keyword
724
+ [oO] [nN] [lL] [yY] ( ![A-Za-z0-9] ) {
725
+ def ast
726
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
727
+ end
728
+ }
729
+ end
730
+ rule option_keyword
731
+ [oO] [pP] [tT] [iI] [oO] [nN] ( ![A-Za-z0-9] ) {
732
+ def ast
733
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
734
+ end
735
+ }
736
+ end
737
+ rule or_keyword
738
+ [oO] [rR] ( ![A-Za-z0-9] ) {
739
+ def ast
740
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
741
+ end
742
+ }
743
+ end
744
+ rule order_keyword
745
+ [oO] [rR] [dD] [eE] [rR] ( ![A-Za-z0-9] ) {
746
+ def ast
747
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
748
+ end
749
+ }
750
+ end
751
+ rule outer_keyword
752
+ [oO] [uU] [tT] [eE] [rR] ( ![A-Za-z0-9] ) {
753
+ def ast
754
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
755
+ end
756
+ }
757
+ end
758
+ rule pctfree_keyword
759
+ [pP] [cC] [tT] [fF] [rR] [eE] [eE] ( ![A-Za-z0-9] ) {
760
+ def ast
761
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
762
+ end
763
+ }
764
+ end
765
+ rule percent_keyword
766
+ [pP] [eE] [rR] [cC] [eE] [nN] [tT] ( ![A-Za-z0-9] ) {
767
+ def ast
768
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
769
+ end
770
+ }
771
+ end
772
+ rule prior_keyword
773
+ [pP] [rR] [iI] [oO] [rR] ( ![A-Za-z0-9] ) {
774
+ def ast
775
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
776
+ end
777
+ }
778
+ end
779
+ rule privileges_keyword
780
+ [pP] [rR] [iI] [vV] [iI] [lL] [eE] [gG] [eE] [sS] ( ![A-Za-z0-9] ) {
781
+ def ast
782
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
783
+ end
784
+ }
785
+ end
786
+ rule public_keyword
787
+ [pP] [uU] [bB] [lL] [iI] [cC] ( ![A-Za-z0-9] ) {
788
+ def ast
789
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
790
+ end
791
+ }
792
+ end
793
+ rule raw_keyword
794
+ [rR] [aA] [wW] ( ![A-Za-z0-9] ) {
795
+ def ast
796
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
797
+ end
798
+ }
799
+ end
800
+ rule regexp_like_keyword
801
+ [rR] [eE] [gG] [eE] [xX] [pP] '_' [lL] [iI] [kK] [eE] ( ![A-Za-z0-9] ) {
802
+ def ast
803
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
804
+ end
805
+ }
806
+ end
807
+ rule rename_keyword
808
+ [rR] [eE] [nN] [aA] [mM] [eE] ( ![A-Za-z0-9] ) {
809
+ def ast
810
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
811
+ end
812
+ }
813
+ end
814
+ rule resource_keyword
815
+ [rR] [eE] [sS] [oO] [uU] [rR] [cC] [eE] ( ![A-Za-z0-9] ) {
816
+ def ast
817
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
818
+ end
819
+ }
820
+ end
821
+ rule revoke_keyword
822
+ [rR] [eE] [vV] [oO] [kK] [eE] ( ![A-Za-z0-9] ) {
823
+ def ast
824
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
825
+ end
826
+ }
827
+ end
828
+ rule right_keyword
829
+ [rR] [iI] [gG] [hH] [tT] ( ![A-Za-z0-9] ) {
830
+ def ast
831
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
832
+ end
833
+ }
834
+ end
835
+ rule rollup_keyword
836
+ [rR] [oO] [lL] [lL] [uU] [pP] ( ![A-Za-z0-9] ) {
837
+ def ast
838
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
839
+ end
840
+ }
841
+ end
842
+ rule row_keyword
843
+ [rR] [oO] [wW] ( ![A-Za-z0-9] ) {
844
+ def ast
845
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
846
+ end
847
+ }
848
+ end
849
+ rule rowid_keyword
850
+ [rR] [oO] [wW] [iI] [dD] ( ![A-Za-z0-9] ) {
851
+ def ast
852
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
853
+ end
854
+ }
855
+ end
856
+ rule rownum_keyword
857
+ [rR] [oO] [wW] [nN] [uU] [mM] ( ![A-Za-z0-9] ) {
858
+ def ast
859
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
860
+ end
861
+ }
862
+ end
863
+ rule rows_keyword
864
+ [rR] [oO] [wW] [sS] ( ![A-Za-z0-9] ) {
865
+ def ast
866
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
867
+ end
868
+ }
869
+ end
870
+ rule second_keyword
871
+ [sS] [eE] [cC] [oO] [nN] [dD] ( ![A-Za-z0-9] ) {
872
+ def ast
873
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
874
+ end
875
+ }
876
+ end
877
+ rule select_keyword
878
+ [sS] [eE] [lL] [eE] [cC] [tT] ( ![A-Za-z0-9] ) {
879
+ def ast
880
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
881
+ end
882
+ }
883
+ end
884
+ rule session_keyword
885
+ [sS] [eE] [sS] [sS] [iI] [oO] [nN] ( ![A-Za-z0-9] ) {
886
+ def ast
887
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
888
+ end
889
+ }
890
+ end
891
+ rule sessiontimezone_keyword
892
+ [sS] [eE] [sS] [sS] [iI] [oO] [nN] [tT] [iI] [mM] [eE] [zZ] [oO] [nN] [eE] ( ![A-Za-z0-9] ) {
893
+ def ast
894
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
895
+ end
896
+ }
897
+ end
898
+ rule set_keyword
899
+ [sS] [eE] [tT] ( ![A-Za-z0-9] ) {
900
+ def ast
901
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
902
+ end
903
+ }
904
+ end
905
+ rule share_keyword
906
+ [sS] [hH] [aA] [rR] [eE] ( ![A-Za-z0-9] ) {
907
+ def ast
908
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
909
+ end
910
+ }
911
+ end
912
+ rule siblings_keyword
913
+ [sS] [iI] [bB] [lL] [iI] [nN] [gG] [sS] ( ![A-Za-z0-9] ) {
914
+ def ast
915
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
916
+ end
917
+ }
918
+ end
919
+ rule size_keyword
920
+ [sS] [iI] [zZ] [eE] ( ![A-Za-z0-9] ) {
921
+ def ast
922
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
923
+ end
924
+ }
925
+ end
926
+ rule smallint_keyword
927
+ [sS] [mM] [aA] [lL] [lL] [iI] [nN] [tT] ( ![A-Za-z0-9] ) {
928
+ def ast
929
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
930
+ end
931
+ }
932
+ end
933
+ rule start_keyword
934
+ [sS] [tT] [aA] [rR] [tT] ( ![A-Za-z0-9] ) {
935
+ def ast
936
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
937
+ end
938
+ }
939
+ end
940
+ rule submultiset_keyword
941
+ [sS] [uU] [bB] [mM] [uU] [lL] [tT] [iI] [sS] [eE] [tT] ( ![A-Za-z0-9] ) {
942
+ def ast
943
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
944
+ end
945
+ }
946
+ end
947
+ rule successful_keyword
948
+ [sS] [uU] [cC] [cC] [eE] [sS] [sS] [fF] [uU] [lL] ( ![A-Za-z0-9] ) {
949
+ def ast
950
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
951
+ end
952
+ }
953
+ end
954
+ rule synonym_keyword
955
+ [sS] [yY] [nN] [oO] [nN] [yY] [mM] ( ![A-Za-z0-9] ) {
956
+ def ast
957
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
958
+ end
959
+ }
960
+ end
961
+ rule sysdate_keyword
962
+ [sS] [yY] [sS] [dD] [aA] [tT] [eE] ( ![A-Za-z0-9] ) {
963
+ def ast
964
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
965
+ end
966
+ }
967
+ end
968
+ rule systimestamp_keyword
969
+ [sS] [yY] [sS] [tT] [iI] [mM] [eE] [sS] [tT] [aA] [mM] [pP] ( ![A-Za-z0-9] ) {
970
+ def ast
971
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
972
+ end
973
+ }
974
+ end
975
+ rule table_keyword
976
+ [tT] [aA] [bB] [lL] [eE] ( ![A-Za-z0-9] ) {
977
+ def ast
978
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
979
+ end
980
+ }
981
+ end
982
+ rule then_keyword
983
+ [tT] [hH] [eE] [nN] ( ![A-Za-z0-9] ) {
984
+ def ast
985
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
986
+ end
987
+ }
988
+ end
989
+ rule ties_keyword
990
+ [tT] [iI] [eE] [sS] ( ![A-Za-z0-9] ) {
991
+ def ast
992
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
993
+ end
994
+ }
995
+ end
996
+ rule time_keyword
997
+ [tT] [iI] [mM] [eE] ( ![A-Za-z0-9] ) {
998
+ def ast
999
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
1000
+ end
1001
+ }
1002
+ end
1003
+ rule to_keyword
1004
+ [tT] [oO] ( ![A-Za-z0-9] ) {
1005
+ def ast
1006
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
1007
+ end
1008
+ }
1009
+ end
1010
+ rule trigger_keyword
1011
+ [tT] [rR] [iI] [gG] [gG] [eE] [rR] ( ![A-Za-z0-9] ) {
1012
+ def ast
1013
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
1014
+ end
1015
+ }
1016
+ end
1017
+ rule type_keyword
1018
+ [tT] [yY] [pP] [eE] ( ![A-Za-z0-9] ) {
1019
+ def ast
1020
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
1021
+ end
1022
+ }
1023
+ end
1024
+ rule uid_keyword
1025
+ [uU] [iI] [dD] ( ![A-Za-z0-9] ) {
1026
+ def ast
1027
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
1028
+ end
1029
+ }
1030
+ end
1031
+ rule union_keyword
1032
+ [uU] [nN] [iI] [oO] [nN] ( ![A-Za-z0-9] ) {
1033
+ def ast
1034
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
1035
+ end
1036
+ }
1037
+ end
1038
+ rule unique_keyword
1039
+ [uU] [nN] [iI] [qQ] [uU] [eE] ( ![A-Za-z0-9] ) {
1040
+ def ast
1041
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
1042
+ end
1043
+ }
1044
+ end
1045
+ rule update_keyword
1046
+ [uU] [pP] [dD] [aA] [tT] [eE] ( ![A-Za-z0-9] ) {
1047
+ def ast
1048
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
1049
+ end
1050
+ }
1051
+ end
1052
+ rule user_keyword
1053
+ [uU] [sS] [eE] [rR] ( ![A-Za-z0-9] ) {
1054
+ def ast
1055
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
1056
+ end
1057
+ }
1058
+ end
1059
+ rule using_keyword
1060
+ [uU] [sS] [iI] [nN] [gG] ( ![A-Za-z0-9] ) {
1061
+ def ast
1062
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
1063
+ end
1064
+ }
1065
+ end
1066
+ rule validate_keyword
1067
+ [vV] [aA] [lL] [iI] [dD] [aA] [tT] [eE] ( ![A-Za-z0-9] ) {
1068
+ def ast
1069
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
1070
+ end
1071
+ }
1072
+ end
1073
+ rule values_keyword
1074
+ [vV] [aA] [lL] [uU] [eE] [sS] ( ![A-Za-z0-9] ) {
1075
+ def ast
1076
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
1077
+ end
1078
+ }
1079
+ end
1080
+ rule varchar_keyword
1081
+ [vV] [aA] [rR] [cC] [hH] [aA] [rR] ( ![A-Za-z0-9] ) {
1082
+ def ast
1083
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
1084
+ end
1085
+ }
1086
+ end
1087
+ rule varchar2_keyword
1088
+ [vV] [aA] [rR] [cC] [hH] [aA] [rR] '2' ( ![A-Za-z0-9] ) {
1089
+ def ast
1090
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
1091
+ end
1092
+ }
1093
+ end
1094
+ rule view_keyword
1095
+ [vV] [iI] [eE] [wW] ( ![A-Za-z0-9] ) {
1096
+ def ast
1097
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
1098
+ end
1099
+ }
1100
+ end
1101
+ rule wait_keyword
1102
+ [wW] [aA] [iI] [tT] ( ![A-Za-z0-9] ) {
1103
+ def ast
1104
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
1105
+ end
1106
+ }
1107
+ end
1108
+ rule when_keyword
1109
+ [wW] [hH] [eE] [nN] ( ![A-Za-z0-9] ) {
1110
+ def ast
1111
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
1112
+ end
1113
+ }
1114
+ end
1115
+ rule whenever_keyword
1116
+ [wW] [hH] [eE] [nN] [eE] [vV] [eE] [rR] ( ![A-Za-z0-9] ) {
1117
+ def ast
1118
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
1119
+ end
1120
+ }
1121
+ end
1122
+ rule where_keyword
1123
+ [wW] [hH] [eE] [rR] [eE] ( ![A-Za-z0-9] ) {
1124
+ def ast
1125
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
1126
+ end
1127
+ }
1128
+ end
1129
+ rule with_keyword
1130
+ [wW] [iI] [tT] [hH] ( ![A-Za-z0-9] ) {
1131
+ def ast
1132
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
1133
+ end
1134
+ }
1135
+ end
1136
+ rule year_keyword
1137
+ [yY] [eE] [aA] [rR] ( ![A-Za-z0-9] ) {
1138
+ def ast
1139
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
1140
+ end
1141
+ }
1142
+ end
1143
+ rule zone_keyword
1144
+ [zZ] [oO] [nN] [eE] ( ![A-Za-z0-9] ) {
1145
+ def ast
1146
+ OracleSqlParser::Ast::Keyword.new(:name => text_value)
1147
+ end
1148
+ }
1149
+ end end
1150
+ end