sparkql 1.2.0 → 1.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/CHANGELOG.md +4 -0
- data/VERSION +1 -1
- data/lib/sparkql/parser.rb +44 -44
- data/lib/sparkql/parser_compatibility.rb +10 -1
- data/test/unit/parser_compatability_test.rb +6 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
MGYwODJjZmY5MTNkOWFjYjRlZTBkOGZjNjhmNGI1ZjU5MzhjNGM1OA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
YTViYjY5OWVjYzJkYzYxMmQzZTQwZjg1MWFmN2MzNDM4ZmI3MjlmNw==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
ZDc5MjYxMmZiOTY5ZTIxNDg4YmFkYTUwNDRiNGE4YTMwNzgxYTBmNGMyNDUx
|
10
|
+
ZWViZmNkNTI3ODk1ZWRkOWVkZDAyMDk2YWE5MDMxZWQ2MzNlNzI0OTE5ZDEy
|
11
|
+
ZjUyZGQ1ZTIxNzVmODM0OGVmNGQzOWU1MzEzMGZhZWFlMWIzNDU=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
OWFmNWE1ZTYwZjY5ZTQxMmZhOTFiMjQ5YjM0YjAwMGUxNjE5YTQ2Y2Q5ODRi
|
14
|
+
YmQ1NTg5OGQ3M2UzOTJiOTNjNWQzMDhjNWQyYzJlM2I1NmMyMWVlMDU4N2Fl
|
15
|
+
MTQxODY1ODc3ZmQzOGJmY2FhMGQ3MTMwYjEzMGJjZmJkOWJiMDk=
|
data/CHANGELOG.md
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.2.
|
1
|
+
1.2.1
|
data/lib/sparkql/parser.rb
CHANGED
@@ -16,48 +16,48 @@ module Sparkql
|
|
16
16
|
##### State transition tables begin ###
|
17
17
|
|
18
18
|
racc_action_table = [
|
19
|
-
36, 14,
|
20
|
-
|
21
|
-
|
19
|
+
36, 14, 15, 44, 45, 35, 46, 47, 48, 14,
|
20
|
+
22, 32, 33, 34, 37, 38, 39, 40, 41, 36,
|
21
|
+
17, 16, 23, 50, 35, 51, 10, 11, 14, -35,
|
22
22
|
32, 33, 34, 37, 38, 39, 40, 41, 36, 17,
|
23
|
-
16,
|
24
|
-
33, 34, 37, 38, 39, 40, 41, 36,
|
25
|
-
|
23
|
+
16, 62, 75, 35, 66, 63, 76, 14, 57, 32,
|
24
|
+
33, 34, 37, 38, 39, 40, 41, 36, 18, 19,
|
25
|
+
58, 61, 35, 72, 10, 11, 14, nil, 32, 33,
|
26
26
|
34, 37, 38, 39, 40, 41, 36, 14, nil, 44,
|
27
27
|
45, 35, 46, 47, 48, 14, nil, 32, 33, 34,
|
28
28
|
37, 38, 39, 40, 41, 36, nil, nil, 36, nil,
|
29
|
-
35, nil, nil, 35,
|
29
|
+
35, nil, nil, 35, nil, nil, 32, 33, 34, 32,
|
30
30
|
33, 34, 36, nil, 8, nil, 9, 35, 10, 11,
|
31
|
-
14,
|
31
|
+
14, 14, nil, 32, 33, 34, 8, nil, 9, nil,
|
32
32
|
10, 11, 14, 9, nil, 10, 11, 14, 9, nil,
|
33
33
|
10, 11, 14, 9, nil, 10, 11, 14 ]
|
34
34
|
|
35
35
|
racc_action_check = [
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
36, 36,
|
48
|
-
|
49
|
-
|
50
|
-
16, 16, 16,
|
36
|
+
18, 19, 1, 19, 19, 18, 19, 19, 19, 18,
|
37
|
+
13, 18, 18, 18, 18, 18, 18, 18, 18, 22,
|
38
|
+
21, 21, 15, 21, 22, 22, 22, 22, 22, 28,
|
39
|
+
22, 22, 22, 22, 22, 22, 22, 22, 58, 2,
|
40
|
+
2, 52, 67, 58, 58, 52, 67, 58, 29, 58,
|
41
|
+
58, 58, 58, 58, 58, 58, 58, 63, 6, 6,
|
42
|
+
30, 43, 63, 59, 63, 63, 63, nil, 63, 63,
|
43
|
+
63, 63, 63, 63, 63, 63, 76, 61, nil, 61,
|
44
|
+
61, 76, 61, 61, 61, 76, nil, 76, 76, 76,
|
45
|
+
76, 76, 76, 76, 76, 35, nil, nil, 36, nil,
|
46
|
+
35, nil, nil, 36, nil, nil, 35, 35, 35, 36,
|
47
|
+
36, 36, 57, nil, 0, nil, 0, 57, 0, 0,
|
48
|
+
0, 57, nil, 57, 57, 57, 9, nil, 9, nil,
|
49
|
+
9, 9, 9, 8, nil, 8, 8, 8, 16, nil,
|
50
|
+
16, 16, 16, 17, nil, 17, 17, 17 ]
|
51
51
|
|
52
52
|
racc_action_pointer = [
|
53
|
-
|
54
|
-
nil, nil, nil,
|
55
|
-
nil,
|
56
|
-
|
57
|
-
nil, nil, nil,
|
58
|
-
nil, nil,
|
59
|
-
nil,
|
60
|
-
nil, nil, nil, nil, nil, nil,
|
53
|
+
109, 2, 34, nil, nil, nil, 55, nil, 126, 121,
|
54
|
+
nil, nil, nil, 3, nil, 22, 131, 136, -2, -10,
|
55
|
+
nil, 15, 17, nil, nil, nil, nil, nil, 17, 36,
|
56
|
+
53, nil, nil, nil, nil, 93, 96, nil, nil, nil,
|
57
|
+
nil, nil, nil, 49, nil, nil, nil, nil, nil, nil,
|
58
|
+
nil, nil, 33, nil, nil, nil, nil, 110, 36, 55,
|
59
|
+
nil, 66, nil, 55, nil, nil, nil, 34, nil, nil,
|
60
|
+
nil, nil, nil, nil, nil, nil, 74, nil ]
|
61
61
|
|
62
62
|
racc_action_default = [
|
63
63
|
-2, -55, -1, -3, -4, -5, -55, -8, -55, -55,
|
@@ -70,27 +70,27 @@ racc_action_default = [
|
|
70
70
|
-32, -33, -42, -38, -25, -22, -55, -30 ]
|
71
71
|
|
72
72
|
racc_goto_table = [
|
73
|
-
30,
|
74
|
-
|
75
|
-
59, 60, 77, nil, nil, nil, nil, nil, nil,
|
73
|
+
27, 30, 2, 31, 43, 68, 49, 20, 56, 53,
|
74
|
+
1, 21, 26, 42, 28, 24, 25, 29, 52, 67,
|
75
|
+
59, 60, nil, 77, nil, nil, nil, nil, nil, nil,
|
76
76
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
77
|
-
|
78
|
-
|
77
|
+
69, 30, 64, 70, 65, nil, 73, nil, 49, 56,
|
78
|
+
74, nil, nil, nil, nil, nil, nil, nil, 69, 30,
|
79
79
|
nil, 70 ]
|
80
80
|
|
81
81
|
racc_goto_check = [
|
82
|
-
|
83
|
-
|
84
|
-
18, 18, 19, nil, nil, nil, nil, nil, nil,
|
82
|
+
11, 14, 2, 18, 20, 19, 10, 3, 6, 17,
|
83
|
+
1, 2, 7, 8, 12, 3, 3, 13, 15, 16,
|
84
|
+
18, 18, nil, 19, nil, nil, nil, nil, nil, nil,
|
85
85
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
86
|
-
|
87
|
-
|
86
|
+
11, 14, 18, 18, 10, nil, 20, nil, 10, 6,
|
87
|
+
17, nil, nil, nil, nil, nil, nil, nil, 11, 14,
|
88
88
|
nil, 18 ]
|
89
89
|
|
90
90
|
racc_goto_pointer = [
|
91
|
-
nil,
|
92
|
-
-
|
93
|
-
-
|
91
|
+
nil, 10, 2, -1, nil, nil, -14, -6, -6, nil,
|
92
|
+
-13, -18, -4, -1, -17, -4, -39, -13, -15, -53,
|
93
|
+
-15 ]
|
94
94
|
|
95
95
|
racc_goto_default = [
|
96
96
|
nil, nil, nil, 3, 4, 5, 6, nil, nil, 7,
|
@@ -260,12 +260,21 @@ module Sparkql::ParserCompatibility
|
|
260
260
|
def check_function_type?(expression, expected)
|
261
261
|
return false unless expression.key?(:field_manipulations) && expression[:field_manipulations][:return_type] == expression[:type]
|
262
262
|
# Lookup the function arguments
|
263
|
-
function = Sparkql::FunctionResolver::SUPPORTED_FUNCTIONS[expression[:field_manipulations][:function_name].to_sym]
|
263
|
+
function = Sparkql::FunctionResolver::SUPPORTED_FUNCTIONS[deepest_function(expression[:field_manipulations])[:function_name].to_sym]
|
264
264
|
return false if function.nil?
|
265
265
|
|
266
266
|
Array(function[:args].first).include?(expected)
|
267
267
|
end
|
268
268
|
|
269
|
+
|
270
|
+
def deepest_function(function)
|
271
|
+
if function[:args].first[:type] == :function
|
272
|
+
deepest_function(function[:args].first)
|
273
|
+
else
|
274
|
+
function
|
275
|
+
end
|
276
|
+
end
|
277
|
+
|
269
278
|
# Builds the correct operator based on the type and the value.
|
270
279
|
# default should be the operator provided in the actual filter string
|
271
280
|
def get_operator(expression, default )
|
@@ -132,7 +132,6 @@ class ParserCompatabilityTest < Test::Unit::TestCase
|
|
132
132
|
:type => :boolean,
|
133
133
|
:operator => "Eq"
|
134
134
|
}]
|
135
|
-
|
136
135
|
end
|
137
136
|
|
138
137
|
def compare_expression_to_tokens( expression, tokens )
|
@@ -560,5 +559,10 @@ class ParserCompatabilityTest < Test::Unit::TestCase
|
|
560
559
|
parser.escape_value(expression).map { |i| i.strftime(Sparkql::FunctionResolver::STRFTIME_DATE_FORMAT)}
|
561
560
|
end
|
562
561
|
|
563
|
-
|
562
|
+
test "nested function with altering types" do
|
563
|
+
parser = Parser.new
|
564
|
+
expression = parser.tokenize("cast(month(OriginalEntryTimestamp), 'character') Eq '3'").first
|
565
|
+
assert parser.send(:check_type!, expression, :datetime)
|
566
|
+
assert_equal '3', parser.escape_value(expression)
|
567
|
+
end
|
564
568
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sparkql
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Wade McEwen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-09
|
11
|
+
date: 2018-10-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: georuby
|