Coverage for snekql/_query_dialect.py: 100%
13 statements
« prev ^ index » next coverage.py v7.14.1, created at 2026-06-07 21:13 +0300
« prev ^ index » next coverage.py v7.14.1, created at 2026-06-07 21:13 +0300
1"""Backend Dialect facts used by Query Builder SQL compilation."""
3from __future__ import annotations
5from collections.abc import Callable
6from dataclasses import dataclass
7from typing import Any
9from snekql.storage import Attr
11type QueryColumn = Attr[Any, Any, Any, Any, Any]
12type QueryValueEncoder = Callable[[QueryColumn, object], object]
15@dataclass(frozen=True)
16class QueryDialect:
17 """Small Dialect seam for compiling shared query state into backend SQL."""
19 empty_insert_sql: Callable[[str], str]
20 encode_column_value: QueryValueEncoder
21 placeholder: str
22 quote_identifier: Callable[[str], str]