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.

Methods
Constants
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.
Public Instance methods
auto_vacuum()
     # File lib/sqlite3/pragmas.rb, line 104
104:     def auto_vacuum
105:       get_boolean_pragma "auto_vacuum"
106:     end
auto_vacuum=( mode )
     # File lib/sqlite3/pragmas.rb, line 108
108:     def auto_vacuum=( mode )
109:       set_boolean_pragma "auto_vacuum", mode
110:     end
cache_size()
     # File lib/sqlite3/pragmas.rb, line 128
128:     def cache_size
129:       get_int_pragma "cache_size"
130:     end
cache_size=( size )
     # File lib/sqlite3/pragmas.rb, line 132
132:     def cache_size=( size )
133:       set_int_pragma "cache_size", size
134:     end
database_list( ) {|row| ...}
     # File lib/sqlite3/pragmas.rb, line 200
200:     def database_list( &block ) # :yields: row
201:       get_query_pragma "database_list", &block
202:     end
default_cache_size()
     # File lib/sqlite3/pragmas.rb, line 136
136:     def default_cache_size
137:       get_int_pragma "default_cache_size"
138:     end
default_cache_size=( size )
     # File lib/sqlite3/pragmas.rb, line 140
140:     def default_cache_size=( size )
141:       set_int_pragma "default_cache_size", size
142:     end
default_synchronous()
     # File lib/sqlite3/pragmas.rb, line 144
144:     def default_synchronous
145:       get_enum_pragma "default_synchronous"
146:     end
default_synchronous=( mode )
     # File lib/sqlite3/pragmas.rb, line 148
148:     def default_synchronous=( mode )
149:       set_enum_pragma "default_synchronous", mode, SYNCHRONOUS_MODES
150:     end
default_temp_store()
     # File lib/sqlite3/pragmas.rb, line 160
160:     def default_temp_store
161:       get_enum_pragma "default_temp_store"
162:     end
default_temp_store=( mode )
     # 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
foreign_key_list( table ) {|row| ...}
     # 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
full_column_names()
     # File lib/sqlite3/pragmas.rb, line 176
176:     def full_column_names
177:       get_boolean_pragma "full_column_names"
178:     end
full_column_names=( mode )
     # File lib/sqlite3/pragmas.rb, line 180
180:     def full_column_names=( mode )
181:       set_boolean_pragma "full_column_names", mode
182:     end
index_info( index ) {|row| ...}
     # 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
index_list( table ) {|row| ...}
     # 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
integrity_check()

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 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
parser_trace()
     # File lib/sqlite3/pragmas.rb, line 184
184:     def parser_trace
185:       get_boolean_pragma "parser_trace"
186:     end
parser_trace=( mode )
     # File lib/sqlite3/pragmas.rb, line 188
188:     def parser_trace=( mode )
189:       set_boolean_pragma "parser_trace", mode
190:     end
schema_cookie()
     # File lib/sqlite3/pragmas.rb, line 112
112:     def schema_cookie
113:       get_int_pragma "schema_cookie"
114:     end
schema_cookie=( cookie )
     # File lib/sqlite3/pragmas.rb, line 116
116:     def schema_cookie=( cookie )
117:       set_int_pragma "schema_cookie", cookie
118:     end
synchronous()
     # File lib/sqlite3/pragmas.rb, line 152
152:     def synchronous
153:       get_enum_pragma "synchronous"
154:     end
synchronous=( mode )
     # File lib/sqlite3/pragmas.rb, line 156
156:     def synchronous=( mode )
157:       set_enum_pragma "synchronous", mode, SYNCHRONOUS_MODES
158:     end
table_info( table ) {|row| ...}
     # 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
temp_store()
     # File lib/sqlite3/pragmas.rb, line 168
168:     def temp_store
169:       get_enum_pragma "temp_store"
170:     end
temp_store=( mode )
     # File lib/sqlite3/pragmas.rb, line 172
172:     def temp_store=( mode )
173:       set_enum_pragma "temp_store", mode, TEMP_STORE_MODES
174:     end
user_cookie()
     # File lib/sqlite3/pragmas.rb, line 120
120:     def user_cookie
121:       get_int_pragma "user_cookie"
122:     end
user_cookie=( cookie )
     # File lib/sqlite3/pragmas.rb, line 124
124:     def user_cookie=( cookie )
125:       set_int_pragma "user_cookie", cookie
126:     end
vdbe_trace()
     # File lib/sqlite3/pragmas.rb, line 192
192:     def vdbe_trace
193:       get_boolean_pragma "vdbe_trace"
194:     end
vdbe_trace=( mode )
     # File lib/sqlite3/pragmas.rb, line 196
196:     def vdbe_trace=( mode )
197:       set_boolean_pragma "vdbe_trace", mode
198:     end