flightaware / speedtables

Speed tables is a high-performance memory-resident database. The speed table compiler reads a table definition and generates a set of C access routines to create, manipulate and search tables containing millions of rows. Currently oriented towards Tcl.

Home Page:https://flightaware.github.io/speedtables/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

enforce all shared memory tables from one server uses the same mapped file

lehenbauer opened this issue · comments

We accidentally wrote two shared memory speedtable definitions that referenced two different memory-mapped files. Speedtables accepted this. The result was that the second table behaved like a clone of the first one.

Please make speedtables enforce that all tables shared by the same program reference the same mapped file, else make it work properly with multiple mapped files, which is probably a nonstarter.

Thanks.

Fixed by commit 026f3ca

Testing environment configured improperly. Problem is not fixed.

Fixed by commit 6eb2e96 with the inherent proviso that programs using multiple shared memory segments need to inherit them by being forked children or need to attach them in the same order as they were created, with a possibility that they still won't work in the latter case, although on a 64-bit machine, it could be OK.