sparkql 1.2.4 → 1.2.5

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.
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