better-sqlite3-multiple-ciphers 9.0.0 → 9.1.1
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/README.md +20 -9
- package/deps/setup.ps1 +1 -1
- package/deps/sqlite3/sqlite3.c +4368 -2374
- package/deps/sqlite3/sqlite3.h +170 -33
- package/deps/sqlite3/sqlite3ext.h +6 -0
- package/package.json +1 -1
package/deps/sqlite3/sqlite3.h
CHANGED
|
@@ -31,9 +31,9 @@
|
|
|
31
31
|
|
|
32
32
|
#define SQLITE3MC_VERSION_MAJOR 1
|
|
33
33
|
#define SQLITE3MC_VERSION_MINOR 7
|
|
34
|
-
#define SQLITE3MC_VERSION_RELEASE
|
|
34
|
+
#define SQLITE3MC_VERSION_RELEASE 4
|
|
35
35
|
#define SQLITE3MC_VERSION_SUBRELEASE 0
|
|
36
|
-
#define SQLITE3MC_VERSION_STRING "SQLite3 Multiple Ciphers 1.7.
|
|
36
|
+
#define SQLITE3MC_VERSION_STRING "SQLite3 Multiple Ciphers 1.7.4"
|
|
37
37
|
|
|
38
38
|
#endif /* SQLITE3MC_VERSION_H_ */
|
|
39
39
|
/*** End of #include "sqlite3mc_version.h" ***/
|
|
@@ -192,9 +192,9 @@ extern "C" {
|
|
|
192
192
|
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
|
|
193
193
|
** [sqlite_version()] and [sqlite_source_id()].
|
|
194
194
|
*/
|
|
195
|
-
#define SQLITE_VERSION "3.
|
|
196
|
-
#define SQLITE_VERSION_NUMBER
|
|
197
|
-
#define SQLITE_SOURCE_ID "2023-
|
|
195
|
+
#define SQLITE_VERSION "3.44.0"
|
|
196
|
+
#define SQLITE_VERSION_NUMBER 3044000
|
|
197
|
+
#define SQLITE_SOURCE_ID "2023-11-01 11:23:50 17129ba1ff7f0daf37100ee82d507aef7827cf38de1866e2633096ae6ad81301"
|
|
198
198
|
|
|
199
199
|
/*
|
|
200
200
|
** CAPI3REF: Run-Time Library Version Numbers
|
|
@@ -2173,7 +2173,7 @@ struct sqlite3_mem_methods {
|
|
|
2173
2173
|
** is stored in each sorted record and the required column values loaded
|
|
2174
2174
|
** from the database as records are returned in sorted order. The default
|
|
2175
2175
|
** value for this option is to never use this optimization. Specifying a
|
|
2176
|
-
** negative value for this option restores the default
|
|
2176
|
+
** negative value for this option restores the default behavior.
|
|
2177
2177
|
** This option is only available if SQLite is compiled with the
|
|
2178
2178
|
** [SQLITE_ENABLE_SORTER_REFERENCES] compile-time option.
|
|
2179
2179
|
**
|
|
@@ -2348,7 +2348,7 @@ struct sqlite3_mem_methods {
|
|
|
2348
2348
|
** database handle, SQLite checks if this will mean that there are now no
|
|
2349
2349
|
** connections at all to the database. If so, it performs a checkpoint
|
|
2350
2350
|
** operation before closing the connection. This option may be used to
|
|
2351
|
-
** override this
|
|
2351
|
+
** override this behavior. The first parameter passed to this operation
|
|
2352
2352
|
** is an integer - positive to disable checkpoints-on-close, or zero (the
|
|
2353
2353
|
** default) to enable them, and negative to leave the setting unchanged.
|
|
2354
2354
|
** The second parameter is a pointer to an integer
|
|
@@ -4001,6 +4001,7 @@ SQLITE_API void sqlite3_free_filename(sqlite3_filename);
|
|
|
4001
4001
|
**
|
|
4002
4002
|
** ^The sqlite3_errmsg() and sqlite3_errmsg16() return English-language
|
|
4003
4003
|
** text that describes the error, as either UTF-8 or UTF-16 respectively.
|
|
4004
|
+
** (See how SQLite handles [invalid UTF] for exceptions to this rule.)
|
|
4004
4005
|
** ^(Memory to hold the error message string is managed internally.
|
|
4005
4006
|
** The application does not need to worry about freeing the result.
|
|
4006
4007
|
** However, the error string might be overwritten or deallocated by
|
|
@@ -5371,6 +5372,7 @@ SQLITE_API int sqlite3_finalize(sqlite3_stmt *pStmt);
|
|
|
5371
5372
|
*/
|
|
5372
5373
|
SQLITE_API int sqlite3_reset(sqlite3_stmt *pStmt);
|
|
5373
5374
|
|
|
5375
|
+
|
|
5374
5376
|
/*
|
|
5375
5377
|
** CAPI3REF: Create Or Redefine SQL Functions
|
|
5376
5378
|
** KEYWORDS: {function creation routines}
|
|
@@ -5925,32 +5927,32 @@ SQLITE_API sqlite3 *sqlite3_context_db_handle(sqlite3_context*);
|
|
|
5925
5927
|
** METHOD: sqlite3_context
|
|
5926
5928
|
**
|
|
5927
5929
|
** These functions may be used by (non-aggregate) SQL functions to
|
|
5928
|
-
** associate
|
|
5929
|
-
** multiple invocations of the same SQL function during
|
|
5930
|
-
** some circumstances the associated
|
|
5931
|
-
** of where this might be useful is in a
|
|
5932
|
-
** function. The compiled version of the regular
|
|
5933
|
-
**
|
|
5930
|
+
** associate auxiliary data with argument values. If the same argument
|
|
5931
|
+
** value is passed to multiple invocations of the same SQL function during
|
|
5932
|
+
** query execution, under some circumstances the associated auxiliary data
|
|
5933
|
+
** might be preserved. An example of where this might be useful is in a
|
|
5934
|
+
** regular-expression matching function. The compiled version of the regular
|
|
5935
|
+
** expression can be stored as auxiliary data associated with the pattern string.
|
|
5934
5936
|
** Then as long as the pattern string remains the same,
|
|
5935
5937
|
** the compiled regular expression can be reused on multiple
|
|
5936
5938
|
** invocations of the same function.
|
|
5937
5939
|
**
|
|
5938
|
-
** ^The sqlite3_get_auxdata(C,N) interface returns a pointer to the
|
|
5940
|
+
** ^The sqlite3_get_auxdata(C,N) interface returns a pointer to the auxiliary data
|
|
5939
5941
|
** associated by the sqlite3_set_auxdata(C,N,P,X) function with the Nth argument
|
|
5940
5942
|
** value to the application-defined function. ^N is zero for the left-most
|
|
5941
|
-
** function argument. ^If there is no
|
|
5943
|
+
** function argument. ^If there is no auxiliary data
|
|
5942
5944
|
** associated with the function argument, the sqlite3_get_auxdata(C,N) interface
|
|
5943
5945
|
** returns a NULL pointer.
|
|
5944
5946
|
**
|
|
5945
|
-
** ^The sqlite3_set_auxdata(C,N,P,X) interface saves P as
|
|
5946
|
-
** argument of the application-defined function. ^Subsequent
|
|
5947
|
+
** ^The sqlite3_set_auxdata(C,N,P,X) interface saves P as auxiliary data for the
|
|
5948
|
+
** N-th argument of the application-defined function. ^Subsequent
|
|
5947
5949
|
** calls to sqlite3_get_auxdata(C,N) return P from the most recent
|
|
5948
|
-
** sqlite3_set_auxdata(C,N,P,X) call if the
|
|
5949
|
-
** NULL if the
|
|
5950
|
+
** sqlite3_set_auxdata(C,N,P,X) call if the auxiliary data is still valid or
|
|
5951
|
+
** NULL if the auxiliary data has been discarded.
|
|
5950
5952
|
** ^After each call to sqlite3_set_auxdata(C,N,P,X) where X is not NULL,
|
|
5951
5953
|
** SQLite will invoke the destructor function X with parameter P exactly
|
|
5952
|
-
** once, when the
|
|
5953
|
-
** SQLite is free to discard the
|
|
5954
|
+
** once, when the auxiliary data is discarded.
|
|
5955
|
+
** SQLite is free to discard the auxiliary data at any time, including: <ul>
|
|
5954
5956
|
** <li> ^(when the corresponding function parameter changes)^, or
|
|
5955
5957
|
** <li> ^(when [sqlite3_reset()] or [sqlite3_finalize()] is called for the
|
|
5956
5958
|
** SQL statement)^, or
|
|
@@ -5966,7 +5968,7 @@ SQLITE_API sqlite3 *sqlite3_context_db_handle(sqlite3_context*);
|
|
|
5966
5968
|
** function implementation should not make any use of P after
|
|
5967
5969
|
** sqlite3_set_auxdata() has been called.
|
|
5968
5970
|
**
|
|
5969
|
-
** ^(In practice,
|
|
5971
|
+
** ^(In practice, auxiliary data is preserved between function calls for
|
|
5970
5972
|
** function parameters that are compile-time constants, including literal
|
|
5971
5973
|
** values and [parameters] and expressions composed from the same.)^
|
|
5972
5974
|
**
|
|
@@ -5976,10 +5978,67 @@ SQLITE_API sqlite3 *sqlite3_context_db_handle(sqlite3_context*);
|
|
|
5976
5978
|
**
|
|
5977
5979
|
** These routines must be called from the same thread in which
|
|
5978
5980
|
** the SQL function is running.
|
|
5981
|
+
**
|
|
5982
|
+
** See also: [sqlite3_get_clientdata()] and [sqlite3_set_clientdata()].
|
|
5979
5983
|
*/
|
|
5980
5984
|
SQLITE_API void *sqlite3_get_auxdata(sqlite3_context*, int N);
|
|
5981
5985
|
SQLITE_API void sqlite3_set_auxdata(sqlite3_context*, int N, void*, void (*)(void*));
|
|
5982
5986
|
|
|
5987
|
+
/*
|
|
5988
|
+
** CAPI3REF: Database Connection Client Data
|
|
5989
|
+
** METHOD: sqlite3
|
|
5990
|
+
**
|
|
5991
|
+
** These functions are used to associate one or more named pointers
|
|
5992
|
+
** with a [database connection].
|
|
5993
|
+
** A call to sqlite3_set_clientdata(D,N,P,X) causes the pointer P
|
|
5994
|
+
** to be attached to [database connection] D using name N. Subsequent
|
|
5995
|
+
** calls to sqlite3_get_clientdata(D,N) will return a copy of pointer P
|
|
5996
|
+
** or a NULL pointer if there were no prior calls to
|
|
5997
|
+
** sqlite3_set_clientdata() with the same values of D and N.
|
|
5998
|
+
** Names are compared using strcmp() and are thus case sensitive.
|
|
5999
|
+
**
|
|
6000
|
+
** If P and X are both non-NULL, then the destructor X is invoked with
|
|
6001
|
+
** argument P on the first of the following occurrences:
|
|
6002
|
+
** <ul>
|
|
6003
|
+
** <li> An out-of-memory error occurs during the call to
|
|
6004
|
+
** sqlite3_set_clientdata() which attempts to register pointer P.
|
|
6005
|
+
** <li> A subsequent call to sqlite3_set_clientdata(D,N,P,X) is made
|
|
6006
|
+
** with the same D and N parameters.
|
|
6007
|
+
** <li> The database connection closes. SQLite does not make any guarantees
|
|
6008
|
+
** about the order in which destructors are called, only that all
|
|
6009
|
+
** destructors will be called exactly once at some point during the
|
|
6010
|
+
** database connection closing process.
|
|
6011
|
+
** </ul>
|
|
6012
|
+
**
|
|
6013
|
+
** SQLite does not do anything with client data other than invoke
|
|
6014
|
+
** destructors on the client data at the appropriate time. The intended
|
|
6015
|
+
** use for client data is to provide a mechanism for wrapper libraries
|
|
6016
|
+
** to store additional information about an SQLite database connection.
|
|
6017
|
+
**
|
|
6018
|
+
** There is no limit (other than available memory) on the number of different
|
|
6019
|
+
** client data pointers (with different names) that can be attached to a
|
|
6020
|
+
** single database connection. However, the implementation is optimized
|
|
6021
|
+
** for the case of having only one or two different client data names.
|
|
6022
|
+
** Applications and wrapper libraries are discouraged from using more than
|
|
6023
|
+
** one client data name each.
|
|
6024
|
+
**
|
|
6025
|
+
** There is no way to enumerate the client data pointers
|
|
6026
|
+
** associated with a database connection. The N parameter can be thought
|
|
6027
|
+
** of as a secret key such that only code that knows the secret key is able
|
|
6028
|
+
** to access the associated data.
|
|
6029
|
+
**
|
|
6030
|
+
** Security Warning: These interfaces should not be exposed in scripting
|
|
6031
|
+
** languages or in other circumstances where it might be possible for an
|
|
6032
|
+
** an attacker to invoke them. Any agent that can invoke these interfaces
|
|
6033
|
+
** can probably also take control of the process.
|
|
6034
|
+
**
|
|
6035
|
+
** Database connection client data is only available for SQLite
|
|
6036
|
+
** version 3.44.0 ([dateof:3.44.0]) and later.
|
|
6037
|
+
**
|
|
6038
|
+
** See also: [sqlite3_set_auxdata()] and [sqlite3_get_auxdata()].
|
|
6039
|
+
*/
|
|
6040
|
+
SQLITE_API void *sqlite3_get_clientdata(sqlite3*,const char*);
|
|
6041
|
+
SQLITE_API int sqlite3_set_clientdata(sqlite3*, const char*, void*, void(*)(void*));
|
|
5983
6042
|
|
|
5984
6043
|
/*
|
|
5985
6044
|
** CAPI3REF: Constants Defining Special Destructor Behavior
|
|
@@ -6612,7 +6671,7 @@ SQLITE_API int sqlite3_db_readonly(sqlite3 *db, const char *zDbName);
|
|
|
6612
6671
|
SQLITE_API int sqlite3_txn_state(sqlite3*,const char *zSchema);
|
|
6613
6672
|
|
|
6614
6673
|
/*
|
|
6615
|
-
** CAPI3REF: Allowed return values from
|
|
6674
|
+
** CAPI3REF: Allowed return values from sqlite3_txn_state()
|
|
6616
6675
|
** KEYWORDS: {transaction state}
|
|
6617
6676
|
**
|
|
6618
6677
|
** These constants define the current transaction state of a database file.
|
|
@@ -6744,7 +6803,7 @@ SQLITE_API void *sqlite3_rollback_hook(sqlite3*, void(*)(void *), void*);
|
|
|
6744
6803
|
** ^Each call to the sqlite3_autovacuum_pages() interface overrides all
|
|
6745
6804
|
** previous invocations for that database connection. ^If the callback
|
|
6746
6805
|
** argument (C) to sqlite3_autovacuum_pages(D,C,P,X) is a NULL pointer,
|
|
6747
|
-
** then the autovacuum steps callback is
|
|
6806
|
+
** then the autovacuum steps callback is canceled. The return value
|
|
6748
6807
|
** from sqlite3_autovacuum_pages() is normally SQLITE_OK, but might
|
|
6749
6808
|
** be some other error code if something goes wrong. The current
|
|
6750
6809
|
** implementation will only return SQLITE_OK or SQLITE_MISUSE, but other
|
|
@@ -7263,6 +7322,10 @@ struct sqlite3_module {
|
|
|
7263
7322
|
/* The methods above are in versions 1 and 2 of the sqlite_module object.
|
|
7264
7323
|
** Those below are for version 3 and greater. */
|
|
7265
7324
|
int (*xShadowName)(const char*);
|
|
7325
|
+
/* The methods above are in versions 1 through 3 of the sqlite_module object.
|
|
7326
|
+
** Those below are for version 4 and greater. */
|
|
7327
|
+
int (*xIntegrity)(sqlite3_vtab *pVTab, const char *zSchema,
|
|
7328
|
+
const char *zTabName, int mFlags, char **pzErr);
|
|
7266
7329
|
};
|
|
7267
7330
|
|
|
7268
7331
|
/*
|
|
@@ -7750,7 +7813,7 @@ SQLITE_API int sqlite3_blob_reopen(sqlite3_blob *, sqlite3_int64);
|
|
|
7750
7813
|
** code is returned and the transaction rolled back.
|
|
7751
7814
|
**
|
|
7752
7815
|
** Calling this function with an argument that is not a NULL pointer or an
|
|
7753
|
-
** open blob handle results in undefined
|
|
7816
|
+
** open blob handle results in undefined behavior. ^Calling this routine
|
|
7754
7817
|
** with a null pointer (such as would be returned by a failed call to
|
|
7755
7818
|
** [sqlite3_blob_open()]) is a harmless no-op. ^Otherwise, if this function
|
|
7756
7819
|
** is passed a valid open blob handle, the values returned by the
|
|
@@ -8230,6 +8293,7 @@ SQLITE_API int sqlite3_test_control(int op, ...);
|
|
|
8230
8293
|
#define SQLITE_TESTCTRL_PRNG_SAVE 5
|
|
8231
8294
|
#define SQLITE_TESTCTRL_PRNG_RESTORE 6
|
|
8232
8295
|
#define SQLITE_TESTCTRL_PRNG_RESET 7 /* NOT USED */
|
|
8296
|
+
#define SQLITE_TESTCTRL_FK_NO_ACTION 7
|
|
8233
8297
|
#define SQLITE_TESTCTRL_BITVEC_TEST 8
|
|
8234
8298
|
#define SQLITE_TESTCTRL_FAULT_INSTALL 9
|
|
8235
8299
|
#define SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS 10
|
|
@@ -9291,8 +9355,8 @@ SQLITE_API int sqlite3_backup_pagecount(sqlite3_backup *p);
|
|
|
9291
9355
|
** blocked connection already has a registered unlock-notify callback,
|
|
9292
9356
|
** then the new callback replaces the old.)^ ^If sqlite3_unlock_notify() is
|
|
9293
9357
|
** called with a NULL pointer as its second argument, then any existing
|
|
9294
|
-
** unlock-notify callback is
|
|
9295
|
-
** unlock-notify callback may also be
|
|
9358
|
+
** unlock-notify callback is canceled. ^The blocked connections
|
|
9359
|
+
** unlock-notify callback may also be canceled by closing the blocked
|
|
9296
9360
|
** connection using [sqlite3_close()].
|
|
9297
9361
|
**
|
|
9298
9362
|
** The unlock-notify callback is not reentrant. If an application invokes
|
|
@@ -10595,6 +10659,13 @@ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_recover(sqlite3 *db, const c
|
|
|
10595
10659
|
** SQLITE_SERIALIZE_NOCOPY bit is set but no contiguous copy
|
|
10596
10660
|
** of the database exists.
|
|
10597
10661
|
**
|
|
10662
|
+
** After the call, if the SQLITE_SERIALIZE_NOCOPY bit had been set,
|
|
10663
|
+
** the returned buffer content will remain accessible and unchanged
|
|
10664
|
+
** until either the next write operation on the connection or when
|
|
10665
|
+
** the connection is closed, and applications must not modify the
|
|
10666
|
+
** buffer. If the bit had been clear, the returned buffer will not
|
|
10667
|
+
** be accessed by SQLite after the call.
|
|
10668
|
+
**
|
|
10598
10669
|
** A call to sqlite3_serialize(D,S,P,F) might return NULL even if the
|
|
10599
10670
|
** SQLITE_SERIALIZE_NOCOPY bit is omitted from argument F if a memory
|
|
10600
10671
|
** allocation error occurs.
|
|
@@ -10643,6 +10714,9 @@ SQLITE_API unsigned char *sqlite3_serialize(
|
|
|
10643
10714
|
** SQLite will try to increase the buffer size using sqlite3_realloc64()
|
|
10644
10715
|
** if writes on the database cause it to grow larger than M bytes.
|
|
10645
10716
|
**
|
|
10717
|
+
** Applications must not modify the buffer P or invalidate it before
|
|
10718
|
+
** the database connection D is closed.
|
|
10719
|
+
**
|
|
10646
10720
|
** The sqlite3_deserialize() interface will fail with SQLITE_BUSY if the
|
|
10647
10721
|
** database is currently in a read transaction or is involved in a backup
|
|
10648
10722
|
** operation.
|
|
@@ -10651,6 +10725,13 @@ SQLITE_API unsigned char *sqlite3_serialize(
|
|
|
10651
10725
|
** S argument to sqlite3_deserialize(D,S,P,N,M,F) is "temp" then the
|
|
10652
10726
|
** function returns SQLITE_ERROR.
|
|
10653
10727
|
**
|
|
10728
|
+
** The deserialized database should not be in [WAL mode]. If the database
|
|
10729
|
+
** is in WAL mode, then any attempt to use the database file will result
|
|
10730
|
+
** in an [SQLITE_CANTOPEN] error. The application can set the
|
|
10731
|
+
** [file format version numbers] (bytes 18 and 19) of the input database P
|
|
10732
|
+
** to 0x01 prior to invoking sqlite3_deserialize(D,S,P,N,M,F) to force the
|
|
10733
|
+
** database file into rollback mode and work around this limitation.
|
|
10734
|
+
**
|
|
10654
10735
|
** If sqlite3_deserialize(D,S,P,N,M,F) fails for any reason and if the
|
|
10655
10736
|
** SQLITE_DESERIALIZE_FREEONCLOSE bit is set in argument F, then
|
|
10656
10737
|
** [sqlite3_free()] is invoked on argument P prior to returning.
|
|
@@ -11723,6 +11804,18 @@ SQLITE_API int sqlite3changeset_concat(
|
|
|
11723
11804
|
);
|
|
11724
11805
|
|
|
11725
11806
|
|
|
11807
|
+
/*
|
|
11808
|
+
** CAPI3REF: Upgrade the Schema of a Changeset/Patchset
|
|
11809
|
+
*/
|
|
11810
|
+
SQLITE_API int sqlite3changeset_upgrade(
|
|
11811
|
+
sqlite3 *db,
|
|
11812
|
+
const char *zDb,
|
|
11813
|
+
int nIn, const void *pIn, /* Input changeset */
|
|
11814
|
+
int *pnOut, void **ppOut /* OUT: Inverse of input */
|
|
11815
|
+
);
|
|
11816
|
+
|
|
11817
|
+
|
|
11818
|
+
|
|
11726
11819
|
/*
|
|
11727
11820
|
** CAPI3REF: Changegroup Handle
|
|
11728
11821
|
**
|
|
@@ -11769,6 +11862,38 @@ typedef struct sqlite3_changegroup sqlite3_changegroup;
|
|
|
11769
11862
|
*/
|
|
11770
11863
|
SQLITE_API int sqlite3changegroup_new(sqlite3_changegroup **pp);
|
|
11771
11864
|
|
|
11865
|
+
/*
|
|
11866
|
+
** CAPI3REF: Add a Schema to a Changegroup
|
|
11867
|
+
** METHOD: sqlite3_changegroup_schema
|
|
11868
|
+
**
|
|
11869
|
+
** This method may be used to optionally enforce the rule that the changesets
|
|
11870
|
+
** added to the changegroup handle must match the schema of database zDb
|
|
11871
|
+
** ("main", "temp", or the name of an attached database). If
|
|
11872
|
+
** sqlite3changegroup_add() is called to add a changeset that is not compatible
|
|
11873
|
+
** with the configured schema, SQLITE_SCHEMA is returned and the changegroup
|
|
11874
|
+
** object is left in an undefined state.
|
|
11875
|
+
**
|
|
11876
|
+
** A changeset schema is considered compatible with the database schema in
|
|
11877
|
+
** the same way as for sqlite3changeset_apply(). Specifically, for each
|
|
11878
|
+
** table in the changeset, there exists a database table with:
|
|
11879
|
+
**
|
|
11880
|
+
** <ul>
|
|
11881
|
+
** <li> The name identified by the changeset, and
|
|
11882
|
+
** <li> at least as many columns as recorded in the changeset, and
|
|
11883
|
+
** <li> the primary key columns in the same position as recorded in
|
|
11884
|
+
** the changeset.
|
|
11885
|
+
** </ul>
|
|
11886
|
+
**
|
|
11887
|
+
** The output of the changegroup object always has the same schema as the
|
|
11888
|
+
** database nominated using this function. In cases where changesets passed
|
|
11889
|
+
** to sqlite3changegroup_add() have fewer columns than the corresponding table
|
|
11890
|
+
** in the database schema, these are filled in using the default column
|
|
11891
|
+
** values from the database schema. This makes it possible to combined
|
|
11892
|
+
** changesets that have different numbers of columns for a single table
|
|
11893
|
+
** within a changegroup, provided that they are otherwise compatible.
|
|
11894
|
+
*/
|
|
11895
|
+
SQLITE_API int sqlite3changegroup_schema(sqlite3_changegroup*, sqlite3*, const char *zDb);
|
|
11896
|
+
|
|
11772
11897
|
/*
|
|
11773
11898
|
** CAPI3REF: Add A Changeset To A Changegroup
|
|
11774
11899
|
** METHOD: sqlite3_changegroup
|
|
@@ -11837,13 +11962,18 @@ SQLITE_API int sqlite3changegroup_new(sqlite3_changegroup **pp);
|
|
|
11837
11962
|
** If the new changeset contains changes to a table that is already present
|
|
11838
11963
|
** in the changegroup, then the number of columns and the position of the
|
|
11839
11964
|
** primary key columns for the table must be consistent. If this is not the
|
|
11840
|
-
** case, this function fails with SQLITE_SCHEMA.
|
|
11841
|
-
**
|
|
11842
|
-
**
|
|
11843
|
-
**
|
|
11844
|
-
**
|
|
11965
|
+
** case, this function fails with SQLITE_SCHEMA. Except, if the changegroup
|
|
11966
|
+
** object has been configured with a database schema using the
|
|
11967
|
+
** sqlite3changegroup_schema() API, then it is possible to combine changesets
|
|
11968
|
+
** with different numbers of columns for a single table, provided that
|
|
11969
|
+
** they are otherwise compatible.
|
|
11845
11970
|
**
|
|
11846
|
-
** If
|
|
11971
|
+
** If the input changeset appears to be corrupt and the corruption is
|
|
11972
|
+
** detected, SQLITE_CORRUPT is returned. Or, if an out-of-memory condition
|
|
11973
|
+
** occurs during processing, this function returns SQLITE_NOMEM.
|
|
11974
|
+
**
|
|
11975
|
+
** In all cases, if an error occurs the state of the final contents of the
|
|
11976
|
+
** changegroup is undefined. If no error occurs, SQLITE_OK is returned.
|
|
11847
11977
|
*/
|
|
11848
11978
|
SQLITE_API int sqlite3changegroup_add(sqlite3_changegroup*, int nData, void *pData);
|
|
11849
11979
|
|
|
@@ -12108,10 +12238,17 @@ SQLITE_API int sqlite3changeset_apply_v2(
|
|
|
12108
12238
|
** <li>an insert change if all fields of the conflicting row match
|
|
12109
12239
|
** the row being inserted.
|
|
12110
12240
|
** </ul>
|
|
12241
|
+
**
|
|
12242
|
+
** <dt>SQLITE_CHANGESETAPPLY_FKNOACTION <dd>
|
|
12243
|
+
** If this flag it set, then all foreign key constraints in the target
|
|
12244
|
+
** database behave as if they were declared with "ON UPDATE NO ACTION ON
|
|
12245
|
+
** DELETE NO ACTION", even if they are actually CASCADE, RESTRICT, SET NULL
|
|
12246
|
+
** or SET DEFAULT.
|
|
12111
12247
|
*/
|
|
12112
12248
|
#define SQLITE_CHANGESETAPPLY_NOSAVEPOINT 0x0001
|
|
12113
12249
|
#define SQLITE_CHANGESETAPPLY_INVERT 0x0002
|
|
12114
12250
|
#define SQLITE_CHANGESETAPPLY_IGNORENOOP 0x0004
|
|
12251
|
+
#define SQLITE_CHANGESETAPPLY_FKNOACTION 0x0008
|
|
12115
12252
|
|
|
12116
12253
|
/*
|
|
12117
12254
|
** CAPI3REF: Constants Passed To The Conflict Handler
|
|
@@ -363,6 +363,9 @@ struct sqlite3_api_routines {
|
|
|
363
363
|
int (*is_interrupted)(sqlite3*);
|
|
364
364
|
/* Version 3.43.0 and later */
|
|
365
365
|
int (*stmt_explain)(sqlite3_stmt*,int);
|
|
366
|
+
/* Version 3.44.0 and later */
|
|
367
|
+
void *(*get_clientdata)(sqlite3*,const char*);
|
|
368
|
+
int (*set_clientdata)(sqlite3*, const char*, void*, void(*)(void*));
|
|
366
369
|
};
|
|
367
370
|
|
|
368
371
|
/*
|
|
@@ -693,6 +696,9 @@ typedef int (*sqlite3_loadext_entry)(
|
|
|
693
696
|
#define sqlite3_is_interrupted sqlite3_api->is_interrupted
|
|
694
697
|
/* Version 3.43.0 and later */
|
|
695
698
|
#define sqlite3_stmt_explain sqlite3_api->stmt_explain
|
|
699
|
+
/* Version 3.44.0 and later */
|
|
700
|
+
#define sqlite3_get_clientdata sqlite3_api->get_clientdata
|
|
701
|
+
#define sqlite3_set_clientdata sqlite3_api->set_clientdata
|
|
696
702
|
#endif /* !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION) */
|
|
697
703
|
|
|
698
704
|
#if !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "better-sqlite3-multiple-ciphers",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.1.1",
|
|
4
4
|
"description": "better-sqlite3 with multiple-cipher encryption support",
|
|
5
5
|
"homepage": "https://github.com/m4heshd/better-sqlite3-multiple-ciphers",
|
|
6
6
|
"author": "Mahesh Bandara Wijerathna (m4heshd) <m4heshd@gmail.com>",
|