egutierrez
|
2ca973fb7c
|
feat(playground): DuckDB adapter para TQL->SQL execute (issue 0080)
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>
|
2026-05-13 00:58:18 +02:00 |
|