You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit e541055
Browse filesBrowse the repository at this point in the historyBrowse files
cpp_request_builders codegen: make DuckDB coupling opt-in, not hardcoded
The generated header unconditionally included "vgi_rpc_types.hpp" (the
DuckDB extension's own Build<Type>Scalar helpers header) and
"duckdb/common/exception.hpp", and every builder's codegen-drift guard
threw a hardcoded duckdb::IOException. That's fine for vgi's own copy but
made the generator useless for any other C++ SDK wanting the same
generated request builders without linking DuckDB.
Add --schemas-include, --helpers-include, --exception-include,
--exception-type (and the matching emit_builders()/emit() keyword args),
all defaulting to today's DuckDB-coupled values so vgi's regeneration is
unaffected by default. A non-DuckDB client now generates against its own
engine-neutral helpers header (same Build<Type>Scalar function
names/signatures, no DuckDB dependency), its own schemas-header include
path, and a plain exception type like std::runtime_error.
Also generalized the "vgi_rpc_types.hpp goes through src/include;
vgi_protocol_schemas.hpp is a sibling in src/generated/" comment, which
was true of vgi's specific directory layout but not generically true once
both includes are parameters - it's gone from the emitted banner (see the
new docstring on emit_builders for the replacement explanation).
Regenerated vgi/src/generated/vgi_request_builders.hpp and
vgi_secret_request_builders.hpp (comment-only diff, content hash bump)
in the sibling vgi repo to match - see that repo's own commit.
First consumer of the new flags: ~/Development/vgi-sqlite, a client SDK
that needs these same generated request builders without a DuckDB
dependency.
0 commit comments