odbc_adapter 4.2.1 → 4.2.2

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: 0b346729dc34997485619663c87b6649b2454c2b
4
- data.tar.gz: 5cf390727ae990ec1267e26d24ba9304a0b04cd4
3
+ metadata.gz: fbd0b6dc4aa68cca8d175e4d4ea3aac029c78300
4
+ data.tar.gz: fd5089faad806cd2413071a0949e8f7ad2400d65
5
5
  SHA512:
6
- metadata.gz: 9649d34b588a48502e6792ad71f37c05c2fb742160f24d95935f5c56984fc41c8641a28f999a9af44891f16d7553683021acc50f52b7945d389176c93c66e96d
7
- data.tar.gz: 015a240fe4c71e01cbe710410c61cc24b98b470b7cb55fbb07621a73d334f643a161bd99dafc3ffb8274c6c25ce3ed5503de70ce099712397db4b30ee4a30317
6
+ metadata.gz: 5d93be6a23fadd321da4f2ccab7a2ee975ae0416c2b0f0a15cf4158984f3f4ef527cbc1b39efe58a3aee3297a0a7c16b2ee33510346f62e61f84365e675dcab7
7
+ data.tar.gz: 6174627985dc8a96bc62492a9c7f94b7851e2f51714781d015f22483e939343ed8f07b3cf664b72eb91c73b34105bcc1194453a16ff95de88fa50cb3230c6d1d
data/bin/console CHANGED
@@ -2,60 +2,6 @@
2
2
 
3
3
  require 'bundler/setup'
4
4
  require 'odbc_adapter'
5
- require 'pry'
6
5
 
7
- require 'odbc_adapter/adapters/postgresql_odbc_adapter'
8
- ODBCAdapter.register(/snowflake/, ODBCAdapter::Adapters::PostgreSQLODBCAdapter) do
9
- # Here until we upgrade the ODBC driver
10
- class DecimalCaster
11
- attr_reader :column
12
-
13
- def initialize(column)
14
- @column = column
15
- end
16
-
17
- def cast(value)
18
- return if value.nil?
19
- column.scale.zero? ? value.to_i : value.to_f
20
- end
21
- end
22
-
23
- # Handles strings that aren't utf-8 encoded
24
- class StringEncodingCaster
25
- def cast(value)
26
- value.is_a?(String) ? value.force_encoding('UTF-8') : value
27
- end
28
- end
29
-
30
- def quote_column_name(name)
31
- name.to_s
32
- end
33
-
34
- private
35
-
36
- # Monkey-patch the type casting for SQL_DECIMAL columns until we upgrade the ODBC driver
37
- def dbms_type_cast(columns, values)
38
- casters = Hash.new { |h, k| h[k] = [StringEncodingCaster.new] }
39
-
40
- columns.each_with_index do |column, idx|
41
- casters[idx] << DecimalCaster.new(column) if column.type == ODBC::SQL_DECIMAL
42
- end
43
-
44
- values.each do |row|
45
- row.each_index do |idx|
46
- casters[idx].each { |caster| row[idx] = caster.cast(row[idx]) }
47
- end
48
- end
49
-
50
- values
51
- end
52
- end
53
-
54
- ActiveRecord::Base.establish_connection(adapter: 'odbc', dsn: 'LocalyticsProductionSnowflake')
55
-
56
- binding.pry
57
-
58
- # class FactSession < ActiveRecord::Base
59
- # end
60
- #
61
- # puts FactSession.where(device_new: true).to_sql
6
+ require 'irb'
7
+ IRB.start
@@ -7,7 +7,7 @@ module ODBCAdapter
7
7
  include Arel::Visitors::BindVisitor
8
8
  end
9
9
 
10
- PRIMARY_KEY = 'INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY'
10
+ PRIMARY_KEY = 'INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY'.freeze
11
11
 
12
12
  def truncate(table_name, name = nil)
13
13
  execute("TRUNCATE TABLE #{quote_table_name(table_name)}", name)
@@ -7,7 +7,13 @@ module ODBCAdapter
7
7
  include Arel::Visitors::BindVisitor
8
8
  end
9
9
 
10
- PRIMARY_KEY = 'SERIAL PRIMARY KEY'
10
+ BOOLEAN_TYPE = 'bool'.freeze
11
+ PRIMARY_KEY = 'SERIAL PRIMARY KEY'.freeze
12
+
13
+ # Override to handle booleans appropriately
14
+ def native_database_types
15
+ @native_database_types ||= super.merge(boolean: { name: 'bool' })
16
+ end
11
17
 
12
18
  # Filter for ODBCAdapter#tables
13
19
  # Omits table from #tables if table_filter returns true
@@ -1,3 +1,3 @@
1
1
  module ODBCAdapter
2
- VERSION = '4.2.1'
2
+ VERSION = '4.2.2'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: odbc_adapter
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.2.1
4
+ version: 4.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Localytics