pedrocarlo
1db13889e3
Change Value::Text to use a Cow<'static, str> instead of Vec<u8>
2025-11-11 16:11:46 -03:00
PThorpe92
e9f1a451a2
Remove sqlite comment from sqlite3_exec api
2025-10-24 09:36:06 -04:00
PThorpe92
5318af16b5
Update tests in sqlite3 package to adapt to sqlite behavior
2025-10-24 09:36:06 -04:00
PThorpe92
1204494068
Fix sqlite_exec callback handling to discard rows when not provided
2025-10-24 09:36:06 -04:00
PThorpe92
ec30aad015
Replace inefficient is_query_statement fn in sqlite3 api
2025-10-24 09:36:05 -04:00
PThorpe92
fb26b72b1a
Add comment from sqlite3.h describing behavior of sqlite3_exec
2025-10-24 09:36:05 -04:00
PThorpe92
921f2e72bd
Add integration tests for sqlite3_exec multi-statements
2025-10-24 09:36:05 -04:00
PThorpe92
d0fd258ab5
Handle multiple statements via sqlite3_exec API
2025-10-24 09:36:05 -04:00
PThorpe92
8ed4e7cac1
Add test for null terminated string from sqlite3_column_text
2025-10-23 10:54:19 -04:00
PThorpe92
23cddbcad9
Return null terminated strings from sqlite3_column_text
2025-10-23 10:13:42 -04:00
Samuel Marks
d2cd48d9e4
[sqlite3/tests/compat/mod.rs] Use canonical path to fix temp path on macOS ; rename to resolve binding connascence
2025-09-19 20:40:11 -05:00
andreatp
4c74ab10f4
fix c compat tests and add a minimal CI
2025-09-18 10:13:31 +01:00
pedrocarlo
3c91ae206b
move as many dependencies as possible to workspace to avoid multiple versions of the same dependency
2025-09-15 17:19:36 -03:00
Pekka Enberg
55f37398e4
sqlite3: Remove broken sqlite3_checkpoint() test cases
...
They're both using the same database file which is wrong (tests run in
parallel). But more importantly, they test almost nothing, and we have a
better checkpoint test already.
2025-09-05 10:15:55 +03:00
Pekka Enberg
b0cd184f1e
sqlite3: Use in-memory database in test_prepare_misuse()
...
There's no need for a file.
2025-09-05 10:07:49 +03: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
45376e0b35
delete printf in C test
2025-08-20 12:01:55 +07:00
danawan
72cdd32ba1
fix null testing
2025-08-20 11:59:27 +07: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
85ca5e07ee
fix clippy in test
2025-08-10 18:31:08 +07:00
danawan
f450524ddb
sqlite3 api add bind_text and bind_blob
2025-08-10 18:20:52 +07:00
danawan
ea7cad1188
fix clippy warnings in tests
2025-08-07 20:49:39 +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
Nikita Sivukhin
0adb40534c
hind dangerous methods behind conn_raw_api feature
2025-08-04 12:40:28 +04:00
Pekka Enberg
4aea9372bd
Rename liblimbo_sqlite3 to libturso_sqlite3
2025-08-02 11:24:40 +03:00
PThorpe92
3db72cf111
Just forget Full checkpoint mode for now, comment out compat test
2025-07-30 14:08:33 +03: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
Pekka Enberg
e2d4cbbe48
Merge 'core: Enforce shared database object per database file' from Pekka Enberg
...
We need to ensures that there is a single, shared `Database` object per
a database file. We need because it is not safe to have multiple
independent WAL files open because coordination happens at process-level
POSIX file advisory locks.
Fixes #2267
Reviewed-by: Pere Diaz Bou <pere-altea@homail.com >
Closes #2299
2025-07-28 19:34:35 +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
b2a5a7077c
sqlite3: Fix WAL tests by closing connection
...
Commit ac33ae90 ("core: Enforce single, shared database object per
database file") changes the semantics of the WAL because unless we close
all the connections, the WAL remains open due to `Database` being kept
open in memory. Fix test failures by properly closing the connection
between different test cases.
2025-07-28 13:04:22 +03:00
PThorpe92
fb611390c0
Update test to use realistic expectations for should_checkpoint in cacheflush
2025-07-26 23:03:51 -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