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
|
# File 'lib/active_record/connection_adapters/rdb_adapter.rb', line 32
def initialize(connection, logger = nil, config = {})
super(connection, logger, config)
@config = config
end
|
Instance Method Details
#active? ⇒ Boolean
90
91
92
93
94
95
96
97
|
# File 'lib/active_record/connection_adapters/rdb_adapter.rb', line 90
def active?
return false unless @connection.open?
@connection.query('SELECT 1 FROM RDB$DATABASE')
true
rescue StandardError
false
end
|
#adapter_name ⇒ Object
46
47
48
|
# File 'lib/active_record/connection_adapters/rdb_adapter.rb', line 46
def adapter_name
ADAPTER_NAME
end
|
#arel_visitor ⇒ Object
38
39
40
|
# File 'lib/active_record/connection_adapters/rdb_adapter.rb', line 38
def arel_visitor
Arel::Visitors::Rdb.new self
end
|
#create_savepoint(name = current_savepoint_name) ⇒ Object
121
122
123
|
# File 'lib/active_record/connection_adapters/rdb_adapter.rb', line 121
def create_savepoint(name = current_savepoint_name)
execute("SAVEPOINT #{name}")
end
|
#disconnect! ⇒ Object
104
105
106
107
108
109
110
111
|
# File 'lib/active_record/connection_adapters/rdb_adapter.rb', line 104
def disconnect!
super
begin
@connection.close
rescue StandardError
nil
end
end
|
#ids_in_list_limit ⇒ Object
82
83
84
|
# File 'lib/active_record/connection_adapters/rdb_adapter.rb', line 82
def ids_in_list_limit
1499
end
|
#prefetch_primary_key?(_table_name = nil) ⇒ Boolean
78
79
80
|
# File 'lib/active_record/connection_adapters/rdb_adapter.rb', line 78
def prefetch_primary_key?(_table_name = nil)
true
end
|
#reconnect! ⇒ Object
99
100
101
102
|
# File 'lib/active_record/connection_adapters/rdb_adapter.rb', line 99
def reconnect!
disconnect!
@connection = ::Fb::Database.connect(@config)
end
|
#release_savepoint(name = current_savepoint_name) ⇒ Object
129
130
131
|
# File 'lib/active_record/connection_adapters/rdb_adapter.rb', line 129
def release_savepoint(name = current_savepoint_name)
execute("RELEASE SAVEPOINT #{name}")
end
|
#requires_reloading? ⇒ Boolean
117
118
119
|
# File 'lib/active_record/connection_adapters/rdb_adapter.rb', line 117
def requires_reloading?
false
end
|
#reset! ⇒ Object
113
114
115
|
# File 'lib/active_record/connection_adapters/rdb_adapter.rb', line 113
def reset!
reconnect!
end
|
#rollback_to_savepoint(name = current_savepoint_name) ⇒ Object
125
126
127
|
# File 'lib/active_record/connection_adapters/rdb_adapter.rb', line 125
def rollback_to_savepoint(name = current_savepoint_name)
execute("ROLLBACK TO SAVEPOINT #{name}")
end
|
#schema_creation ⇒ Object
50
51
52
|
# File 'lib/active_record/connection_adapters/rdb_adapter.rb', line 50
def schema_creation
Rdb::SchemaCreation.new self
end
|
#supports_count_distinct? ⇒ Boolean
62
63
64
|
# File 'lib/active_record/connection_adapters/rdb_adapter.rb', line 62
def supports_count_distinct?
true
end
|
#supports_ddl_transactions? ⇒ Boolean
66
67
68
|
# File 'lib/active_record/connection_adapters/rdb_adapter.rb', line 66
def supports_ddl_transactions?
true
end
|
#supports_migrations? ⇒ Boolean
54
55
56
|
# File 'lib/active_record/connection_adapters/rdb_adapter.rb', line 54
def supports_migrations?
true
end
|
#supports_multi_insert? ⇒ Boolean
86
87
88
|
# File 'lib/active_record/connection_adapters/rdb_adapter.rb', line 86
def supports_multi_insert?
false
end
|
#supports_primary_key? ⇒ Boolean
58
59
60
|
# File 'lib/active_record/connection_adapters/rdb_adapter.rb', line 58
def supports_primary_key?
true
end
|
#supports_savepoints? ⇒ Boolean
74
75
76
|
# File 'lib/active_record/connection_adapters/rdb_adapter.rb', line 74
def supports_savepoints?
true
end
|
#supports_transaction_isolation? ⇒ Boolean
70
71
72
|
# File 'lib/active_record/connection_adapters/rdb_adapter.rb', line 70
def supports_transaction_isolation?
true
end
|
#valid_type?(type) ⇒ Boolean
42
43
44
|
# File 'lib/active_record/connection_adapters/rdb_adapter.rb', line 42
def valid_type?(type)
!native_database_types[type].nil? || !native_database_types[type.type].nil?
end
|