Skip to content

Commit 452e706

Browse files
committed
Add convenience wrapper for pragma optimize
1 parent 2d0139d commit 452e706

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

lib/sqlite3/pragmas.rb

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -338,6 +338,14 @@ def mmap_size=(size)
338338
set_int_pragma "mmap_size", size
339339
end
340340

341+
def optimize(bitmask = nil)
342+
if bitmask
343+
set_int_pragma "optimize", bitmask
344+
else
345+
execute("PRAGMA optimize")
346+
end
347+
end
348+
341349
def page_count
342350
get_int_pragma "page_count"
343351
end

test/test_pragmas.rb

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,15 @@ def test_set_boolean_pragma
3232
ensure
3333
@db.set_boolean_pragma("read_uncommitted", 0)
3434
end
35+
36+
def test_pragma_optimize_without_args
37+
@db.expects(:execute).with("PRAGMA optimize")
38+
@db.pragma_optimize
39+
end
40+
41+
def test_pragma_optimize_with_args
42+
@db.expects(:execute).with("PRAGMA optimize(16)")
43+
@db.pragma_optimize(0x10)
44+
end
3545
end
3646
end

0 commit comments

Comments
 (0)