2ca973fb7c
Cierra 0080 fase 11. tql_duckdb.{h,cpp} es adapter opcional gated por
build flag FN_TQL_DUCKDB=ON. Default OFF — playground sin deps DuckDB.
Funcionalidad:
- tql_duckdb::execute(sql, params, tables) -> Result con StageOutput
materializado. Abre DuckDB :memory:, registra TableInputs via
CREATE TABLE + INSERT batched (1000 rows/batch), prepare + bind
params via duckdb_bind_varchar, execute_prepared, materializa
resultado via duckdb_value_varchar + duckdb_free.
- type_from_duckdb mapeo DuckDB type -> ColumnType.
- CMakeLists.txt: option(FN_TQL_DUCKDB) + condicional add a sources
+ link duckdb_vendored + copy runtime.
- data_table.cpp Ask AI modal: ifdef FN_TQL_DUCKDB para status message
apropiado en SQL apply.
- self_test.cpp: 4 round-trip tests gated por FN_TQL_DUCKDB:
stage0 SELECT, group+count, filter Op::Eq, sum aggregation
(verifica sum_n(go)=30).
Tests:
- 603 passed sin FN_TQL_DUCKDB (default OFF).
- 618 passed con FN_TQL_DUCKDB=ON (round-trip TQL emit -> DuckDB
execute -> match compute_stage pure).
- e2e linux + windows cross-build OK ambos modos.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
altsnap_jitter_test
@ 6e52b658a3
engine_smoke
@ bed33856e7
runtime_test
@ 49a9f3273d