sqliterate 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
@@ -43,13 +43,19 @@ module SQLiterate
|
|
43
43
|
rule set_predicate_expression
|
44
44
|
exists_expression
|
45
45
|
/
|
46
|
-
e:test_expression space set_predicate_operator space
|
47
|
-
'(' space query_expression space ')'
|
46
|
+
e:test_expression space set_predicate_operator space set_constructor
|
48
47
|
<Node::SetPredicateExpression>
|
49
48
|
/
|
50
49
|
test_expression
|
51
50
|
end
|
52
51
|
|
52
|
+
rule set_constructor
|
53
|
+
'(' space e:query_expression space ')'
|
54
|
+
/
|
55
|
+
'(' space e:expressions_list space ')'
|
56
|
+
<Node::SetConstructor>
|
57
|
+
end
|
58
|
+
|
53
59
|
rule exists_expression
|
54
60
|
exists_kw space '(' space query_expression space ')'
|
55
61
|
<Node::ExistsExpression>
|
@@ -96,13 +102,13 @@ module SQLiterate
|
|
96
102
|
end
|
97
103
|
|
98
104
|
rule case_when_section
|
99
|
-
when_kw
|
100
|
-
then_kw
|
105
|
+
when_kw space w:scalar_expression space
|
106
|
+
then_kw space t:scalar_expression
|
101
107
|
<Node::CaseWhenSection>
|
102
108
|
end
|
103
109
|
|
104
110
|
rule case_else_section
|
105
|
-
( else_kw
|
111
|
+
( else_kw space scalar_expression / space )
|
106
112
|
<Node::CaseElseSection>
|
107
113
|
end
|
108
114
|
|
@@ -149,11 +155,11 @@ module SQLiterate
|
|
149
155
|
|
150
156
|
rule ordering_specifier
|
151
157
|
( asc_kw / desc_kw )?
|
152
|
-
(
|
158
|
+
( space nulls_kw required_space ( first_kw / last_kw ) )?
|
153
159
|
end
|
154
160
|
|
155
161
|
rule order_by_clause
|
156
|
-
( order_by_kw
|
162
|
+
( order_by_kw space sort_expressions_list / space ) <Node::OrderByClause>
|
157
163
|
end
|
158
164
|
|
159
165
|
rule sort_expressions_list
|
@@ -210,7 +216,7 @@ module SQLiterate
|
|
210
216
|
end
|
211
217
|
|
212
218
|
rule select_query
|
213
|
-
select_kw
|
219
|
+
select_kw space
|
214
220
|
distinct_clause space
|
215
221
|
select_list space
|
216
222
|
table_expression space
|
@@ -222,7 +228,7 @@ module SQLiterate
|
|
222
228
|
|
223
229
|
rule distinct_clause
|
224
230
|
aggregate_specifier (
|
225
|
-
required_space on_kw
|
231
|
+
required_space on_kw space '(' space expressions_list space ')'
|
226
232
|
)?
|
227
233
|
/
|
228
234
|
space
|
@@ -256,20 +262,20 @@ module SQLiterate
|
|
256
262
|
end
|
257
263
|
|
258
264
|
rule from_clause
|
259
|
-
( from_kw
|
265
|
+
( from_kw space table_references / space ) <Node::FromClause>
|
260
266
|
end
|
261
267
|
|
262
268
|
rule where_clause
|
263
|
-
( where_kw
|
269
|
+
( where_kw space scalar_expression / space ) <Node::WhereClause>
|
264
270
|
end
|
265
271
|
|
266
272
|
rule group_by_clause
|
267
|
-
( group_by_kw
|
273
|
+
( group_by_kw space expressions_list space having_clause / space )
|
268
274
|
<Node::GroupByClause>
|
269
275
|
end
|
270
276
|
|
271
277
|
rule having_clause
|
272
|
-
( having_kw
|
278
|
+
( having_kw space scalar_expression / space ) <Node::HavingClause>
|
273
279
|
end
|
274
280
|
|
275
281
|
rule table_references
|
@@ -323,15 +329,17 @@ module SQLiterate
|
|
323
329
|
end
|
324
330
|
|
325
331
|
rule limit_clause
|
326
|
-
limit_kw required_space
|
327
|
-
|
328
|
-
|
332
|
+
( limit_kw required_space all_kw
|
333
|
+
/
|
334
|
+
limit_kw space scalar_expression
|
335
|
+
/
|
336
|
+
space )
|
337
|
+
<Node::LimitClause>
|
329
338
|
end
|
330
339
|
|
331
340
|
rule offset_clause
|
332
|
-
offset_kw
|
333
|
-
|
334
|
-
space
|
341
|
+
( offset_kw space scalar_expression / space )
|
342
|
+
<Node::OffsetClause>
|
335
343
|
end
|
336
344
|
end
|
337
345
|
end
|
@@ -9,7 +9,7 @@ module SQLiterate
|
|
9
9
|
end
|
10
10
|
|
11
11
|
rule with_section
|
12
|
-
(with_kw
|
12
|
+
(with_kw space with_queries / space) <Node::WithSection>
|
13
13
|
end
|
14
14
|
|
15
15
|
rule with_queries
|
@@ -17,7 +17,7 @@ module SQLiterate
|
|
17
17
|
end
|
18
18
|
|
19
19
|
rule with_query
|
20
|
-
identifier
|
20
|
+
identifier space as_kw space '('
|
21
21
|
space query_expression space
|
22
22
|
')' <Node::WithQuery>
|
23
23
|
end
|
@@ -38,6 +38,12 @@ module SQLiterate
|
|
38
38
|
end
|
39
39
|
end
|
40
40
|
|
41
|
+
module SetConstructor
|
42
|
+
def tables
|
43
|
+
e.tables
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
41
47
|
module ExistsExpression
|
42
48
|
def tables
|
43
49
|
query_expression.tables
|
@@ -219,7 +225,11 @@ module SQLiterate
|
|
219
225
|
|
220
226
|
module SelectQuery
|
221
227
|
def tables
|
222
|
-
select_list.tables +
|
228
|
+
select_list.tables + \
|
229
|
+
table_expression.tables + \
|
230
|
+
order_by_clause.tables + \
|
231
|
+
limit_clause.tables + \
|
232
|
+
offset_clause.tables
|
223
233
|
end
|
224
234
|
end
|
225
235
|
|
@@ -302,5 +312,17 @@ module SQLiterate
|
|
302
312
|
table_reference.table
|
303
313
|
end
|
304
314
|
end
|
315
|
+
|
316
|
+
module LimitClause
|
317
|
+
def tables
|
318
|
+
respond_to?(:scalar_expression) ? scalar_expression.tables : []
|
319
|
+
end
|
320
|
+
end
|
321
|
+
|
322
|
+
module OffsetClause
|
323
|
+
def tables
|
324
|
+
respond_to?(:scalar_expression) ? scalar_expression.tables : []
|
325
|
+
end
|
326
|
+
end
|
305
327
|
end
|
306
328
|
end
|
data/lib/sqliterate/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sqliterate
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -121,7 +121,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
121
121
|
version: '0'
|
122
122
|
segments:
|
123
123
|
- 0
|
124
|
-
hash:
|
124
|
+
hash: 3648950469007697292
|
125
125
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
126
126
|
none: false
|
127
127
|
requirements:
|
@@ -130,7 +130,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
130
130
|
version: '0'
|
131
131
|
segments:
|
132
132
|
- 0
|
133
|
-
hash:
|
133
|
+
hash: 3648950469007697292
|
134
134
|
requirements: []
|
135
135
|
rubyforge_project:
|
136
136
|
rubygems_version: 1.8.23
|