Skip to content

History / project_database FR

Revisions

  • Document the project database as what it is: a derived in-memory cache The name invites the assumption that QET has a real database behind a project. It does not -- projectDataBase is rebuilt from the .qet XML on every open and never written back, and almost everything that makes the current design safe follows from that: no schema version, no migrations, a wrong row costs nothing, the database cannot disagree with the drawing. Covers the lifecycle, the six tables and three views, why the schema is generated from elementInfoKeys() at runtime, why the nomenclature filter belongs in the view rather than the element table, and the terminal identity problem -- Terminal::uuid() is a catalog position id shared by every instance, which is why the primary key is (uuid, element_uuid) and why stableUuid() derives one from geometry. That last point is the one that matters for any future persistence work: a guessed identity is a cache miss today and a one-shot migration of everyone's projects if the database ever becomes the file format. EN/FR/DE.

    ispyisail committed Sep 11, 2026