summaryrefslogtreecommitdiff
path: root/sqlite.zig (unfollow)
Commit message (Collapse)AuthorFilesLines
2022-09-11add the virtual table implementationvirtual-table-bakGravatar Vincent Rischmann1-0/+25
2022-09-11move test helpersGravatar Vincent Rischmann1-44/+1
2022-09-11move setFunctionArgument to helpers.setTypeFromValueGravatar Vincent Rischmann1-50/+2
Will be used in the virtual table implementation
2022-09-11move setFunctionResult to helpers.setResultGravatar Vincent Rischmann1-37/+4
This function will also be used by the virtual table implementation.
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
2022-04-23handle tagged union when binding parametersGravatar Vincent Rischmann1-0/+87
2022-04-21add the Db.execAlloc methodGravatar Vincent Rischmann1-0/+19
2022-04-21remove commentGravatar Vincent Rischmann1-3/+0
2022-04-21cleanup the temporary values correctly for enumsGravatar Vincent Rischmann1-26/+42
2022-04-21check explicitly that bindField is implementedGravatar Vincent Rischmann1-1/+7
2022-04-17fix alignCast in the xStep callback of createAggregateFunctionGravatar Vincent Rischmann1-12/+8
2022-04-17factor the CreateFunctionFlag to c_int codeGravatar Vincent Rischmann1-14/+15
2022-04-17work on supporting aggregate SQL functionsGravatar Vincent Rischmann1-78/+259
2022-04-16document CreateFunctionFlagGravatar Vincent Rischmann1-0/+8
2022-04-16constrain the error set of createScalarFunctionGravatar Vincent Rischmann1-1/+1
2022-04-03add createScalarFunction to create a user-defined scalar functionGravatar Vincent Rischmann1-0/+292
2022-04-02only use sqlite3_error_offset if compatibleGravatar Luna1-1/+8
2022-04-02add error offsets to DetailedErrorGravatar Luna1-3/+9
API introduced on 3.38.0
2022-02-05fix sentinelGravatar Vincent Rischmann1-19/+23