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_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