Module: ActiveRecord::ConnectionAdapters::PostgreSQLAdapter::Utils

Extended by:
Utils
Included in:
Utils
Defined in:
lib/active_record/connection_adapters/postgresql_adapter.rb

Instance Method Summary collapse

Instance Method Details

#extract_schema_and_table(name) ⇒ Object

Returns an array of [schema_name, table_name] extracted from name. schema_name is nil if not specified in name. schema_name and table_name exclude surrounding quotes (regardless of whether provided in name) name supports the range of schema/table references understood by PostgreSQL, for example:

  • table_name

  • "table.name"

  • schema_name.table_name

  • schema_name."table.name"

  • "schema.name"."table name"



708
709
710
711
# File 'lib/active_record/connection_adapters/postgresql_adapter.rb', line 708

def extract_schema_and_table(name)
  table, schema = name.scan(/[^".\s]+|"[^"]*"/)[0..1].collect{|m| m.gsub(/(^"|"$)/,'') }.reverse
  [schema, table]
end