package ppx_mysql

  1. Overview
  2. Docs

Type definitions

type param = {
  1. typ : string option * string;
  2. opt : bool;
  3. name : string;
  4. of_string : string * string;
  5. to_string : string * string;
}
type list_params = {
  1. subsql : string;
  2. string_index : int;
  3. param_index : int;
  4. params : param list;
}
type parsed_query = {
  1. sql : string;
  2. in_params : param list;
  3. out_params : param list;
  4. list_params : list_params option;
}
type parse_error = [
  1. | `Bad_identifier of string
  2. | `Unknown_type_spec of string
  3. | `Empty_list_params
  4. | `Multiple_lists_not_supported
  5. | `Nested_list
  6. | `Optional_list
  7. | `Out_params_in_list
  8. | `Unterminated_list
  9. | `Unterminated_string
  10. | `Unterminated_bracket
  11. | `Escape_at_end
]
type conflict_error = [
  1. | `Conflicting_spec of string
]
type error = [
  1. | parse_error
  2. | conflict_error
]

Public functions and values

val parse : string -> (parsed_query, [> parse_error ]) Stdlib.result
val remove_duplicates : param list -> (param list, [> conflict_error ]) Stdlib.result
val explain_error : [< error ] -> string