activerecord-cockroachdb-adapter 5.2.1 → 6.0.0beta1
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a580dde40d074b1982c6642310513d79bbcb710032a476a64bb9fcb99bec72bb
|
4
|
+
data.tar.gz: 91b11b334235484e298704ae514d435a61451a02f3f759881141fd6354549ee4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 77b98dff7d2069ba0cdcd78bccf5aedf9ac31192c0813d7893a5a6f1084537d9d0b03039be58fe83a5a0e0cd58d5d42ba567e43beee62507d8212242722fdb13
|
7
|
+
data.tar.gz: f1bf6e2fa1925d94133a98dcd03690a24da2631134cc6a5eb6dd860253392f398db88572942f409f13dec4d3d7aeb34f18317a5b8cd4b30c70e4d75d13599b47
|
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = "activerecord-cockroachdb-adapter"
|
7
|
-
spec.version = "
|
7
|
+
spec.version = "6.0.0beta1"
|
8
8
|
spec.licenses = ["Apache-2.0"]
|
9
9
|
spec.authors = ["Cockroach Labs"]
|
10
10
|
spec.email = ["cockroach-db@googlegroups.com"]
|
@@ -13,7 +13,7 @@ Gem::Specification.new do |spec|
|
|
13
13
|
spec.description = "Allows the use of CockroachDB as a backend for ActiveRecord and Rails apps."
|
14
14
|
spec.homepage = "https://github.com/cockroachdb/activerecord-cockroachdb-adapter"
|
15
15
|
|
16
|
-
spec.add_dependency "activerecord", "~>
|
16
|
+
spec.add_dependency "activerecord", "~> 6.0.3"
|
17
17
|
spec.add_dependency "pg", ">= 0.20"
|
18
18
|
|
19
19
|
# Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
|
@@ -57,10 +57,35 @@ module ActiveRecord
|
|
57
57
|
end
|
58
58
|
# The call to super might have appeneded [] already.
|
59
59
|
if array && type != :primary_key && !sql.end_with?("[]")
|
60
|
-
sql = "#{sql}[]"
|
60
|
+
sql = "#{sql}[]"
|
61
61
|
end
|
62
62
|
sql
|
63
63
|
end
|
64
|
+
|
65
|
+
# This overrides the method from PostegreSQL adapter
|
66
|
+
# Resets the sequence of a table's primary key to the maximum value.
|
67
|
+
def reset_pk_sequence!(table, pk = nil, sequence = nil)
|
68
|
+
unless pk && sequence
|
69
|
+
default_pk, default_sequence = pk_and_sequence_for(table)
|
70
|
+
|
71
|
+
pk ||= default_pk
|
72
|
+
sequence ||= default_sequence
|
73
|
+
end
|
74
|
+
|
75
|
+
if @logger && pk && !sequence
|
76
|
+
@logger.warn "#{table} has primary key #{pk} with no default sequence."
|
77
|
+
end
|
78
|
+
|
79
|
+
if pk && sequence
|
80
|
+
quoted_sequence = quote_table_name(sequence)
|
81
|
+
max_pk = query_value("SELECT MAX(#{quote_column_name pk}) FROM #{quote_table_name(table)}", "SCHEMA")
|
82
|
+
if max_pk.nil?
|
83
|
+
minvalue = query_value("SELECT seqmin FROM pg_sequence WHERE seqrelid = #{quote(quoted_sequence)}::regclass", "SCHEMA")
|
84
|
+
end
|
85
|
+
|
86
|
+
query_value("SELECT setval(#{quote(quoted_sequence)}, #{max_pk ? max_pk : minvalue}, #{max_pk ? true : false})", "SCHEMA")
|
87
|
+
end
|
88
|
+
end
|
64
89
|
end
|
65
90
|
end
|
66
91
|
end
|
@@ -27,7 +27,14 @@ module ActiveRecord
|
|
27
27
|
# The postgres drivers don't allow the creation of an unconnected
|
28
28
|
# PG::Connection object, so just pass a nil connection object for the
|
29
29
|
# time being.
|
30
|
-
|
30
|
+
conn = PG.connect(conn_params)
|
31
|
+
ConnectionAdapters::CockroachDBAdapter.new(conn, logger, conn_params, config)
|
32
|
+
rescue ::PG::Error => error
|
33
|
+
if error.message.include?("does not exist")
|
34
|
+
raise ActiveRecord::NoDatabaseError
|
35
|
+
else
|
36
|
+
raise
|
37
|
+
end
|
31
38
|
end
|
32
39
|
end
|
33
40
|
end
|
@@ -73,11 +80,6 @@ module ActiveRecord
|
|
73
80
|
false
|
74
81
|
end
|
75
82
|
|
76
|
-
def supports_ranges?
|
77
|
-
# See cockroachdb/cockroach#17022
|
78
|
-
false
|
79
|
-
end
|
80
|
-
|
81
83
|
def supports_materialized_views?
|
82
84
|
false
|
83
85
|
end
|
@@ -151,7 +153,7 @@ module ActiveRecord
|
|
151
153
|
end
|
152
154
|
@crdb_version = version_num
|
153
155
|
end
|
154
|
-
|
156
|
+
|
155
157
|
private
|
156
158
|
|
157
159
|
def initialize_type_map(m = type_map)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activerecord-cockroachdb-adapter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 6.0.0beta1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Cockroach Labs
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-12-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 6.0.3
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 6.0.3
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: pg
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -88,9 +88,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
88
88
|
version: '0'
|
89
89
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
90
90
|
requirements:
|
91
|
-
- - "
|
91
|
+
- - ">"
|
92
92
|
- !ruby/object:Gem::Version
|
93
|
-
version:
|
93
|
+
version: 1.3.1
|
94
94
|
requirements: []
|
95
95
|
rubygems_version: 3.1.4
|
96
96
|
signing_key:
|