PixLab | Symisc Systems

Results 35 comments of PixLab | Symisc Systems

Note however that the comparison function works only with binary blobs and not nil terminated strings. This is why the signature looks like `memcmp()` or `bzero() ` of the C...

This is a cache related issue. Because nothing reach the disk surface until the handle is closed or a transaction is committed. You can purge the cache by **manually committing**...

Yes, you have to understand that UnQLite keep some of the freed memory in a internal pool before releasing them to the OS. We do this so that successive read,...

Hi, The commit strategy is implemented in the file `pager.c` and largely inspired from the SQLite3 model. Basically, disk commit occurs when: - Internal memory page cache is filled. You...

Yes, page caching is delegated to the underlying storage engine which is not required to honor the MAX_PAGE_CACHE instruction. However, you could easily hack the storage engine code now that...

Please update the library to the last version (1.1.9). There was a memory leak in _unqlite_commit()_ that caused internal data not to be freed. This should solve your issue.

Need more testing

Hi, `unqlite_kv_cursor_init()` never fails with the `UNQLITE_BUSY` error code. Could you check again where this error code is raised from?

Hi Laurent, You can easily achieve this by relying on [unqlite_kv_fetch_callback() ](https://unqlite.org/c_api/unqlite_kv_fetch_callback.html) for extracting offseted data inside your callback function, and using [unqlite_kv_append()](https://unqlite.org/c_api/unqlite_kv_append.html) instead of `unqlite_kv_store()` to append/update your data.

**Make sure access to the shared UnQLite handle is serialized**. This is easily done via these API calls before opening any database (when your program starts): ``` unqlite_lib_config(UNQLITE_LIB_CONFIG_THREAD_LEVEL_MULTI); unqlite_lib_init(); if...