Class: ActiveRecord::ConnectionAdapters::TeradataAdapter

Inherits:
JdbcAdapter
  • Object
show all
Includes:
ArJdbc::Teradata
Defined in:
lib/arjdbc/teradata/adapter.rb

Constant Summary collapse

@@quoted_table_names =

some QUOTING caching :

{}
@@quoted_column_names =
{}

Constants included from ArJdbc::Teradata

ArJdbc::Teradata::IDENTIFIER_LENGTH, ArJdbc::Teradata::IndexDefinition, ArJdbc::Teradata::VERSION

Instance Method Summary collapse

Methods included from ArJdbc::Teradata

#_execute, #adapter_name, #add_index, arel2_visitors, #change_column, #change_column_default, #column_name_length, column_selector, #columns, #database_name, #explain, #extract_schema_and_table, included, #index_name_length, #indexes, jdbc_connection_class, #last_insert_id, #modify_types, #native_database_types, #primary_keys, #quote, #quote_true, #quoted_false, #remove_column, #rename_column, #select, #supports_explain?, #supports_migrations?, #table_alias_length, #table_exists?, #table_name_length, #tables, #type_cast, #type_to_sql

Constructor Details

#initialize(*args) ⇒ TeradataAdapter

Returns a new instance of TeradataAdapter.



450
451
452
# File 'lib/arjdbc/teradata/adapter.rb', line 450

def initialize(*args)
  super
end

Instance Method Details

#jdbc_column_classObject



458
459
460
# File 'lib/arjdbc/teradata/adapter.rb', line 458

def jdbc_column_class
  TeradataColumn
end

#jdbc_columns(table_name, name = nil) ⇒ Object

  • jdbc_columns



463
464
465
466
467
468
469
# File 'lib/arjdbc/teradata/adapter.rb', line 463

def jdbc_columns(table_name, name = nil)
  return false unless table_name
  schema, table = extract_schema_and_table(table_name.to_s)
  return false unless table
  schema = database_name unless schema
  @connection.columns(table, nil, schema)
end

#jdbc_connection_class(spec) ⇒ Object



454
455
456
# File 'lib/arjdbc/teradata/adapter.rb', line 454

def jdbc_connection_class(spec)
  ::ArJdbc::Teradata.jdbc_connection_class
end

#quote_column_name(name) ⇒ Object



486
487
488
489
490
491
492
# File 'lib/arjdbc/teradata/adapter.rb', line 486

def quote_column_name(name)
  unless quoted = @@quoted_column_names[name]
    quoted = super
    @@quoted_column_names[name] = quoted.freeze
  end
  quoted
end

#quote_table_name(name) ⇒ Object



476
477
478
479
480
481
482
# File 'lib/arjdbc/teradata/adapter.rb', line 476

def quote_table_name(name)
  unless quoted = @@quoted_table_names[name]
    quoted = quote_column_name(name).gsub('.', '"."')
    @@quoted_table_names[name] = quoted.freeze
  end
  quoted
end