summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Ed Yu2023-11-21 15:37:59 -0800
committerGravatar Ed Yu2023-11-21 15:37:59 -0800
commit467c1e9c099a1b12bb84111a7b7544e50b313f77 (patch)
tree719f9af30a7085b83068479d98a65d5302dd1050
parentUpdate to sqlite 3.43.2 (diff)
downloadzig-sqlite-467c1e9c099a1b12bb84111a7b7544e50b313f77.tar.gz
zig-sqlite-467c1e9c099a1b12bb84111a7b7544e50b313f77.tar.xz
zig-sqlite-467c1e9c099a1b12bb84111a7b7544e50b313f77.zip
Update to zig 0.12.0-dev.1664+8ca4a5240
Diffstat (limited to '')
-rw-r--r--query.zig4
-rw-r--r--sqlite.zig72
-rw-r--r--test.zig2
-rw-r--r--vtab.zig18
4 files changed, 48 insertions, 48 deletions
diff --git a/query.zig b/query.zig
index d47600f..9cb624b 100644
--- a/query.zig
+++ b/query.zig
@@ -276,7 +276,7 @@ test "parsed query: bind markers types" {
276 276
277 inline for (testCases) |tc| { 277 inline for (testCases) |tc| {
278 @setEvalBranchQuota(100000); 278 @setEvalBranchQuota(100000);
279 comptime var parsed_query = ParsedQuery(tc.query); 279 const parsed_query = comptime ParsedQuery(tc.query);
280 280
281 try testing.expectEqual(1, parsed_query.nb_bind_markers); 281 try testing.expectEqual(1, parsed_query.nb_bind_markers);
282 282
@@ -324,7 +324,7 @@ test "parsed query: bind markers identifier" {
324 }; 324 };
325 325
326 inline for (testCases) |tc| { 326 inline for (testCases) |tc| {
327 comptime var parsed_query = ParsedQuery(tc.query); 327 const parsed_query = comptime ParsedQuery(tc.query);
328 328
329 try testing.expectEqual(@as(usize, 1), parsed_query.nb_bind_markers); 329 try testing.expectEqual(@as(usize, 1), parsed_query.nb_bind_markers);
330 330
diff --git a/sqlite.zig b/sqlite.zig
index b251e1f..d521175 100644
--- a/sqlite.zig
+++ b/sqlite.zig
@@ -106,7 +106,7 @@ pub const Blob = struct {
106 return 0; 106 return 0;
107 } 107 }
108 108
109 var tmp_buffer = blk: { 109 const tmp_buffer = blk: {
110 const remaining: usize = @as(usize, @intCast(self.size)) - @as(usize, @intCast(self.offset)); 110 const remaining: usize = @as(usize, @intCast(self.size)) - @as(usize, @intCast(self.offset));
111 break :blk if (buffer.len > remaining) buffer[0..remaining] else buffer; 111 break :blk if (buffer.len > remaining) buffer[0..remaining] else buffer;
112 }; 112 };
@@ -401,7 +401,7 @@ pub const Db = struct {
401 /// const journal_mode = try db.pragma([]const u8, allocator, .{}, "journal_mode", null); 401 /// const journal_mode = try db.pragma([]const u8, allocator, .{}, "journal_mode", null);
402 /// 402 ///
403 pub fn pragmaAlloc(self: *Self, comptime Type: type, allocator: mem.Allocator, options: QueryOptions, comptime name: []const u8, comptime arg: ?[]const u8) !?Type { 403 pub fn pragmaAlloc(self: *Self, comptime Type: type, allocator: mem.Allocator, options: QueryOptions, comptime name: []const u8, comptime arg: ?[]const u8) !?Type {
404 comptime var query = getPragmaQuery(name, arg); 404 const query = comptime getPragmaQuery(name, arg);
405 405
406 var stmt = try self.prepare(query); 406 var stmt = try self.prepare(query);
407 defer stmt.deinit(); 407 defer stmt.deinit();
@@ -423,7 +423,7 @@ pub const Db = struct {
423 /// 423 ///
424 /// This cannot allocate memory. If your pragma command returns text you must use an array or call `pragmaAlloc`. 424 /// This cannot allocate memory. If your pragma command returns text you must use an array or call `pragmaAlloc`.
425 pub fn pragma(self: *Self, comptime Type: type, options: QueryOptions, comptime name: []const u8, comptime arg: ?[]const u8) !?Type { 425 pub fn pragma(self: *Self, comptime Type: type, options: QueryOptions, comptime name: []const u8, comptime arg: ?[]const u8) !?Type {
426 comptime var query = getPragmaQuery(name, arg); 426 const query = comptime getPragmaQuery(name, arg);
427 427
428 var stmt = try self.prepareWithDiags(query, options); 428 var stmt = try self.prepareWithDiags(query, options);
429 defer stmt.deinit(); 429 defer stmt.deinit();
@@ -936,7 +936,7 @@ pub const Savepoint = struct {
936 936
937 var buffer: [256]u8 = undefined; 937 var buffer: [256]u8 = undefined;
938 var fba = std.heap.FixedBufferAllocator.init(&buffer); 938 var fba = std.heap.FixedBufferAllocator.init(&buffer);
939 var allocator = fba.allocator(); 939 const allocator = fba.allocator();
940 940
941 const commit_query = try std.fmt.allocPrint(allocator, "RELEASE SAVEPOINT {s}", .{name}); 941 const commit_query = try std.fmt.allocPrint(allocator, "RELEASE SAVEPOINT {s}", .{name});
942 const rollback_query = try std.fmt.allocPrint(allocator, "ROLLBACK TRANSACTION TO SAVEPOINT {s}", .{name}); 942 const rollback_query = try std.fmt.allocPrint(allocator, "ROLLBACK TRANSACTION TO SAVEPOINT {s}", .{name});
@@ -1028,7 +1028,7 @@ pub fn Iterator(comptime Type: type) type {
1028 var dummy_diags = Diagnostics{}; 1028 var dummy_diags = Diagnostics{};
1029 var diags = options.diags orelse &dummy_diags; 1029 var diags = options.diags orelse &dummy_diags;
1030 1030
1031 var result = c.sqlite3_step(self.stmt); 1031 const result = c.sqlite3_step(self.stmt);
1032 if (result == c.SQLITE_DONE) { 1032 if (result == c.SQLITE_DONE) {
1033 return null; 1033 return null;
1034 } 1034 }
@@ -1086,7 +1086,7 @@ pub fn Iterator(comptime Type: type) type {
1086 var dummy_diags = Diagnostics{}; 1086 var dummy_diags = Diagnostics{};
1087 var diags = options.diags orelse &dummy_diags; 1087 var diags = options.diags orelse &dummy_diags;
1088 1088
1089 var result = c.sqlite3_step(self.stmt); 1089 const result = c.sqlite3_step(self.stmt);
1090 if (result == c.SQLITE_DONE) { 1090 if (result == c.SQLITE_DONE) {
1091 return null; 1091 return null;
1092 } 1092 }
@@ -1516,7 +1516,7 @@ pub const DynamicStatement = struct {
1516 fn prepare(db: *Db, query: []const u8, options: QueryOptions, flags: c_uint) PrepareError!Self { 1516 fn prepare(db: *Db, query: []const u8, options: QueryOptions, flags: c_uint) PrepareError!Self {
1517 var dummy_diags = Diagnostics{}; 1517 var dummy_diags = Diagnostics{};
1518 var diags = options.diags orelse &dummy_diags; 1518 var diags = options.diags orelse &dummy_diags;
1519 var stmt = blk: { 1519 const stmt = blk: {
1520 var tmp: ?*c.sqlite3_stmt = undefined; 1520 var tmp: ?*c.sqlite3_stmt = undefined;
1521 const result = c.sqlite3_prepare_v3( 1521 const result = c.sqlite3_prepare_v3(
1522 db.db, 1522 db.db,
@@ -2312,7 +2312,7 @@ test "sqlite: exec multi with single statement" {
2312test "sqlite: db pragma" { 2312test "sqlite: db pragma" {
2313 var arena = std.heap.ArenaAllocator.init(testing.allocator); 2313 var arena = std.heap.ArenaAllocator.init(testing.allocator);
2314 defer arena.deinit(); 2314 defer arena.deinit();
2315 var allocator = arena.allocator(); 2315 const allocator = arena.allocator();
2316 2316
2317 var db = try getTestDb(); 2317 var db = try getTestDb();
2318 defer db.deinit(); 2318 defer db.deinit();
@@ -2425,7 +2425,7 @@ test "sqlite: db execAlloc" {
2425test "sqlite: read a single user into a struct" { 2425test "sqlite: read a single user into a struct" {
2426 var arena = std.heap.ArenaAllocator.init(testing.allocator); 2426 var arena = std.heap.ArenaAllocator.init(testing.allocator);
2427 defer arena.deinit(); 2427 defer arena.deinit();
2428 var allocator = arena.allocator(); 2428 const allocator = arena.allocator();
2429 2429
2430 var db = try getTestDb(); 2430 var db = try getTestDb();
2431 defer db.deinit(); 2431 defer db.deinit();
@@ -2434,7 +2434,7 @@ test "sqlite: read a single user into a struct" {
2434 var stmt = try db.prepare("SELECT * FROM user WHERE id = ?{usize}"); 2434 var stmt = try db.prepare("SELECT * FROM user WHERE id = ?{usize}");
2435 defer stmt.deinit(); 2435 defer stmt.deinit();
2436 2436
2437 var rows = try stmt.all(TestUser, allocator, .{}, .{ 2437 const rows = try stmt.all(TestUser, allocator, .{}, .{
2438 .id = @as(usize, 20), 2438 .id = @as(usize, 20),
2439 }); 2439 });
2440 for (rows) |row| { 2440 for (rows) |row| {
@@ -2465,7 +2465,7 @@ test "sqlite: read a single user into a struct" {
2465 2465
2466 // Read a row with db.oneAlloc() 2466 // Read a row with db.oneAlloc()
2467 { 2467 {
2468 var row = try db.oneAlloc( 2468 const row = try db.oneAlloc(
2469 struct { 2469 struct {
2470 name: Text, 2470 name: Text,
2471 id: usize, 2471 id: usize,
@@ -2488,7 +2488,7 @@ test "sqlite: read a single user into a struct" {
2488test "sqlite: read all users into a struct" { 2488test "sqlite: read all users into a struct" {
2489 var arena = std.heap.ArenaAllocator.init(testing.allocator); 2489 var arena = std.heap.ArenaAllocator.init(testing.allocator);
2490 defer arena.deinit(); 2490 defer arena.deinit();
2491 var allocator = arena.allocator(); 2491 const allocator = arena.allocator();
2492 2492
2493 var db = try getTestDb(); 2493 var db = try getTestDb();
2494 defer db.deinit(); 2494 defer db.deinit();
@@ -2497,7 +2497,7 @@ test "sqlite: read all users into a struct" {
2497 var stmt = try db.prepare("SELECT * FROM user"); 2497 var stmt = try db.prepare("SELECT * FROM user");
2498 defer stmt.deinit(); 2498 defer stmt.deinit();
2499 2499
2500 var rows = try stmt.all(TestUser, allocator, .{}, .{}); 2500 const rows = try stmt.all(TestUser, allocator, .{}, .{});
2501 try testing.expectEqual(@as(usize, 3), rows.len); 2501 try testing.expectEqual(@as(usize, 3), rows.len);
2502 for (rows, 0..) |row, i| { 2502 for (rows, 0..) |row, i| {
2503 const exp = test_users[i]; 2503 const exp = test_users[i];
@@ -2511,7 +2511,7 @@ test "sqlite: read all users into a struct" {
2511test "sqlite: read in an anonymous struct" { 2511test "sqlite: read in an anonymous struct" {
2512 var arena = std.heap.ArenaAllocator.init(testing.allocator); 2512 var arena = std.heap.ArenaAllocator.init(testing.allocator);
2513 defer arena.deinit(); 2513 defer arena.deinit();
2514 var allocator = arena.allocator(); 2514 const allocator = arena.allocator();
2515 2515
2516 var db = try getTestDb(); 2516 var db = try getTestDb();
2517 defer db.deinit(); 2517 defer db.deinit();
@@ -2547,7 +2547,7 @@ test "sqlite: read in an anonymous struct" {
2547test "sqlite: read in a Text struct" { 2547test "sqlite: read in a Text struct" {
2548 var arena = std.heap.ArenaAllocator.init(testing.allocator); 2548 var arena = std.heap.ArenaAllocator.init(testing.allocator);
2549 defer arena.deinit(); 2549 defer arena.deinit();
2550 var allocator = arena.allocator(); 2550 const allocator = arena.allocator();
2551 2551
2552 var db = try getTestDb(); 2552 var db = try getTestDb();
2553 defer db.deinit(); 2553 defer db.deinit();
@@ -2556,7 +2556,7 @@ test "sqlite: read in a Text struct" {
2556 var stmt = try db.prepare("SELECT name, id, age FROM user WHERE id = ?{usize}"); 2556 var stmt = try db.prepare("SELECT name, id, age FROM user WHERE id = ?{usize}");
2557 defer stmt.deinit(); 2557 defer stmt.deinit();
2558 2558
2559 var row = try stmt.oneAlloc( 2559 const row = try stmt.oneAlloc(
2560 struct { 2560 struct {
2561 name: Text, 2561 name: Text,
2562 id: usize, 2562 id: usize,
@@ -2577,7 +2577,7 @@ test "sqlite: read in a Text struct" {
2577test "sqlite: read a single text value" { 2577test "sqlite: read a single text value" {
2578 var arena = std.heap.ArenaAllocator.init(testing.allocator); 2578 var arena = std.heap.ArenaAllocator.init(testing.allocator);
2579 defer arena.deinit(); 2579 defer arena.deinit();
2580 var allocator = arena.allocator(); 2580 const allocator = arena.allocator();
2581 2581
2582 var db = try getTestDb(); 2582 var db = try getTestDb();
2583 defer db.deinit(); 2583 defer db.deinit();
@@ -2659,7 +2659,7 @@ test "sqlite: read a single integer value" {
2659 var stmt: StatementType(.{}, query) = try db.prepare(query); 2659 var stmt: StatementType(.{}, query) = try db.prepare(query);
2660 defer stmt.deinit(); 2660 defer stmt.deinit();
2661 2661
2662 var age = try stmt.one(typ, .{}, .{ 2662 const age = try stmt.one(typ, .{}, .{
2663 .id = @as(usize, 20), 2663 .id = @as(usize, 20),
2664 }); 2664 });
2665 try testing.expect(age != null); 2665 try testing.expect(age != null);
@@ -2671,7 +2671,7 @@ test "sqlite: read a single integer value" {
2671test "sqlite: read a single value into an enum backed by an integer" { 2671test "sqlite: read a single value into an enum backed by an integer" {
2672 var arena = std.heap.ArenaAllocator.init(testing.allocator); 2672 var arena = std.heap.ArenaAllocator.init(testing.allocator);
2673 defer arena.deinit(); 2673 defer arena.deinit();
2674 var allocator = arena.allocator(); 2674 const allocator = arena.allocator();
2675 2675
2676 var db = try getTestDb(); 2676 var db = try getTestDb();
2677 defer db.deinit(); 2677 defer db.deinit();
@@ -2718,7 +2718,7 @@ test "sqlite: read a single value into an enum backed by an integer" {
2718test "sqlite: read a single value into an enum backed by a string" { 2718test "sqlite: read a single value into an enum backed by a string" {
2719 var arena = std.heap.ArenaAllocator.init(testing.allocator); 2719 var arena = std.heap.ArenaAllocator.init(testing.allocator);
2720 defer arena.deinit(); 2720 defer arena.deinit();
2721 var allocator = arena.allocator(); 2721 const allocator = arena.allocator();
2722 2722
2723 var db = try getTestDb(); 2723 var db = try getTestDb();
2724 defer db.deinit(); 2724 defer db.deinit();
@@ -2819,7 +2819,7 @@ test "sqlite: bind string literal" {
2819test "sqlite: bind pointer" { 2819test "sqlite: bind pointer" {
2820 var arena = std.heap.ArenaAllocator.init(testing.allocator); 2820 var arena = std.heap.ArenaAllocator.init(testing.allocator);
2821 defer arena.deinit(); 2821 defer arena.deinit();
2822 var allocator = arena.allocator(); 2822 const allocator = arena.allocator();
2823 2823
2824 var db = try getTestDb(); 2824 var db = try getTestDb();
2825 defer db.deinit(); 2825 defer db.deinit();
@@ -2842,7 +2842,7 @@ test "sqlite: bind pointer" {
2842test "sqlite: read pointers" { 2842test "sqlite: read pointers" {
2843 var arena = std.heap.ArenaAllocator.init(testing.allocator); 2843 var arena = std.heap.ArenaAllocator.init(testing.allocator);
2844 defer arena.deinit(); 2844 defer arena.deinit();
2845 var allocator = arena.allocator(); 2845 const allocator = arena.allocator();
2846 2846
2847 var db = try getTestDb(); 2847 var db = try getTestDb();
2848 defer db.deinit(); 2848 defer db.deinit();
@@ -2952,7 +2952,7 @@ test "sqlite: statement reset" {
2952test "sqlite: statement iterator" { 2952test "sqlite: statement iterator" {
2953 var arena = std.heap.ArenaAllocator.init(testing.allocator); 2953 var arena = std.heap.ArenaAllocator.init(testing.allocator);
2954 defer arena.deinit(); 2954 defer arena.deinit();
2955 var allocator = arena.allocator(); 2955 const allocator = arena.allocator();
2956 2956
2957 var db = try getTestDb(); 2957 var db = try getTestDb();
2958 defer db.deinit(); 2958 defer db.deinit();
@@ -3038,7 +3038,7 @@ test "sqlite: statement iterator" {
3038test "sqlite: blob open, reopen" { 3038test "sqlite: blob open, reopen" {
3039 var arena = std.heap.ArenaAllocator.init(testing.allocator); 3039 var arena = std.heap.ArenaAllocator.init(testing.allocator);
3040 defer arena.deinit(); 3040 defer arena.deinit();
3041 var allocator = arena.allocator(); 3041 const allocator = arena.allocator();
3042 3042
3043 var db = try getTestDb(); 3043 var db = try getTestDb();
3044 defer db.deinit(); 3044 defer db.deinit();
@@ -3197,7 +3197,7 @@ test "sqlite: exec with diags, failing statement" {
3197test "sqlite: savepoint with no failures" { 3197test "sqlite: savepoint with no failures" {
3198 var arena = std.heap.ArenaAllocator.init(testing.allocator); 3198 var arena = std.heap.ArenaAllocator.init(testing.allocator);
3199 defer arena.deinit(); 3199 defer arena.deinit();
3200 var allocator = arena.allocator(); 3200 const allocator = arena.allocator();
3201 3201
3202 var db = try getTestDb(); 3202 var db = try getTestDb();
3203 defer db.deinit(); 3203 defer db.deinit();
@@ -3226,7 +3226,7 @@ test "sqlite: savepoint with no failures" {
3226 var stmt = try db.prepare("SELECT data, author_id FROM article ORDER BY id ASC"); 3226 var stmt = try db.prepare("SELECT data, author_id FROM article ORDER BY id ASC");
3227 defer stmt.deinit(); 3227 defer stmt.deinit();
3228 3228
3229 var rows = try stmt.all( 3229 const rows = try stmt.all(
3230 struct { 3230 struct {
3231 data: []const u8, 3231 data: []const u8,
3232 author_id: usize, 3232 author_id: usize,
@@ -3246,7 +3246,7 @@ test "sqlite: savepoint with no failures" {
3246test "sqlite: two nested savepoints with inner failure" { 3246test "sqlite: two nested savepoints with inner failure" {
3247 var arena = std.heap.ArenaAllocator.init(testing.allocator); 3247 var arena = std.heap.ArenaAllocator.init(testing.allocator);
3248 defer arena.deinit(); 3248 defer arena.deinit();
3249 var allocator = arena.allocator(); 3249 const allocator = arena.allocator();
3250 3250
3251 var db = try getTestDb(); 3251 var db = try getTestDb();
3252 defer db.deinit(); 3252 defer db.deinit();
@@ -3280,7 +3280,7 @@ test "sqlite: two nested savepoints with inner failure" {
3280 var stmt = try db.prepare("SELECT data, author_id FROM article"); 3280 var stmt = try db.prepare("SELECT data, author_id FROM article");
3281 defer stmt.deinit(); 3281 defer stmt.deinit();
3282 3282
3283 var rows = try stmt.all( 3283 const rows = try stmt.all(
3284 struct { 3284 struct {
3285 data: []const u8, 3285 data: []const u8,
3286 author_id: usize, 3286 author_id: usize,
@@ -3297,7 +3297,7 @@ test "sqlite: two nested savepoints with inner failure" {
3297test "sqlite: two nested savepoints with outer failure" { 3297test "sqlite: two nested savepoints with outer failure" {
3298 var arena = std.heap.ArenaAllocator.init(testing.allocator); 3298 var arena = std.heap.ArenaAllocator.init(testing.allocator);
3299 defer arena.deinit(); 3299 defer arena.deinit();
3300 var allocator = arena.allocator(); 3300 const allocator = arena.allocator();
3301 3301
3302 var db = try getTestDb(); 3302 var db = try getTestDb();
3303 defer db.deinit(); 3303 defer db.deinit();
@@ -3325,7 +3325,7 @@ test "sqlite: two nested savepoints with outer failure" {
3325 var stmt = try db.prepare("SELECT 1 FROM article"); 3325 var stmt = try db.prepare("SELECT 1 FROM article");
3326 defer stmt.deinit(); 3326 defer stmt.deinit();
3327 3327
3328 var rows = try stmt.all(usize, allocator, .{}, .{}); 3328 const rows = try stmt.all(usize, allocator, .{}, .{});
3329 try testing.expectEqual(@as(usize, 0), rows.len); 3329 try testing.expectEqual(@as(usize, 0), rows.len);
3330} 3330}
3331 3331
@@ -3400,7 +3400,7 @@ test "sqlite: bind custom type" {
3400test "sqlite: bind runtime slice" { 3400test "sqlite: bind runtime slice" {
3401 var arena = std.heap.ArenaAllocator.init(testing.allocator); 3401 var arena = std.heap.ArenaAllocator.init(testing.allocator);
3402 defer arena.deinit(); 3402 defer arena.deinit();
3403 var allocator = arena.allocator(); 3403 const allocator = arena.allocator();
3404 3404
3405 // creating array list on heap so that it's deemed runtime size 3405 // creating array list on heap so that it's deemed runtime size
3406 var list = std.ArrayList([]const u8).init(allocator); 3406 var list = std.ArrayList([]const u8).init(allocator);
@@ -3423,7 +3423,7 @@ test "sqlite: bind runtime slice" {
3423test "sqlite: prepareDynamic" { 3423test "sqlite: prepareDynamic" {
3424 var arena = std.heap.ArenaAllocator.init(testing.allocator); 3424 var arena = std.heap.ArenaAllocator.init(testing.allocator);
3425 defer arena.deinit(); 3425 defer arena.deinit();
3426 var allocator = arena.allocator(); 3426 const allocator = arena.allocator();
3427 3427
3428 var db = try getTestDb(); 3428 var db = try getTestDb();
3429 defer db.deinit(); 3429 defer db.deinit();
@@ -3465,7 +3465,7 @@ test "sqlite: prepareDynamic" {
3465test "sqlite: oneDynamic" { 3465test "sqlite: oneDynamic" {
3466 var arena = std.heap.ArenaAllocator.init(testing.allocator); 3466 var arena = std.heap.ArenaAllocator.init(testing.allocator);
3467 defer arena.deinit(); 3467 defer arena.deinit();
3468 var allocator = arena.allocator(); 3468 const allocator = arena.allocator();
3469 3469
3470 var db = try getTestDb(); 3470 var db = try getTestDb();
3471 defer db.deinit(); 3471 defer db.deinit();
@@ -3713,7 +3713,7 @@ test "sqlite: create aggregate function with no aggregate context" {
3713 }.step, 3713 }.step,
3714 struct { 3714 struct {
3715 fn finalize(fctx: FunctionContext) u32 { 3715 fn finalize(fctx: FunctionContext) u32 {
3716 var ctx = fctx.userContext(*MyContext) orelse return 0; 3716 const ctx = fctx.userContext(*MyContext) orelse return 0;
3717 return ctx.sum; 3717 return ctx.sum;
3718 } 3718 }
3719 }.finalize, 3719 }.finalize,
@@ -3761,13 +3761,13 @@ test "sqlite: create aggregate function with an aggregate context" {
3761 null, 3761 null,
3762 struct { 3762 struct {
3763 fn step(fctx: FunctionContext, input: u32) void { 3763 fn step(fctx: FunctionContext, input: u32) void {
3764 var ctx = fctx.aggregateContext(*u32) orelse return; 3764 const ctx = fctx.aggregateContext(*u32) orelse return;
3765 ctx.* += input; 3765 ctx.* += input;
3766 } 3766 }
3767 }.step, 3767 }.step,
3768 struct { 3768 struct {
3769 fn finalize(fctx: FunctionContext) u32 { 3769 fn finalize(fctx: FunctionContext) u32 {
3770 var ctx = fctx.aggregateContext(*u32) orelse return 0; 3770 const ctx = fctx.aggregateContext(*u32) orelse return 0;
3771 return ctx.*; 3771 return ctx.*;
3772 } 3772 }
3773 }.finalize, 3773 }.finalize,
diff --git a/test.zig b/test.zig
index f6d9c9c..fcc8aa7 100644
--- a/test.zig
+++ b/test.zig
@@ -9,7 +9,7 @@ pub fn getTestDb() !Db {
9 var buf: [1024]u8 = undefined; 9 var buf: [1024]u8 = undefined;
10 var fba = std.heap.FixedBufferAllocator.init(&buf); 10 var fba = std.heap.FixedBufferAllocator.init(&buf);
11 11
12 var mode = dbMode(fba.allocator()); 12 const mode = dbMode(fba.allocator());
13 13
14 return try Db.init(.{ 14 return try Db.init(.{
15 .open_flags = .{ 15 .open_flags = .{
diff --git a/vtab.zig b/vtab.zig
index f5a5fd5..6fbd865 100644
--- a/vtab.zig
+++ b/vtab.zig
@@ -198,7 +198,7 @@ pub const BestIndexBuilder = struct {
198 const InitError = error{} || mem.Allocator.Error || ConstraintOpFromCodeError; 198 const InitError = error{} || mem.Allocator.Error || ConstraintOpFromCodeError;
199 199
200 fn init(allocator: mem.Allocator, index_info: *c.sqlite3_index_info) InitError!Self { 200 fn init(allocator: mem.Allocator, index_info: *c.sqlite3_index_info) InitError!Self {
201 var res = Self{ 201 const res = Self{
202 .allocator = allocator, 202 .allocator = allocator,
203 .index_info = index_info, 203 .index_info = index_info,
204 .id_str_buffer = std.ArrayList(u8).init(allocator), 204 .id_str_buffer = std.ArrayList(u8).init(allocator),
@@ -538,7 +538,7 @@ pub const ModuleArgument = union(enum) {
538const ParseModuleArgumentsError = error{} || mem.Allocator.Error; 538const ParseModuleArgumentsError = error{} || mem.Allocator.Error;
539 539
540fn parseModuleArguments(allocator: mem.Allocator, argc: c_int, argv: [*c]const [*c]const u8) ParseModuleArgumentsError![]ModuleArgument { 540fn parseModuleArguments(allocator: mem.Allocator, argc: c_int, argv: [*c]const [*c]const u8) ParseModuleArgumentsError![]ModuleArgument {
541 var res = try allocator.alloc(ModuleArgument, @intCast(argc)); 541 const res = try allocator.alloc(ModuleArgument, @intCast(argc));
542 errdefer allocator.free(res); 542 errdefer allocator.free(res);
543 543
544 for (res, 0..) |*marg, i| { 544 for (res, 0..) |*marg, i| {
@@ -585,7 +585,7 @@ pub fn VirtualTable(
585 const InitError = error{} || mem.Allocator.Error || Table.InitError; 585 const InitError = error{} || mem.Allocator.Error || Table.InitError;
586 586
587 fn init(module_context: *ModuleContext, table: *Table) InitError!*Self { 587 fn init(module_context: *ModuleContext, table: *Table) InitError!*Self {
588 var res = try module_context.allocator.create(Self); 588 const res = try module_context.allocator.create(Self);
589 res.* = .{ 589 res.* = .{
590 .vtab = mem.zeroes(c.sqlite3_vtab), 590 .vtab = mem.zeroes(c.sqlite3_vtab),
591 .module_context = module_context, 591 .module_context = module_context,
@@ -615,7 +615,7 @@ pub fn VirtualTable(
615 const InitError = error{} || mem.Allocator.Error || Table.Cursor.InitError; 615 const InitError = error{} || mem.Allocator.Error || Table.Cursor.InitError;
616 616
617 fn init(module_context: *ModuleContext, table: *Table) InitError!*Self { 617 fn init(module_context: *ModuleContext, table: *Table) InitError!*Self {
618 var res = try module_context.allocator.create(Self); 618 const res = try module_context.allocator.create(Self);
619 errdefer module_context.allocator.destroy(res); 619 errdefer module_context.allocator.destroy(res);
620 620
621 res.* = .{ 621 res.* = .{
@@ -839,7 +839,7 @@ pub fn VirtualTable(
839 fn filterArgsFromCPointer(allocator: mem.Allocator, argc: c_int, argv: [*c]?*c.sqlite3_value) FilterArgsFromCPointerError![]FilterArg { 839 fn filterArgsFromCPointer(allocator: mem.Allocator, argc: c_int, argv: [*c]?*c.sqlite3_value) FilterArgsFromCPointerError![]FilterArg {
840 const size: usize = @intCast(argc); 840 const size: usize = @intCast(argc);
841 841
842 var res = try allocator.alloc(FilterArg, size); 842 const res = try allocator.alloc(FilterArg, size);
843 for (res, 0..) |*item, i| { 843 for (res, 0..) |*item, i| {
844 item.* = .{ 844 item.* = .{
845 .value = argv[i], 845 .value = argv[i],
@@ -860,7 +860,7 @@ pub fn VirtualTable(
860 860
861 const id = IndexIdentifier.fromC(idx_num, idx_str); 861 const id = IndexIdentifier.fromC(idx_num, idx_str);
862 862
863 var args = filterArgsFromCPointer(arena.allocator(), argc, argv) catch |err| { 863 const args = filterArgsFromCPointer(arena.allocator(), argc, argv) catch |err| {
864 logger.err("unable to create filter args, err: {!}", .{err}); 864 logger.err("unable to create filter args, err: {!}", .{err});
865 return c.SQLITE_ERROR; 865 return c.SQLITE_ERROR;
866 }; 866 };
@@ -1008,7 +1008,7 @@ const TestVirtualTable = struct {
1008 1008
1009 var rand = std.rand.DefaultPrng.init(204882485); 1009 var rand = std.rand.DefaultPrng.init(204882485);
1010 1010
1011 var tmp = try allocator.alloc(Row, n); 1011 const tmp = try allocator.alloc(Row, n);
1012 for (tmp) |*s| { 1012 for (tmp) |*s| {
1013 const foo_value = data[rand.random().intRangeLessThan(usize, 0, data.len)]; 1013 const foo_value = data[rand.random().intRangeLessThan(usize, 0, data.len)];
1014 const bar_value = data[rand.random().intRangeLessThan(usize, 0, data.len)]; 1014 const bar_value = data[rand.random().intRangeLessThan(usize, 0, data.len)];
@@ -1122,7 +1122,7 @@ const TestVirtualTableCursor = struct {
1122 pub const InitError = error{} || mem.Allocator.Error; 1122 pub const InitError = error{} || mem.Allocator.Error;
1123 1123
1124 pub fn init(allocator: mem.Allocator, parent: *TestVirtualTable) InitError!*TestVirtualTableCursor { 1124 pub fn init(allocator: mem.Allocator, parent: *TestVirtualTable) InitError!*TestVirtualTableCursor {
1125 var res = try allocator.create(TestVirtualTableCursor); 1125 const res = try allocator.create(TestVirtualTableCursor);
1126 res.* = .{ 1126 res.* = .{
1127 .allocator = allocator, 1127 .allocator = allocator,
1128 .parent = parent, 1128 .parent = parent,
@@ -1275,7 +1275,7 @@ test "parse module arguments" {
1275 defer arena.deinit(); 1275 defer arena.deinit();
1276 const allocator = arena.allocator(); 1276 const allocator = arena.allocator();
1277 1277
1278 var args = try allocator.alloc([*c]const u8, 20); 1278 const args = try allocator.alloc([*c]const u8, 20);
1279 for (args, 0..) |*arg, i| { 1279 for (args, 0..) |*arg, i| {
1280 const tmp = try fmt.allocPrintZ(allocator, "arg={d}", .{i}); 1280 const tmp = try fmt.allocPrintZ(allocator, "arg={d}", .{i});
1281 arg.* = @ptrCast(tmp); 1281 arg.* = @ptrCast(tmp);