sparkql 1.0.0 → 1.0.1

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
- MDMyYjhlMDJkY2ZkZjJmN2VlYzVmNTdkODNjNTRjZjFkMjEwZDJiMA==
4
+ ZDQ2MjhlNzA5NWY1ZGM5YmM4ODEzMGE2Y2Y5ZWQ0YzkzZWYwODMxYQ==
5
5
  data.tar.gz: !binary |-
6
- N2YwNzMyMTJjMGFjZmQ5MDM0OWYyZDYyM2Y2MmQwMWEyMWZhZTg0MA==
6
+ OTNiMjFjMjA2ODZmMmRmYWNkM2JiNjA4NDA5NjcwZDBhNTVlY2Q5NA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- MWQxYWQwZmZjZTRlNGMwYzBkNGJkYWRjZTQxZTRhMTA1ZTZmYzVkNDQ0OTI0
10
- OGY5ZmRlMjRlNTUzMGIwOWJlNGY4ODcxZjEyMDg3YTRkMDVhMzNkNDUwYTYy
11
- NTFmYThlMGRkMzE2YjcwNzkxZDgwOGQ3MDBkMDMwNjU4ZGYwZTM=
9
+ MWFhMTU2MDQ1ZjBkZDFhOTAyNGMyNDM4MjZmZDI0ODg0ZTg3NmI1MWRkYWMz
10
+ ZTI4ZDgxNTg1YWFhY2ZkOTUxOTM5ZGQ1NWEwMGMzNWVlNDc3NDYyOTMzODEx
11
+ YmEwNDNmMGMwZWFkOTk1MzNkZjVkMGVmOGJjYzE0MzViYTczZGY=
12
12
  data.tar.gz: !binary |-
13
- YjM1YWE1MGJlNTlhNWZiZmY5YjZkN2ZhMGIyYTUxMDQ5NzY3N2U4N2RmMTFj
14
- YmFmODY2ZTEwNzA2NTFlMzkxNzJhM2RiYTM2Mjc1YTJhMzhjZTFmNWYxMDUy
15
- YzZlMmQ0N2RkMWQ2ZGE2M2Y5MjZjMDBjYWRkNzc4NzM2NWVlNzA=
13
+ Y2ZlNWFkYThlN2UwMjFiNzI5ZjE5NTJkNmY3OTNlODRhMzY1YjNhNjJmYTRl
14
+ ODg5ZTQ4ZDJlMjU0NWRiYmNmYzViNzdjZDY0NmNmYTAxYjc3YTAxOTg0YmEy
15
+ YmVjYThkZTg0ZGZiOTdlM2Y0YWYyNzY0YTE4ZTU1Y2QzN2NhMzU=
data/CHANGELOG.md CHANGED
@@ -1,4 +1,8 @@
1
- v1.0.0, 2016-02-11 ([changes](https://github.com/sparkapi/sparkql/compare/v0.3.20...v1.0.0))
1
+ v1.0.1, 2016-02-24 ([changes](https://github.com/sparkapi/sparkql/compare/v1.0.0...v1.0.1))
2
+ -------------------
3
+ * [IMPROVEMENT] Support scientific notation for floating point numbers
4
+
5
+ v1.0.0, 2016-02-11 ([changes](https://github.com/sparkapi/sparkql/compare/v0.3.23...v1.0.0))
2
6
  -------------------
3
7
  * [IMPROVEMENT] function support for fields (delayed resolution). Backing systems must
4
8
  implement necessary function behaviour.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.0
1
+ 1.0.1
data/lib/sparkql/token.rb CHANGED
@@ -7,7 +7,7 @@ module Sparkql::Token
7
7
  STANDARD_FIELD = /[A-Z]+[A-Za-z0-9]*/
8
8
  CUSTOM_FIELD = /^(\"([^$."][^."]+)\".\"([^$."][^."]*)\")/
9
9
  INTEGER = /^\-?[0-9]+/
10
- DECIMAL = /^\-?[0-9]+\.[0-9]+/
10
+ DECIMAL = /^\-?[0-9]+\.[0-9]+([Ee]-?[0-9]{1,2})?/
11
11
  CHARACTER = /^'([^'\\]*(\\.[^'\\]*)*)'/
12
12
  DATE = /^[0-9]{4}\-[0-9]{2}\-[0-9]{2}/
13
13
  TIME = /^[0-9]{2}\:[0-9]{2}((\:[0-9]{2})(\.[0-9]{1,50})?)?/
@@ -100,4 +100,13 @@ class LexerTest < Test::Unit::TestCase
100
100
  assert_equal :DATETIME, token.first, op
101
101
  end
102
102
  end
103
+
104
+ def test_decimal_matches
105
+ ['-15.42', '1.0', '0.22', '9.0E-6', '-9.0E-3'].each do |op|
106
+ @lexer = Lexer.new(op)
107
+ token = @lexer.shift
108
+ assert_equal :DECIMAL, token.first, op
109
+ end
110
+ end
111
+
103
112
  end
@@ -67,6 +67,21 @@ class ParserCompatabilityTest < Test::Unit::TestCase
67
67
  :type => :decimal,
68
68
  :operator => "Eq"
69
69
  },
70
+ {
71
+ :string => "FloatField Eq 9.1E-6",
72
+ :type => :decimal,
73
+ :operator => "Eq"
74
+ },
75
+ {
76
+ :string => "FloatField Eq -9.1E-6",
77
+ :type => :decimal,
78
+ :operator => "Eq"
79
+ },
80
+ {
81
+ :string => "FloatField Eq 1.0E8",
82
+ :type => :decimal,
83
+ :operator => "Eq"
84
+ },
70
85
  {
71
86
  :string => "FloatField Eq -2001.120,-2002.0",
72
87
  :type => :decimal,
@@ -468,6 +483,13 @@ class ParserCompatabilityTest < Test::Unit::TestCase
468
483
  assert_equal true, parser.escape_value(expressions.first)
469
484
  end
470
485
 
486
+ test "escape decimal values" do
487
+ parser = Parser.new
488
+ expressions = parser.tokenize( "DecimalField Eq 0.00005 And DecimalField Eq 5.0E-5" )
489
+ assert_equal 5.0E-5, parser.escape_value(expressions.first)
490
+ assert_equal parser.escape_value(expressions.first), parser.escape_value(expressions.last)
491
+ end
492
+
471
493
  test "Between" do
472
494
  ["BathsFull Bt 10,20", "DateField Bt 2012-12-31,2013-01-31"].each do |f|
473
495
  parser = Parser.new
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.0.0
4
+ version: 1.0.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: 2016-02-12 00:00:00.000000000 Z
11
+ date: 2016-02-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: georuby