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