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.
- auto_vacuum
- auto_vacuum=
- cache_size
- cache_size=
- database_list
- default_cache_size
- default_cache_size=
- default_synchronous
- default_synchronous=
- default_temp_store
- default_temp_store=
- foreign_key_list
- full_column_names
- full_column_names=
- index_info
- index_list
- integrity_check
- parser_trace
- parser_trace=
- schema_cookie
- schema_cookie=
- synchronous
- synchronous=
- table_info
- temp_store
- temp_store=
- user_cookie
- user_cookie=
- vdbe_trace
- vdbe_trace=
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. |
[ show source ]
# File lib/sqlite3/pragmas.rb, line 104 104: def auto_vacuum 105: get_boolean_pragma "auto_vacuum" 106: end
[ show source ]
# File lib/sqlite3/pragmas.rb, line 108 108: def auto_vacuum=( mode ) 109: set_boolean_pragma "auto_vacuum", mode 110: end
[ show source ]
# File lib/sqlite3/pragmas.rb, line 128 128: def cache_size 129: get_int_pragma "cache_size" 130: end
[ show source ]
# File lib/sqlite3/pragmas.rb, line 132 132: def cache_size=( size ) 133: set_int_pragma "cache_size", size 134: end
[ show source ]
# File lib/sqlite3/pragmas.rb, line 200 200: def database_list( &block ) # :yields: row 201: get_query_pragma "database_list", &block 202: end
[ show source ]
# File lib/sqlite3/pragmas.rb, line 136 136: def default_cache_size 137: get_int_pragma "default_cache_size" 138: end
[ show source ]
# File lib/sqlite3/pragmas.rb, line 140 140: def default_cache_size=( size ) 141: set_int_pragma "default_cache_size", size 142: end
[ show source ]
# File lib/sqlite3/pragmas.rb, line 144 144: def default_synchronous 145: get_enum_pragma "default_synchronous" 146: end
[ show source ]
# File lib/sqlite3/pragmas.rb, line 148 148: def default_synchronous=( mode ) 149: set_enum_pragma "default_synchronous", mode, SYNCHRONOUS_MODES 150: end
[ show source ]
# File lib/sqlite3/pragmas.rb, line 160 160: def default_temp_store 161: get_enum_pragma "default_temp_store" 162: end
[ show source ]
# File lib/sqlite3/pragmas.rb, line 164 164: def default_temp_store=( mode ) 165: set_enum_pragma "default_temp_store", mode, TEMP_STORE_MODES 166: end
[ show source ]
# File lib/sqlite3/pragmas.rb, line 204 204: def foreign_key_list( table, &block ) # :yields: row 205: get_query_pragma "foreign_key_list", table, &block 206: end
[ show source ]
# File lib/sqlite3/pragmas.rb, line 176 176: def full_column_names 177: get_boolean_pragma "full_column_names" 178: end
[ show source ]
# File lib/sqlite3/pragmas.rb, line 180 180: def full_column_names=( mode ) 181: set_boolean_pragma "full_column_names", mode 182: end
[ show source ]
# File lib/sqlite3/pragmas.rb, line 208 208: def index_info( index, &block ) # :yields: row 209: get_query_pragma "index_info", index, &block 210: end
[ show source ]
# File lib/sqlite3/pragmas.rb, line 212 212: def index_list( table, &block ) # :yields: row 213: get_query_pragma "index_list", table, &block 214: end
Does an integrity check on the database. If the check fails, a SQLite3::Exception will be raised. Otherwise it returns silently.
[ show source ]
# File lib/sqlite3/pragmas.rb, line 98 98: def integrity_check 99: execute( "PRAGMA integrity_check" ) do |row| 100: raise Exception, row[0] if row[0] != "ok" 101: end 102: end
[ show source ]
# File lib/sqlite3/pragmas.rb, line 184 184: def parser_trace 185: get_boolean_pragma "parser_trace" 186: end
[ show source ]
# File lib/sqlite3/pragmas.rb, line 188 188: def parser_trace=( mode ) 189: set_boolean_pragma "parser_trace", mode 190: end
[ show source ]
# File lib/sqlite3/pragmas.rb, line 112 112: def schema_cookie 113: get_int_pragma "schema_cookie" 114: end
[ show source ]
# File lib/sqlite3/pragmas.rb, line 116 116: def schema_cookie=( cookie ) 117: set_int_pragma "schema_cookie", cookie 118: end
[ show source ]
# File lib/sqlite3/pragmas.rb, line 152 152: def synchronous 153: get_enum_pragma "synchronous" 154: end
[ show source ]
# File lib/sqlite3/pragmas.rb, line 156 156: def synchronous=( mode ) 157: set_enum_pragma "synchronous", mode, SYNCHRONOUS_MODES 158: end
[ show source ]
# File lib/sqlite3/pragmas.rb, line 216 216: def table_info( table, &block ) # :yields: row 217: columns, *rows = execute2("PRAGMA table_info(#{table})") 218: 219: needs_tweak_default = version_compare(driver.libversion, "3.3.7") > 0 220: 221: result = [] unless block_given? 222: rows.each do |row| 223: new_row = {} 224: columns.each_with_index do |name, index| 225: new_row[name] = row[index] 226: end 227: 228: tweak_default(new_row) if needs_tweak_default 229: 230: if block_given? 231: yield new_row 232: else 233: result << new_row 234: end 235: end 236: 237: result 238: end
[ show source ]
# File lib/sqlite3/pragmas.rb, line 168 168: def temp_store 169: get_enum_pragma "temp_store" 170: end
[ show source ]
# File lib/sqlite3/pragmas.rb, line 172 172: def temp_store=( mode ) 173: set_enum_pragma "temp_store", mode, TEMP_STORE_MODES 174: end
[ show source ]
# File lib/sqlite3/pragmas.rb, line 120 120: def user_cookie 121: get_int_pragma "user_cookie" 122: end
[ show source ]
# File lib/sqlite3/pragmas.rb, line 124 124: def user_cookie=( cookie ) 125: set_int_pragma "user_cookie", cookie 126: end
[ show source ]
# File lib/sqlite3/pragmas.rb, line 192 192: def vdbe_trace 193: get_boolean_pragma "vdbe_trace" 194: end
[ show source ]
# File lib/sqlite3/pragmas.rb, line 196 196: def vdbe_trace=( mode ) 197: set_boolean_pragma "vdbe_trace", mode 198: end