Sebastian Jeltsch
6999bafddd
Update JS dependencies.
2025-04-15 22:17:12 +02:00
Sebastian Jeltsch
d5bf462245
Prepare new release v0.9.2.
v0.9.2
2025-04-15 15:41:40 +02:00
Sebastian Jeltsch
d9444147a0
Fix minor issues with documentation.
2025-04-15 15:33:31 +02:00
Sebastian Jeltsch
611af1b8e1
Recreate <traildepot>/.gitignore whenever missing. #44
...
Previously it would not be generated when following the docker-path,
given the depot path had to be pre-created for the docker bind-mount.
2025-04-15 15:23:54 +02:00
Sebastian Jeltsch
68af842184
When logging responses to stdout, log them as JSON.
2025-04-15 15:00:45 +02:00
Sebastian Jeltsch
e0ad4a898c
Extend trailbase-sqlites execution model to allow for parallel reads. This reduces the latency long-tail for slow reads.
...
Note that this complicates the APIs, since it pushes the responsibility
of declaring a query a read or write to the user to then be scheduled
appropriately.
Add `.(read_|)query_row_f` APIs similar to rusqlites
`conn.query_row` accepting a `|row| -> Result<T>` to reduce the use of
`Row` and `Rows`.
Make benchmarks more isolated by not sharing a DB across runs
accumulating writes.
2025-04-15 12:15:40 +02:00
Sebastian Jeltsch
284422c5e8
Add missing "sync" for tokio dependency.
2025-04-14 17:30:09 +02:00
Sebastian Jeltsch
d388246a20
Break up Server abstraction to allow more customization for framework use-cases.
2025-04-14 12:02:42 +02:00
Sebastian Jeltsch
eecab32d39
Minor: consistent tokio and env_logger dependencies.
2025-04-14 09:25:44 +02:00
Sebastian Jeltsch
1e9ae9dcab
Add a single-threaded benchmark back alongside parallel one to get both impressions. The former has likely a lot less variance.
2025-04-14 09:10:30 +02:00
Sebastian Jeltsch
9e040d34f6
Make chat-room benchmark more realistic: hammer server in parallel.
2025-04-13 12:28:20 +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
faa1712601
Add read benchmarks to trailbase-sqlite.
2025-04-12 13:09:22 +02:00
Sebastian Jeltsch
d0d60857eb
Add a shared and TL/pool SQLite connection implementation to the benchmarks as a mere reference.
...
These implementations are dangerous since despite being behind an async
API, they block on I/O and can thus clog up the tokio runtime. Which is
fine if SQLite is all you do but really bad if other, independent work
gets stalled.
2025-04-12 11:56:47 +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.
v0.9.1
2025-04-09 12:06:39 +02:00
Sebastian Jeltsch
79a2dbd155
Fix: JSON API schemas are now properly tied to API rather than table with correct expansion config.
2025-04-09 11:48:06 +02:00
Sebastian Jeltsch
2df6fe7988
Minor: slightly stricter SQL parser admin API.
2025-04-09 09:23:07 +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
503d7cae9b
Pass connection constructor to prepare for broader concurrency models.
2025-04-08 10:05:56 +02:00
Sebastian Jeltsch
15bd04ec28
Update routing in docs to match new routing syntax in axum v0.8. Thanks @Newex. Fixes #43 .
2025-04-07 22:24:47 +02:00
Sebastian Jeltsch
599b6a4d06
Cherry-pick better rule validation from _fields_ branch.
2025-04-06 17:05:08 +02:00
Sebastian Jeltsch
c127e492eb
Update Rust dependencies.
2025-04-06 11:49:54 +02:00
Sebastian Jeltsch
5f1702a560
Minor: fix link for Rust client on the website.
2025-04-05 17:58:00 +02:00
Sebastian Jeltsch
ff17f913fb
Minor: fix drizzle name typo in benchmark graph.
2025-04-04 20:59:04 +02:00
Sebastian Jeltsch
fdfd363cfd
Prepare new release v0.9.0.
v0.9.0
2025-04-04 14:39:36 +02:00
Sebastian Jeltsch
5936cd6a9d
Bump Rust version for docker builds to latest stable v1.86.
2025-04-04 13:27:14 +02:00
Sebastian Jeltsch
f7cce2dc44
Fix logging: deterministically and separately initialize log and tracing.
2025-04-04 13:23:26 +02:00
Sebastian Jeltsch
ecad4d14ee
Update benchmark results.
2025-04-04 01:39:37 +02:00
Sebastian Jeltsch
31d7dc4158
Use statement cache in more places.
2025-04-03 21:59:23 +02:00
Sebastian Jeltsch
355b86576a
Bump Rust version to 1.85 for docker builds to allow for async closures.
2025-04-03 10:46:56 +02:00
Sebastian Jeltsch
011b0a5550
Update Rust dependencies.
2025-04-03 10:28:56 +02:00
Sebastian Jeltsch
0e6886d5bf
Update JS deps.
2025-04-03 10:04:23 +02:00
Sebastian Jeltsch
5ce5819780
Cherry-pick improvements and cleanups from experimental hidden-columns branch.
2025-04-03 09:43:34 +02:00
Sebastian Jeltsch
e7ac7d81f9
Constrain select queries for record reads/listing to specific columns.
2025-04-02 18:24:18 +02:00
Sebastian Jeltsch
8dd3ee6fe7
Remove last dependencies from record API on the underlying view/table schema. This will allow defining a per API schema.
2025-04-02 17:49:02 +02:00
Sebastian Jeltsch
e773dc0f26
Move more responsibility to the RecordAPI in preparation for filtering columns.
2025-04-02 15:57:24 +02:00
Sebastian Jeltsch
b12deb7702
Clean out Table and View metadata and move more responsibility to RecordApi.
2025-04-02 14:53:04 +02:00
Sebastian Jeltsch
b45cfb837f
Further improve file handling: limit deletion retries and RAII wrapper to ensure file cleanup on update/create failure.
2025-04-02 12:22: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
Sebastian Jeltsch
c060e7e863
Cleanup overridden files on upsert.
2025-04-02 00:17:07 +02:00
Sebastian Jeltsch
54e42cb254
Add a periodic cleanup job to retry failed file deletions.
2025-04-02 00:17:07 +02:00
Sebastian Jeltsch
f85d8ded07
Write errors back to pending file deletions.
2025-04-02 00:17:07 +02:00