activerecord7-redshift-adapter-pennylane 1.0.1 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
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 -768
  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: e8108a9c785d7604af14ffbaca6265c6350c119406c09951c0a73a2aba888471
4
+ data.tar.gz: a71d3843e77264799115393dd6ba8bb50717722c292aab9e3e73b0d0463d634e
5
5
  SHA512:
6
- metadata.gz: fb5464468c75e9b8aa37b71bb1ff43c0fa11bcaa3699bcd8e82886e634e1ad04c79f13868fd521569aa2e400b24c4760ceea85266bdecbd0559d7dfe69ea79b3
7
- data.tar.gz: 39187d53fc36efdc9f329f06b7a4edf329fb561047e9d9cabf18a00b2e2cc4bdacdb96222cba4e35654ec55dc8d7f83a184266dc0bbdc9f49498278b2844a659
6
+ metadata.gz: e4fd3c18f5255e06b5e0cb855c516b538304e00de9293108fde3eeb2fa7a90df2539824259af6201b4b14cd3c2d0b148c7357e29bdf00559cfcf1e700cb23ea5
7
+ data.tar.gz: 96c5852565ca6416135a7a19b49fc384007fbfb7a2bed043dd3d4804caaa765c5ba8fde811e5dc298531bc971d291acdf513b4708276fcddb76f2de489060dbe
@@ -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_.*'