better-sqlite3-multiple-ciphers 11.7.0 → 11.8.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 -7
- package/binding.gyp +1 -1
- package/deps/sqlite3/sqlite3.c +44109 -1660
- package/deps/sqlite3/sqlite3.h +52 -113
- package/deps/sqlite3.gyp +1 -1
- package/deps/test_extension.c +1 -1
- package/deps/{download.sh → update-sqlite3mc.sh} +140 -113
- package/index.d.ts +6 -5
- package/package.json +3 -4
- package/deps/setup.ps1 +0 -38
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
[](https://www.npmjs.com/package/better-sqlite3-multiple-ciphers)
|
|
5
5
|
[](https://github.com/m4heshd/better-sqlite3-multiple-ciphers/actions/workflows/test.yml)
|
|
6
6
|
|
|
7
|
-
The fastest and simplest library for
|
|
7
|
+
The fastest and simplest library for SQLite in Node.js. This particular fork supports multiple-cipher encryption using [SQLite3MultipleCiphers](https://github.com/utelle/SQLite3MultipleCiphers). Check [usage](#usage) to learn more.
|
|
8
8
|
|
|
9
9
|
- Full transaction support
|
|
10
10
|
- High performance, efficiency, and safety
|
|
@@ -17,10 +17,10 @@ The fastest and simplest library for SQLite3 in Node.js. This particular fork su
|
|
|
17
17
|
## Current versions
|
|
18
18
|
|
|
19
19
|
- ### Stable
|
|
20
|
-
- **better-sqlite3-multiple-ciphers** - [`11.
|
|
21
|
-
- **better-sqlite3** - [`11.
|
|
22
|
-
- **SQLite** - [`3.
|
|
23
|
-
- **SQLite3 Multiple Ciphers** - [`
|
|
20
|
+
- **better-sqlite3-multiple-ciphers** - [`11.8.1`](https://github.com/m4heshd/better-sqlite3-multiple-ciphers/releases/tag/v11.8.1)
|
|
21
|
+
- **better-sqlite3** - [`11.8.1`](https://github.com/JoshuaWise/better-sqlite3/releases/tag/v11.8.1)
|
|
22
|
+
- **SQLite** - [`3.48.0`](https://www.sqlite.org/releaselog/3_48_0.html)
|
|
23
|
+
- **SQLite3 Multiple Ciphers** - [`2.0.2`](https://github.com/utelle/SQLite3MultipleCiphers/releases/tag/v2.0.2)
|
|
24
24
|
|
|
25
25
|
- ### Beta
|
|
26
26
|
- **better-sqlite3-multiple-ciphers** - [`11.0.0-beta.0`](https://github.com/m4heshd/better-sqlite3-multiple-ciphers/releases/tag/v11.0.0-beta.0)
|
|
@@ -40,6 +40,12 @@ Also head over to [SQLite3MultipleCiphers](https://github.com/utelle/SQLite3Mult
|
|
|
40
40
|
|
|
41
41
|
You can also support me (the author/maintainer of this fork) by buying me a coffee. 😊
|
|
42
42
|
|
|
43
|
+
**Wise is the preferred method for donations because PayPal takes a huge chunk (~22%) off of every donation _(ko-fi also uses PayPal)_.**
|
|
44
|
+
|
|
45
|
+
[](https://wise.variatix.net/)
|
|
46
|
+
|
|
47
|
+
Other donation methods:
|
|
48
|
+
|
|
43
49
|
[](https://ko-fi.variatix.net/)
|
|
44
50
|
|
|
45
51
|
[](https://paypal.variatix.net/)
|
|
@@ -152,7 +158,7 @@ uses [SQLite3MultipleCiphers](https://github.com/utelle/SQLite3MultipleCiphers)
|
|
|
152
158
|
|
|
153
159
|
#### When is this library not appropriate?
|
|
154
160
|
|
|
155
|
-
In most cases, if you're attempting something that cannot be reasonably accomplished with `better-sqlite3`, it probably cannot be reasonably accomplished with
|
|
161
|
+
In most cases, if you're attempting something that cannot be reasonably accomplished with `better-sqlite3`, it probably cannot be reasonably accomplished with SQLite in general. For example, if you're executing queries that take one second to complete, and you expect to have many concurrent users executing those queries, no amount of asynchronicity will save you from SQLite's serialized nature. Fortunately, SQLite is very *very* fast. With proper indexing, we've been able to achieve upward of 2000 queries per second with 5-way-joins in a 60 GB database, where each query was handling 5–50 kilobytes of real data.
|
|
156
162
|
|
|
157
163
|
If you have a performance problem, the most likely causes are inefficient queries, improper indexing, or a lack of [WAL mode](./docs/performance.md)—not `better-sqlite3` itself. However, there are some cases where `better-sqlite3` could be inappropriate:
|
|
158
164
|
|
|
@@ -162,6 +168,13 @@ If you have a performance problem, the most likely causes are inefficient querie
|
|
|
162
168
|
|
|
163
169
|
For these situations, you should probably use a full-fledged RDBMS such as [PostgreSQL](https://www.postgresql.org/).
|
|
164
170
|
|
|
171
|
+
## Upgrading
|
|
172
|
+
|
|
173
|
+
Upgrading your `better-sqlite3-multiple-ciphers` dependency can potentially introduce breaking changes, either in the `better-sqlite3-multiple-ciphers` API (if you upgrade to a new [major version](https://semver.org/)), or between your existing database(s) and the underlying version of SQLite. Before upgrading, review:
|
|
174
|
+
|
|
175
|
+
* [`better-sqlite3-multiple-ciphers` release notes](https://github.com/m4heshd/better-sqlite3-multiple-ciphers/releases)
|
|
176
|
+
* [SQLite release history](https://www.sqlite.org/changes.html)
|
|
177
|
+
|
|
165
178
|
# Documentation
|
|
166
179
|
|
|
167
180
|
- [API documentation](./docs/api.md)
|
|
@@ -169,7 +182,7 @@ For these situations, you should probably use a full-fledged RDBMS such as [Post
|
|
|
169
182
|
- [64-bit integer support](./docs/integer.md)
|
|
170
183
|
- [Worker thread support](./docs/threads.md)
|
|
171
184
|
- [Unsafe mode (advanced)](./docs/unsafe.md)
|
|
172
|
-
- [
|
|
185
|
+
- [SQLite compilation (advanced)](./docs/compilation.md)
|
|
173
186
|
|
|
174
187
|
# License
|
|
175
188
|
|
package/binding.gyp
CHANGED