conceptql 0.1.0 → 0.1.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,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 297853bf4ddbd97f096bd42b929843cf25b88774
4
- data.tar.gz: b6ec45dc7694ffdd8e205a2fa0c911501cb8ebb4
3
+ metadata.gz: 7346b1988f7233add68cf70f2f5617a1b2df86fc
4
+ data.tar.gz: 893e14fdc17bc4dfed78868017e7cebd5739ddc5
5
5
  SHA512:
6
- metadata.gz: c858413d3020e1168b793c43d54cf1a9e7a9574cc5ee0a1edd50237e71e4abc07ba2a6a9036fe8a82249b3908dce5ff6ea8d4c9500f05665223dd36c6b08bd7c
7
- data.tar.gz: 3cd9354b86045d6d66061d131b32fb2451f1b9fdd582e905bdb7fbf0ea7d28b1657663e0b63c261b2454af30f234e81aaa509e04a49793c1150032d4de2e6a60
6
+ metadata.gz: a7618751466878c7a78d2c0ef738201ed3612eff584a811e0ebf42f4c3cbeb662cea01a60ce8c6b452d37842aada37923103b5559bd71e34db65f812cad212a8
7
+ data.tar.gz: 7f26dee3ab73028146901d121c6fc54cc08bad65e49a890e7a1ff3f97a48d5f11e7c7014984e6de2c2ef0c18f1bd983e2953a8f8b7138b69f4f80052d93808cd
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.1.1 - 2014-09-18
5
+
6
+ ### Added
7
+ - Nothing.
8
+
9
+ ### Deprecated
10
+ - Nothing.
11
+
12
+ ### Removed
13
+ - Nothing.
14
+
15
+ ### Fixed
16
+ - Calling Query#sql no longer creates a bunch of temporary tables
17
+
18
+
4
19
  ## 0.1.0 - 2014-09-04
5
20
 
6
21
  ### Added
@@ -46,12 +46,20 @@ module ConceptQL
46
46
  # That way we can call #query multiple times, but only suffer the
47
47
  # cost of creating the temp table just once
48
48
  @_run ||= begin
49
- db.create_table!(table_name, temp: true, as: stream.evaluate(db))
49
+ if tree.opts[:sql_only]
50
+ db.create_table!(table_name, temp: true, as: fake_row(db))
51
+ else
52
+ db.create_table!(table_name, temp: true, as: stream.evaluate(db))
53
+ end
50
54
  true
51
55
  end
52
56
  db.from(table_name)
53
57
  end
54
58
 
59
+ def columns(query, local_type)
60
+ COLUMNS
61
+ end
62
+
55
63
  def types
56
64
  stream.types
57
65
  end
@@ -70,6 +78,18 @@ module ConceptQL
70
78
  def table_name
71
79
  @table_name ||= namify(arguments.first)
72
80
  end
81
+
82
+ def fake_row(db)
83
+ db
84
+ .select(Sequel.cast(nil, Bignum).as(:person_id))
85
+ .select_append(Sequel.cast(nil, Bignum).as(:criterion_id))
86
+ .select_append(Sequel.cast(nil, String).as(:criterion_type))
87
+ .select_append(Sequel.cast(nil, Date).as(:start_date))
88
+ .select_append(Sequel.cast(nil, Date).as(:end_date))
89
+ .select_append(Sequel.cast(nil, Bignum).as(:value_as_numeric))
90
+ .select_append(Sequel.cast(nil, String).as(:value_as_string))
91
+ .select_append(Sequel.cast(nil, Bignum).as(:value_as_concept_id))
92
+ end
73
93
  end
74
94
  end
75
95
  end
@@ -28,6 +28,10 @@ module ConceptQL
28
28
  db.from(table_name)
29
29
  end
30
30
 
31
+ def columns(query, local_type)
32
+ COLUMNS
33
+ end
34
+
31
35
  def types
32
36
  definition.types
33
37
  end
@@ -19,6 +19,7 @@ module ConceptQL
19
19
  end
20
20
 
21
21
  def sql
22
+ tree.opts[:sql_only] = true
22
23
  nodes.map { |node| node.sql(db) }.join(";\n") + ';'
23
24
  end
24
25
 
@@ -3,11 +3,12 @@ require 'active_support/core_ext/hash'
3
3
 
4
4
  module ConceptQL
5
5
  class Tree
6
- attr :nodifier, :behavior, :defined
6
+ attr :nodifier, :behavior, :defined, :opts
7
7
  def initialize(opts = {})
8
8
  @nodifier = opts.fetch(:nodifier, Nodifier.new)
9
9
  @behavior = opts.fetch(:behavior, nil)
10
10
  @defined = {}
11
+ @opts = {}
11
12
  end
12
13
 
13
14
  def root(*queries)
@@ -1,3 +1,3 @@
1
1
  module ConceptQL
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
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.1.0
4
+ version: 0.1.1
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-09-05 00:00:00.000000000 Z
11
+ date: 2014-09-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport