activerecord7-redshift-adapter-pennylane 1.0.1 → 1.0.4
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/redshift_7_0/oid.rb +17 -0
- data/lib/active_record/connection_adapters/{redshift → redshift_7_0}/schema_statements.rb +14 -16
- data/lib/active_record/connection_adapters/redshift_7_0_adapter.rb +770 -0
- data/lib/active_record/connection_adapters/redshift_7_1/array_parser.rb +92 -0
- data/lib/active_record/connection_adapters/redshift_7_1/column.rb +17 -0
- data/lib/active_record/connection_adapters/redshift_7_1/database_statements.rb +180 -0
- data/lib/active_record/connection_adapters/redshift_7_1/oid/date_time.rb +36 -0
- data/lib/active_record/connection_adapters/redshift_7_1/oid/decimal.rb +15 -0
- data/lib/active_record/connection_adapters/redshift_7_1/oid/json.rb +41 -0
- data/lib/active_record/connection_adapters/redshift_7_1/oid/jsonb.rb +25 -0
- data/lib/active_record/connection_adapters/redshift_7_1/oid/type_map_initializer.rb +62 -0
- data/lib/active_record/connection_adapters/redshift_7_1/oid.rb +17 -0
- data/lib/active_record/connection_adapters/redshift_7_1/quoting.rb +161 -0
- data/lib/active_record/connection_adapters/redshift_7_1/referential_integrity.rb +17 -0
- data/lib/active_record/connection_adapters/redshift_7_1/schema_definitions.rb +70 -0
- data/lib/active_record/connection_adapters/redshift_7_1/schema_dumper.rb +17 -0
- data/lib/active_record/connection_adapters/redshift_7_1/schema_statements.rb +422 -0
- data/lib/active_record/connection_adapters/redshift_7_1/type_metadata.rb +43 -0
- data/lib/active_record/connection_adapters/redshift_7_1/utils.rb +81 -0
- data/lib/active_record/connection_adapters/redshift_7_1_adapter.rb +848 -0
- data/lib/active_record/connection_adapters/redshift_adapter.rb +7 -766
- metadata +38 -19
- data/lib/active_record/connection_adapters/redshift/oid.rb +0 -17
- /data/lib/active_record/connection_adapters/{redshift → redshift_7_0}/array_parser.rb +0 -0
- /data/lib/active_record/connection_adapters/{redshift → redshift_7_0}/column.rb +0 -0
- /data/lib/active_record/connection_adapters/{redshift → redshift_7_0}/database_statements.rb +0 -0
- /data/lib/active_record/connection_adapters/{redshift → redshift_7_0}/oid/date_time.rb +0 -0
- /data/lib/active_record/connection_adapters/{redshift → redshift_7_0}/oid/decimal.rb +0 -0
- /data/lib/active_record/connection_adapters/{redshift → redshift_7_0}/oid/json.rb +0 -0
- /data/lib/active_record/connection_adapters/{redshift → redshift_7_0}/oid/jsonb.rb +0 -0
- /data/lib/active_record/connection_adapters/{redshift → redshift_7_0}/oid/type_map_initializer.rb +0 -0
- /data/lib/active_record/connection_adapters/{redshift → redshift_7_0}/quoting.rb +0 -0
- /data/lib/active_record/connection_adapters/{redshift → redshift_7_0}/referential_integrity.rb +0 -0
- /data/lib/active_record/connection_adapters/{redshift → redshift_7_0}/schema_definitions.rb +0 -0
- /data/lib/active_record/connection_adapters/{redshift → redshift_7_0}/schema_dumper.rb +0 -0
- /data/lib/active_record/connection_adapters/{redshift → redshift_7_0}/type_metadata.rb +0 -0
- /data/lib/active_record/connection_adapters/{redshift → redshift_7_0}/utils.rb +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 218b5689cf737c26d295c9b6c8f2579719559525abe59f4f658fa8bad97c6cbb
|
4
|
+
data.tar.gz: db5d89d72515b50dca526f28195e6f78cfd7897e13f76b93f311782feac1ece4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 50909d6bb2531102a10679c9a8708882f5188551602b231b9546b7abd021a16e17c77aae502118688eb9f9886e928facd034208b2892397a6592a9c80e8b55b6
|
7
|
+
data.tar.gz: e8f503981afbaa659d9e3e0383f6de869b33ac5649880ac18f1c9ce30b24ab5b266d34cc4056f0911044de3b7f553c4ddc9ebee0c7879c6f6ab81d8af84338d8
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'oid/date_time'
|
4
|
+
require_relative 'oid/decimal'
|
5
|
+
require_relative 'oid/json'
|
6
|
+
require_relative 'oid/jsonb'
|
7
|
+
|
8
|
+
require_relative 'oid/type_map_initializer'
|
9
|
+
|
10
|
+
module ActiveRecord
|
11
|
+
module ConnectionAdapters
|
12
|
+
module Redshift
|
13
|
+
module OID # :nodoc:
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -57,14 +57,8 @@ module ActiveRecord
|
|
57
57
|
execute "DROP DATABASE #{quote_table_name(name)}"
|
58
58
|
end
|
59
59
|
|
60
|
-
# Returns
|
61
|
-
def tables
|
62
|
-
if name
|
63
|
-
ActiveSupport::Deprecation.warn(<<-MSG.squish)
|
64
|
-
Passing arguments to #tables is deprecated without replacement.
|
65
|
-
MSG
|
66
|
-
end
|
67
|
-
|
60
|
+
# Returns an array of table names defined in the database.
|
61
|
+
def tables
|
68
62
|
select_values('SELECT tablename FROM pg_tables WHERE schemaname = ANY(current_schemas(false))', 'SCHEMA')
|
69
63
|
end
|
70
64
|
|
@@ -83,13 +77,17 @@ module ActiveRecord
|
|
83
77
|
# If the schema is not specified as part of +name+ then it will only find tables within
|
84
78
|
# the current schema search path (regardless of permissions to access tables in other schemas)
|
85
79
|
def table_exists?(name)
|
86
|
-
|
87
|
-
|
88
|
-
This behavior is deprecated and will be changed with Rails 5.1 to only check tables.
|
89
|
-
Use #data_source_exists? instead.
|
90
|
-
MSG
|
80
|
+
name = Utils.extract_schema_qualified_name(name.to_s)
|
81
|
+
return false unless name.identifier
|
91
82
|
|
92
|
-
|
83
|
+
select_value(<<-SQL, 'SCHEMA').to_i > 0
|
84
|
+
SELECT COUNT(*)
|
85
|
+
FROM pg_class c
|
86
|
+
LEFT JOIN pg_namespace n ON n.oid = c.relnamespace
|
87
|
+
WHERE c.relkind = 'r' -- (r)elation/table
|
88
|
+
AND c.relname = '#{name.identifier}'
|
89
|
+
AND n.nspname = #{name.schema ? "'#{name.schema}'" : 'ANY (current_schemas(false))'}
|
90
|
+
SQL
|
93
91
|
end
|
94
92
|
|
95
93
|
def data_source_exists?(name)
|
@@ -154,7 +152,7 @@ module ActiveRecord
|
|
154
152
|
default_value = extract_value_from_default(default)
|
155
153
|
type_metadata = fetch_type_metadata(column_name, type, oid, fmod)
|
156
154
|
default_function = extract_default_function(default_value, default)
|
157
|
-
new_column(column_name, default_value, type_metadata, notnull
|
155
|
+
new_column(column_name, default_value, type_metadata, !notnull, table_name, default_function)
|
158
156
|
end
|
159
157
|
end
|
160
158
|
|
@@ -185,7 +183,7 @@ module ActiveRecord
|
|
185
183
|
|
186
184
|
# Returns an array of schema names.
|
187
185
|
def schema_names
|
188
|
-
|
186
|
+
select_values(<<-SQL, 'SCHEMA')
|
189
187
|
SELECT nspname
|
190
188
|
FROM pg_namespace
|
191
189
|
WHERE nspname !~ '^pg_.*'
|