summaryrefslogtreecommitdiff
path: root/sqlite.zig
diff options
context:
space:
mode:
authorGravatar Vincent Rischmann2020-12-29 23:33:38 +0100
committerGravatar Vincent Rischmann2020-12-29 23:42:00 +0100
commit80a949d23c5ad835f8b4b0b8e1cec49cd95a2d4b (patch)
treeb4a7e323c208b0ff43825357cd9c99f03ba9eb4e /sqlite.zig
parentadd InitOptions (diff)
downloadzig-sqlite-80a949d23c5ad835f8b4b0b8e1cec49cd95a2d4b.tar.gz
zig-sqlite-80a949d23c5ad835f8b4b0b8e1cec49cd95a2d4b.tar.xz
zig-sqlite-80a949d23c5ad835f8b4b0b8e1cec49cd95a2d4b.zip
add initOptions for testing
Diffstat (limited to 'sqlite.zig')
-rw-r--r--sqlite.zig38
1 files changed, 24 insertions, 14 deletions
diff --git a/sqlite.zig b/sqlite.zig
index 156edcd..1deba55 100644
--- a/sqlite.zig
+++ b/sqlite.zig
@@ -803,7 +803,7 @@ fn addTestData(db: *Db) !void {
803 803
804test "sqlite: db init" { 804test "sqlite: db init" {
805 var db: Db = undefined; 805 var db: Db = undefined;
806 try db.init(testing.allocator, .{ .mode = dbMode() }); 806 try db.init(testing.allocator, initOptions());
807 try db.init(testing.allocator, .{}); 807 try db.init(testing.allocator, .{});
808} 808}
809 809
@@ -812,7 +812,7 @@ test "sqlite: db pragma" {
812 defer arena.deinit(); 812 defer arena.deinit();
813 813
814 var db: Db = undefined; 814 var db: Db = undefined;
815 try db.init(testing.allocator, .{ .mode = dbMode() }); 815 try db.init(testing.allocator, initOptions());
816 816
817 const foreign_keys = try db.pragma(usize, "foreign_keys", .{}, .{}); 817 const foreign_keys = try db.pragma(usize, "foreign_keys", .{}, .{});
818 testing.expect(foreign_keys != null); 818 testing.expect(foreign_keys != null);
@@ -841,7 +841,7 @@ test "sqlite: db pragma" {
841 841
842test "sqlite: statement exec" { 842test "sqlite: statement exec" {
843 var db: Db = undefined; 843 var db: Db = undefined;
844 try db.init(testing.allocator, .{ .mode = dbMode() }); 844 try db.init(testing.allocator, initOptions());
845 try addTestData(&db); 845 try addTestData(&db);
846 846
847 // Test with a Blob struct 847 // Test with a Blob struct
@@ -868,7 +868,7 @@ test "sqlite: read a single user into a struct" {
868 defer arena.deinit(); 868 defer arena.deinit();
869 869
870 var db: Db = undefined; 870 var db: Db = undefined;
871 try db.init(testing.allocator, .{ .mode = dbMode() }); 871 try db.init(testing.allocator, initOptions());
872 try addTestData(&db); 872 try addTestData(&db);
873 873
874 var stmt = try db.prepare("SELECT id, name, age, weight FROM user WHERE id = ?{usize}"); 874 var stmt = try db.prepare("SELECT id, name, age, weight FROM user WHERE id = ?{usize}");
@@ -911,7 +911,7 @@ test "sqlite: read all users into a struct" {
911 defer arena.deinit(); 911 defer arena.deinit();
912 912
913 var db: Db = undefined; 913 var db: Db = undefined;
914 try db.init(testing.allocator, .{ .mode = dbMode() }); 914 try db.init(testing.allocator, initOptions());
915 try addTestData(&db); 915 try addTestData(&db);
916 916
917 var stmt = try db.prepare("SELECT id, name, age, weight FROM user"); 917 var stmt = try db.prepare("SELECT id, name, age, weight FROM user");
@@ -936,7 +936,7 @@ test "sqlite: read in an anonymous struct" {
936 defer arena.deinit(); 936 defer arena.deinit();
937 937
938 var db: Db = undefined; 938 var db: Db = undefined;
939 try db.init(testing.allocator, .{ .mode = dbMode() }); 939 try db.init(testing.allocator, initOptions());
940 try addTestData(&db); 940 try addTestData(&db);
941 941
942 var stmt = try db.prepare("SELECT id, name, name, age, id, weight FROM user WHERE id = ?{usize}"); 942 var stmt = try db.prepare("SELECT id, name, name, age, id, weight FROM user WHERE id = ?{usize}");
@@ -970,7 +970,7 @@ test "sqlite: read in a Text struct" {
970 defer arena.deinit(); 970 defer arena.deinit();
971 971
972 var db: Db = undefined; 972 var db: Db = undefined;
973 try db.init(testing.allocator, .{ .mode = dbMode() }); 973 try db.init(testing.allocator, initOptions());
974 try addTestData(&db); 974 try addTestData(&db);
975 975
976 var stmt = try db.prepare("SELECT id, name, age FROM user WHERE id = ?{usize}"); 976 var stmt = try db.prepare("SELECT id, name, age FROM user WHERE id = ?{usize}");
@@ -998,7 +998,7 @@ test "sqlite: read a single text value" {
998 defer arena.deinit(); 998 defer arena.deinit();
999 999
1000 var db: Db = undefined; 1000 var db: Db = undefined;
1001 try db.init(testing.allocator, .{ .mode = dbMode() }); 1001 try db.init(testing.allocator, initOptions());
1002 try addTestData(&db); 1002 try addTestData(&db);
1003 1003
1004 const types = &[_]type{ 1004 const types = &[_]type{
@@ -1051,7 +1051,7 @@ test "sqlite: read a single text value" {
1051 1051
1052test "sqlite: read a single integer value" { 1052test "sqlite: read a single integer value" {
1053 var db: Db = undefined; 1053 var db: Db = undefined;
1054 try db.init(testing.allocator, .{ .mode = dbMode() }); 1054 try db.init(testing.allocator, initOptions());
1055 try addTestData(&db); 1055 try addTestData(&db);
1056 1056
1057 const types = &[_]type{ 1057 const types = &[_]type{
@@ -1083,7 +1083,7 @@ test "sqlite: read a single integer value" {
1083 1083
1084test "sqlite: read a single value into void" { 1084test "sqlite: read a single value into void" {
1085 var db: Db = undefined; 1085 var db: Db = undefined;
1086 try db.init(testing.allocator, .{ .mode = dbMode() }); 1086 try db.init(testing.allocator, initOptions());
1087 try addTestData(&db); 1087 try addTestData(&db);
1088 1088
1089 const query = "SELECT age FROM user WHERE id = ?{usize}"; 1089 const query = "SELECT age FROM user WHERE id = ?{usize}";
@@ -1096,7 +1096,7 @@ test "sqlite: read a single value into void" {
1096 1096
1097test "sqlite: read a single value into bool" { 1097test "sqlite: read a single value into bool" {
1098 var db: Db = undefined; 1098 var db: Db = undefined;
1099 try db.init(testing.allocator, .{ .mode = dbMode() }); 1099 try db.init(testing.allocator, initOptions());
1100 try addTestData(&db); 1100 try addTestData(&db);
1101 1101
1102 const query = "SELECT id FROM user WHERE id = ?{usize}"; 1102 const query = "SELECT id FROM user WHERE id = ?{usize}";
@@ -1111,7 +1111,7 @@ test "sqlite: read a single value into bool" {
1111 1111
1112test "sqlite: insert bool and bind bool" { 1112test "sqlite: insert bool and bind bool" {
1113 var db: Db = undefined; 1113 var db: Db = undefined;
1114 try db.init(testing.allocator, .{ .mode = dbMode() }); 1114 try db.init(testing.allocator, initOptions());
1115 try addTestData(&db); 1115 try addTestData(&db);
1116 1116
1117 try db.exec("INSERT INTO article(id, author_id, is_published) VALUES(?{usize}, ?{usize}, ?{bool})", .{ 1117 try db.exec("INSERT INTO article(id, author_id, is_published) VALUES(?{usize}, ?{usize}, ?{bool})", .{
@@ -1132,7 +1132,7 @@ test "sqlite: insert bool and bind bool" {
1132 1132
1133test "sqlite: statement reset" { 1133test "sqlite: statement reset" {
1134 var db: Db = undefined; 1134 var db: Db = undefined;
1135 try db.init(testing.allocator, .{ .mode = dbMode() }); 1135 try db.init(testing.allocator, initOptions());
1136 try addTestData(&db); 1136 try addTestData(&db);
1137 1137
1138 // Add data 1138 // Add data
@@ -1161,7 +1161,7 @@ test "sqlite: statement iterator" {
1161 var allocator = &arena.allocator; 1161 var allocator = &arena.allocator;
1162 1162
1163 var db: Db = undefined; 1163 var db: Db = undefined;
1164 try db.init(testing.allocator, .{ .mode = dbMode() }); 1164 try db.init(testing.allocator, initOptions());
1165 try addTestData(&db); 1165 try addTestData(&db);
1166 1166
1167 // Cleanup first 1167 // Cleanup first
@@ -1213,6 +1213,16 @@ test "sqlite: statement iterator" {
1213 } 1213 }
1214} 1214}
1215 1215
1216fn initOptions() InitOptions {
1217 return .{
1218 .open_flags = .{
1219 .write = true,
1220 .create = true,
1221 },
1222 .mode = dbMode(),
1223 };
1224}
1225
1216fn dbMode() Db.Mode { 1226fn dbMode() Db.Mode {
1217 return if (build_options.in_memory) blk: { 1227 return if (build_options.in_memory) blk: {
1218 break :blk .{ .Memory = {} }; 1228 break :blk .{ .Memory = {} };