Sebastian Jeltsch
1ea889eb8a
Update Rust dependencies.
2025-05-27 22:09:49 +02:00
Sebastian Jeltsch
5152cf9000
Replace vendored refinery with a more proper fork stripping all the unused bits and bobs.
2025-05-27 22:01:06 +02:00
Sebastian Jeltsch
01feb22e44
serde_rusqlite finally got an update. Remove vendored version.
2025-05-27 12:15:52 +02:00
Sebastian Jeltsch
1be7590362
Update to latest rusqlite/SQLite version.
2025-05-26 11:55:09 +02:00
Sebastian Jeltsch
5b09d7d2a6
Add SQLite extension primitives to extract geoip data on the sub-country level. #64
2025-05-26 11:02:24 +02:00
Sebastian Jeltsch
99700fc801
Update Rust dependencies.
2025-05-25 14:47:10 +02:00
Sebastian Jeltsch
dc59179519
Publish updated client packages after nested filter updates in TB v0.12.0.
2025-05-20 12:44:54 +02:00
Sebastian Jeltsch
49c0457c76
Absorb rustc_tools_util to have more control over collected version information during build.
2025-05-19 15:36:19 +02:00
Sebastian Jeltsch
4e86388310
Adopt new filter syntax for record listings, which allows nesting of arbitrary AND and/or OR expressions. #53
...
There are still a few pieces missing:
* Most importantly, the clients haven't been migrated yet (i.e. tests are failing).
* The other listing APIs, i.e. admin list row, log, user are all still using the old filter syntax.
2025-05-19 14:28:19 +02:00
Sebastian Jeltsch
a40fc92b9e
Update Rust dependencies.
2025-05-17 11:08:31 +02:00
Sebastian Jeltsch
f2bdc85dc4
Parse querystrings in non-strict mode.
2025-05-17 09:55:43 +02:00
Sebastian Jeltsch
4d5a19871e
Add more semantic cursor parsing.
2025-05-16 13:14:53 +02:00
Sebastian Jeltsch
f0f4ae5e12
Add a first (yet unused) version of a "querystring" filter parser.
2025-05-16 10:21:54 +02:00
Sebastian Jeltsch
76f94899ca
Update Rust dependencies.
2025-05-11 13:10:29 +02:00
Sebastian Jeltsch
267a5aeea9
Update Rust and JS dependencies.
2025-05-09 09:12:45 +02:00
Sebastian Jeltsch
8bc6d5aa43
Use moka for caching SQLite extensions.
2025-05-07 11:43:55 +02:00
Sebastian Jeltsch
7d008f4331
Rate limit failed login attempts to protect against brute-force attacks.
2025-05-07 10:50:19 +02:00
Sebastian Jeltsch
c87ffc4fe1
Update Rust dependencies.
2025-05-06 17:22:31 +02:00
Sebastian Jeltsch
c377138f41
Update Rust and JS deps.
2025-05-04 11:51:48 +02:00
Sebastian Jeltsch
aa1a767320
Add SQLite transaction support to JS runtime.
2025-05-04 11:40:32 +02:00
Sebastian Jeltsch
c4a4dfd575
Update rusqlite to v0.35, which has more strict query validation \o/. Also update other Rust and JS deps.
2025-05-03 11:42:59 +02:00
Sebastian Jeltsch
4452d46ea8
Streamline and better document JS runtime. Also add a test to ensure event loop can progresses, while some external call is blocked.
2025-05-01 15:45:36 +02:00
Sebastian Jeltsch
e897169aac
Move JS runtime into a separate crate.
2025-04-29 13:47:10 +02:00
Sebastian Jeltsch
9ca34f46f3
Further tune SQLite execution model.
...
Previously reader and writer channels were operating entirely
independently, which yields the lowest overhead for pure read and pure
write benchmarks.
In mixed workloads like prod, however, this is not ideal since we're
running into SQLite's own file-locking, which has more overhead than
in-process locking.
With this change, we use an RwLock to reduce congestion while still
allowing parallel reads.
Together with a low-overhead kanal channel, we see little to no
regression for pure read and pure write benchmarks, while seeing about a
3x improvement for mixed workloads.
We also move ACL checks for Create/Update queries to the writer SQLite
connection, to reduce thrashing.
2025-04-28 14:11:44 +02:00
Sebastian Jeltsch
f1d84f5760
Update JS and Rust dependencies.
2025-04-25 17:08:26 +02:00
Sebastian Jeltsch
3729f70b7b
Prepare new release v0.10.0.
2025-04-24 21:02:14 +02:00
Sebastian Jeltsch
4487d30b79
Put early queue work and apalis deps behind a "queue" feature.
2025-04-24 15:44:17 +02:00
Sebastian Jeltsch
af1f9bb1bf
Update dependencies.
2025-04-24 11:34:27 +02:00
Sebastian Jeltsch
fe2e8cfda4
Clean up Sqlite connection setup, no-parallel reads for in-memory dbs, and add a placeholder storage for persisting apalis queues.
2025-04-23 11:56:36 +02:00
Sebastian Jeltsch
22f4a20c72
Update Rust dependencies.
2025-04-21 09:11:41 +02:00
Sebastian Jeltsch
ebddc51d85
Enable apalis' generic and default storage backend tests.
2025-04-20 07:36:00 +02:00
Sebastian Jeltsch
63c330c4e5
Add a custom PoC apalis queue storage backend.
...
Forked from apalis-sql's sqlite implementation.
2025-04-20 07:35:55 +02:00
Sebastian Jeltsch
4d307fc8bc
Update rust dependencies.
2025-04-17 14:52:02 +02:00
Sebastian Jeltsch
68af842184
When logging responses to stdout, log them as JSON.
2025-04-15 15:00:45 +02:00
Sebastian Jeltsch
eecab32d39
Minor: consistent tokio and env_logger dependencies.
2025-04-14 09:25:44 +02:00
Sebastian Jeltsch
a9f56a8ee0
Update rust dependencies.
2025-04-13 11:59:26 +02:00
Sebastian Jeltsch
914a9b3f03
Make query mix benchmark's slow queries slower and group benchmarks with throughput as requested.
2025-04-13 11:12:08 +02:00
Sebastian Jeltsch
844ccfa80c
Add a mixed query benchmark to trailbase-sqlite and make all benchmarks concurrently hammer the connection.
2025-04-12 15:23:17 +02:00
Sebastian Jeltsch
458adcf9ec
Add a benchmark scaffold to sqlite.
2025-04-12 10:35:55 +02:00
Sebastian Jeltsch
871a4db6be
Prepare new release v0.9.1.
2025-04-09 12:06:39 +02:00
Sebastian Jeltsch
a2d84ca059
Update Rust dependencies.
2025-04-08 22:56:25 +02:00
Sebastian Jeltsch
2789a54eac
Move JS assets into a separate crate to avoid unecessary rebuilds as much as possible.
2025-04-08 22:50:50 +02:00
Sebastian Jeltsch
f34ee1968f
Move json_schema to schema crate.
2025-04-08 15:29:29 +02:00
Sebastian Jeltsch
8a9fc26d08
Move Table/View Metadata to schema column.
2025-04-08 14:03:46 +02:00
Sebastian Jeltsch
f863f46b67
Move sqlite schema representation to schema crates.
2025-04-08 13:11:12 +02:00
Sebastian Jeltsch
c0c7681f4a
Restructure crates: make the sqlite execution model more standalone, i.e. move more extension stuff back to extension crate and schema stuff to a new schema crate.
2025-04-08 12:25:10 +02:00
Sebastian Jeltsch
c127e492eb
Update Rust dependencies.
2025-04-06 11:49:54 +02:00
Sebastian Jeltsch
f7cce2dc44
Fix logging: deterministically and separately initialize log and tracing.
2025-04-04 13:23:26 +02:00
Sebastian Jeltsch
011b0a5550
Update Rust dependencies.
2025-04-03 10:28:56 +02:00
Sebastian Jeltsch
b07b378a4b
Make rust client's error handling more explicit, less leaky and easier to match.
2025-04-02 11:14:07 +02:00