aboutsummaryrefslogtreecommitdiff
path: root/lib/expression/query.mli
blob: fa789a9fd8d13cd92c3de0234c85ac4c31c409d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
module QueryParameter : sig
  (** Internaly, we need to keep a different type for the Literal chunks
    (which requires to be quoted), and raw (which should be given as is to the
    sql engine) 

    The Raw can be generated from both BindParam or NoParam queries. *)
  type t =
    | Literal
    | Queue of ImportCSV.DataType.t Queue.t
    | Raw of t
end

type _ binded_query =
  | BindParam : ImportCSV.DataType.t Queue.t binded_query
  | NoParam : unit binded_query

val query_of_expression :
  'b binded_query ->
  Format.formatter ->
  (Format.formatter -> 'a -> unit) ->
  'a T.t ->
  'b

module Query :
  Sym.SYM_EXPR
    with type 'a obs = Format.formatter -> nested:QueryParameter.t -> unit
     and type 'a path_repr = Format.formatter -> 'a -> unit