activerecord-amazon-timestream-adapter 0.0.2 → 0.0.3

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
  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