sqliterate 0.1.2 → 0.1.3
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.
@@ -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
|