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.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/lib/active_record/connection_adapters/redshift_7_0/oid.rb +17 -0
  3. data/lib/active_record/connection_adapters/{redshift → redshift_7_0}/schema_statements.rb +14 -16
  4. data/lib/active_record/connection_adapters/redshift_7_0_adapter.rb +770 -0
  5. data/lib/active_record/connection_adapters/redshift_7_1/array_parser.rb +92 -0
  6. data/lib/active_record/connection_adapters/redshift_7_1/column.rb +17 -0
  7. data/lib/active_record/connection_adapters/redshift_7_1/database_statements.rb +180 -0
  8. data/lib/active_record/connection_adapters/redshift_7_1/oid/date_time.rb +36 -0
  9. data/lib/active_record/connection_adapters/redshift_7_1/oid/decimal.rb +15 -0
  10. data/lib/active_record/connection_adapters/redshift_7_1/oid/json.rb +41 -0
  11. data/lib/active_record/connection_adapters/redshift_7_1/oid/jsonb.rb +25 -0
  12. data/lib/active_record/connection_adapters/redshift_7_1/oid/type_map_initializer.rb +62 -0
  13. data/lib/active_record/connection_adapters/redshift_7_1/oid.rb +17 -0
  14. data/lib/active_record/connection_adapters/redshift_7_1/quoting.rb +161 -0
  15. data/lib/active_record/connection_adapters/redshift_7_1/referential_integrity.rb +17 -0
  16. data/lib/active_record/connection_adapters/redshift_7_1/schema_definitions.rb +70 -0
  17. data/lib/active_record/connection_adapters/redshift_7_1/schema_dumper.rb +17 -0
  18. data/lib/active_record/connection_adapters/redshift_7_1/schema_statements.rb +422 -0
  19. data/lib/active_record/connection_adapters/redshift_7_1/type_metadata.rb +43 -0
  20. data/lib/active_record/connection_adapters/redshift_7_1/utils.rb +81 -0
  21. data/lib/active_record/connection_adapters/redshift_7_1_adapter.rb +848 -0
  22. data/lib/active_record/connection_adapters/redshift_adapter.rb +7 -766
  23. metadata +38 -19
  24. data/lib/active_record/connection_adapters/redshift/oid.rb +0 -17
  25. /data/lib/active_record/connection_adapters/{redshift → redshift_7_0}/array_parser.rb +0 -0
  26. /data/lib/active_record/connection_adapters/{redshift → redshift_7_0}/column.rb +0 -0
  27. /data/lib/active_record/connection_adapters/{redshift → redshift_7_0}/database_statements.rb +0 -0
  28. /data/lib/active_record/connection_adapters/{redshift → redshift_7_0}/oid/date_time.rb +0 -0
  29. /data/lib/active_record/connection_adapters/{redshift → redshift_7_0}/oid/decimal.rb +0 -0
  30. /data/lib/active_record/connection_adapters/{redshift → redshift_7_0}/oid/json.rb +0 -0
  31. /data/lib/active_record/connection_adapters/{redshift → redshift_7_0}/oid/jsonb.rb +0 -0
  32. /data/lib/active_record/connection_adapters/{redshift → redshift_7_0}/oid/type_map_initializer.rb +0 -0
  33. /data/lib/active_record/connection_adapters/{redshift → redshift_7_0}/quoting.rb +0 -0
  34. /data/lib/active_record/connection_adapters/{redshift → redshift_7_0}/referential_integrity.rb +0 -0
  35. /data/lib/active_record/connection_adapters/{redshift → redshift_7_0}/schema_definitions.rb +0 -0
  36. /data/lib/active_record/connection_adapters/{redshift → redshift_7_0}/schema_dumper.rb +0 -0
  37. /data/lib/active_record/connection_adapters/{redshift → redshift_7_0}/type_metadata.rb +0 -0
  38. /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: 8fdaf9ce91134cb49c3e06535904ae289124e0e1c71212704e1c83be471b59f2
4
- data.tar.gz: 4a7777ee46bf99fde94ca4395e3d9a4bb235efd4ed21b5c918e447114e4dc8d5
3
+ metadata.gz: 218b5689cf737c26d295c9b6c8f2579719559525abe59f4f658fa8bad97c6cbb
4
+ data.tar.gz: db5d89d72515b50dca526f28195e6f78cfd7897e13f76b93f311782feac1ece4
5
5
  SHA512:
6
- metadata.gz: fb5464468c75e9b8aa37b71bb1ff43c0fa11bcaa3699bcd8e82886e634e1ad04c79f13868fd521569aa2e400b24c4760ceea85266bdecbd0559d7dfe69ea79b3
7
- data.tar.gz: 39187d53fc36efdc9f329f06b7a4edf329fb561047e9d9cabf18a00b2e2cc4bdacdb96222cba4e35654ec55dc8d7f83a184266dc0bbdc9f49498278b2844a659
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 the list of all tables in the schema search path or a specified schema.
61
- def tables(name = nil)
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
- ActiveSupport::Deprecation.warn(<<-MSG.squish)
87
- #table_exists? currently checks both tables and views.
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
- data_source_exists?(name)
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 == 'f', table_name, default_function)
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
- select_value(<<-SQL, 'SCHEMA')
186
+ select_values(<<-SQL, 'SCHEMA')
189
187
  SELECT nspname
190
188
  FROM pg_namespace
191
189
  WHERE nspname !~ '^pg_.*'