ktx/python/ktx-sl/semantic_layer
Andrey Avtomonov 4ebce75449
fix(sl): correct reserved-word/week-grain SQL and classify sl_query errors (#340)
Reserved-word columns (like, default, ...) referenced as source.col were
quoted with postgres double quotes even on BigQuery/MySQL, where a
double-quoted token is a string literal, not an identifier -- the
"Unexpected string literal" semantic-layer errors. quote_reserved_identifiers
now uses the identifier quote char of the dialect it will be parsed in
(backtick for BigQuery/MySQL), threaded through the planner and generator
parse sites; week_<weekday> granularity now emits WEEK(<weekday>) on BigQuery
instead of the invalid WEEK_MONDAY.

On the telemetry side, warehouse rejections from the sl_query execution path
are classified as expected (KtxQueryError) via a new shared markExpected()
helper, so routine agent/warehouse query failures stop reaching PostHog Error
Tracking as ktx faults; the sql_execution catch is refactored onto the same
helper. The daemon-compile boundary is deliberately left unclassified here so
genuine daemon crashes stay visible.
2026-07-03 23:19:33 +02:00
..
__init__.py rename klo to ktx 2026-05-10 23:51:24 +02:00
__main__.py fix(context): merge overlay columns onto manifest columns by name (#94) 2026-05-15 02:11:04 +02:00
cli.py docs: standardize fanout terminology (#218) 2026-05-25 11:09:33 -04:00
duplicate_check.py fix(sl): correct reserved-word/week-grain SQL and classify sl_query errors (#340) 2026-07-03 23:19:33 +02:00
engine.py Improve schema setup and Notion ingest UX (#14) 2026-05-12 22:56:58 +02:00
generator.py fix(sl): correct reserved-word/week-grain SQL and classify sl_query errors (#340) 2026-07-03 23:19:33 +02:00
graph.py fix(sl): correct reserved-word/week-grain SQL and classify sl_query errors (#340) 2026-07-03 23:19:33 +02:00
loader.py refactor: remove legacy ktx compatibility shims (#211) 2026-05-24 16:57:23 +02:00
manifest.py fix(context): merge overlay columns onto manifest columns by name (#94) 2026-05-15 02:11:04 +02:00
models.py feat: query_policy semantic-layer-only restricts agents to predefined semantic-layer measures (#334) 2026-07-03 08:54:17 +00:00
parser.py fix(sl): correct reserved-word/week-grain SQL and classify sl_query errors (#340) 2026-07-03 23:19:33 +02:00
planner.py fix(sl): correct reserved-word/week-grain SQL and classify sl_query errors (#340) 2026-07-03 23:19:33 +02:00
sql_table_extractor.py Improve schema setup and Notion ingest UX (#14) 2026-05-12 22:56:58 +02:00
table_identifier_parser.py feat(athena): first-class AWS Athena warehouse identity (SL + BI mapping) (#332) 2026-07-02 15:10:29 +02:00