Comments (6)
Have you tried writing a minimal C version to verify the problem is the Python bindings?
from unqlite-python.
Yes - seems like it might be a problem with the C library itself. Posted it on the unqlite issue tracker.
from unqlite-python.
Interesting... I tried the same experiment. I used 1000 records and after a close/reopen iterate (1000), iterate again ... 976?? Wtf! Interestingly I'm double the number of records short that you are (12 -> 24).
Closing and re-opening I get my 1000 back, but I'm curious to see which keys are missing....so here are the ones that were missing:
{'key_270',
'key_271',
'key_371',
'key_390',
'key_416',
'key_417',
'key_490',
'key_516',
'key_517',
'key_531',
'key_533',
'key_534',
'key_535',
'key_536',
'key_921',
'key_922',
'key_923',
'key_933',
'key_940',
'key_941',
'key_950',
'key_951',
'key_960',
'key_970'}
I tried this twice times and got the same keys missing each time.
My conclusion at the moment? Run the fuck away from UnQLite.
from unqlite-python.
I've added a failing test-case despite the project author's suggestion that I upgrade to the latest version it is present in the 1.1.6 source amalgamation in their GH repo.
I'll keep an eye on symisc/unqlite#41 and update the bundled sources as soon as it's fixed upstream but from what I currently understand this is a library issue rather than a bindings issue.
from unqlite-python.
This is fixed in version 0.6.0. I dropped the amalgamation and am using the individual sources instead which contained the fix for the above issue.
from unqlite-python.
Thanks!
from unqlite-python.
Related Issues (20)
- collection fetch, anyway it will return a value HOT 1
- Update db entry in multiple threads HOT 6
- Question about multithread HOT 2
- Use in multi-process environment? HOT 2
- Flags unavailable via Python HOT 2
- Retrieved values are byte strings (Python 3.7) HOT 6
- Wrong kwarg name in UnQLite() API docs.
- AsyncIO Support? HOT 5
- ValueError when inserting to nonexistent collection HOT 2
- collection.store returs int HOT 3
- empty_collection.last_record_id() is 0 HOT 1
- FR: Binary releases on PyPI HOT 3
- Collection cursor only returns first record HOT 16
- Collection reverse iterator HOT 1
- Unqlite on python 3.10 fails with unqlite.cpython-310-x86_64-linux-gnu.so: undefined symbol: _PyGen_Send HOT 8
- Readme update HOT 1
- Import error HOT 3
- Is it possible to use a samba shared database file? HOT 1
- Cannot install unqlite 0.9.4 on Windows HOT 3
- Latest pip install asks for moving away from setup.py HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from unqlite-python.