module Sequel::Firebird::DatabaseMethods

  1. lib/sequel/adapters/shared/firebird.rb
Parent: Firebird

Constants

AUTO_INCREMENT = ''.freeze  
TEMPORARY = 'GLOBAL TEMPORARY '.freeze  

Public Instance methods

clear_primary_key (*tables)
[show source]
# File lib/sequel/adapters/shared/firebird.rb, line 9
def clear_primary_key(*tables)
  tables.each{|t| @primary_keys.delete(dataset.send(:input_identifier, t))}
end
create_trigger (*args)
[show source]
# File lib/sequel/adapters/shared/firebird.rb, line 13
def create_trigger(*args)
  self << create_trigger_sql(*args)
end
database_type ()
[show source]
# File lib/sequel/adapters/shared/firebird.rb, line 17
def database_type
  :firebird
end
drop_sequence (name)
[show source]
# File lib/sequel/adapters/shared/firebird.rb, line 21
def drop_sequence(name)
  self << drop_sequence_sql(name)
end
primary_key (table)

Return primary key for the given table.

[show source]
# File lib/sequel/adapters/shared/firebird.rb, line 26
def primary_key(table)
  t = dataset.send(:input_identifier, table)
  @primary_keys.fetch(t) do
    pk = fetch("SELECT RDB$FIELD_NAME FROM RDB$INDEX_SEGMENTS NATURAL JOIN RDB$RELATION_CONSTRAINTS WHERE RDB$CONSTRAINT_TYPE = 'PRIMARY KEY' AND RDB$RELATION_NAME = ?", t).single_value
    @primary_keys[t] = dataset.send(:output_identifier, pk.rstrip) if pk
  end
end
restart_sequence (*args)
[show source]
# File lib/sequel/adapters/shared/firebird.rb, line 34
def restart_sequence(*args)
  self << restart_sequence_sql(*args)
end
sequences (opts=OPTS)
[show source]
# File lib/sequel/adapters/shared/firebird.rb, line 38
def sequences(opts=OPTS)
  ds = self[:"rdb$generators"].server(opts[:server]).filter(:"rdb$system_flag" => 0).select(:"rdb$generator_name")
  block_given? ? yield(ds) : ds.map{|r| ds.send(:output_identifier, r[:"rdb$generator_name"])}
end
tables (opts=OPTS)
[show source]
# File lib/sequel/adapters/shared/firebird.rb, line 43
def tables(opts=OPTS)
  tables_or_views(0, opts)
end
views (opts=OPTS)
[show source]
# File lib/sequel/adapters/shared/firebird.rb, line 47
def views(opts=OPTS)
  tables_or_views(1, opts)
end