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