This module is intended for inclusion solely by the Database class. It defines convenience methods for the various pragmas supported by SQLite3.
For a detailed description of these pragmas, see the SQLite3 documentation at sqlite.org/pragma.html.
The enumeration of valid synchronous modes.
The enumeration of valid temp store modes.
# File lib/sqlite3/pragmas.rb, line 104 def auto_vacuum get_boolean_pragma "auto_vacuum" end
# File lib/sqlite3/pragmas.rb, line 108 def auto_vacuum=( mode ) set_boolean_pragma "auto_vacuum", mode end
# File lib/sqlite3/pragmas.rb, line 128 def cache_size get_int_pragma "cache_size" end
# File lib/sqlite3/pragmas.rb, line 132 def cache_size=( size ) set_int_pragma "cache_size", size end
# File lib/sqlite3/pragmas.rb, line 200 def database_list( &block ) # :yields: row get_query_pragma "database_list", &block end
# File lib/sqlite3/pragmas.rb, line 136 def default_cache_size get_int_pragma "default_cache_size" end
# File lib/sqlite3/pragmas.rb, line 140 def default_cache_size=( size ) set_int_pragma "default_cache_size", size end
# File lib/sqlite3/pragmas.rb, line 144 def default_synchronous get_enum_pragma "default_synchronous" end
# File lib/sqlite3/pragmas.rb, line 148 def default_synchronous=( mode ) set_enum_pragma "default_synchronous", mode, SYNCHRONOUS_MODES end
# File lib/sqlite3/pragmas.rb, line 160 def default_temp_store get_enum_pragma "default_temp_store" end
# File lib/sqlite3/pragmas.rb, line 164 def default_temp_store=( mode ) set_enum_pragma "default_temp_store", mode, TEMP_STORE_MODES end
# File lib/sqlite3/pragmas.rb, line 204 def foreign_key_list( table, &block ) # :yields: row get_query_pragma "foreign_key_list", table, &block end
# File lib/sqlite3/pragmas.rb, line 176 def full_column_names get_boolean_pragma "full_column_names" end
# File lib/sqlite3/pragmas.rb, line 180 def full_column_names=( mode ) set_boolean_pragma "full_column_names", mode end
# File lib/sqlite3/pragmas.rb, line 208 def index_info( index, &block ) # :yields: row get_query_pragma "index_info", index, &block end
# File lib/sqlite3/pragmas.rb, line 212 def index_list( table, &block ) # :yields: row get_query_pragma "index_list", table, &block end
Does an integrity check on the database. If the check fails, a SQLite3::Exception will be raised. Otherwise it returns silently.
# File lib/sqlite3/pragmas.rb, line 98 def integrity_check execute( "PRAGMA integrity_check" ) do |row| raise Exception, row[0] if row[0] != "ok" end end
# File lib/sqlite3/pragmas.rb, line 184 def parser_trace get_boolean_pragma "parser_trace" end
# File lib/sqlite3/pragmas.rb, line 188 def parser_trace=( mode ) set_boolean_pragma "parser_trace", mode end
# File lib/sqlite3/pragmas.rb, line 152 def synchronous get_enum_pragma "synchronous" end
# File lib/sqlite3/pragmas.rb, line 156 def synchronous=( mode ) set_enum_pragma "synchronous", mode, SYNCHRONOUS_MODES end
Returns information about table
. Yields each row of table
information if a block is provided.
# File lib/sqlite3/pragmas.rb, line 219 def table_info table stmt = prepare "PRAGMA table_info(#{table})" columns = stmt.columns needs_tweak_default = version_compare(SQLite3.libversion.to_s, "3.3.7") > 0 result = [] unless block_given? stmt.each do |row| new_row = Hash[columns.zip(row)] # FIXME: This should be removed but is required for older versions # of rails if(Object.const_defined?(:ActiveRecord)) new_row['notnull'] = new_row['notnull'].to_s end tweak_default(new_row) if needs_tweak_default if block_given? yield new_row else result << new_row end end stmt.close result end
# File lib/sqlite3/pragmas.rb, line 168 def temp_store get_enum_pragma "temp_store" end
# File lib/sqlite3/pragmas.rb, line 172 def temp_store=( mode ) set_enum_pragma "temp_store", mode, TEMP_STORE_MODES end
# File lib/sqlite3/pragmas.rb, line 192 def vdbe_trace get_boolean_pragma "vdbe_trace" end
# File lib/sqlite3/pragmas.rb, line 196 def vdbe_trace=( mode ) set_boolean_pragma "vdbe_trace", mode end