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 +8 -8
- data/CHANGELOG.md +5 -1
- data/VERSION +1 -1
- data/lib/sparkql/token.rb +1 -1
- data/test/unit/lexer_test.rb +9 -0
- data/test/unit/parser_compatability_test.rb +22 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
ZDQ2MjhlNzA5NWY1ZGM5YmM4ODEzMGE2Y2Y5ZWQ0YzkzZWYwODMxYQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
OTNiMjFjMjA2ODZmMmRmYWNkM2JiNjA4NDA5NjcwZDBhNTVlY2Q5NA==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MWFhMTU2MDQ1ZjBkZDFhOTAyNGMyNDM4MjZmZDI0ODg0ZTg3NmI1MWRkYWMz
|
10
|
+
ZTI4ZDgxNTg1YWFhY2ZkOTUxOTM5ZGQ1NWEwMGMzNWVlNDc3NDYyOTMzODEx
|
11
|
+
YmEwNDNmMGMwZWFkOTk1MzNkZjVkMGVmOGJjYzE0MzViYTczZGY=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
Y2ZlNWFkYThlN2UwMjFiNzI5ZjE5NTJkNmY3OTNlODRhMzY1YjNhNjJmYTRl
|
14
|
+
ODg5ZTQ4ZDJlMjU0NWRiYmNmYzViNzdjZDY0NmNmYTAxYjc3YTAxOTg0YmEy
|
15
|
+
YmVjYThkZTg0ZGZiOTdlM2Y0YWYyNzY0YTE4ZTU1Y2QzN2NhMzU=
|
data/CHANGELOG.md
CHANGED
@@ -1,4 +1,8 @@
|
|
1
|
-
v1.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.
|
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})?)?/
|
data/test/unit/lexer_test.rb
CHANGED
@@ -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.
|
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-
|
11
|
+
date: 2016-02-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: georuby
|