Files
ThothII/harness/tht/db/execute.py
T

28 lines
631 B
Python

"""PostgreSQL execution operations used by the direct DWH adapter."""
from sqlalchemy import Engine
from tht.execute import (
ExecResult,
PlanSummary,
explain as _explain,
require_positive_int,
run_controlled,
)
DEFAULT_TIMEOUT_MS = 30_000
def run_query(engine: Engine, sql: str, *, limit: int) -> ExecResult:
limit = require_positive_int(limit, name="limit")
return run_controlled(
engine,
sql,
limit=limit,
timeout_ms=DEFAULT_TIMEOUT_MS,
)
def explain(engine: Engine, sql: str) -> PlanSummary:
return _explain(engine, sql, timeout_ms=DEFAULT_TIMEOUT_MS)