conceptql 0.0.8 → 0.0.9
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 +4 -4
- data/CHANGELOG.md +15 -0
- data/lib/conceptql/nodes/date_range.rb +3 -2
- data/lib/conceptql/nodes/node.rb +7 -4
- data/lib/conceptql/version.rb +1 -1
- data/spec/conceptql/nodes/date_range_spec.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5750de5f196ce44a4f679c8c28613bd7476824a1
|
|
4
|
+
data.tar.gz: 66c448563f934f4a64e5a030e343eceef5a691aa
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 286d1046bab811f33f2a83d0066cc608a2d205c46beb188bc3cd9227db36a4cad2b23bbc0ee968ddb49ba34394800bd2d312661787d77bb8467f6bb80a13d09e
|
|
7
|
+
data.tar.gz: b6978826328af7dd3d1cc3af40447a20ccd3afe83074c0ecbce3528f56dbc6cb48621131e784444194a050f10549dc523dccd0a9228a453892facb9faa099bb1
|
data/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,21 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
All notable changes to this project will be documented in this file.
|
|
3
3
|
|
|
4
|
+
## 0.0.9 - 2014-09-03
|
|
5
|
+
|
|
6
|
+
### Added
|
|
7
|
+
- Support for MSSQL (SQL Server).
|
|
8
|
+
|
|
9
|
+
### Deprecated
|
|
10
|
+
- Nothing.
|
|
11
|
+
|
|
12
|
+
### Removed
|
|
13
|
+
- Nothing.
|
|
14
|
+
|
|
15
|
+
### Fixed
|
|
16
|
+
- Removed debug output from Node#namify
|
|
17
|
+
|
|
18
|
+
|
|
4
19
|
## 0.0.8 - 2014-08-28
|
|
5
20
|
|
|
6
21
|
### Added
|
|
@@ -12,7 +12,7 @@ module ConceptQL
|
|
|
12
12
|
db.from(:person)
|
|
13
13
|
.select_append(Sequel.cast_string('person').as(:criterion_type))
|
|
14
14
|
.select_append(Sequel.expr(:person_id).as(:criterion_id))
|
|
15
|
-
.select_append(
|
|
15
|
+
.select_append(start_date(db).as(:start_date), end_date(db).as(:end_date)).from_self
|
|
16
16
|
end
|
|
17
17
|
|
|
18
18
|
def types
|
|
@@ -33,7 +33,8 @@ module ConceptQL
|
|
|
33
33
|
def date_from(db, str)
|
|
34
34
|
return db.from(:visit_occurrence).select { min(:start_date) } if str.upcase == 'START'
|
|
35
35
|
return db.from(:visit_occurrence).select { max(:end_date) } if str.upcase == 'END'
|
|
36
|
-
return str
|
|
36
|
+
return Sequel.lit('CONVERT(DATETIME, ?)', str) if db.database_type == :mssql
|
|
37
|
+
return Sequel.lit('date ?', str)
|
|
37
38
|
end
|
|
38
39
|
end
|
|
39
40
|
end
|
data/lib/conceptql/nodes/node.rb
CHANGED
|
@@ -133,10 +133,13 @@ module ConceptQL
|
|
|
133
133
|
end
|
|
134
134
|
strings = strings.zip(['-'] * (symbols.length - 1)).flatten.compact
|
|
135
135
|
concatted_strings = Sequel.join(strings)
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
else
|
|
136
|
+
case query.db.database_type
|
|
137
|
+
when :oracle
|
|
139
138
|
Sequel.function(:to_date, concatted_strings, 'YYYY-MM-DD')
|
|
139
|
+
when :mssql
|
|
140
|
+
Sequel.lit('CONVERT(DATETIME, ?)', concatted_strings)
|
|
141
|
+
else
|
|
142
|
+
Sequel.cast(concatted_strings, Date)
|
|
140
143
|
end
|
|
141
144
|
end
|
|
142
145
|
|
|
@@ -154,7 +157,7 @@ module ConceptQL
|
|
|
154
157
|
|
|
155
158
|
def namify(name)
|
|
156
159
|
digest = Zlib.crc32 name
|
|
157
|
-
('_' + digest.to_s).
|
|
160
|
+
('_' + digest.to_s).to_sym
|
|
158
161
|
end
|
|
159
162
|
end
|
|
160
163
|
end
|
data/lib/conceptql/version.rb
CHANGED
|
@@ -22,11 +22,11 @@ describe ConceptQL::Nodes::DateRange do
|
|
|
22
22
|
end
|
|
23
23
|
|
|
24
24
|
it 'handles START as day before first recorded visit_occurrence' do
|
|
25
|
-
ConceptQL::Nodes::DateRange.new(start: 'START', end: '2010-03-20').query(Sequel.mock).sql.must_equal("SELECT * FROM (SELECT *, CAST('person' AS varchar(255)) AS criterion_type, person_id AS criterion_id,
|
|
25
|
+
ConceptQL::Nodes::DateRange.new(start: 'START', end: '2010-03-20').query(Sequel.mock).sql.must_equal("SELECT * FROM (SELECT *, CAST('person' AS varchar(255)) AS criterion_type, person_id AS criterion_id, (SELECT min(start_date) FROM visit_occurrence) AS start_date, date '2010-03-20' AS end_date FROM person) AS t1")
|
|
26
26
|
end
|
|
27
27
|
|
|
28
28
|
it 'handles END as 2010-12-31' do
|
|
29
|
-
ConceptQL::Nodes::DateRange.new(start: '2004-12-13', end: 'END').query(Sequel.mock).sql.must_equal("SELECT * FROM (SELECT *, CAST('person' AS varchar(255)) AS criterion_type, person_id AS criterion_id, date '2004-12-13' AS start_date,
|
|
29
|
+
ConceptQL::Nodes::DateRange.new(start: '2004-12-13', end: 'END').query(Sequel.mock).sql.must_equal("SELECT * FROM (SELECT *, CAST('person' AS varchar(255)) AS criterion_type, person_id AS criterion_id, date '2004-12-13' AS start_date, (SELECT max(end_date) FROM visit_occurrence) AS end_date FROM person) AS t1")
|
|
30
30
|
end
|
|
31
31
|
end
|
|
32
32
|
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: conceptql
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.9
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ryan Duryea
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2014-
|
|
11
|
+
date: 2014-09-03 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activesupport
|