Tuesday 20 August 2019

Pyrrho V7 progress

A draft version of the “Introduction to the Source Code” document for v7.0 is available here .

So far PyrrhoSvr.exe is under 800KB, and will probably stay below 1MB. It is quite different from version 6.3.

By contrast the user manual Pyrrho.pdf has almost no changes, apart from dropping the idea of multi-database connections.

Database files from version 6.3 (OSP and Pro) should work with PyrrhoSvr v7.0. The reverse will not be the case as I hope that Pyrrho v7.0 will allow the development of database files before users are defined and will enable databases to be renamed.

Almost all of the internal operation has changed:

    • Identifiers (and the Ident class) are used only for Parsing: uids are used everywhere else
    • BList has been added to BTree and both are easier to use
    • There is a Basis class for making work with immutable/shareable classes more efficient and intuitive
    • IO operations (Level1) have been remodelled following the StrongDBMS architecture
    • The Physical level 2 is not only for serialisation to the transaction log file (PhysBase has gone)
    • The logical database layer (“Level 3”) now includes Transaction and Database and their components, and everything at this level is immutable and shareable
    • All queries and SQL code fragments are parsed exactly once (and for each role on grant), are then immutable/shareable, and don’t need further analysis.

I will upload an alpha version soon. I plan to make Tpcc a first priority, then all of the examples in the Pyrrho manual, ending with the RESTView example probably sometime next year. The Embedded edition can wait for now.