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 +4 -4
- data/lib/active_record/connection_adapters/amazon_timestream/database_statements.rb +1 -1
- data/lib/active_record/connection_adapters/amazon_timestream/schema_statements.rb +8 -2
- data/lib/active_record/connection_adapters/amazon_timestream_adapter.rb +12 -2
- data/lib/arel/visitors/amazon_timestream.rb +6 -1
- metadata +18 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1b506c4b0f1ad6c65421c96b87e902a78f4943eae79747ff233910026c3be931
|
4
|
+
data.tar.gz: 594f3f1d0aafb1c9c42e05490b25fe52ad2e56b698c16376aed157d251fa3336
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
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?(
|
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
|
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
|
-
|
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.
|
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
|
+
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
|