Commit fca2d45
committed
perf(xsd): batch ingest inserts and preserve xml:space refs
Three independent improvements to the XSD ingest pipeline:
1. Batched multi-row INSERTs for memberships, inheritance edges, child
edges, group edges, attr edges, enums, and the top-level symbol
upsert pass. Compositors stay per-row since their id feeds nested
compositor parents. Cuts ~2700 round-trips down to ~30 for the
transitional WML closure.
2. xml:space attr refs are no longer dropped. The xml prefix is
reserved (XML Namespaces 1.0 §3) and bound to
http://www.w3.org/XML/1998/namespace whether the document declares
it explicitly or not. parse-schema now binds the implicit prefix so
resolveQNameAttr can resolve xml:space cleanly. Edges land with
local_name='space' and attr_symbol_id=null on CT_Text and friends.
3. Optional verbose flag on ingestSchemaSet so the CLI gets one-line
per-pass progress logs while tests and library callers stay silent.1 parent accd5b0 commit fca2d45
2 files changed
Lines changed: 308 additions & 159 deletions
0 commit comments