activerecord-amazon-timestream-adapter 0.0.2 → 0.0.3

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
  SHA256:
3
- metadata.gz: 40439344b1bf48a7fa48d5870fe9dc26d8d1b3d6cf26de59e74356142caec035
4
- data.tar.gz: 99fd64958f63efc61c9fd473639059b1c3394e7509fb3616d6caa84d14a192bc
3
+ metadata.gz: 1b506c4b0f1ad6c65421c96b87e902a78f4943eae79747ff233910026c3be931
4
+ data.tar.gz: 594f3f1d0aafb1c9c42e05490b25fe52ad2e56b698c16376aed157d251fa3336
5
5
  SHA512:
6
- metadata.gz: 7bb934253342e57663de04d9fb2237852893676c218b48446fc052609676202c6ec6e6baa4e161fe24845989f036927ba4641292adb0e79da91466cb6abb8c27
7
- data.tar.gz: 6d118754cdccdd5721c92f656819adde144a2a69f7068ec62ef1c253cbc7b21594d112d186ab9efa6b38b9f94bdb26796e86478e7c491558221c2cf713f1f291
6
+ metadata.gz: 734e1c6f6cb53d18dda80701430d2b2a95e2a629d2dca3c558c17f4a416d944211cac464b6db58b61aa1cd1ae5dd0d0aa4deb6885ee526dfab8313798972d3f6
7
+ data.tar.gz: d8cbbba455ce1b58be820fac409ba5d89001ff4af0ebb96bbe57294654a466c8bc56a827389306d5797f656aeeaf682ed8f0a74c7dfd154a4096239e2f5c9517
@@ -16,7 +16,7 @@ module ActiveRecord
16
16
  exec_query(sql, name, binds).to_a.map(&:values)
17
17
  end
18
18
 
19
- def exec_query(sql, name = 'SQL', binds = [])
19
+ def exec_query(sql, name = 'SQL', binds = [], prepare: false)
20
20
  log(sql, name, binds) do
21
21
  response = @connection.query query_string: sql
22
22
 
@@ -13,16 +13,22 @@ module ActiveRecord
13
13
 
14
14
  def columns(table_name, _name = nil)
15
15
  response = @connection.query({ query_string: "DESCRIBE \"#{@database}\".\"#{table_name}\"" })
16
- response.rows.map { |r| Column.new(r.data[0].scalar_value, nil, lookup_cast_type(r.data[1].scalar_value)) }
16
+ response.rows.map do |r|
17
+ AmazonTimestreamColumn.new r.data[0].scalar_value, nil, lookup_cast_type(r.data[1].scalar_value)
18
+ end
17
19
  end
18
20
 
19
- def table_exists?(_table_name)
21
+ def table_exists?(table_name)
20
22
  tables.include?(table_name)
21
23
  end
22
24
 
23
25
  def primary_key(_table_name)
24
26
  nil
25
27
  end
28
+
29
+ def data_sources
30
+ tables
31
+ end
26
32
  end
27
33
  end
28
34
  end
@@ -16,13 +16,19 @@ module ActiveRecord
16
16
  raise ArgumentError, 'No database specified. Missing argument: database.' unless config.key?(:database)
17
17
 
18
18
  credentials = Aws::Credentials.new config[:username], config[:password] if config[:username] && config[:password]
19
- connection = Aws::TimestreamQuery::Client.new credentials: credentials
19
+ connection = Aws::TimestreamQuery::Client.new credentials: credentials, endpoint: 'https://query-cell2.timestream.us-east-1.amazonaws.com'
20
20
 
21
- ConnectionAdapters::AmazonTimestreamAdapter.new(connection, logger, config[:database])
21
+ ConnectionAdapters::AmazonTimestreamAdapter.new connection, logger, config[:database]
22
22
  end
23
23
  end
24
24
 
25
25
  module ConnectionAdapters
26
+ class AmazonTimestreamColumn < Column
27
+ def sql_type
28
+ @sql_type_metadata.class
29
+ end
30
+ end
31
+
26
32
  class AmazonTimestreamAdapter < AbstractAdapter
27
33
  ADAPTER_NAME = 'Amazon Timestream'
28
34
 
@@ -36,6 +42,10 @@ module ActiveRecord
36
42
  @visitor = Arel::Visitors::AmazonTimestream.new self
37
43
  end
38
44
 
45
+ def prepared_statements
46
+ false
47
+ end
48
+
39
49
  def supports_explain?
40
50
  false
41
51
  end
@@ -5,8 +5,13 @@ require 'arel/visitors'
5
5
  module Arel
6
6
  module Visitors
7
7
  class AmazonTimestream < Arel::Visitors::ToSql
8
+ def preparable
9
+ false
10
+ end
8
11
  end
9
12
  end
10
13
  end
11
14
 
12
- Arel::Visitors::VISITORS['amazon_timestream'] = Arel::Visitors::AmazonTimestream
15
+ if ActiveRecord::VERSION::STRING < '5.0.0'
16
+ Arel::Visitors::VISITORS['amazon_timestream'] = Arel::Visitors::AmazonTimestream
17
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-amazon-timestream-adapter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Francois Deschenes
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-11-13 00:00:00.000000000 Z
11
+ date: 2020-12-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -28,30 +28,42 @@ dependencies:
28
28
  name: activerecord
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '4.2'
34
+ - - "<"
35
+ - !ruby/object:Gem::Version
36
+ version: '6'
34
37
  type: :runtime
35
38
  prerelease: false
36
39
  version_requirements: !ruby/object:Gem::Requirement
37
40
  requirements:
38
- - - "~>"
41
+ - - ">="
39
42
  - !ruby/object:Gem::Version
40
43
  version: '4.2'
44
+ - - "<"
45
+ - !ruby/object:Gem::Version
46
+ version: '6'
41
47
  - !ruby/object:Gem::Dependency
42
48
  name: arel
43
49
  requirement: !ruby/object:Gem::Requirement
44
50
  requirements:
45
- - - "~>"
51
+ - - ">="
46
52
  - !ruby/object:Gem::Version
47
53
  version: '6.0'
54
+ - - "<"
55
+ - !ruby/object:Gem::Version
56
+ version: '10'
48
57
  type: :runtime
49
58
  prerelease: false
50
59
  version_requirements: !ruby/object:Gem::Requirement
51
60
  requirements:
52
- - - "~>"
61
+ - - ">="
53
62
  - !ruby/object:Gem::Version
54
63
  version: '6.0'
64
+ - - "<"
65
+ - !ruby/object:Gem::Version
66
+ version: '10'
55
67
  - !ruby/object:Gem::Dependency
56
68
  name: aws-sdk-core
57
69
  requirement: !ruby/object:Gem::Requirement