Class: ActiveRecord::ConnectionAdapters::SQLite3Adapter

Inherits:
SQLiteAdapter show all
Defined in:
lib/active_record/connection_adapters/sqlite3_adapter.rb

Overview

:nodoc:

Instance Attribute Summary

Attributes included from QueryCache

#query_cache, #query_cache_enabled

Instance Method Summary collapse

Methods inherited from SQLiteAdapter

#adapter_name, #add_column, #begin_db_transaction, #change_column, #change_column_default, #change_column_null, #columns, #commit_db_transaction, #delete_sql, #disconnect!, #empty_insert_statement_value, #execute, #indexes, #initialize, #insert_sql, #native_database_types, #primary_key, #quote_column_name, #quote_string, #quoted_date, #remove_column, #remove_index!, #rename_column, #rename_table, #requires_reloading?, #rollback_db_transaction, #select_rows, #supports_add_column?, #supports_autoincrement?, #supports_count_distinct?, #supports_ddl_transactions?, #supports_migrations?, #supports_primary_key?, #tables, #update_sql, #valid_alter_table_options

Methods inherited from AbstractAdapter

#active?, #adapter_name, #create_savepoint, #current_savepoint_name, #decrement_open_transactions, #disable_referential_integrity, #disconnect!, #ids_in_list_limit, #increment_open_transactions, #initialize, #open_transactions, #prefetch_primary_key?, #quote_table_name, #raw_connection, #reconnect!, #release_savepoint, #requires_reloading?, #reset!, #rollback_to_savepoint, #supports_count_distinct?, #supports_ddl_transactions?, #supports_migrations?, #supports_primary_key?, #supports_savepoints?, #transaction_joinable=, #verify!

Methods included from QueryCache

#cache, #clear_query_cache, dirties_query_cache, included, #select_all, #uncached

Methods included from DatabaseLimits

#column_name_length, #columns_per_multicolumn_index, #columns_per_table, #in_clause_length, #index_name_length, #indexes_per_table, #joins_per_query, #sql_query_length, #table_alias_length, #table_name_length

Methods included from Quoting

#quote_column_name, #quote_string, #quote_table_name, #quoted_date, #quoted_false, #quoted_true

Methods included from DatabaseStatements

#add_limit_offset!, #add_transaction_record, #begin_db_transaction, #case_sensitive_equality_operator, #commit_db_transaction, #default_sequence_name, #delete, #empty_insert_statement_value, #execute, #insert, #insert_fixture, #limited_update_conditions, #outside_transaction?, #reset_sequence!, #rollback_db_transaction, #sanitize_limit, #select_all, #select_one, #select_rows, #select_value, #select_values, #transaction, #update

Methods included from SchemaStatements

#add_column, #add_column_options!, #add_index, #add_timestamps, #assume_migrated_upto_version, #change_column, #change_column_default, #change_table, #column_exists?, #columns, #create_table, #distinct, #drop_table, #dump_schema_information, #index_exists?, #index_name, #index_name_exists?, #initialize_schema_migrations_table, #native_database_types, #remove_column, #remove_index, #remove_index!, #remove_timestamps, #rename_column, #rename_index, #rename_table, #structure_dump, #table_alias_for, #table_exists?, #type_to_sql

Constructor Details

This class inherits a constructor from ActiveRecord::ConnectionAdapters::SQLiteAdapter

Instance Method Details

#encodingObject

Returns the current database encoding format as a string, eg: ‘UTF-8’



50
51
52
53
54
55
56
57
# File 'lib/active_record/connection_adapters/sqlite3_adapter.rb', line 50

def encoding
  if @connection.respond_to?(:encoding)
    @connection.encoding.to_s
  else
    encoding = @connection.execute('PRAGMA encoding')
    encoding[0]['encoding']
  end
end

#quote(value, column = nil) ⇒ Object



40
41
42
43
44
45
46
47
# File 'lib/active_record/connection_adapters/sqlite3_adapter.rb', line 40

def quote(value, column = nil)
  if value.kind_of?(String) && column && column.type == :binary && column.class.respond_to?(:string_to_binary)
    s = column.class.string_to_binary(value).unpack("H*")[0]
    "x'#{s}'"
  else
    super
  end
end