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
@@ -123,10 +123,12 @@ module OracleSqlParser::Grammar::Condition
123
123
  r0
124
124
  end
125
125
 
126
- end
127
126
 
128
- class NullParser < Treetop::Runtime::CompiledParser
129
- include Null
127
+ class Parser < Treetop::Runtime::CompiledParser
128
+ include Null
129
+ end
130
130
  end
131
131
 
132
+ (remove_const(:NullParser) if const_defined?(:NullParser)) rescue nil; NullParser = Null::Parser
133
+
132
134
  end
@@ -373,10 +373,12 @@ module OracleSqlParser::Grammar::Condition
373
373
  r0
374
374
  end
375
375
 
376
- end
377
376
 
378
- class PatternMatchingParser < Treetop::Runtime::CompiledParser
379
- include PatternMatching
377
+ class Parser < Treetop::Runtime::CompiledParser
378
+ include PatternMatching
379
+ end
380
380
  end
381
381
 
382
+ (remove_const(:PatternMatchingParser) if const_defined?(:PatternMatchingParser)) rescue nil; PatternMatchingParser = PatternMatching::Parser
383
+
382
384
  end
@@ -478,10 +478,12 @@ module OracleSqlParser::Grammar
478
478
  r0
479
479
  end
480
480
 
481
- end
482
481
 
483
- class ConditionParser < Treetop::Runtime::CompiledParser
484
- include Condition
482
+ class Parser < Treetop::Runtime::CompiledParser
483
+ include Condition
484
+ end
485
485
  end
486
486
 
487
+ (remove_const(:ConditionParser) if const_defined?(:ConditionParser)) rescue nil; ConditionParser = Condition::Parser
488
+
487
489
  end
@@ -485,10 +485,12 @@ module OracleSqlParser::Grammar
485
485
  r0
486
486
  end
487
487
 
488
- end
489
488
 
490
- class DeleteParser < Treetop::Runtime::CompiledParser
491
- include Delete
489
+ class Parser < Treetop::Runtime::CompiledParser
490
+ include Delete
491
+ end
492
492
  end
493
493
 
494
+ (remove_const(:DeleteParser) if const_defined?(:DeleteParser)) rescue nil; DeleteParser = Delete::Parser
495
+
494
496
  end
@@ -506,10 +506,12 @@ module OracleSqlParser::Grammar::Expression
506
506
  r0
507
507
  end
508
508
 
509
- end
510
509
 
511
- class CaseParser < Treetop::Runtime::CompiledParser
512
- include Case
510
+ class Parser < Treetop::Runtime::CompiledParser
511
+ include Case
512
+ end
513
513
  end
514
514
 
515
+ (remove_const(:CaseParser) if const_defined?(:CaseParser)) rescue nil; CaseParser = Case::Parser
516
+
515
517
  end
@@ -322,10 +322,12 @@ module OracleSqlParser::Grammar::Expression
322
322
  r0
323
323
  end
324
324
 
325
- end
326
325
 
327
- class CompoundParser < Treetop::Runtime::CompiledParser
328
- include Compound
326
+ class Parser < Treetop::Runtime::CompiledParser
327
+ include Compound
328
+ end
329
329
  end
330
330
 
331
+ (remove_const(:CompoundParser) if const_defined?(:CompoundParser)) rescue nil; CompoundParser = Compound::Parser
332
+
331
333
  end
@@ -108,11 +108,13 @@ module OracleSqlParser::Grammar::Expression
108
108
  r0
109
109
  end
110
110
 
111
- end
112
111
 
113
- class CursorParser < Treetop::Runtime::CompiledParser
114
- include Cursor
112
+ class Parser < Treetop::Runtime::CompiledParser
113
+ include Cursor
114
+ end
115
115
  end
116
116
 
117
+ (remove_const(:CursorParser) if const_defined?(:CursorParser)) rescue nil; CursorParser = Cursor::Parser
118
+
117
119
  end
118
120
 
@@ -253,10 +253,12 @@ module OracleSqlParser::Grammar::Expression
253
253
  r0
254
254
  end
255
255
 
256
- end
257
256
 
258
- class DatetimeParser < Treetop::Runtime::CompiledParser
259
- include Datetime
257
+ class Parser < Treetop::Runtime::CompiledParser
258
+ include Datetime
259
+ end
260
260
  end
261
261
 
262
+ (remove_const(:DatetimeParser) if const_defined?(:DatetimeParser)) rescue nil; DatetimeParser = Datetime::Parser
263
+
262
264
  end
@@ -318,12 +318,14 @@ module OracleSqlParser::Grammar::Expression
318
318
  r0
319
319
  end
320
320
 
321
- end
322
321
 
323
- class FunctionParser < Treetop::Runtime::CompiledParser
324
- include Function
322
+ class Parser < Treetop::Runtime::CompiledParser
323
+ include Function
324
+ end
325
325
  end
326
326
 
327
+ (remove_const(:FunctionParser) if const_defined?(:FunctionParser)) rescue nil; FunctionParser = Function::Parser
328
+
327
329
  end
328
330
 
329
331
 
@@ -563,10 +563,12 @@ module OracleSqlParser::Grammar::Expression
563
563
  r0
564
564
  end
565
565
 
566
- end
567
566
 
568
- class IntervalParser < Treetop::Runtime::CompiledParser
569
- include Interval
567
+ class Parser < Treetop::Runtime::CompiledParser
568
+ include Interval
569
+ end
570
570
  end
571
571
 
572
+ (remove_const(:IntervalParser) if const_defined?(:IntervalParser)) rescue nil; IntervalParser = Interval::Parser
573
+
572
574
  end
@@ -280,10 +280,12 @@ module OracleSqlParser::Grammar::Expression
280
280
  r0
281
281
  end
282
282
 
283
- end
284
283
 
285
- class SimpleParser < Treetop::Runtime::CompiledParser
286
- include Simple
284
+ class Parser < Treetop::Runtime::CompiledParser
285
+ include Simple
286
+ end
287
287
  end
288
288
 
289
+ (remove_const(:SimpleParser) if const_defined?(:SimpleParser)) rescue nil; SimpleParser = Simple::Parser
290
+
289
291
  end
@@ -419,30 +419,6 @@ module OracleSqlParser::Grammar
419
419
  r0
420
420
  end
421
421
 
422
- def _nt_object_access_expression
423
- start_index = index
424
- if node_cache[:object_access_expression].has_key?(index)
425
- cached = node_cache[:object_access_expression][index]
426
- if cached
427
- node_cache[:object_access_expression][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
428
- @index = cached.interval.end
429
- end
430
- return cached
431
- end
432
-
433
- if (match_len = has_terminal?('object_access_expression', false, index))
434
- r0 = instantiate_node(SyntaxNode,input, index...(index + match_len))
435
- @index += match_len
436
- else
437
- terminal_parse_failure('\'object_access_expression\'')
438
- r0 = nil
439
- end
440
-
441
- node_cache[:object_access_expression][start_index] = r0
442
-
443
- r0
444
- end
445
-
446
422
  module ExpressionList0
447
423
  def e
448
424
  elements[1]
@@ -666,10 +642,12 @@ module OracleSqlParser::Grammar
666
642
  r0
667
643
  end
668
644
 
669
- end
670
645
 
671
- class ExpressionParser < Treetop::Runtime::CompiledParser
672
- include Expression
646
+ class Parser < Treetop::Runtime::CompiledParser
647
+ include Expression
648
+ end
673
649
  end
674
650
 
651
+ (remove_const(:ExpressionParser) if const_defined?(:ExpressionParser)) rescue nil; ExpressionParser = Expression::Parser
652
+
675
653
  end
@@ -78,10 +78,6 @@ module OracleSqlParser::Grammar
78
78
  'json_object_access_expression' # not implemented
79
79
  end
80
80
 
81
- rule object_access_expression
82
- 'object_access_expression' # not implemented
83
- end
84
-
85
81
  rule expression_list # from grouping_expression_list
86
82
  (
87
83
  '(' e:exprs ')' /
@@ -1119,32 +1119,6 @@ module OracleSqlParser::Grammar
1119
1119
  r0
1120
1120
  end
1121
1121
 
1122
- module TAlias0
1123
- def ast
1124
- super
1125
- end
1126
- end
1127
-
1128
- def _nt_t_alias
1129
- start_index = index
1130
- if node_cache[:t_alias].has_key?(index)
1131
- cached = node_cache[:t_alias][index]
1132
- if cached
1133
- node_cache[:t_alias][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1134
- @index = cached.interval.end
1135
- end
1136
- return cached
1137
- end
1138
-
1139
- r0 = _nt_ident
1140
- r0.extend(TAlias0)
1141
- r0.extend(TAlias0)
1142
-
1143
- node_cache[:t_alias][start_index] = r0
1144
-
1145
- r0
1146
- end
1147
-
1148
1122
  module CurrentOf0
1149
1123
  def current_of_keyword
1150
1124
  elements[0]
@@ -1398,10 +1372,12 @@ module OracleSqlParser::Grammar
1398
1372
  r0
1399
1373
  end
1400
1374
 
1401
- end
1402
1375
 
1403
- class GrammarParser < Treetop::Runtime::CompiledParser
1404
- include Grammar
1376
+ class Parser < Treetop::Runtime::CompiledParser
1377
+ include Grammar
1378
+ end
1405
1379
  end
1406
1380
 
1381
+ (remove_const(:GrammarParser) if const_defined?(:GrammarParser)) rescue nil; GrammarParser = Grammar::Parser
1382
+
1407
1383
  end
@@ -150,14 +150,6 @@ module OracleSqlParser::Grammar
150
150
  }
151
151
  end
152
152
 
153
- rule t_alias
154
- ident {
155
- def ast
156
- super
157
- end
158
- }
159
- end
160
-
161
153
  rule current_of
162
154
  current_of_keyword space? cursor_name {
163
155
  def ast
@@ -782,10 +782,12 @@ module OracleSqlParser::Grammar
782
782
  r0
783
783
  end
784
784
 
785
- end
786
785
 
787
- class InsertParser < Treetop::Runtime::CompiledParser
788
- include Insert
786
+ class Parser < Treetop::Runtime::CompiledParser
787
+ include Insert
788
+ end
789
789
  end
790
790
 
791
+ (remove_const(:InsertParser) if const_defined?(:InsertParser)) rescue nil; InsertParser = Insert::Parser
792
+
791
793
  end