Class: ActiveRecord::ConnectionAdapters::TursoAdapter
- Inherits:
-
SQLite3Adapter
- Object
- SQLite3Adapter
- ActiveRecord::ConnectionAdapters::TursoAdapter
show all
- Includes:
- ConnectionManagement, DatabaseStatements, ErrorTranslation, SchemaStatements, TransactionManagement
- Defined in:
- lib/active_record/connection_adapters/turso_adapter.rb,
lib/active_record/connection_adapters/turso_adapter/statement_pool.rb,
lib/active_record/connection_adapters/turso_adapter/error_translation.rb,
lib/active_record/connection_adapters/turso_adapter/schema_statements.rb,
lib/active_record/connection_adapters/turso_adapter/database_statements.rb,
lib/active_record/connection_adapters/turso_adapter/connection_management.rb,
lib/active_record/connection_adapters/turso_adapter/transaction_management.rb
Defined Under Namespace
Modules: ConnectionManagement, DatabaseStatements, ErrorTranslation, SchemaStatements, TransactionManagement
Classes: StatementPool
Constant Summary
collapse
- ADAPTER_NAME =
"Turso"
Instance Method Summary
collapse
#translate_exception
#add_fts_index, #create_virtual_table, #drop_virtual_table, #fts_indexes, #fts_match, #fts_score, #indexes, #remove_fts_index, #supports_virtual_tables?, #tables, #views, #virtual_tables
#begin_db_transaction, #commit_db_transaction, #create_savepoint, #release_savepoint, #rollback_db_transaction, #rollback_to_savepoint, #supports_savepoints?, #transaction
#combine_named_bind_params, #default_timezone, #disable_referential_integrity, #execute, #last_inserted_id, #perform_query, #returning_column_values, #select_rows
#active?, #configure_connection, #disconnect!, included, #jdbc?, #raw_connection, #reconnect!
Instance Method Details
#build_statement_pool ⇒ Object
46
47
48
|
# File 'lib/active_record/connection_adapters/turso_adapter.rb', line 46
def build_statement_pool
StatementPool.new(self.class.type_cast_config_to_integer(@config[:statement_limit]))
end
|
#check_version ⇒ Object
61
62
63
|
# File 'lib/active_record/connection_adapters/turso_adapter.rb', line 61
def check_version
true
end
|
#connect ⇒ Object
54
55
56
57
58
59
|
# File 'lib/active_record/connection_adapters/turso_adapter.rb', line 54
def connect
@raw_connection = self.class.new_client(@connection_parameters)
configure_connection
rescue ::Turso::Error => e
raise ActiveRecord::ConnectionNotEstablished, e.message
end
|
#database_file_exists? ⇒ Boolean
50
51
52
|
# File 'lib/active_record/connection_adapters/turso_adapter.rb', line 50
def database_file_exists?
File.exist?(@config[:database])
end
|
#encoding ⇒ Object
65
66
67
|
# File 'lib/active_record/connection_adapters/turso_adapter.rb', line 65
def encoding
"UTF-8"
end
|
#explain(arel, binds = [], _options = []) ⇒ Object
40
41
42
43
44
|
# File 'lib/active_record/connection_adapters/turso_adapter.rb', line 40
def explain(arel, binds = [], _options = [])
sql = "EXPLAIN QUERY PLAN " + to_sql(arel, binds)
result = exec_query(sql, "EXPLAIN", binds)
SQLite3::ExplainPrettyPrinter.new.pp(result)
end
|
#supports_check_constraint? ⇒ Boolean
32
33
34
|
# File 'lib/active_record/connection_adapters/turso_adapter.rb', line 32
def supports_check_constraint?
true
end
|
#supports_ddl_transactions? ⇒ Boolean
20
21
22
|
# File 'lib/active_record/connection_adapters/turso_adapter.rb', line 20
def supports_ddl_transactions?
true
end
|
#supports_explain? ⇒ Boolean
36
37
38
|
# File 'lib/active_record/connection_adapters/turso_adapter.rb', line 36
def supports_explain?
true
end
|
#supports_insert_returning? ⇒ Boolean
24
25
26
|
# File 'lib/active_record/connection_adapters/turso_adapter.rb', line 24
def supports_insert_returning?
false
end
|
#supports_transaction_isolation? ⇒ Boolean
28
29
30
|
# File 'lib/active_record/connection_adapters/turso_adapter.rb', line 28
def supports_transaction_isolation?
false
end
|