oracle-sql-parser 1.0.0 → 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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +213 -0
- data/LICENSE.txt +21 -0
- data/README.md +66 -3
- data/Rakefile +62 -10
- data/lib/oracle-sql-parser/grammar/condition/between.rb +5 -3
- data/lib/oracle-sql-parser/grammar/condition/comparison.rb +5 -3
- data/lib/oracle-sql-parser/grammar/condition/compound.rb +5 -3
- data/lib/oracle-sql-parser/grammar/condition/exists.rb +5 -3
- data/lib/oracle-sql-parser/grammar/condition/floating_point.rb +5 -3
- data/lib/oracle-sql-parser/grammar/condition/in.rb +5 -3
- data/lib/oracle-sql-parser/grammar/condition/is_of_type.rb +5 -3
- data/lib/oracle-sql-parser/grammar/condition/multiset.rb +5 -3
- data/lib/oracle-sql-parser/grammar/condition/null.rb +5 -3
- data/lib/oracle-sql-parser/grammar/condition/pattern_matching.rb +5 -3
- data/lib/oracle-sql-parser/grammar/condition.rb +5 -3
- data/lib/oracle-sql-parser/grammar/delete.rb +5 -3
- data/lib/oracle-sql-parser/grammar/expression/case.rb +5 -3
- data/lib/oracle-sql-parser/grammar/expression/compound.rb +5 -3
- data/lib/oracle-sql-parser/grammar/expression/cursor.rb +5 -3
- data/lib/oracle-sql-parser/grammar/expression/datetime.rb +5 -3
- data/lib/oracle-sql-parser/grammar/expression/function.rb +5 -3
- data/lib/oracle-sql-parser/grammar/expression/interval.rb +5 -3
- data/lib/oracle-sql-parser/grammar/expression/simple.rb +5 -3
- data/lib/oracle-sql-parser/grammar/expression.rb +5 -3
- data/lib/oracle-sql-parser/grammar/grammar.rb +5 -3
- data/lib/oracle-sql-parser/grammar/insert.rb +5 -3
- data/lib/oracle-sql-parser/grammar/reserved_word.rb +6 -4
- data/lib/oracle-sql-parser/grammar/reserved_word.treetop +1150 -0
- data/lib/oracle-sql-parser/grammar/reserved_word_generator.rb +1 -1
- data/lib/oracle-sql-parser/grammar/select/for_update.rb +5 -3
- data/lib/oracle-sql-parser/grammar/select/group.rb +5 -3
- data/lib/oracle-sql-parser/grammar/select/join.rb +5 -3
- data/lib/oracle-sql-parser/grammar/select/order.rb +5 -3
- data/lib/oracle-sql-parser/grammar/select/query_block.rb +5 -3
- data/lib/oracle-sql-parser/grammar/select/row_limit.rb +5 -3
- data/lib/oracle-sql-parser/grammar/select/union.rb +5 -3
- data/lib/oracle-sql-parser/grammar/select.rb +5 -3
- data/lib/oracle-sql-parser/grammar/update.rb +5 -3
- data/lib/oracle-sql-parser/version.rb +1 -1
- data/oracle-sql-parser.gemspec +14 -11
- metadata +35 -41
- data/.gitignore +0 -24
- data/Gemfile +0 -4
- data/HISTORY.md +0 -77
- data/docker/oracle/Dockerfile +0 -3
- data/docker/test/Dockerfile +0 -21
- data/docker-compose.yml +0 -23
|
@@ -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
|