Method: Sequel::Dataset#schema_and_table

Defined in:
lib/sequel/dataset/sql.rb

#schema_and_table(table_name, sch = nil) ⇒ Object

Split the schema information from the table, returning two strings, one for the schema and one for the table. The returned schema may be nil, but the table will always have a string value.

Note that this function does not handle tables with more than one level of qualification (e.g. database.schema.table on Microsoft SQL Server).



730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
# File 'lib/sequel/dataset/sql.rb', line 730

def schema_and_table(table_name, sch=nil)
  sch = sch.to_s if sch
  case table_name
  when Symbol
    s, t, _ = split_symbol(table_name)
    [s||sch, t]
  when SQL::QualifiedIdentifier
    [table_name.table.to_s, table_name.column.to_s]
  when SQL::Identifier
    [sch, table_name.value.to_s]
  when String
    [sch, table_name]
  else
    raise Error, 'table_name should be a Symbol, SQL::QualifiedIdentifier, SQL::Identifier, or String'
  end
end