amalgalite 1.6.0-x86-mingw32 → 1.6.1-x86-mingw32

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: b72a5a503af26b0fe84fab620f1f6174f5365ee4
4
- data.tar.gz: c8cad9ef7aa6a136576e9ffc75406b2ce024bf51
3
+ metadata.gz: 5dddea75a498500ab9a23e18ba3cabb4299622a8
4
+ data.tar.gz: 40d86a39848d8b5fc0f1cbb5cf98e834abb66d19
5
5
  SHA512:
6
- metadata.gz: 64f8cd8e90cb268f111a8bb97cff43756c9b7a14792c38409db02eb53cc44956469b73c284cc90cc67cb6b91b77807a3a58ea218a9d1456983b9f051014715c6
7
- data.tar.gz: c6b55ac2f18b2a6ac914f9564f1a144dd8d8cd911bfb4f33b5306009beebc23956fc7a219b431028d11c66696958da2ef974cfa52cb15464b0a407b5f384a621
6
+ metadata.gz: 6d106215fd7851f6a9585986ead40cc52ca969832758c413db69d1eed944bbb37ad62d7288bc78805756137428a113d4b6e25147e88ad8f5ef0a7de30d38a7f8
7
+ data.tar.gz: 03afb75a0d4372f8f6008738f90aec0837487f40038c4740cc317c73d0da9438a550a5a46bdf175d62a94d8f36a414ae4e4b24c8708dec810f4a5106200c36f5
data/HISTORY.md CHANGED
@@ -1,4 +1,7 @@
1
1
  # Amalgalite Changelog
2
+ ## Version 1.6.1 - 2018-01-02
3
+
4
+ * Fix bug when using the `json` extension
2
5
 
3
6
  ## Version 1.6.0 - 2017-12-13
4
7
 
@@ -80,6 +80,7 @@ spec/default_map_spec.rb
80
80
  spec/function_spec.rb
81
81
  spec/integeration_spec.rb
82
82
  spec/iso_3166_database.rb
83
+ spec/json_spec.rb
83
84
  spec/packer_spec.rb
84
85
  spec/paths_spec.rb
85
86
  spec/progress_handler_spec.rb
@@ -347,7 +347,7 @@ module Amalgalite
347
347
  # only check for rowid if we have a table name and it is not one of the
348
348
  # sqlite_master tables. We could get recursion in those cases.
349
349
  if not using_rowid_column? and tbl_name and
350
- not %w[ sqlite_master sqlite_temp_master].include?( tbl_name ) and is_column_rowid?( tbl_name, col_name ) then
350
+ not %w[ sqlite_master sqlite_temp_master ].include?( tbl_name ) and is_column_rowid?( tbl_name, col_name ) then
351
351
  @rowid_index = idx
352
352
  end
353
353
 
@@ -363,7 +363,10 @@ module Amalgalite
363
363
  # is the column indicated by the Column a 'rowid' column
364
364
  #
365
365
  def is_column_rowid?( table_name, column_name )
366
- column_schema = @db.schema.tables[table_name].columns[column_name]
366
+ table_schema = @db.schema.tables[table_name]
367
+ return false unless table_schema
368
+
369
+ column_schema = table_schema.columns[column_name]
367
370
  if column_schema then
368
371
  if column_schema.primary_key? and column_schema.declared_data_type and column_schema.declared_data_type.upcase == "INTEGER" then
369
372
  return true
@@ -23,7 +23,7 @@ module Amalgalite::TypeMaps
23
23
  'time' => %w[ timestamp time ],
24
24
  'float' => %w[ double float real numeric decimal ],
25
25
  'integer' => %w[ integer tinyint smallint int int2 int4 int8 bigint serial bigserial ],
26
- 'string' => %w[ text char string varchar character ],
26
+ 'string' => %w[ text char string varchar character json ],
27
27
  'boolean' => %w[ bool boolean ],
28
28
  'blob' => %w[ binary blob ],
29
29
  }
@@ -4,5 +4,5 @@
4
4
  #++
5
5
 
6
6
  module Amalgalite
7
- VERSION = "1.6.0"
7
+ VERSION = "1.6.1"
8
8
  end
@@ -0,0 +1,24 @@
1
+ require 'spec_helper'
2
+ require 'amalgalite/sqlite3'
3
+ require 'rbconfig'
4
+
5
+ describe "Amalgalite handles the JSON extension" do
6
+ it "can parse a `json_each` call" do
7
+ db = Amalgalite::Database.new( ":memory:" )
8
+ values = %w[ a b c d e f g ]
9
+ db.execute("CREATE TABLE jtest(id, json)")
10
+ db.execute("INSERT INTO jtest(id, json) values (1, json($json))", { "$json" => values })
11
+ rows = db.execute("SELECT jtest.id as i, value as v FROM jtest, json_each(jtest.json)")
12
+
13
+ rows.size.should eq(values.size)
14
+ end
15
+
16
+ it "can return a proper json column" do
17
+ db = Amalgalite::Database.new( ":memory:" )
18
+ values = %w[ a b c d e f g ]
19
+ db.execute("CREATE TABLE jtest(id INTEGER, json JSON)")
20
+ db.execute("INSERT INTO jtest(id, json) values (1, json($json))", { "$json" => values })
21
+
22
+ db.execute("select * from jtest")
23
+ end
24
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: amalgalite
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.0
4
+ version: 1.6.1
5
5
  platform: x86-mingw32
6
6
  authors:
7
7
  - Jeremy Hinegardner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-12-13 00:00:00.000000000 Z
11
+ date: 2018-01-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: arrayfields
@@ -229,6 +229,7 @@ files:
229
229
  - spec/function_spec.rb
230
230
  - spec/integeration_spec.rb
231
231
  - spec/iso_3166_database.rb
232
+ - spec/json_spec.rb
232
233
  - spec/packer_spec.rb
233
234
  - spec/paths_spec.rb
234
235
  - spec/progress_handler_spec.rb
@@ -298,6 +299,7 @@ test_files:
298
299
  - spec/function_spec.rb
299
300
  - spec/integeration_spec.rb
300
301
  - spec/iso_3166_database.rb
302
+ - spec/json_spec.rb
301
303
  - spec/packer_spec.rb
302
304
  - spec/paths_spec.rb
303
305
  - spec/progress_handler_spec.rb