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.
@@ -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 2
34
+ #define SQLITE3MC_VERSION_RELEASE 4
35
35
  #define SQLITE3MC_VERSION_SUBRELEASE 0
36
- #define SQLITE3MC_VERSION_STRING "SQLite3 Multiple Ciphers 1.7.2"
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.43.2"
196
- #define SQLITE_VERSION_NUMBER 3043002
197
- #define SQLITE_SOURCE_ID "2023-10-10 12:14:04 4310099cce5a487035fa535dd3002c59ac7f1d1bec68d7cf317fd3e769484790"
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 behaviour.
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 behaviour. The first parameter passed to this operation
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 metadata with argument values. If the same value is passed to
5929
- ** multiple invocations of the same SQL function during query execution, under
5930
- ** some circumstances the associated metadata may be preserved. An example
5931
- ** of where this might be useful is in a regular-expression matching
5932
- ** function. The compiled version of the regular expression can be stored as
5933
- ** metadata associated with the pattern string.
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 metadata
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 metadata
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 metadata for the N-th
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 metadata is still valid or
5949
- ** NULL if the metadata has been discarded.
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 metadata is discarded.
5953
- ** SQLite is free to discard the metadata at any time, including: <ul>
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, metadata is preserved between function calls for
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 [sqlite3_txn_state()]
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 cancelled. The return value
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 behaviour. ^Calling this routine
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 cancelled. ^The blocked connections
9295
- ** unlock-notify callback may also be cancelled by closing the blocked
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. If the input changeset
11841
- ** appears to be corrupt and the corruption is detected, SQLITE_CORRUPT is
11842
- ** returned. Or, if an out-of-memory condition occurs during processing, this
11843
- ** function returns SQLITE_NOMEM. In all cases, if an error occurs the state
11844
- ** of the final contents of the changegroup is undefined.
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 no error occurs, SQLITE_OK is returned.
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.0.0",
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>",