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

1"""Backend Dialect facts used by Query Builder SQL compilation.""" 

2 

3from __future__ import annotations 

4 

5from collections.abc import Callable 

6from dataclasses import dataclass 

7from typing import Any 

8 

9from snekql.storage import Attr 

10 

11type QueryColumn = Attr[Any, Any, Any, Any, Any] 

12type QueryValueEncoder = Callable[[QueryColumn, object], object] 

13 

14 

15@dataclass(frozen=True) 

16class QueryDialect: 

17 """Small Dialect seam for compiling shared query state into backend SQL.""" 

18 

19 empty_insert_sql: Callable[[str], str] 

20 encode_column_value: QueryValueEncoder 

21 placeholder: str 

22 quote_identifier: Callable[[str], str]