Module | SQLite3::Pragmas |
In: |
lib/sqlite3/pragmas.rb
|
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.
SYNCHRONOUS_MODES | = | [ [ 'full', 2 ], [ 'normal', 1 ], [ 'off', 0 ] ] | The enumeration of valid synchronous modes. | |
TEMP_STORE_MODES | = | [ [ 'default', 0 ], [ 'file', 1 ], [ 'memory', 2 ] ] | The enumeration of valid temp store modes. |
# File lib/sqlite3/pragmas.rb, line 136 136: def auto_vacuum 137: get_boolean_pragma "auto_vacuum" 138: end
# File lib/sqlite3/pragmas.rb, line 140 140: def auto_vacuum=( mode ) 141: set_boolean_pragma "auto_vacuum", mode 142: end
# File lib/sqlite3/pragmas.rb, line 160 160: def cache_size 161: get_int_pragma "cache_size" 162: end
# File lib/sqlite3/pragmas.rb, line 164 164: def cache_size=( size ) 165: set_int_pragma "cache_size", size 166: end
# File lib/sqlite3/pragmas.rb, line 232 232: def database_list( &block ) # :yields: row 233: get_query_pragma "database_list", &block 234: end
# File lib/sqlite3/pragmas.rb, line 168 168: def default_cache_size 169: get_int_pragma "default_cache_size" 170: end
# File lib/sqlite3/pragmas.rb, line 172 172: def default_cache_size=( size ) 173: set_int_pragma "default_cache_size", size 174: end
# File lib/sqlite3/pragmas.rb, line 176 176: def default_synchronous 177: get_enum_pragma "default_synchronous" 178: end
# File lib/sqlite3/pragmas.rb, line 180 180: def default_synchronous=( mode ) 181: set_enum_pragma "default_synchronous", mode, SYNCHRONOUS_MODES 182: end
# File lib/sqlite3/pragmas.rb, line 192 192: def default_temp_store 193: get_enum_pragma "default_temp_store" 194: end
# File lib/sqlite3/pragmas.rb, line 196 196: def default_temp_store=( mode ) 197: set_enum_pragma "default_temp_store", mode, TEMP_STORE_MODES 198: end
# File lib/sqlite3/pragmas.rb, line 236 236: def foreign_key_list( table, &block ) # :yields: row 237: get_query_pragma "foreign_key_list", table, &block 238: end
# File lib/sqlite3/pragmas.rb, line 208 208: def full_column_names 209: get_boolean_pragma "full_column_names" 210: end
# File lib/sqlite3/pragmas.rb, line 212 212: def full_column_names=( mode ) 213: set_boolean_pragma "full_column_names", mode 214: end
# File lib/sqlite3/pragmas.rb, line 240 240: def index_info( index, &block ) # :yields: row 241: get_query_pragma "index_info", index, &block 242: end
# File lib/sqlite3/pragmas.rb, line 244 244: def index_list( table, &block ) # :yields: row 245: get_query_pragma "index_list", table, &block 246: 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 130 130: def integrity_check 131: execute( "PRAGMA integrity_check" ) do |row| 132: raise Exception, row[0] if row[0] != "ok" 133: end 134: end
# File lib/sqlite3/pragmas.rb, line 216 216: def parser_trace 217: get_boolean_pragma "parser_trace" 218: end
# File lib/sqlite3/pragmas.rb, line 220 220: def parser_trace=( mode ) 221: set_boolean_pragma "parser_trace", mode 222: end
# File lib/sqlite3/pragmas.rb, line 144 144: def schema_cookie 145: get_int_pragma "schema_cookie" 146: end
# File lib/sqlite3/pragmas.rb, line 148 148: def schema_cookie=( cookie ) 149: set_int_pragma "schema_cookie", cookie 150: end
# File lib/sqlite3/pragmas.rb, line 184 184: def synchronous 185: get_enum_pragma "synchronous" 186: end
# File lib/sqlite3/pragmas.rb, line 188 188: def synchronous=( mode ) 189: set_enum_pragma "synchronous", mode, SYNCHRONOUS_MODES 190: end
# File lib/sqlite3/pragmas.rb, line 248 248: def table_info( table, &block ) # :yields: row 249: columns, *rows = execute2("PRAGMA table_info(#{table})") 250: 251: needs_tweak_default = version_compare(driver.libversion, "3.3.7") > 0 252: 253: result = [] unless block_given? 254: rows.each do |row| 255: new_row = {} 256: columns.each_with_index do |name, index| 257: new_row[name] = row[index] 258: end 259: 260: tweak_default(new_row) if needs_tweak_default 261: 262: if block_given? 263: yield new_row 264: else 265: result << new_row 266: end 267: end 268: 269: result 270: end
# File lib/sqlite3/pragmas.rb, line 200 200: def temp_store 201: get_enum_pragma "temp_store" 202: end
# File lib/sqlite3/pragmas.rb, line 204 204: def temp_store=( mode ) 205: set_enum_pragma "temp_store", mode, TEMP_STORE_MODES 206: end
# File lib/sqlite3/pragmas.rb, line 152 152: def user_cookie 153: get_int_pragma "user_cookie" 154: end
# File lib/sqlite3/pragmas.rb, line 156 156: def user_cookie=( cookie ) 157: set_int_pragma "user_cookie", cookie 158: end
# File lib/sqlite3/pragmas.rb, line 224 224: def vdbe_trace 225: get_boolean_pragma "vdbe_trace" 226: end