Module: ActiveRecord::ConnectionAdapters::Redshift::Quoting::ClassMethods
- Defined in:
- lib/active_record/connection_adapters/redshift_7_2/quoting.rb,
lib/active_record/connection_adapters/redshift_8_0/quoting.rb
Constant Summary collapse
- QUOTED_COLUMN_NAMES =
:nodoc:
Concurrent::Map.new
- QUOTED_TABLE_NAMES =
:nodoc:
Concurrent::Map.new
Instance Method Summary collapse
- #column_name_matcher ⇒ Object
- #column_name_with_order_matcher ⇒ Object
-
#quote_column_name(name) ⇒ Object
Quotes column names for use in SQL queries.
-
#quote_table_name(name) ⇒ Object
Checks the following cases:.
Instance Method Details
#column_name_matcher ⇒ Object
30 31 32 |
# File 'lib/active_record/connection_adapters/redshift_7_2/quoting.rb', line 30 def column_name_matcher COLUMN_NAME end |
#column_name_with_order_matcher ⇒ Object
34 35 36 |
# File 'lib/active_record/connection_adapters/redshift_7_2/quoting.rb', line 34 def column_name_with_order_matcher COLUMN_NAME_WITH_ORDER end |
#quote_column_name(name) ⇒ Object
Quotes column names for use in SQL queries.
26 27 28 |
# File 'lib/active_record/connection_adapters/redshift_7_2/quoting.rb', line 26 def quote_column_name(name) # :nodoc: QUOTED_COLUMN_NAMES[name] ||= PG::Connection.quote_ident(name.to_s).freeze end |
#quote_table_name(name) ⇒ Object
Checks the following cases:
-
table_name
-
“table.name”
-
schema_name.table_name
-
schema_name.“table.name”
-
“schema.name”.table_name
-
“schema.name”.“table.name”
21 22 23 |
# File 'lib/active_record/connection_adapters/redshift_7_2/quoting.rb', line 21 def quote_table_name(name) QUOTED_TABLE_NAMES[name] ||= Utils.extract_schema_qualified_name(name.to_s).quoted.freeze end |