conceptql 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
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