class Sequel::Vertica::Database

Constants

AUTO_INCREMENT
DatasetClass
PK_NAME

Public Instance Methods

auto_increment_sql() click to toggle source
# File lib/sequel/adapters/vertica.rb, line 84
def auto_increment_sql
  AUTO_INCREMENT
end
connect(server) click to toggle source
# File lib/sequel/adapters/vertica.rb, line 28
def connect(server)
  opts = server_opts(server)
  ::Vertica::Connection.new(
    :host => opts[:host],
    :user => opts[:user],
    :password => opts[:password],
    :port => opts[:port],
    :schema => opts[:schema],
    :database => opts[:database],
    :read_timeout => opts[:read_timeout].nil? ? nil : opts[:read_timeout].to_i,
    :ssl => opts[:ssl]
  )
end
create_table_generator_class() click to toggle source
# File lib/sequel/adapters/vertica.rb, line 88
def create_table_generator_class
  Vertica::CreateTableGenerator
end
execute(sql, opts = {}, &block) click to toggle source
# File lib/sequel/adapters/vertica.rb, line 42
def execute(sql, opts = {}, &block)
  res = nil
  synchronize(opts[:server]) do |conn|
    res = log_yield(sql) { conn.query(sql) }
    res.each(&block)
  end
  res
rescue ::Vertica::Error => e
  raise_error(e)
end
Also aliased as: execute_dui
execute_dui(sql, opts = {}, &block)
Alias for: execute
execute_insert(sql, opts = {}, &block) click to toggle source
# File lib/sequel/adapters/vertica.rb, line 53
def execute_insert(sql, opts = {}, &block)
  result = execute(sql, opts, &block)
  result.first[:OUTPUT]
end
identifier_input_method_default() click to toggle source
# File lib/sequel/adapters/vertica.rb, line 72
def identifier_input_method_default
  nil
end
identifier_output_method_default() click to toggle source
# File lib/sequel/adapters/vertica.rb, line 76
def identifier_output_method_default
  nil
end
locks() click to toggle source
# File lib/sequel/adapters/vertica.rb, line 80
def locks
  dataset.from(:v_monitor__locks)
end
schema_parse_table(table_name, options = {}) click to toggle source
# File lib/sequel/adapters/vertica.rb, line 104
def schema_parse_table(table_name, options = {})
  schema = options[:schema]

  selector = [:column_name, :constraint_name, :is_nullable.as(:allow_null),
              (:column_default).as(:default), (:data_type).as(:db_type)]
  filter = { :columns__table_name => table_name }
  filter[:columns__table_schema] = schema.to_s if schema

  dataset = metadata_dataset.
    select(*selector).
    filter(filter).
    from(:v_catalog__columns).
    left_outer_join(:v_catalog__table_constraints, :table_id => :table_id)

  dataset.map do |row|
    row[:default] = nil if blank_object?(row[:default])
    row[:type] = schema_column_type(row[:db_type])
    row[:primary_key] = row.delete(:constraint_name) == PK_NAME
    [row.delete(:column_name).to_sym, row]
  end
end
supports_create_table_if_not_exists?() click to toggle source
# File lib/sequel/adapters/vertica.rb, line 60
def supports_create_table_if_not_exists?
  true
end
supports_drop_table_if_exists?() click to toggle source
# File lib/sequel/adapters/vertica.rb, line 64
def supports_drop_table_if_exists?
  true
end
supports_transaction_isolation_levels?() click to toggle source
# File lib/sequel/adapters/vertica.rb, line 68
def supports_transaction_isolation_levels?
  true
end
tables(options = {}) click to toggle source
# File lib/sequel/adapters/vertica.rb, line 92
def tables(options = {})
  schema = options[:schema]
  filter = {}
  filter[:table_schema] = schema.to_s if schema

  dataset.select(:table_name).
    from(:v_catalog__tables).
    filter(filter).
    to_a.
    map { |h| h[:table_name].to_sym }
end