X-Git-Url: https://git.njae.me.uk/?a=blobdiff_plain;f=vendor%2Frails%2Factiverecord%2Flib%2Factive_record%2Fconnection_adapters%2Fsqlite3_adapter.rb;fp=vendor%2Frails%2Factiverecord%2Flib%2Factive_record%2Fconnection_adapters%2Fsqlite3_adapter.rb;h=75420f69aacce4fd1ae069cadd1cc4f9fbe7c9e2;hb=437aa336c44c74a30aeea16a06743c32747ed661;hp=0000000000000000000000000000000000000000;hpb=97a0772b06264134cfe38e7494f9427efe0840a0;p=feedcatcher.git diff --git a/vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb b/vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb new file mode 100644 index 0000000..75420f6 --- /dev/null +++ b/vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb @@ -0,0 +1,34 @@ +require 'active_record/connection_adapters/sqlite_adapter' + +module ActiveRecord + class Base + # sqlite3 adapter reuses sqlite_connection. + def self.sqlite3_connection(config) # :nodoc: + parse_sqlite_config!(config) + + unless self.class.const_defined?(:SQLite3) + require_library_or_gem(config[:adapter]) + end + + db = SQLite3::Database.new( + config[:database], + :results_as_hash => true, + :type_translation => false + ) + + db.busy_timeout(config[:timeout]) unless config[:timeout].nil? + + ConnectionAdapters::SQLite3Adapter.new(db, logger, config) + end + end + + module ConnectionAdapters #:nodoc: + class SQLite3Adapter < SQLiteAdapter # :nodoc: + def table_structure(table_name) + returning structure = @connection.table_info(quote_table_name(table_name)) do + raise(ActiveRecord::StatementInvalid, "Could not find table '#{table_name}'") if structure.empty? + end + end + end + end +end