Class: ActiveRecord::ConnectionAdapters::RdbAdapter
Overview
Constant Summary
collapse
- ADAPTER_NAME =
'rdb'.freeze
- @@default_transaction_isolation =
:read_committed
ActiveRecord::ConnectionAdapters::Rdb::Quoting::QUOTED_FALSE, ActiveRecord::ConnectionAdapters::Rdb::Quoting::QUOTED_POSITION, ActiveRecord::ConnectionAdapters::Rdb::Quoting::QUOTED_TRUE, ActiveRecord::ConnectionAdapters::Rdb::Quoting::QUOTED_VALUE
Instance Method Summary
collapse
#add_column, after, #change_column, #change_column_default, #change_column_null, #columns, #create_schema_dumper, #create_sequence, #create_table, #drop_sequence, #drop_table, #drop_trigger, #index_exists?, #index_name, #index_name_exists?, #indexes, #native_database_types, #primary_key, #remove_column, #remove_column_for_alter, #remove_index, #remove_index!, #rename_column, #sequence_exists?, #tables, #trigger_exists?, #type_to_sql, #views
#lookup_cast_type_from_column, #quote_column_name, #quote_string, #quote_table_name_for_assignment, #quoted_date, #quoted_false, #quoted_true, #type_cast_from_column, #type_casted_binds, #unquoted_false, #unquoted_true
#begin_db_transaction, #begin_isolated_db_transaction, #commit_db_transaction, #default_sequence_name, #exec_query, #execute, #explain, #insert_fixtures_set, #last_inserted_id, #next_sequence_value, #reset_sequence!, #rollback_db_transaction, #transaction_isolation_levels
#column_name_length, #in_clause_length, #index_name_length, #indexes_per_table, #sql_query_length, #table_alias_length, #table_name_length
Constructor Details
#initialize(connection, logger = nil, config = {}) ⇒ RdbAdapter
Returns a new instance of RdbAdapter.
32
33
34
35
36
37
38
39
|
# File 'lib/active_record/connection_adapters/rdb_adapter.rb', line 32
def initialize(connection, logger = nil, config = {})
super(connection, logger, config)
@config = config
@visitor = Arel::Visitors::Rdb.new self
@prepared_statements = true
@visitor.extend(DetermineIfPreparableVisitor)
end
|
Instance Method Details
#active? ⇒ Boolean
93
94
95
96
97
98
99
100
|
# File 'lib/active_record/connection_adapters/rdb_adapter.rb', line 93
def active?
return false unless @connection.open?
@connection.query('SELECT 1 FROM RDB$DATABASE')
true
rescue StandardError
false
end
|
#adapter_name ⇒ Object
49
50
51
|
# File 'lib/active_record/connection_adapters/rdb_adapter.rb', line 49
def adapter_name
ADAPTER_NAME
end
|
#arel_visitor ⇒ Object
41
42
43
|
# File 'lib/active_record/connection_adapters/rdb_adapter.rb', line 41
def arel_visitor
Arel::Visitors::Rdb.new self
end
|
#create_savepoint(name = current_savepoint_name) ⇒ Object
124
125
126
|
# File 'lib/active_record/connection_adapters/rdb_adapter.rb', line 124
def create_savepoint(name = current_savepoint_name)
execute("SAVEPOINT #{name}")
end
|
#disconnect! ⇒ Object
107
108
109
110
111
112
113
114
|
# File 'lib/active_record/connection_adapters/rdb_adapter.rb', line 107
def disconnect!
super
begin
@connection.close
rescue StandardError
nil
end
end
|
#ids_in_list_limit ⇒ Object
85
86
87
|
# File 'lib/active_record/connection_adapters/rdb_adapter.rb', line 85
def ids_in_list_limit
1499
end
|
#prefetch_primary_key?(_table_name = nil) ⇒ Boolean
81
82
83
|
# File 'lib/active_record/connection_adapters/rdb_adapter.rb', line 81
def prefetch_primary_key?(_table_name = nil)
true
end
|
#reconnect! ⇒ Object
102
103
104
105
|
# File 'lib/active_record/connection_adapters/rdb_adapter.rb', line 102
def reconnect!
disconnect!
@connection = ::Fb::Database.connect(@config)
end
|
#release_savepoint(name = current_savepoint_name) ⇒ Object
132
133
134
|
# File 'lib/active_record/connection_adapters/rdb_adapter.rb', line 132
def release_savepoint(name = current_savepoint_name)
execute("RELEASE SAVEPOINT #{name}")
end
|
#requires_reloading? ⇒ Boolean
120
121
122
|
# File 'lib/active_record/connection_adapters/rdb_adapter.rb', line 120
def requires_reloading?
false
end
|
#reset! ⇒ Object
116
117
118
|
# File 'lib/active_record/connection_adapters/rdb_adapter.rb', line 116
def reset!
reconnect!
end
|
#rollback_to_savepoint(name = current_savepoint_name) ⇒ Object
128
129
130
|
# File 'lib/active_record/connection_adapters/rdb_adapter.rb', line 128
def rollback_to_savepoint(name = current_savepoint_name)
execute("ROLLBACK TO SAVEPOINT #{name}")
end
|
#schema_creation ⇒ Object
53
54
55
|
# File 'lib/active_record/connection_adapters/rdb_adapter.rb', line 53
def schema_creation
Rdb::SchemaCreation.new self
end
|
#supports_count_distinct? ⇒ Boolean
65
66
67
|
# File 'lib/active_record/connection_adapters/rdb_adapter.rb', line 65
def supports_count_distinct?
true
end
|
#supports_ddl_transactions? ⇒ Boolean
69
70
71
|
# File 'lib/active_record/connection_adapters/rdb_adapter.rb', line 69
def supports_ddl_transactions?
true
end
|
#supports_migrations? ⇒ Boolean
57
58
59
|
# File 'lib/active_record/connection_adapters/rdb_adapter.rb', line 57
def supports_migrations?
true
end
|
#supports_multi_insert? ⇒ Boolean
89
90
91
|
# File 'lib/active_record/connection_adapters/rdb_adapter.rb', line 89
def supports_multi_insert?
false
end
|
#supports_primary_key? ⇒ Boolean
61
62
63
|
# File 'lib/active_record/connection_adapters/rdb_adapter.rb', line 61
def supports_primary_key?
true
end
|
#supports_savepoints? ⇒ Boolean
77
78
79
|
# File 'lib/active_record/connection_adapters/rdb_adapter.rb', line 77
def supports_savepoints?
true
end
|
#supports_transaction_isolation? ⇒ Boolean
73
74
75
|
# File 'lib/active_record/connection_adapters/rdb_adapter.rb', line 73
def supports_transaction_isolation?
true
end
|
#valid_type?(type) ⇒ Boolean
45
46
47
|
# File 'lib/active_record/connection_adapters/rdb_adapter.rb', line 45
def valid_type?(type)
!native_database_types[type].nil? || !native_database_types[type.type].nil?
end
|