summaryrefslogtreecommitdiff
path: root/sqlite.zig (unfollow)
Commit message (Collapse)AuthorFilesLines
2023-06-18replace std.math.max with @maxGravatar Vincent Rischmann1-1/+1
2023-05-17replace meta.tagName with @tagNameGravatar Vincent Rischmann1-4/+4
2023-05-17Fix build failures on latest ZigGravatar Lue1-2/+2
Now the correct build APIs and `@memset` builtin are used. Unfortunately cImport fails for `aarch64` and `riscv64` targets, but I'm not sure how to fix this.
2023-03-11fix calls to sqlite3_bind_text in bindFieldGravatar Vincent Rischmann1-2/+4
2023-02-22fix for latest zig by running 'zig fmt'Gravatar Vincent Rischmann1-12/+12
2023-02-16fix testsGravatar Vincent Rischmann1-1/+1
2022-12-26fix for latest zigGravatar Vincent Rischmann1-15/+15
2022-12-26stop using removed ascii functionsGravatar Vincent Rischmann1-2/+2
2022-12-19Update for latest Zig builtin renamesGravatar Ryan Liptak1-7/+7
See https://github.com/ziglang/zig/pull/13930
2022-12-09fix redundant comptimeGravatar Vincent Rischmann1-1/+1
2022-12-01fix for latest zigGravatar Vincent Rischmann1-2/+2
2022-11-01Fix compile error with Zig 0.10.0Gravatar Ryan Liptak1-1/+1
Fixes the following error: ``` sqlite.zig:343:50: error: expected type '[*c]const u8', found '[:0]const u8' const result = c.sqlite3_open_v2(path, &db, flags, null); ^~~~ ```
2022-09-29drop comptime from execMulti queryGravatar Luna1-1/+1
not needed as we always prepare a dynamic statement
2022-09-18add the virtual table implementationGravatar Vincent Rischmann1-0/+25
2022-09-18move test helpersGravatar Vincent Rischmann1-44/+1
2022-09-18move setFunctionArgument to helpers.setTypeFromValueGravatar Vincent Rischmann1-50/+2
Will be used in the virtual table implementation
2022-09-18move setFunctionResult to helpers.setResultGravatar Vincent Rischmann1-37/+4
This function will also be used by the virtual table implementation.
2022-09-13remove pointless discardGravatar Vincent Rischmann1-1/+0
2022-08-31drop the table in the testsGravatar Vincent Rischmann1-4/+16
Necessary for running the tests with eg `-Din_memory=false -Ddbfile=/tmp/my.db`
2022-08-15make `c` public againGravatar Vincent Rischmann1-1/+1
Accidentally made it private during a refactoring
2022-08-14require SQLite >= 3.21.0Gravatar Vincent Rischmann1-5/+1
After some testing it turns out we need at least SQLite 3.21.0 to compile. We _could_ work around this and make zig-sqlite work with older SQLite versions but I don't think it's necessary because: * "old" distributions like Debian Buster, RHEL 8 ship with SQLite > 3.21.0 * in any case if people want to build for OSes where SQLite is too old they can use the bundled source code.
2022-08-05move versionGreaterThanOrEqualTo in sqlite.zigGravatar Vincent Rischmann1-0/+5
We will need it later on.
2022-08-05move Text in sqlite.zigGravatar Vincent Rischmann1-1/+3
At first Blob and Text were defined in query.zig because they were used for bind parameters, but now we also use them for reading text or blob columns appropriately. Both types now live in sqlite.zig which query.zig already imports so it doesn't change anything.
2022-08-04move DetailedError, do some cleanupGravatar Vincent Rischmann1-43/+3
DetailedError uses getLastErrorOffset, which must check the SQLite version with versionGreaterThanOrEqualTo. Instead of publicly exposing versionGreaterThanOrEqualTo in sqlite.zig move DetailedError in errors.zig
2022-08-04use a single cImportGravatar Vincent Rischmann1-3/+1
Two cImport calls generate incompatible code: we can't use the structs generated in sqlite.zig in functions in errors.zig for example Up until now it wasn't actually a problem since in errors.zig we only ever used constants which does work, but now we want to introduce functions in this file.
2022-08-02no need for 'comptime' for this checkGravatar Vincent Rischmann1-1/+1
A comparison against a const is already comptime.
2022-08-02create a specific CreateFunctionFlag struct based on the SQLite versionGravatar Vincent Rischmann1-2/+16
2022-07-14add a way to get the aggregate context with createAggregateFunctionGravatar Vincent Rischmann1-53/+161
The old way of working was that we always passed the user context as first argument to both `step` and `finalize` functions and the caller had no way of getting the aggregate context from SQLite (http://www3.sqlite.org/c3ref/aggregate_context.html). Now both `step` and `finalize` functions must have a first argument of type `FunctionContext`: fn step(fctx: FunctionContext, input: u32) void { var ctx = fctx.aggregateContext(*u32) orelse return; ctx.* += input; } fn finalize(ctx: *u32) u32 { var ctx = fctx.aggregateContext(*u32) orelse return 0; return ctx.sum; } Fixes #89
2022-05-24clarify the compile errorGravatar Vincent Rischmann1-1/+1
2022-05-17Make ParsedQuery a generic on query lengthGravatar Luna1-2/+2
2022-05-15Make errorFromResultCode publicGravatar luna1-0/+1
Useful for direct C API users.
2022-05-14remove unreachable conditionGravatar Luna1-2/+0
2022-05-14add test for single statement in execMultiGravatar Luna1-1/+9
2022-05-14rename to execMultiGravatar Luna1-2/+2
2022-05-14add newlines and comments to runMulti test caseGravatar Luna1-1/+1
2022-05-14fix splitting logic for runMultiGravatar Luna1-4/+21
2022-05-14copy options overGravatar Luna1-4/+5
2022-05-14add Db.runMultiGravatar Luna1-1/+24
2022-05-03add a test for a bind marker with an optional typeGravatar Vincent Rischmann1-14/+34
2022-05-02the '_' character is valid in a named bind parameterGravatar Vincent Rischmann1-2/+2
2022-05-02put the TODO comment at the end of the line insteadGravatar Vincent Rischmann1-9/+3
When using an explicit error set one must add the "Workaround" error in their error set; putting the explanation as to why it exists at the end of the line makes it so it is displayed directly in the output of the compiler. Before a user had to go look at the source code to understand why we have this workaround.
2022-04-29Makes sqlite.Error pub.Gravatar Felix "xq" Queißner1-1/+2
2022-04-24remove unused assertGravatar Vincent Rischmann1-3/+0
2022-04-24clarify type nameGravatar Vincent Rischmann1-3/+3
2022-04-24add compile error when passing non-struct to Statement.bindGravatar Luna1-0/+5
2022-04-24add test for runtime slices as DynamicStatement argsGravatar Luna1-0/+22
2022-04-24emit compileError on unsupported pointer sizesGravatar Luna1-4/+8
2022-04-24add support for arrays as runtime bind valuesGravatar Luna1-0/+5
2022-04-24allow slices to be passed as bind parametersGravatar Luna1-9/+22
2022-04-23remove the 'opening' logsGravatar Vincent Rischmann1-4/+0