SQL frontend over the catalog engine
1(*---------------------------------------------------------------------------
2 Copyright (c) 2025 Thomas Gazagnaire. All rights reserved.
3 SPDX-License-Identifier: ISC
4 ---------------------------------------------------------------------------*)
5
6(** Render the query AST back to SQL text — the inverse of the parser and the
7 sibling of the executor. The output re-parses to the same query and runs
8 unchanged through the sqlite3 CLI. *)
9
10val pp_expr : Ast.expr Fmt.t
11(** Render an expression, fully parenthesised. *)
12
13val pp_select : Ast.select Fmt.t
14(** [pp_select] is the pretty-printer for a [SELECT] statement. *)
15
16val expr : Ast.expr -> string
17(** [expr e] is {!pp_expr} as a string. *)
18
19val select : Ast.select -> string
20(** [select s] is {!pp_select} as a string. *)