from __future__ import annotations
from typing import Iterable
def q(value: object) -> str:
if value is None:
return "NULL"
if isinstance(value, bool):
return "1" if value else "0"
if isinstance(value, (int, float)):
return repr(value)
if isinstance(value, (list, tuple)):
return vec_literal(value)
if isinstance(value, str):
escaped = value.replace("'", "''")
return f"'{escaped}'"
raise TypeError(f"cannot inline {type(value).__name__} into SQL")
def vec_literal(vec: Iterable[float]) -> str:
parts = ", ".join(f"{float(x):.6f}" for x in vec)
return f"[{parts}]"