andreatp
4c74ab10f4
fix c compat tests and add a minimal CI
2025-09-18 10:13:31 +01:00
Pekka Enberg
9a748fb816
Merge 'sqlite3: Implement sqlite3_malloc() and sqlite3_free()' from Pekka Enberg
...
Closes #2783
2025-08-25 18:15:52 +03:00
Pekka Enberg
9f6468ec82
sqlite3: Implement sqlite3_malloc() and sqlite3_free()
2025-08-25 17:51:07 +03:00
Pekka Enberg
16547cb569
sqlite3: Implement sqlite3_next_stmt()
2025-08-25 14:44:55 +03:00
Pekka Enberg
b162f89b73
sqlite3: Implement sqlite3_db_filename()
2025-08-25 10:20:50 +03:00
Pekka Enberg
c428ff06b2
sqlite3: Implement sqlite3_bind_parameter_index()
2025-08-24 20:10:31 +03:00
Pekka Enberg
4fc7b94a6b
Merge 'sqlite3: Implement sqlite3_clear_bindings()' from Pekka Enberg
...
Closes #2759
2025-08-24 19:57:14 +03:00
Pekka Enberg
9d2f26bb04
sqlite3: Implement sqlite3_clear_bindings()
2025-08-24 19:33:18 +03:00
Pekka Enberg
ea2192c332
sqlite3: Implement sqlite3_get_autocommit()
2025-08-24 14:13:36 +03:00
Nikita Sivukhin
69c39d5d8c
replace wal_frames_count with wal_state method which return both frames count and checkpoint sequence
2025-08-21 15:13:23 +04:00
Nikita Sivukhin
05931f70ce
add optional upper_bound_inclusive parameter to some checkpoint modes
...
- will be used in sync-engine protocol
2025-08-21 14:12:11 +04:00
danawan
804bb868c7
add column decltype
2025-08-20 11:28:14 +07:00
danawan
f1c2277543
change column type using value type
2025-08-20 09:34:30 +07:00
danawan
85da74979e
change get column type from core
2025-08-20 07:55:41 +07:00
danawan
d4172efa74
add column type
2025-08-19 10:27:59 +07:00
Nikita Sivukhin
5838efe7dd
rename flag to wal_auto_checkpoint_disabled
2025-08-13 15:26:25 +04:00
PThorpe92
c3b536957f
Fix max_frame determination and comments in WAL checkpointing
2025-08-12 08:57:35 -04:00
danawan
f450524ddb
sqlite3 api add bind_text and bind_blob
2025-08-10 18:20:52 +07:00
danawan
0ab0c2e0c7
fix clippy
2025-08-07 20:36:52 +07:00
danawan
eaa614aa51
add basic bind and column functions
2025-08-07 20:20:23 +07:00
Nikita Sivukhin
2e23230e79
extend raw WAL API with few more methods
...
- try_wal_watermark_read_page - try to read page from the DB with given WAL watermark value
- wal_changed_pages_after - return set of unique pages changed after watermark WAL position
2025-08-04 16:55:50 +04:00
PThorpe92
b214c3dfc8
Add diff chkpt modes to sqlite3 api, finish checkpoint logic and add tests
2025-07-30 14:08:33 +03:00
PThorpe92
7643ef97a6
Pass checkpoint mode from sqlite3 c api argument
2025-07-30 14:08:33 +03:00
Nikita Sivukhin
ff0410a7d3
fix clippy (2)
2025-07-28 17:36:41 +04:00
Nikita Sivukhin
4695719d2b
fix C bindings
2025-07-28 17:20:10 +04:00
Pekka Enberg
648ad3e74d
Merge 'sqlite3: Improve SQLite error handling and fix C-string safety' from Ceferino Patino
...
This PR addresses two related issues in the SQLite3 C API
implementation:
1. Properly sets error codes on the database object when handling SQL
preparation failures
2. Fixes C string handling in sqlite3_errstr_impl to ensure proper null-
termination
Error codes should be correctly set on the database object, making them
accessible to API consumers. Also fixes and issue where C strings
weren't properly null-terminated in error reporting functions, which
causes the issue in #2197 where messages all get pushed onto a single
line. Its possible that this also fixes a buffer overflow, but I'm not
actually sure what the behavior was.
Reviewed-by: Jussi Saurio <jussi.saurio@gmail.com >
Closes #2212
2025-07-24 14:40:37 +03:00
Nikita Sivukhin
3c0af3e389
small adjustments
2025-07-23 11:31:00 +04:00
Nikita Sivukhin
16763e1500
implement raw WAL write api
2025-07-23 11:30:59 +04:00
Nikita Sivukhin
d617d1d21e
fix raw read frame WAL API
2025-07-22 16:21:04 +04:00
C4 Patino
ae1ad65bd2
fix: issue with c_str not being properly null-terminated
2025-07-22 07:05:54 -05:00
C4 Patino
cb08e4cdc3
fix: error codes being properly set on the db object
2025-07-21 14:29:05 -05:00
pedrocarlo
711b1ef114
make all run_once be run under statement or connection so that rollback is called
2025-07-07 11:51:25 -03:00
pedrocarlo
56d87cb916
move disable behavior to connection instead of checkpoint
2025-07-03 12:05:53 -03:00
pedrocarlo
44b8275b26
add test + implement sqlite3_column_int64 for test
2025-07-03 12:04:17 -03:00
pedrocarlo
db005c81a0
add option to disable wal checkpoint
2025-07-03 12:04:17 -03:00
Pekka Enberg
53ba3ff926
Rename limbo_core crate to turso_core
2025-06-29 09:59:17 +03:00
Pekka Enberg
2fc5c0ce5c
Switch to runtime flag for enabling indexes
...
Makes it easier to test the feature:
```
$ cargo run -- --experimental-indexes
Limbo v0.0.22
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database
limbo> CREATE TABLE t(x);
limbo> CREATE INDEX t_idx ON t(x);
limbo> DROP INDEX t_idx;
```
2025-06-26 10:07:28 +03:00
Pekka Enberg
5c35810f78
sqlite3: Make Clippy happy
2025-06-16 11:07:39 +03:00
Pekka Enberg
5b47c9932d
sqlite3: Make sqlite3 thread safe with a mutex
...
Make the sqlite3 object thread-safe with a mutex, like SQLite does.
2025-06-16 11:03:21 +03:00
Pekka Enberg
5fb50245ed
sqlite3: Clean up sqlite3_wal_checkpoint() function
2025-06-16 11:02:44 +03:00
Pekka Enberg
50fdf7105d
sqlite3: Clean up sqlite3_extended_errcode() function
2025-06-16 11:02:44 +03:00
Pekka Enberg
6901b7bcd6
sqlite3: Clean up sqlite3_errmsg() function
2025-06-16 11:02:44 +03:00
Pekka Enberg
0830578ec5
sqlite3: Clean up sqlite3_errcode() function
2025-06-16 11:02:44 +03:00
Pekka Enberg
5477d0a4f5
sqlite3: Clean up sqlite3_safety_check_sick_or_ok() function
...
Underscore in parameter or variable name indicates it's not used. Also,
drop useless `crate` qualifier from constants.
2025-06-16 11:02:44 +03:00
Pekka Enberg
0b0f712575
sqlite3: Move sqlite3_safety_check_sick_or_ok() to lib.rs
...
It's pointless to have a module for just one function...
2025-06-16 11:02:43 +03:00
Pekka Enberg
90c1e3fc06
Switch Connection to use Arc instead of Rc
...
Connection needs to be Arc so that bindings can wrap it with `Mutex` for
multi-threading.
2025-06-16 10:43:19 +03:00
Pekka Enberg
3250560eb8
sqlite3: Add libsql_wal_get_frame() API
2025-05-27 13:47:40 +03:00
Pekka Enberg
9f5904d4df
cargo fmt
2025-05-22 13:02:30 +03:00
Pekka Enberg
7d471889eb
sqlite3: Switch to tracing logger
...
...we now actually see logging from core too.
2025-05-22 12:37:09 +03:00
Pekka Enberg
524a523036
sqlite3: Add libsql_wal_frame_count() API
2025-05-15 11:43:44 +03:00