diff options
| -rw-r--r-- | sqlite.zig | 70 |
1 files changed, 35 insertions, 35 deletions
| @@ -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 = 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 = 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 | } |
| @@ -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" { | |||
| 2312 | test "sqlite: db pragma" { | 2312 | test "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" { | |||
| 2425 | test "sqlite: read a single user into a struct" { | 2425 | test "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" { | |||
| 2488 | test "sqlite: read all users into a struct" { | 2488 | test "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" { | |||
| 2511 | test "sqlite: read in an anonymous struct" { | 2511 | test "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" { | |||
| 2547 | test "sqlite: read in a Text struct" { | 2547 | test "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" { | |||
| 2577 | test "sqlite: read a single text value" { | 2577 | test "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" { | |||
| 2671 | test "sqlite: read a single value into an enum backed by an integer" { | 2671 | test "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" { | |||
| 2718 | test "sqlite: read a single value into an enum backed by a string" { | 2718 | test "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" { | |||
| 2819 | test "sqlite: bind pointer" { | 2819 | test "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" { | |||
| 2842 | test "sqlite: read pointers" { | 2842 | test "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" { | |||
| 2952 | test "sqlite: statement iterator" { | 2952 | test "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" { | |||
| 3038 | test "sqlite: blob open, reopen" { | 3038 | test "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" { | |||
| 3197 | test "sqlite: savepoint with no failures" { | 3197 | test "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" { | |||
| 3246 | test "sqlite: two nested savepoints with inner failure" { | 3246 | test "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" { | |||
| 3297 | test "sqlite: two nested savepoints with outer failure" { | 3297 | test "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" { | |||
| 3400 | test "sqlite: bind runtime slice" { | 3400 | test "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" { | |||
| 3423 | test "sqlite: prepareDynamic" { | 3423 | test "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" { | |||
| 3465 | test "sqlite: oneDynamic" { | 3465 | test "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, |