sparkql 1.2.4 → 1.2.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- YmIyYTljOGIyZmFjZTEyZmY1MzU2ODZjYTg4ZWU1NDI2NWNkOWRkYw==
4
+ ODQ4YzQ0YzQ1YmJkMDNlMmUxMmFiZTUyZWY2NTcwNjY0YTM2ZTE3OA==
5
5
  data.tar.gz: !binary |-
6
- NDkwMjczNDY2N2JlOGRmMzA5MDQ1YmI4Njg3ZTM5MTJlMzBiODVhMQ==
6
+ NTEyZDlkMWVjY2RjZDY2ZTJlMTg3YjNjNTc4NmE2ZDc3ODdhNTAyYQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- OTk2NTgwODMyNjExMjBiZThmODdjNzczZmM4M2MzMmY0MWNiNTkxODU5NThk
10
- Y2UwYzY0ZTQ1NGRhNmFjYjI1ODIwYzBiMmMyMDM2NzFmNmNhNTI1OGNkYjNj
11
- NzJhZTRjMDk4MzVmYjJlNDM4YTE2ZWFjYTVjNzlmMGZlNzM4NjQ=
9
+ MzMwODdhYTQ3NWQwYzlhYjQ5NWM2ZTNkZDlhMzczMWZmMDg1NDliZWMyOWJj
10
+ MmQ3MzMwNjBiYjIzMzE3Y2JiNzk2YzQxMzgyM2EzZDM1MTc4OTVkYmM5YTQw
11
+ YjQ3NDVjZWVmZjcyZDkxNzE3ZjI5NTFhODU4NWI5ZjZhYWU1YTA=
12
12
  data.tar.gz: !binary |-
13
- NjhmNWU0NmZjNDVkMmUzMDJhMGM2ZTY0ZWVjMTk3ZGUwZGI3MzM2OTQwN2M4
14
- MTUzYTk3N2E1NzI2YWFmMTA1YWIxZWY2MTliZTRiOGNjOTU5NjEwMGFlODkz
15
- YjRmYmVmN2M4NTJkMGUyM2NlNjhmODA0ZGFkYWYzM2Q0OTNlMDU=
13
+ MmE5ODM3ODdmYTY3MGMxN2I2Mjc2MmQ2NjQwNDM0ZTNiYzU4YTkxYjVkNWE3
14
+ YThkMmNlZDA3MjI0MWU0MDdkOTVmNzI4NDhkMmMzNTA5ZGYyNTM1ZGM4NDZm
15
+ M2M2ZjdmYTBlMTEwODUxN2ZkMDIyYmQyZDFjNjNmNGU5YTU2MGQ=
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ v1.2.5, 2018-12-19
2
+ -------------------
3
+ * [BUGFIX] Correctly handle arithmetic grouping
4
+
1
5
  v1.2.4, 2018-12-13
2
6
  -------------------
3
7
  * [IMPROVEMENT] Support decimal arithmetic
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.2.4
1
+ 1.2.5
@@ -126,6 +126,8 @@ module Sparkql::ParserTools
126
126
  end
127
127
 
128
128
  def tokenize_arithmetic_group(lhs)
129
+ @lexer.leveldown
130
+ @lexer.block_group_identifier -= 1
129
131
  lhs = {type: :field, value: lhs} if lhs.is_a?(String)
130
132
  {
131
133
  type: :arithmetic,
@@ -260,6 +262,8 @@ module Sparkql::ParserTools
260
262
  end
261
263
 
262
264
  def group_fold(exp)
265
+ @lexer.leveldown
266
+ @lexer.block_group_identifier -= 1
263
267
  exp
264
268
  end
265
269
 
@@ -1180,6 +1180,24 @@ class ParserTest < Test::Unit::TestCase
1180
1180
  assert_equal '0', expressions.first[:value]
1181
1181
  end
1182
1182
 
1183
+ test 'Arithmetic grouping should not influence expression grouping' do
1184
+ filter = "(BathroomsTotalDecimal add (5 mul 5)) Eq ((3.4 add 2.6) mul (1 add 1))"
1185
+ @parser = Parser.new
1186
+ expressions = @parser.parse(filter)
1187
+ assert !@parser.errors?
1188
+ assert_equal 0, expressions.first[:level]
1189
+ assert_equal 0, expressions.first[:block_group]
1190
+
1191
+ filter = "((BathroomsTotalDecimal add (5 mul 5)) Eq ((3.4 add 2.6) mul (1 add 1))) And BathroomsTotalDecimal Eq 5"
1192
+ @parser = Parser.new
1193
+ expressions = @parser.parse(filter)
1194
+ assert !@parser.errors?
1195
+ assert_equal 1, expressions.first[:level]
1196
+ assert_equal 1, expressions.first[:block_group]
1197
+ assert_equal 0, expressions.last[:level]
1198
+ assert_equal 0, expressions.last[:block_group]
1199
+ end
1200
+
1183
1201
  private
1184
1202
 
1185
1203
  def parser_errors(filter)
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
4
+ version: 1.2.5
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-12-13 00:00:00.000000000 Z
11
+ date: 2018-12-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: georuby