Hi sqlite developers, As this is my first post to the mailing list, I wanted to say huge thanks and regards to D. Richard Hipp and his team for all the hard work put into this wonderful database software/library :-)
I have been working on a custom VFS project since 2017. The project got released, and has since been in deployment as part of one mobile app. Recently, we ran into an issue that cannot be addressed using any of the provided sqlite configuration mechanisms, and I would like to see if it's possible to make a feature request. The problem we hit is around PENDING_BYTE position. Our VFS project is based on test_onefile vfs found in sqlite source tree, with some modifications to store additional meta data at the beginning of file. The actual reading/writing, as in original onefile vfs, is delegated to the auxilary vfs - default (OS) vfs of sqlite. The database begins at an offset just after the initial metadata. So, the offsets at which read/writes occur in auxilary vfs, are shifted to the right. This all worked well, until our db files started growing to sizes > 1GB, and the lock byte issue became evident on windows platform. After investigating PENDING_BYTE, the history of lock-byte page, and mechanisms of tweaking its position, I realized that there is strong coupling between the lock-byte page position as seen by pager, and the offsets which OS VFSes use for lock bytes. As I understand, wrapping default OS VFS for reading/writing in another VFS is a common use case, so would it not be reasonable to allow setting a different lock byte offset just in windows/unix VFS, while keeping the lock-byte page position untouched? This would allow VFSes such as ours to move the lock-byte region used by default OS VFS, outside of the database segment, say into the head space which we have allocated and reserved for meta. Thanks. -- Alexey _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users