This module is intended for inclusion solely by the Database class. It defines convenience methods for the various pragmas supported by SQLite.
Two pragmas that have been intentionally excluded are SHOW_DATATYPES and EMPTY_RESULT_SETS, since these apply only to queries that use the SQLite "exec" function. The SQLite API does not employ that function, preferring instead the compile/step/finalize interface.
However, if you really must have those pragmas, you can always execute a pragma as if it were an SQL statement.
For a detailed description of these pragmas, see the SQLite documentation at sqlite.org/lang.html#pragma.
- 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=
- synchronous
- synchronous=
- table_info
- temp_store
- temp_store=
- 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/sqlite/pragmas.rb, line 142 142: def cache_size 143: get_int_pragma "cache_size" 144: end
[ show source ]
# File lib/sqlite/pragmas.rb, line 146 146: def cache_size=( size ) 147: set_int_pragma "cache_size", size 148: end
[ show source ]
# File lib/sqlite/pragmas.rb, line 214 214: def database_list( &block ) # :yields: row 215: get_query_pragma "database_list", &block 216: end
[ show source ]
# File lib/sqlite/pragmas.rb, line 150 150: def default_cache_size 151: get_int_pragma "default_cache_size" 152: end
[ show source ]
# File lib/sqlite/pragmas.rb, line 154 154: def default_cache_size=( size ) 155: set_int_pragma "default_cache_size", size 156: end
[ show source ]
# File lib/sqlite/pragmas.rb, line 158 158: def default_synchronous 159: get_enum_pragma "default_synchronous" 160: end
[ show source ]
# File lib/sqlite/pragmas.rb, line 162 162: def default_synchronous=( mode ) 163: set_enum_pragma "default_synchronous", mode, SYNCHRONOUS_MODES 164: end
[ show source ]
# File lib/sqlite/pragmas.rb, line 174 174: def default_temp_store 175: get_enum_pragma "default_temp_store" 176: end
[ show source ]
# File lib/sqlite/pragmas.rb, line 178 178: def default_temp_store=( mode ) 179: set_enum_pragma "default_temp_store", mode, TEMP_STORE_MODES 180: end
[ show source ]
# File lib/sqlite/pragmas.rb, line 218 218: def foreign_key_list( table, &block ) # :yields: row 219: get_query_pragma "foreign_key_list", table, &block 220: end
[ show source ]
# File lib/sqlite/pragmas.rb, line 190 190: def full_column_names 191: get_boolean_pragma "full_column_names" 192: end
[ show source ]
# File lib/sqlite/pragmas.rb, line 194 194: def full_column_names=( mode ) 195: set_boolean_pragma "full_column_names", mode 196: end
[ show source ]
# File lib/sqlite/pragmas.rb, line 222 222: def index_info( index, &block ) # :yields: row 223: get_query_pragma "index_info", index, &block 224: end
[ show source ]
# File lib/sqlite/pragmas.rb, line 226 226: def index_list( table, &block ) # :yields: row 227: get_query_pragma "index_list", table, &block 228: end
Does an integrity check on the database. If the check fails, a SQLite::Exceptions::DatabaseException will be raised. Otherwise it returns silently.
[ show source ]
# File lib/sqlite/pragmas.rb, line 136 136: def integrity_check 137: execute( "PRAGMA integrity_check" ) do |row| 138: raise Exceptions::DatabaseException, row[0] if row[0] != "ok" 139: end 140: end
[ show source ]
# File lib/sqlite/pragmas.rb, line 198 198: def parser_trace 199: get_boolean_pragma "parser_trace" 200: end
[ show source ]
# File lib/sqlite/pragmas.rb, line 202 202: def parser_trace=( mode ) 203: set_boolean_pragma "parser_trace", mode 204: end
[ show source ]
# File lib/sqlite/pragmas.rb, line 166 166: def synchronous 167: get_enum_pragma "synchronous" 168: end
[ show source ]
# File lib/sqlite/pragmas.rb, line 170 170: def synchronous=( mode ) 171: set_enum_pragma "synchronous", mode, SYNCHRONOUS_MODES 172: end
[ show source ]
# File lib/sqlite/pragmas.rb, line 230 230: def table_info( table, &block ) # :yields: row 231: get_query_pragma "table_info", table, &block 232: end
[ show source ]
# File lib/sqlite/pragmas.rb, line 182 182: def temp_store 183: get_enum_pragma "temp_store" 184: end
[ show source ]
# File lib/sqlite/pragmas.rb, line 186 186: def temp_store=( mode ) 187: set_enum_pragma "temp_store", mode, TEMP_STORE_MODES 188: end
[ show source ]
# File lib/sqlite/pragmas.rb, line 206 206: def vdbe_trace 207: get_boolean_pragma "vdbe_trace" 208: end
[ show source ]
# File lib/sqlite/pragmas.rb, line 210 210: def vdbe_trace=( mode ) 211: set_boolean_pragma "vdbe_trace", mode 212: end