vorax 0.4.2 → 5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. data/README.md +4 -29
  2. data/vorax.gemspec +3 -11
  3. metadata +4 -92
  4. data/.rspec +0 -1
  5. data/Rakefile +0 -30
  6. data/lib/vorax.rb +0 -60
  7. data/lib/vorax/base_funnel.rb +0 -30
  8. data/lib/vorax/output/html_convertor.rb +0 -120
  9. data/lib/vorax/output/html_funnel.rb +0 -79
  10. data/lib/vorax/output/pagezip_convertor.rb +0 -20
  11. data/lib/vorax/output/tablezip_convertor.rb +0 -22
  12. data/lib/vorax/output/vertical_convertor.rb +0 -53
  13. data/lib/vorax/output/zip_convertor.rb +0 -117
  14. data/lib/vorax/parser/argument.rb~ +0 -125
  15. data/lib/vorax/parser/conn_string.rb +0 -104
  16. data/lib/vorax/parser/grammars/alias.rb +0 -904
  17. data/lib/vorax/parser/grammars/alias.rl +0 -138
  18. data/lib/vorax/parser/grammars/column.rb +0 -454
  19. data/lib/vorax/parser/grammars/column.rl +0 -64
  20. data/lib/vorax/parser/grammars/common.rl +0 -107
  21. data/lib/vorax/parser/grammars/declare.rb +0 -9606
  22. data/lib/vorax/parser/grammars/declare.rl +0 -160
  23. data/lib/vorax/parser/grammars/for_block.rb +0 -440
  24. data/lib/vorax/parser/grammars/for_block.rl +0 -73
  25. data/lib/vorax/parser/grammars/plsql_def.rb +0 -539
  26. data/lib/vorax/parser/grammars/plsql_def.rl +0 -73
  27. data/lib/vorax/parser/grammars/statement.rb +0 -925
  28. data/lib/vorax/parser/grammars/statement.rl +0 -83
  29. data/lib/vorax/parser/parser.rb +0 -344
  30. data/lib/vorax/parser/plsql_structure.rb +0 -222
  31. data/lib/vorax/parser/plsql_walker.rb +0 -143
  32. data/lib/vorax/parser/statement_inspector.rb~ +0 -52
  33. data/lib/vorax/parser/stmt_inspector.rb +0 -78
  34. data/lib/vorax/parser/target_ref.rb +0 -110
  35. data/lib/vorax/sqlplus.rb +0 -273
  36. data/lib/vorax/version.rb +0 -7
  37. data/lib/vorax/vorax_io.rb +0 -70
  38. data/spec/column_spec.rb +0 -40
  39. data/spec/conn_string_spec.rb +0 -53
  40. data/spec/declare_spec.rb +0 -281
  41. data/spec/pagezip_spec.rb +0 -153
  42. data/spec/parser_spec.rb +0 -352
  43. data/spec/plsql_structure_spec.rb +0 -68
  44. data/spec/spec_helper.rb +0 -13
  45. data/spec/sql/create_objects.sql +0 -69
  46. data/spec/sql/dbms_crypto.spc +0 -339
  47. data/spec/sql/dbms_stats.spc +0 -4097
  48. data/spec/sql/drop_user.sql +0 -10
  49. data/spec/sql/muci.spc +0 -26
  50. data/spec/sql/setup_user.sql +0 -22
  51. data/spec/sql/test.fnc +0 -12
  52. data/spec/sql/test.pkg +0 -83
  53. data/spec/sqlplus_spec.rb +0 -52
  54. data/spec/stmt_inspector_spec.rb +0 -96
  55. data/spec/tablezip_spec.rb +0 -111
  56. data/spec/vertical_spec.rb +0 -150
@@ -1,904 +0,0 @@
1
-
2
- # line 1 "lib/vorax/parser/grammars/alias.rl"
3
-
4
- # line 72 "lib/vorax/parser/grammars/alias.rl"
5
-
6
-
7
- module Vorax
8
-
9
- module Parser
10
-
11
- # An abstraction for an alias within a SQL statement.
12
- class Alias
13
-
14
- def initialize
15
- @not_alias = ['ON', 'WHERE', 'FROM', 'CONNECT', 'START',
16
- 'GROUP', 'HAVING', 'MODEL']
17
- end
18
-
19
- # Walks the provided statement searching for alias references.
20
- #
21
- # @param data the statement
22
- def walk(data)
23
- @refs = [];
24
- @start_columns = 0
25
- @columns = nil;
26
- data << "\n"
27
- eof = data.length
28
-
29
- # line 30 "lib/vorax/parser/grammars/alias.rb"
30
- class << self
31
- attr_accessor :_alias_actions
32
- private :_alias_actions, :_alias_actions=
33
- end
34
- self._alias_actions = [
35
- 0, 1, 1, 1, 2, 1, 3, 1,
36
- 6, 1, 8, 1, 9, 1, 10, 1,
37
- 15, 1, 16, 1, 17, 1, 18, 1,
38
- 19, 1, 21, 1, 22, 1, 23, 1,
39
- 24, 1, 25, 1, 26, 1, 27, 2,
40
- 1, 19, 2, 1, 21, 2, 3, 19,
41
- 2, 3, 21, 2, 5, 2, 2, 6,
42
- 20, 2, 7, 0, 2, 10, 2, 2,
43
- 10, 4, 2, 10, 11, 2, 10, 12,
44
- 2, 10, 13, 2, 10, 14, 3, 10,
45
- 7, 0, 3, 10, 7, 4
46
- ]
47
-
48
- class << self
49
- attr_accessor :_alias_key_offsets
50
- private :_alias_key_offsets, :_alias_key_offsets=
51
- end
52
- self._alias_key_offsets = [
53
- 0, 9, 10, 11, 12, 13, 15, 17,
54
- 19, 21, 26, 40, 41, 55, 56, 62,
55
- 76, 77, 78, 79, 87, 88, 89, 90,
56
- 92, 100, 101, 102, 103, 104, 105, 107,
57
- 108, 109, 110, 111, 113, 114, 115, 116,
58
- 117, 119, 121, 123, 125, 130, 144, 145,
59
- 158, 159, 160, 161, 162, 163, 165, 173,
60
- 174, 182, 183, 184, 185, 186, 187, 189,
61
- 190, 191, 192, 193, 195, 197, 199, 201,
62
- 203, 208, 209, 210, 211, 212, 214, 216,
63
- 218, 223, 236, 237, 242, 249, 250, 251,
64
- 252, 253, 255, 257, 263, 269, 282, 283,
65
- 288, 295, 296, 297, 298, 299, 301, 303,
66
- 309, 310, 311, 312, 313, 315, 329, 330,
67
- 331, 332, 333, 335, 336, 337, 338, 339,
68
- 341, 342, 343, 344, 345, 347, 361, 362,
69
- 363, 364, 365, 367, 378, 387, 395, 401,
70
- 418, 425, 431, 446, 462, 468, 483, 490,
71
- 490, 499, 505, 510, 524, 539, 555, 560,
72
- 561, 562, 563, 564, 565, 567, 572, 574
73
- ]
74
-
75
- class << self
76
- attr_accessor :_alias_trans_keys
77
- private :_alias_trans_keys, :_alias_trans_keys=
78
- end
79
- self._alias_trans_keys = [
80
- 32, 45, 47, 70, 74, 102, 106, 9,
81
- 13, 45, 10, 42, 42, 42, 47, 82,
82
- 114, 79, 111, 77, 109, 32, 45, 47,
83
- 9, 13, 32, 34, 40, 45, 47, 95,
84
- 9, 13, 35, 36, 65, 90, 97, 122,
85
- 34, 32, 34, 44, 45, 47, 95, 9,
86
- 13, 35, 36, 65, 90, 97, 122, 34,
87
- 32, 44, 45, 47, 9, 13, 32, 34,
88
- 40, 45, 47, 95, 9, 13, 35, 36,
89
- 65, 90, 97, 122, 34, 45, 10, 34,
90
- 95, 35, 36, 65, 90, 97, 122, 34,
91
- 42, 42, 42, 47, 34, 95, 35, 36,
92
- 65, 90, 97, 122, 34, 45, 10, 42,
93
- 42, 42, 47, 45, 10, 42, 42, 42,
94
- 47, 45, 10, 42, 42, 42, 47, 79,
95
- 111, 73, 105, 78, 110, 32, 45, 47,
96
- 9, 13, 32, 34, 40, 45, 47, 95,
97
- 9, 13, 35, 36, 65, 90, 97, 122,
98
- 34, 32, 34, 45, 47, 95, 9, 13,
99
- 35, 36, 65, 90, 97, 122, 34, 45,
100
- 10, 42, 42, 42, 47, 34, 95, 35,
101
- 36, 65, 90, 97, 122, 34, 34, 95,
102
- 35, 36, 65, 90, 97, 122, 34, 45,
103
- 10, 42, 42, 42, 47, 34, 39, 10,
104
- 42, 42, 47, 76, 108, 69, 101, 67,
105
- 99, 84, 116, 32, 45, 47, 9, 13,
106
- 45, 10, 42, 42, 42, 47, 84, 116,
107
- 72, 104, 32, 45, 47, 9, 13, 32,
108
- 34, 45, 47, 95, 9, 13, 35, 36,
109
- 65, 90, 97, 122, 34, 32, 45, 47,
110
- 9, 13, 32, 45, 47, 65, 97, 9,
111
- 13, 45, 10, 42, 42, 42, 47, 83,
112
- 115, 32, 40, 45, 47, 9, 13, 32,
113
- 44, 45, 47, 9, 13, 32, 34, 45,
114
- 47, 95, 9, 13, 35, 36, 65, 90,
115
- 97, 122, 34, 32, 45, 47, 9, 13,
116
- 32, 45, 47, 65, 97, 9, 13, 45,
117
- 10, 42, 42, 42, 47, 83, 115, 32,
118
- 40, 45, 47, 9, 13, 45, 10, 42,
119
- 42, 42, 47, 32, 45, 47, 95, 9,
120
- 13, 35, 36, 48, 57, 65, 90, 97,
121
- 122, 45, 10, 42, 42, 42, 47, 45,
122
- 10, 42, 42, 42, 47, 45, 10, 42,
123
- 42, 42, 47, 32, 45, 47, 95, 9,
124
- 13, 35, 36, 48, 57, 65, 90, 97,
125
- 122, 45, 10, 42, 42, 42, 47, 32,
126
- 34, 39, 45, 47, 83, 87, 115, 119,
127
- 9, 13, 32, 45, 47, 70, 74, 102,
128
- 106, 9, 13, 32, 44, 45, 46, 47,
129
- 64, 9, 13, 32, 44, 45, 47, 9,
130
- 13, 32, 44, 45, 46, 47, 64, 95,
131
- 9, 13, 35, 36, 48, 57, 65, 90,
132
- 97, 122, 32, 44, 45, 47, 64, 9,
133
- 13, 32, 44, 45, 47, 9, 13, 32,
134
- 44, 45, 47, 95, 9, 13, 35, 36,
135
- 48, 57, 65, 90, 97, 122, 32, 44,
136
- 45, 47, 64, 95, 9, 13, 35, 36,
137
- 48, 57, 65, 90, 97, 122, 32, 44,
138
- 45, 47, 9, 13, 32, 44, 45, 47,
139
- 95, 9, 13, 35, 36, 48, 57, 65,
140
- 90, 97, 122, 32, 45, 46, 47, 64,
141
- 9, 13, 95, 35, 36, 48, 57, 65,
142
- 90, 97, 122, 32, 45, 47, 64, 9,
143
- 13, 32, 45, 47, 9, 13, 32, 45,
144
- 47, 95, 9, 13, 35, 36, 48, 57,
145
- 65, 90, 97, 122, 32, 45, 47, 64,
146
- 95, 9, 13, 35, 36, 48, 57, 65,
147
- 90, 97, 122, 32, 45, 46, 47, 64,
148
- 95, 9, 13, 35, 36, 48, 57, 65,
149
- 90, 97, 122, 32, 45, 47, 9, 13,
150
- 34, 39, 39, 45, 42, 69, 101, 32,
151
- 45, 47, 9, 13, 73, 105, 32, 44,
152
- 45, 47, 9, 13, 0
153
- ]
154
-
155
- class << self
156
- attr_accessor :_alias_single_lengths
157
- private :_alias_single_lengths, :_alias_single_lengths=
158
- end
159
- self._alias_single_lengths = [
160
- 7, 1, 1, 1, 1, 2, 2, 2,
161
- 2, 3, 6, 1, 6, 1, 4, 6,
162
- 1, 1, 1, 2, 1, 1, 1, 2,
163
- 2, 1, 1, 1, 1, 1, 2, 1,
164
- 1, 1, 1, 2, 1, 1, 1, 1,
165
- 2, 2, 2, 2, 3, 6, 1, 5,
166
- 1, 1, 1, 1, 1, 2, 2, 1,
167
- 2, 1, 1, 1, 1, 1, 2, 1,
168
- 1, 1, 1, 2, 2, 2, 2, 2,
169
- 3, 1, 1, 1, 1, 2, 2, 2,
170
- 3, 5, 1, 3, 5, 1, 1, 1,
171
- 1, 2, 2, 4, 4, 5, 1, 3,
172
- 5, 1, 1, 1, 1, 2, 2, 4,
173
- 1, 1, 1, 1, 2, 4, 1, 1,
174
- 1, 1, 2, 1, 1, 1, 1, 2,
175
- 1, 1, 1, 1, 2, 4, 1, 1,
176
- 1, 1, 2, 9, 7, 6, 4, 7,
177
- 5, 4, 5, 6, 4, 5, 5, 0,
178
- 1, 4, 3, 4, 5, 6, 3, 1,
179
- 1, 1, 1, 1, 2, 3, 2, 4
180
- ]
181
-
182
- class << self
183
- attr_accessor :_alias_range_lengths
184
- private :_alias_range_lengths, :_alias_range_lengths=
185
- end
186
- self._alias_range_lengths = [
187
- 1, 0, 0, 0, 0, 0, 0, 0,
188
- 0, 1, 4, 0, 4, 0, 1, 4,
189
- 0, 0, 0, 3, 0, 0, 0, 0,
190
- 3, 0, 0, 0, 0, 0, 0, 0,
191
- 0, 0, 0, 0, 0, 0, 0, 0,
192
- 0, 0, 0, 0, 1, 4, 0, 4,
193
- 0, 0, 0, 0, 0, 0, 3, 0,
194
- 3, 0, 0, 0, 0, 0, 0, 0,
195
- 0, 0, 0, 0, 0, 0, 0, 0,
196
- 1, 0, 0, 0, 0, 0, 0, 0,
197
- 1, 4, 0, 1, 1, 0, 0, 0,
198
- 0, 0, 0, 1, 1, 4, 0, 1,
199
- 1, 0, 0, 0, 0, 0, 0, 1,
200
- 0, 0, 0, 0, 0, 5, 0, 0,
201
- 0, 0, 0, 0, 0, 0, 0, 0,
202
- 0, 0, 0, 0, 0, 5, 0, 0,
203
- 0, 0, 0, 1, 1, 1, 1, 5,
204
- 1, 1, 5, 5, 1, 5, 1, 0,
205
- 4, 1, 1, 5, 5, 5, 1, 0,
206
- 0, 0, 0, 0, 0, 1, 0, 1
207
- ]
208
-
209
- class << self
210
- attr_accessor :_alias_index_offsets
211
- private :_alias_index_offsets, :_alias_index_offsets=
212
- end
213
- self._alias_index_offsets = [
214
- 0, 9, 11, 13, 15, 17, 20, 23,
215
- 26, 29, 34, 45, 47, 58, 60, 66,
216
- 77, 79, 81, 83, 89, 91, 93, 95,
217
- 98, 104, 106, 108, 110, 112, 114, 117,
218
- 119, 121, 123, 125, 128, 130, 132, 134,
219
- 136, 139, 142, 145, 148, 153, 164, 166,
220
- 176, 178, 180, 182, 184, 186, 189, 195,
221
- 197, 203, 205, 207, 209, 211, 213, 216,
222
- 218, 220, 222, 224, 227, 230, 233, 236,
223
- 239, 244, 246, 248, 250, 252, 255, 258,
224
- 261, 266, 276, 278, 283, 290, 292, 294,
225
- 296, 298, 301, 304, 310, 316, 326, 328,
226
- 333, 340, 342, 344, 346, 348, 351, 354,
227
- 360, 362, 364, 366, 368, 371, 381, 383,
228
- 385, 387, 389, 392, 394, 396, 398, 400,
229
- 403, 405, 407, 409, 411, 414, 424, 426,
230
- 428, 430, 432, 435, 446, 455, 463, 469,
231
- 482, 489, 495, 506, 518, 524, 535, 542,
232
- 543, 549, 555, 560, 570, 581, 593, 598,
233
- 600, 602, 604, 606, 608, 611, 616, 619
234
- ]
235
-
236
- class << self
237
- attr_accessor :_alias_trans_targs
238
- private :_alias_trans_targs, :_alias_trans_targs=
239
- end
240
- self._alias_trans_targs = [
241
- 0, 1, 3, 6, 41, 6, 41, 0,
242
- 131, 2, 131, 0, 2, 4, 131, 5,
243
- 4, 5, 0, 4, 7, 7, 131, 8,
244
- 8, 131, 9, 9, 131, 10, 36, 38,
245
- 10, 131, 10, 11, 140, 36, 38, 135,
246
- 10, 135, 135, 135, 131, 133, 11, 12,
247
- 13, 15, 17, 21, 141, 12, 141, 141,
248
- 141, 131, 134, 13, 14, 15, 31, 33,
249
- 14, 131, 15, 16, 140, 26, 28, 135,
250
- 15, 135, 135, 135, 131, 133, 16, 18,
251
- 131, 12, 18, 20, 139, 139, 139, 139,
252
- 131, 136, 20, 22, 131, 23, 22, 23,
253
- 12, 22, 25, 138, 138, 138, 138, 131,
254
- 137, 25, 27, 131, 15, 27, 29, 131,
255
- 30, 29, 30, 15, 29, 32, 131, 14,
256
- 32, 34, 131, 35, 34, 35, 14, 34,
257
- 37, 131, 10, 37, 39, 131, 40, 39,
258
- 40, 10, 39, 42, 42, 131, 43, 43,
259
- 131, 44, 44, 131, 45, 58, 60, 45,
260
- 131, 45, 46, 150, 58, 60, 149, 45,
261
- 149, 149, 149, 131, 142, 46, 47, 48,
262
- 49, 51, 144, 47, 144, 144, 144, 131,
263
- 143, 48, 50, 131, 47, 50, 52, 131,
264
- 53, 52, 53, 47, 52, 55, 148, 148,
265
- 148, 148, 131, 145, 55, 57, 147, 147,
266
- 147, 147, 131, 146, 57, 59, 131, 45,
267
- 59, 61, 131, 62, 61, 62, 45, 61,
268
- 131, 63, 153, 64, 132, 65, 67, 66,
269
- 67, 132, 66, 69, 69, 131, 70, 70,
270
- 131, 71, 71, 131, 72, 72, 131, 157,
271
- 73, 75, 157, 131, 74, 131, 157, 74,
272
- 76, 131, 77, 76, 77, 157, 76, 79,
273
- 79, 131, 80, 80, 131, 81, 126, 128,
274
- 81, 131, 81, 82, 126, 128, 125, 81,
275
- 125, 125, 125, 131, 83, 82, 84, 85,
276
- 87, 84, 131, 84, 85, 87, 90, 90,
277
- 84, 131, 86, 131, 84, 86, 88, 131,
278
- 89, 88, 89, 84, 88, 91, 91, 131,
279
- 91, 159, 120, 122, 91, 131, 92, 93,
280
- 115, 117, 92, 131, 93, 94, 110, 112,
281
- 109, 93, 109, 109, 109, 131, 95, 94,
282
- 96, 97, 99, 96, 131, 96, 97, 99,
283
- 102, 102, 96, 131, 98, 131, 96, 98,
284
- 100, 131, 101, 100, 101, 96, 100, 103,
285
- 103, 131, 103, 159, 104, 106, 103, 131,
286
- 105, 131, 103, 105, 107, 131, 108, 107,
287
- 108, 103, 107, 96, 97, 99, 109, 96,
288
- 109, 109, 109, 109, 131, 111, 131, 93,
289
- 111, 113, 131, 114, 113, 114, 93, 113,
290
- 116, 131, 92, 116, 118, 131, 119, 118,
291
- 119, 92, 118, 121, 131, 91, 121, 123,
292
- 131, 124, 123, 124, 91, 123, 84, 85,
293
- 87, 125, 84, 125, 125, 125, 125, 131,
294
- 127, 131, 81, 127, 129, 131, 130, 129,
295
- 130, 81, 129, 132, 151, 152, 154, 155,
296
- 156, 158, 156, 158, 132, 131, 0, 1,
297
- 3, 6, 41, 6, 41, 0, 131, 12,
298
- 15, 17, 19, 21, 24, 12, 131, 14,
299
- 15, 31, 33, 14, 131, 12, 15, 17,
300
- 19, 21, 24, 135, 12, 135, 135, 135,
301
- 135, 131, 12, 15, 17, 21, 24, 12,
302
- 131, 12, 15, 17, 21, 12, 131, 12,
303
- 15, 17, 21, 138, 12, 138, 138, 138,
304
- 138, 131, 12, 15, 17, 21, 24, 139,
305
- 12, 139, 139, 139, 139, 131, 12, 15,
306
- 17, 21, 12, 131, 14, 15, 31, 33,
307
- 141, 14, 141, 141, 141, 141, 131, 47,
308
- 49, 54, 51, 56, 47, 131, 131, 144,
309
- 144, 144, 144, 144, 131, 47, 49, 51,
310
- 56, 47, 131, 47, 49, 51, 47, 131,
311
- 47, 49, 51, 147, 47, 147, 147, 147,
312
- 147, 131, 47, 49, 51, 56, 148, 47,
313
- 148, 148, 148, 148, 131, 47, 49, 54,
314
- 51, 56, 149, 47, 149, 149, 149, 149,
315
- 131, 47, 49, 51, 47, 131, 131, 63,
316
- 153, 64, 64, 131, 65, 131, 66, 131,
317
- 68, 68, 131, 157, 73, 75, 157, 131,
318
- 78, 78, 131, 92, 93, 115, 117, 92,
319
- 131, 131, 131, 131, 131, 131, 131, 131,
320
- 131, 131, 131, 131, 131, 131, 131, 131,
321
- 131, 131, 131, 131, 131, 131, 131, 131,
322
- 131, 131, 131, 131, 131, 131, 131, 131,
323
- 131, 131, 131, 131, 131, 131, 131, 131,
324
- 131, 131, 131, 131, 131, 131, 131, 131,
325
- 131, 131, 131, 131, 131, 131, 131, 131,
326
- 131, 131, 131, 131, 131, 131, 131, 131,
327
- 131, 131, 131, 131, 131, 131, 131, 131,
328
- 131, 131, 131, 131, 131, 131, 131, 131,
329
- 131, 131, 131, 131, 131, 131, 131, 131,
330
- 131, 131, 131, 131, 131, 131, 131, 131,
331
- 131, 131, 131, 131, 131, 131, 131, 131,
332
- 131, 131, 131, 131, 131, 131, 131, 131,
333
- 131, 131, 131, 131, 131, 131, 131, 131,
334
- 131, 131, 131, 131, 131, 131, 131, 131,
335
- 131, 131, 131, 131, 131, 131, 131, 131,
336
- 131, 131, 131, 131, 131, 131, 131, 131,
337
- 131, 131, 131, 131, 131, 131, 131, 131,
338
- 131, 131, 131, 131, 131, 131, 131, 131,
339
- 0
340
- ]
341
-
342
- class << self
343
- attr_accessor :_alias_trans_actions
344
- private :_alias_trans_actions, :_alias_trans_actions=
345
- end
346
- self._alias_trans_actions = [
347
- 0, 0, 0, 0, 0, 0, 0, 0,
348
- 37, 0, 37, 0, 0, 0, 37, 0,
349
- 0, 0, 0, 0, 0, 0, 37, 0,
350
- 0, 37, 0, 0, 37, 0, 0, 0,
351
- 0, 37, 0, 57, 82, 0, 0, 78,
352
- 0, 78, 78, 78, 37, 13, 0, 0,
353
- 3, 0, 0, 0, 60, 0, 60, 60,
354
- 60, 29, 13, 0, 0, 0, 0, 0,
355
- 0, 29, 0, 57, 82, 0, 0, 78,
356
- 0, 78, 78, 78, 29, 13, 0, 0,
357
- 29, 0, 0, 0, 13, 13, 13, 13,
358
- 29, 13, 0, 0, 29, 0, 0, 0,
359
- 0, 0, 0, 13, 13, 13, 13, 29,
360
- 13, 0, 0, 29, 0, 0, 0, 29,
361
- 0, 0, 0, 0, 0, 0, 29, 0,
362
- 0, 0, 29, 0, 0, 0, 0, 0,
363
- 0, 37, 0, 0, 0, 37, 0, 0,
364
- 0, 0, 0, 0, 0, 37, 0, 0,
365
- 37, 0, 0, 37, 0, 0, 0, 0,
366
- 37, 0, 57, 82, 0, 0, 78, 0,
367
- 78, 78, 78, 37, 13, 0, 0, 3,
368
- 0, 0, 3, 0, 3, 3, 3, 33,
369
- 0, 0, 0, 33, 0, 0, 0, 33,
370
- 0, 0, 0, 0, 0, 0, 13, 13,
371
- 13, 13, 33, 13, 0, 0, 13, 13,
372
- 13, 13, 33, 13, 0, 0, 37, 0,
373
- 0, 0, 37, 0, 0, 0, 0, 0,
374
- 15, 0, 66, 0, 69, 0, 0, 0,
375
- 0, 69, 0, 0, 0, 35, 0, 0,
376
- 35, 0, 0, 35, 0, 0, 35, 72,
377
- 0, 0, 72, 35, 0, 37, 72, 0,
378
- 0, 37, 0, 0, 0, 72, 0, 0,
379
- 0, 35, 0, 0, 35, 0, 0, 0,
380
- 0, 35, 0, 51, 0, 0, 51, 0,
381
- 51, 51, 51, 35, 0, 0, 5, 5,
382
- 5, 5, 35, 0, 0, 0, 0, 0,
383
- 0, 35, 0, 35, 0, 0, 0, 35,
384
- 0, 0, 0, 0, 0, 0, 0, 35,
385
- 0, 63, 0, 0, 0, 35, 0, 0,
386
- 0, 0, 0, 31, 0, 51, 0, 0,
387
- 51, 0, 51, 51, 51, 31, 0, 0,
388
- 5, 5, 5, 5, 31, 0, 0, 0,
389
- 0, 0, 0, 31, 0, 31, 0, 0,
390
- 0, 31, 0, 0, 0, 0, 0, 0,
391
- 0, 31, 0, 63, 0, 0, 0, 31,
392
- 0, 31, 0, 0, 0, 31, 0, 0,
393
- 0, 0, 0, 5, 5, 5, 0, 5,
394
- 0, 0, 0, 0, 31, 0, 31, 0,
395
- 0, 0, 31, 0, 0, 0, 0, 0,
396
- 0, 31, 0, 0, 0, 31, 0, 0,
397
- 0, 0, 0, 0, 35, 0, 0, 0,
398
- 35, 0, 0, 0, 0, 0, 5, 5,
399
- 5, 0, 5, 0, 0, 0, 0, 35,
400
- 0, 35, 0, 0, 0, 35, 0, 0,
401
- 0, 0, 0, 75, 13, 75, 13, 13,
402
- 75, 13, 75, 13, 75, 17, 0, 0,
403
- 0, 0, 0, 0, 0, 0, 37, 1,
404
- 1, 1, 0, 1, 0, 1, 39, 5,
405
- 5, 5, 5, 5, 45, 1, 1, 1,
406
- 0, 1, 0, 13, 1, 13, 13, 13,
407
- 13, 39, 1, 1, 1, 1, 0, 1,
408
- 39, 1, 1, 1, 1, 1, 39, 1,
409
- 1, 1, 1, 13, 1, 13, 13, 13,
410
- 13, 39, 1, 1, 1, 1, 0, 13,
411
- 1, 13, 13, 13, 13, 39, 0, 0,
412
- 0, 0, 0, 23, 5, 5, 5, 5,
413
- 13, 5, 13, 13, 13, 13, 45, 1,
414
- 1, 0, 1, 0, 1, 42, 48, 0,
415
- 0, 0, 0, 0, 48, 1, 1, 1,
416
- 0, 1, 42, 1, 1, 1, 1, 42,
417
- 1, 1, 1, 13, 1, 13, 13, 13,
418
- 13, 42, 1, 1, 1, 0, 13, 1,
419
- 13, 13, 13, 13, 42, 1, 1, 0,
420
- 1, 0, 13, 1, 13, 13, 13, 13,
421
- 42, 0, 0, 0, 0, 25, 15, 0,
422
- 66, 0, 0, 19, 0, 27, 0, 27,
423
- 0, 0, 27, 72, 0, 0, 72, 21,
424
- 0, 0, 27, 7, 7, 7, 7, 7,
425
- 54, 37, 37, 37, 37, 37, 37, 37,
426
- 37, 37, 37, 37, 37, 29, 29, 29,
427
- 29, 29, 29, 29, 29, 29, 29, 29,
428
- 29, 29, 29, 29, 29, 29, 29, 29,
429
- 29, 29, 29, 29, 29, 37, 37, 37,
430
- 37, 37, 37, 37, 37, 37, 37, 37,
431
- 33, 33, 33, 33, 33, 33, 33, 33,
432
- 33, 33, 33, 37, 37, 37, 37, 37,
433
- 35, 37, 35, 35, 35, 35, 35, 35,
434
- 35, 35, 37, 37, 37, 37, 37, 35,
435
- 35, 35, 35, 35, 35, 35, 35, 35,
436
- 35, 35, 35, 35, 35, 31, 31, 31,
437
- 31, 31, 31, 31, 31, 31, 31, 31,
438
- 31, 31, 31, 31, 31, 31, 31, 31,
439
- 31, 31, 31, 31, 31, 31, 31, 31,
440
- 31, 35, 35, 35, 35, 35, 35, 35,
441
- 35, 35, 35, 35, 37, 39, 45, 39,
442
- 39, 39, 39, 39, 23, 45, 42, 48,
443
- 48, 42, 42, 42, 42, 42, 25, 27,
444
- 27, 19, 27, 27, 27, 21, 27, 54,
445
- 0
446
- ]
447
-
448
- class << self
449
- attr_accessor :_alias_to_state_actions
450
- private :_alias_to_state_actions, :_alias_to_state_actions=
451
- end
452
- self._alias_to_state_actions = [
453
- 0, 0, 0, 0, 0, 0, 0, 0,
454
- 0, 0, 0, 0, 0, 0, 0, 0,
455
- 0, 0, 0, 0, 0, 0, 0, 0,
456
- 0, 0, 0, 0, 0, 0, 0, 0,
457
- 0, 0, 0, 0, 0, 0, 0, 0,
458
- 0, 0, 0, 0, 0, 0, 0, 0,
459
- 0, 0, 0, 0, 0, 0, 0, 0,
460
- 0, 0, 0, 0, 0, 0, 0, 0,
461
- 0, 0, 0, 0, 0, 0, 0, 0,
462
- 0, 0, 0, 0, 0, 0, 0, 0,
463
- 0, 0, 0, 0, 0, 0, 0, 0,
464
- 0, 0, 0, 0, 0, 0, 0, 0,
465
- 0, 0, 0, 0, 0, 0, 0, 0,
466
- 0, 0, 0, 0, 0, 0, 0, 0,
467
- 0, 0, 0, 0, 0, 0, 0, 0,
468
- 0, 0, 0, 0, 0, 0, 0, 0,
469
- 0, 0, 0, 9, 0, 0, 0, 0,
470
- 0, 0, 0, 0, 0, 0, 0, 0,
471
- 0, 0, 0, 0, 0, 0, 0, 0,
472
- 0, 0, 0, 0, 0, 0, 0, 0
473
- ]
474
-
475
- class << self
476
- attr_accessor :_alias_from_state_actions
477
- private :_alias_from_state_actions, :_alias_from_state_actions=
478
- end
479
- self._alias_from_state_actions = [
480
- 0, 0, 0, 0, 0, 0, 0, 0,
481
- 0, 0, 0, 0, 0, 0, 0, 0,
482
- 0, 0, 0, 0, 0, 0, 0, 0,
483
- 0, 0, 0, 0, 0, 0, 0, 0,
484
- 0, 0, 0, 0, 0, 0, 0, 0,
485
- 0, 0, 0, 0, 0, 0, 0, 0,
486
- 0, 0, 0, 0, 0, 0, 0, 0,
487
- 0, 0, 0, 0, 0, 0, 0, 0,
488
- 0, 0, 0, 0, 0, 0, 0, 0,
489
- 0, 0, 0, 0, 0, 0, 0, 0,
490
- 0, 0, 0, 0, 0, 0, 0, 0,
491
- 0, 0, 0, 0, 0, 0, 0, 0,
492
- 0, 0, 0, 0, 0, 0, 0, 0,
493
- 0, 0, 0, 0, 0, 0, 0, 0,
494
- 0, 0, 0, 0, 0, 0, 0, 0,
495
- 0, 0, 0, 0, 0, 0, 0, 0,
496
- 0, 0, 0, 11, 0, 0, 0, 0,
497
- 0, 0, 0, 0, 0, 0, 0, 0,
498
- 0, 0, 0, 0, 0, 0, 0, 0,
499
- 0, 0, 0, 0, 0, 0, 0, 0
500
- ]
501
-
502
- class << self
503
- attr_accessor :_alias_eof_trans
504
- private :_alias_eof_trans, :_alias_eof_trans=
505
- end
506
- self._alias_eof_trans = [
507
- 757, 757, 757, 757, 757, 757, 757, 757,
508
- 757, 757, 757, 757, 661, 661, 661, 661,
509
- 661, 661, 661, 661, 661, 661, 661, 661,
510
- 661, 661, 661, 661, 661, 661, 661, 661,
511
- 661, 661, 661, 661, 757, 757, 757, 757,
512
- 757, 757, 757, 757, 757, 757, 757, 683,
513
- 683, 683, 683, 683, 683, 683, 683, 683,
514
- 683, 683, 757, 757, 757, 757, 757, 756,
515
- 757, 756, 756, 756, 756, 756, 756, 756,
516
- 756, 757, 757, 757, 757, 757, 756, 756,
517
- 756, 756, 756, 756, 756, 756, 756, 756,
518
- 756, 756, 756, 756, 745, 745, 745, 745,
519
- 745, 745, 745, 745, 745, 745, 745, 745,
520
- 745, 745, 745, 745, 745, 745, 745, 745,
521
- 745, 745, 745, 745, 745, 745, 745, 745,
522
- 756, 756, 756, 756, 756, 756, 756, 756,
523
- 756, 756, 756, 0, 757, 764, 766, 764,
524
- 764, 764, 764, 764, 765, 766, 774, 769,
525
- 769, 774, 774, 774, 774, 774, 775, 783,
526
- 783, 778, 783, 783, 783, 782, 783, 784
527
- ]
528
-
529
- class << self
530
- attr_accessor :alias_start
531
- end
532
- self.alias_start = 131;
533
- class << self
534
- attr_accessor :alias_first_final
535
- end
536
- self.alias_first_final = 131;
537
- class << self
538
- attr_accessor :alias_error
539
- end
540
- self.alias_error = -1;
541
-
542
- class << self
543
- attr_accessor :alias_en_main
544
- end
545
- self.alias_en_main = 131;
546
-
547
-
548
- # line 96 "lib/vorax/parser/grammars/alias.rl"
549
-
550
- # line 551 "lib/vorax/parser/grammars/alias.rb"
551
- begin
552
- p ||= 0
553
- pe ||= data.length
554
- cs = alias_start
555
- ts = nil
556
- te = nil
557
- act = 0
558
- end
559
-
560
- # line 97 "lib/vorax/parser/grammars/alias.rl"
561
-
562
- # line 563 "lib/vorax/parser/grammars/alias.rb"
563
- begin
564
- _klen, _trans, _keys, _acts, _nacts = nil
565
- _goto_level = 0
566
- _resume = 10
567
- _eof_trans = 15
568
- _again = 20
569
- _test_eof = 30
570
- _out = 40
571
- while true
572
- _trigger_goto = false
573
- if _goto_level <= 0
574
- if p == pe
575
- _goto_level = _test_eof
576
- next
577
- end
578
- end
579
- if _goto_level <= _resume
580
- _acts = _alias_from_state_actions[cs]
581
- _nacts = _alias_actions[_acts]
582
- _acts += 1
583
- while _nacts > 0
584
- _nacts -= 1
585
- _acts += 1
586
- case _alias_actions[_acts - 1]
587
- when 9 then
588
- # line 1 "NONE"
589
- begin
590
- ts = p
591
- end
592
- # line 593 "lib/vorax/parser/grammars/alias.rb"
593
- end # from state action switch
594
- end
595
- if _trigger_goto
596
- next
597
- end
598
- _keys = _alias_key_offsets[cs]
599
- _trans = _alias_index_offsets[cs]
600
- _klen = _alias_single_lengths[cs]
601
- _break_match = false
602
-
603
- begin
604
- if _klen > 0
605
- _lower = _keys
606
- _upper = _keys + _klen - 1
607
-
608
- loop do
609
- break if _upper < _lower
610
- _mid = _lower + ( (_upper - _lower) >> 1 )
611
-
612
- if data[p].ord < _alias_trans_keys[_mid]
613
- _upper = _mid - 1
614
- elsif data[p].ord > _alias_trans_keys[_mid]
615
- _lower = _mid + 1
616
- else
617
- _trans += (_mid - _keys)
618
- _break_match = true
619
- break
620
- end
621
- end # loop
622
- break if _break_match
623
- _keys += _klen
624
- _trans += _klen
625
- end
626
- _klen = _alias_range_lengths[cs]
627
- if _klen > 0
628
- _lower = _keys
629
- _upper = _keys + (_klen << 1) - 2
630
- loop do
631
- break if _upper < _lower
632
- _mid = _lower + (((_upper-_lower) >> 1) & ~1)
633
- if data[p].ord < _alias_trans_keys[_mid]
634
- _upper = _mid - 2
635
- elsif data[p].ord > _alias_trans_keys[_mid+1]
636
- _lower = _mid + 2
637
- else
638
- _trans += ((_mid - _keys) >> 1)
639
- _break_match = true
640
- break
641
- end
642
- end # loop
643
- break if _break_match
644
- _trans += _klen
645
- end
646
- end while false
647
- end
648
- if _goto_level <= _eof_trans
649
- cs = _alias_trans_targs[_trans]
650
- if _alias_trans_actions[_trans] != 0
651
- _acts = _alias_trans_actions[_trans]
652
- _nacts = _alias_actions[_acts]
653
- _acts += 1
654
- while _nacts > 0
655
- _nacts -= 1
656
- _acts += 1
657
- case _alias_actions[_acts - 1]
658
- when 0 then
659
- # line 5 "lib/vorax/parser/grammars/alias.rl"
660
- begin
661
-
662
- @t_start = p
663
- end
664
- when 1 then
665
- # line 9 "lib/vorax/parser/grammars/alias.rl"
666
- begin
667
-
668
- @table_ref = data[(@t_start..p-1)]
669
- end
670
- when 2 then
671
- # line 13 "lib/vorax/parser/grammars/alias.rl"
672
- begin
673
-
674
- @a_start = p
675
- @alias_value = nil
676
- end
677
- when 3 then
678
- # line 18 "lib/vorax/parser/grammars/alias.rl"
679
- begin
680
-
681
- text = data[(@a_start..p-1)]
682
- @alias_value = text unless @not_alias.include?(text.upcase)
683
- end
684
- when 4 then
685
- # line 23 "lib/vorax/parser/grammars/alias.rl"
686
- begin
687
-
688
- @subquery_text = Parser.walk_balanced_paren(data[(p..-1)]).gsub(/^\(|\)$/, '')
689
- p += 1
690
- @subquery_range = (p..p+@subquery_text.length-1)
691
- p += @subquery_text.length
692
- te = p
693
- end
694
- when 5 then
695
- # line 31 "lib/vorax/parser/grammars/alias.rl"
696
- begin
697
-
698
- @alias_value = nil
699
- @subquery_range = nil
700
- @subquery_text = nil
701
- end
702
- when 6 then
703
- # line 37 "lib/vorax/parser/grammars/alias.rl"
704
- begin
705
-
706
- @refs << ExprRef.new(@subquery_text, @subquery_range, @alias_value)
707
- @alias_value = nil
708
- @subquery_range = nil
709
- @subquery_text = nil
710
- end
711
- when 7 then
712
- # line 44 "lib/vorax/parser/grammars/alias.rl"
713
- begin
714
-
715
- add_tableref
716
- end
717
- when 10 then
718
- # line 1 "NONE"
719
- begin
720
- te = p+1
721
- end
722
- when 11 then
723
- # line 62 "lib/vorax/parser/grammars/alias.rl"
724
- begin
725
- act = 1; end
726
- when 12 then
727
- # line 64 "lib/vorax/parser/grammars/alias.rl"
728
- begin
729
- act = 3; end
730
- when 13 then
731
- # line 65 "lib/vorax/parser/grammars/alias.rl"
732
- begin
733
- act = 4; end
734
- when 14 then
735
- # line 69 "lib/vorax/parser/grammars/alias.rl"
736
- begin
737
- act = 8; end
738
- when 15 then
739
- # line 63 "lib/vorax/parser/grammars/alias.rl"
740
- begin
741
- te = p+1
742
- end
743
- when 16 then
744
- # line 69 "lib/vorax/parser/grammars/alias.rl"
745
- begin
746
- te = p+1
747
- end
748
- when 17 then
749
- # line 62 "lib/vorax/parser/grammars/alias.rl"
750
- begin
751
- te = p
752
- p = p - 1; end
753
- when 18 then
754
- # line 65 "lib/vorax/parser/grammars/alias.rl"
755
- begin
756
- te = p
757
- p = p - 1; begin @start_columns = te end
758
- end
759
- when 19 then
760
- # line 66 "lib/vorax/parser/grammars/alias.rl"
761
- begin
762
- te = p
763
- p = p - 1; begin @columns = data[(@start_columns..ts)] unless @columns end
764
- end
765
- when 20 then
766
- # line 67 "lib/vorax/parser/grammars/alias.rl"
767
- begin
768
- te = p
769
- p = p - 1; end
770
- when 21 then
771
- # line 68 "lib/vorax/parser/grammars/alias.rl"
772
- begin
773
- te = p
774
- p = p - 1; end
775
- when 22 then
776
- # line 69 "lib/vorax/parser/grammars/alias.rl"
777
- begin
778
- te = p
779
- p = p - 1; end
780
- when 23 then
781
- # line 66 "lib/vorax/parser/grammars/alias.rl"
782
- begin
783
- begin p = ((te))-1; end
784
- begin @columns = data[(@start_columns..ts)] unless @columns end
785
- end
786
- when 24 then
787
- # line 67 "lib/vorax/parser/grammars/alias.rl"
788
- begin
789
- begin p = ((te))-1; end
790
- end
791
- when 25 then
792
- # line 68 "lib/vorax/parser/grammars/alias.rl"
793
- begin
794
- begin p = ((te))-1; end
795
- end
796
- when 26 then
797
- # line 69 "lib/vorax/parser/grammars/alias.rl"
798
- begin
799
- begin p = ((te))-1; end
800
- end
801
- when 27 then
802
- # line 1 "NONE"
803
- begin
804
- case act
805
- when 4 then
806
- begin begin p = ((te))-1; end
807
- @start_columns = te end
808
- when 8 then
809
- begin begin p = ((te))-1; end
810
- end
811
- else
812
- begin begin p = ((te))-1; end
813
- end
814
- end
815
- end
816
- # line 817 "lib/vorax/parser/grammars/alias.rb"
817
- end # action switch
818
- end
819
- end
820
- if _trigger_goto
821
- next
822
- end
823
- end
824
- if _goto_level <= _again
825
- _acts = _alias_to_state_actions[cs]
826
- _nacts = _alias_actions[_acts]
827
- _acts += 1
828
- while _nacts > 0
829
- _nacts -= 1
830
- _acts += 1
831
- case _alias_actions[_acts - 1]
832
- when 8 then
833
- # line 1 "NONE"
834
- begin
835
- ts = nil; end
836
- # line 837 "lib/vorax/parser/grammars/alias.rb"
837
- end # to state action switch
838
- end
839
- if _trigger_goto
840
- next
841
- end
842
- p += 1
843
- if p != pe
844
- _goto_level = _resume
845
- next
846
- end
847
- end
848
- if _goto_level <= _test_eof
849
- if p == eof
850
- if _alias_eof_trans[cs] > 0
851
- _trans = _alias_eof_trans[cs] - 1;
852
- _goto_level = _eof_trans
853
- next;
854
- end
855
- end
856
- end
857
- if _goto_level <= _out
858
- break
859
- end
860
- end
861
- end
862
-
863
- # line 98 "lib/vorax/parser/grammars/alias.rl"
864
- data.chop!
865
-
866
- # needed to finalize the last pending tableref
867
- add_tableref
868
- end
869
-
870
- # Get all identified tableref/exprref references. This method
871
- # should be called after walk.
872
- #
873
- # @return an array of references
874
- def refs
875
- @refs
876
- end
877
-
878
- # A string containing the column list, if there's any.
879
- #
880
- # @return a string with all defined columns
881
- def query_fields
882
- @columns
883
- end
884
-
885
- private
886
-
887
- def add_tableref
888
- if (not @table_ref.nil?)
889
- @refs << TableRef.new(@table_ref, @alias_value)
890
- elsif (not @subquery_text.nil?)
891
- @refs << ExprRef.new(@subquery_text,
892
- @subquery_range,
893
- @alias_value)
894
- end
895
- @alias_value = nil
896
- @table_ref = nil
897
- end
898
-
899
- end
900
-
901
- end
902
-
903
- end
904
-