@blackrainbowlabs/cli-win32-x64 2.1.4 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/bin/inillucent-mcp.exe
CHANGED
|
Binary file
|
|
Binary file
|
package/bin/inillucent-shell.exe
CHANGED
|
Binary file
|
package/bin/inillucent.exe
CHANGED
|
Binary file
|
|
@@ -98,6 +98,7 @@ typedef struct inillucent_stmt inillucent_stmt; /* a statement + bindings */
|
|
|
98
98
|
typedef struct inillucent_rows inillucent_rows; /* what a statement said */
|
|
99
99
|
typedef struct inillucent_txn inillucent_txn; /* an open transaction */
|
|
100
100
|
typedef struct inillucent_error inillucent_error; /* one failure */
|
|
101
|
+
typedef struct inillucent_params inillucent_params; /* rows of values to run */
|
|
101
102
|
|
|
102
103
|
/* ------------------------------------------------------------------ */
|
|
103
104
|
/* Status codes. Frozen at 1.0; a new one takes the next number. */
|
|
@@ -200,8 +201,10 @@ int32_t inillucent_open_with_timeout(const char *path, uint32_t flags,
|
|
|
200
201
|
inillucent_db **out,
|
|
201
202
|
inillucent_error **error);
|
|
202
203
|
|
|
203
|
-
/*
|
|
204
|
-
*
|
|
204
|
+
/* Folds the log into the file when this database wrote something, then
|
|
205
|
+
* closes. A database that only read leaves the file as it was. Refuses with
|
|
206
|
+
* INILLUCENT_INVALID_STATE while any connection on it is still open, rather
|
|
207
|
+
* than leaving them dangling. */
|
|
205
208
|
int32_t inillucent_close(inillucent_db *db, inillucent_error **error);
|
|
206
209
|
|
|
207
210
|
/* Makes everything written so far durable in the file. */
|
|
@@ -295,6 +298,26 @@ void inillucent_clear_bindings(inillucent_stmt *stmt);
|
|
|
295
298
|
int32_t inillucent_stmt_execute(inillucent_stmt *stmt, uint64_t limit,
|
|
296
299
|
inillucent_rows **out, inillucent_error **error);
|
|
297
300
|
|
|
301
|
+
/* Binds every parameter of the next execution from one JSON array, replacing
|
|
302
|
+
* what was bound. A value is null, true or false (bound as 1 and 0), an
|
|
303
|
+
* integer, a real, a string, {"blob": "<hex>"} or {"real": "Infinity"}; the
|
|
304
|
+
* bare words Infinity, -Infinity and NaN are read as reals too. One call where
|
|
305
|
+
* binding each value is one call a value, which is what a binding with an
|
|
306
|
+
* expensive foreign call wants. Since ABI 1.3.0. */
|
|
307
|
+
int32_t inillucent_bind_json(inillucent_stmt *stmt, const char *json, size_t len,
|
|
308
|
+
inillucent_error **error);
|
|
309
|
+
|
|
310
|
+
/* Runs the statement once for each array in a JSON array of arrays of values,
|
|
311
|
+
* each read the way inillucent_bind_json reads one, and writes the rows the
|
|
312
|
+
* executions changed in all to *changed. Opens no transaction: outside one,
|
|
313
|
+
* each execution commits by itself. A row longer than the statement's
|
|
314
|
+
* parameters is refused before any row runs; otherwise the first failure
|
|
315
|
+
* stops the run and is reported, and the executions before it stand. What
|
|
316
|
+
* inillucent_bind_* bound is left as it was. Since ABI 1.3.0. */
|
|
317
|
+
int32_t inillucent_stmt_execute_many(inillucent_stmt *stmt, const char *json,
|
|
318
|
+
size_t len, uint64_t *changed,
|
|
319
|
+
inillucent_error **error);
|
|
320
|
+
|
|
298
321
|
/* ------------------------------------------------------------------ */
|
|
299
322
|
/* A result. Materialised, so every pointer below is stable until free. */
|
|
300
323
|
/* ------------------------------------------------------------------ */
|
|
@@ -342,6 +365,64 @@ double inillucent_value_real(const inillucent_rows *rows, size_t row, size_t co
|
|
|
342
365
|
const uint8_t *inillucent_value_bytes(const inillucent_rows *rows, size_t row,
|
|
343
366
|
size_t column, size_t *len);
|
|
344
367
|
|
|
368
|
+
/* The whole result as one JSON object, NUL terminated, with its length in
|
|
369
|
+
* bytes written to *len. It holds "columns", "types", "rows" (an array of
|
|
370
|
+
* arrays of values), "total", "more", "affected" (null for a query),
|
|
371
|
+
* "elapsed_us" and "tag". A value is null, an integer, a real that always has
|
|
372
|
+
* a fraction or an exponent, a string, {"blob": "<hex>"}, or for an infinity
|
|
373
|
+
* or NaN {"real": "Infinity"}, {"real": "-Infinity"} or {"real": "NaN"}.
|
|
374
|
+
* Valid until the result is freed. One call for the whole result, where the
|
|
375
|
+
* accessors above take two a cell. Since ABI 1.3.0. */
|
|
376
|
+
const char *inillucent_rows_json(const inillucent_rows *rows, size_t *len);
|
|
377
|
+
|
|
378
|
+
/* For a binding running inside CPython. inillucent_py_init takes the addresses
|
|
379
|
+
* of PyList_New, PyList_SetItem, PyLong_FromLongLong, PyFloat_FromDouble,
|
|
380
|
+
* PyUnicode_FromStringAndSize, PyBytes_FromStringAndSize, Py_IncRef,
|
|
381
|
+
* Py_DecRef, PyErr_SetString, the None object and the exception type to raise
|
|
382
|
+
* on a misuse, in that order (count 11), from the CPython that loaded the
|
|
383
|
+
* library. inillucent_rows_py then returns a new reference to a list: column
|
|
384
|
+
* names, declared types, the rows as lists of values, total, more (0 or 1),
|
|
385
|
+
* affected or None, elapsed_us and the tag. Call it with the interpreter lock
|
|
386
|
+
* held (ctypes.PyDLL). On a failure it returns NULL with a Python exception
|
|
387
|
+
* set. No CPython is linked. Since ABI 1.3.0. */
|
|
388
|
+
int32_t inillucent_py_init(const void *const *api, size_t count);
|
|
389
|
+
void *inillucent_rows_py(const inillucent_rows *rows);
|
|
390
|
+
|
|
391
|
+
/* Parameters for many executions, read out of Python objects.
|
|
392
|
+
* inillucent_py_init_params takes the addresses of PyList_Size,
|
|
393
|
+
* PyList_GetItem, PyTuple_Size, PyTuple_GetItem, PyLong_AsLongLong,
|
|
394
|
+
* PyFloat_AsDouble, PyUnicode_AsUTF8AndSize, PyBytes_AsStringAndSize,
|
|
395
|
+
* PyErr_Clear, PyErr_Occurred, the types list, tuple, int, bool, float, str,
|
|
396
|
+
* bytes and type(None), PyGILState_Ensure and PyGILState_Release, and the
|
|
397
|
+
* None object, in that order (count 21), and
|
|
398
|
+
* refuses a CPython whose objects keep their type anywhere but the word after
|
|
399
|
+
* the reference count. inillucent_py_params reads a list or tuple of rows,
|
|
400
|
+
* each a list or tuple of None, int, bool, float, str or bytes, and returns
|
|
401
|
+
* NULL with no exception set for anything else, an integer wider than 64 bits
|
|
402
|
+
* included, so the caller can send those rows as JSON instead. Call it with the
|
|
403
|
+
* interpreter lock held (ctypes.PyDLL). inillucent_stmt_execute_params runs
|
|
404
|
+
* the statement once for each row, as inillucent_stmt_execute_many does, and
|
|
405
|
+
* frees the parameters whatever happens; call it without the lock, and keep
|
|
406
|
+
* the rows alive until it returns. The rows move into the engine, so when the
|
|
407
|
+
* one statement they run as fails, it takes the lock with PyGILState_Ensure
|
|
408
|
+
* and reads them again to run them one at a time. inillucent_params_free
|
|
409
|
+
* frees parameters nothing ran.
|
|
410
|
+
* Since ABI 1.3.0. */
|
|
411
|
+
int32_t inillucent_py_init_params(const void *const *api, size_t count);
|
|
412
|
+
inillucent_params *inillucent_py_params(void *rows);
|
|
413
|
+
int32_t inillucent_stmt_execute_params(inillucent_stmt *stmt,
|
|
414
|
+
inillucent_params *params,
|
|
415
|
+
uint64_t *changed,
|
|
416
|
+
inillucent_error **error);
|
|
417
|
+
void inillucent_params_free(inillucent_params *params);
|
|
418
|
+
|
|
419
|
+
/* For Node. The library is also a Node addon: process.dlopen() calls this,
|
|
420
|
+
* and it fills exports with open, connect, query, batch, disconnect and
|
|
421
|
+
* close. Node's napi_* functions are looked up in the host process when it is
|
|
422
|
+
* called, so no Node is linked, and a host that is not Node gets exports back
|
|
423
|
+
* unchanged. A C caller has no reason to call it. Since ABI 1.3.0. */
|
|
424
|
+
void *napi_register_module_v1(void *env, void *exports);
|
|
425
|
+
|
|
345
426
|
/* ------------------------------------------------------------------ */
|
|
346
427
|
/* A transaction. */
|
|
347
428
|
/* ------------------------------------------------------------------ */
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blackrainbowlabs/cli-win32-x64",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.0",
|
|
4
4
|
"description": "The inillucent binaries for win32-x64. Installed automatically by the 'inillucent' package; there is no reason to depend on this directly.",
|
|
5
5
|
"homepage": "https://github.com/Black-Rainbow-Labs/Inillucent#readme",
|
|
6
6
|
"repository": {
|