package sequoia

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
include module type of struct include M.Expr end
type !'a t = 'a Sequoia_expr.t = ..
type !'a cast = 'a Sequoia_expr.cast = ..
module Base = M.Expr.Base
type handover = Sequoia_expr.handover = {
  1. expr : 'a. Sequoia_common.build_step -> 'a t -> Sequoia_common.build_step;
  2. cast : 'b. 'b cast -> string;
}
val build_function : placeholder:(int -> string) -> handover:handover -> Sequoia_common.build_step -> string -> 'a t list -> string -> Sequoia_common.build_step
type ('a, !'b) expr = 'b t
module Vector = M.Expr.Vector
include module type of struct include Base end
type M.Expr.cast +=
  1. | Bool : bool M.Expr.cast
  2. | Int : int M.Expr.cast
  3. | Float : float M.Expr.cast
  4. | String : string M.Expr.cast
  5. | Blob : bytes M.Expr.cast
type M.Expr.t +=
  1. | Lit : 'a Sequoia_lit.t -> 'a M.Expr.t
  2. | Eq : 'a0 M.Expr.t * 'a0 M.Expr.t -> bool M.Expr.t
  3. | Neq : 'a1 M.Expr.t * 'a1 M.Expr.t -> bool M.Expr.t
  4. | Gt : 'a2 M.Expr.t * 'a2 M.Expr.t -> bool M.Expr.t
  5. | Ge : 'a3 M.Expr.t * 'a3 M.Expr.t -> bool M.Expr.t
  6. | Lt : 'a4 M.Expr.t * 'a4 M.Expr.t -> bool M.Expr.t
  7. | Le : 'a5 M.Expr.t * 'a5 M.Expr.t -> bool M.Expr.t
  8. | And : bool M.Expr.t * bool M.Expr.t -> bool M.Expr.t
  9. | Or : bool M.Expr.t * bool M.Expr.t -> bool M.Expr.t
  10. | Like : string M.Expr.t * string -> bool M.Expr.t
  11. | Not_like : string M.Expr.t * string -> bool M.Expr.t
  12. | In : 'a6 M.Expr.t * 'a6 M.Expr.t list -> bool M.Expr.t
  13. | Not_in : 'a7 M.Expr.t * 'a7 M.Expr.t list -> bool M.Expr.t
  14. | Is_not_null : 'a8 option M.Expr.t -> bool M.Expr.t
  15. | Is_null : 'a9 option M.Expr.t -> bool M.Expr.t
  16. | IAdd : int M.Expr.t * int M.Expr.t -> int M.Expr.t
  17. | ISub : int M.Expr.t * int M.Expr.t -> int M.Expr.t
  18. | IMul : int M.Expr.t * int M.Expr.t -> int M.Expr.t
  19. | IDiv : int M.Expr.t * int M.Expr.t -> int M.Expr.t
  20. | FAdd : float M.Expr.t * float M.Expr.t -> float M.Expr.t
  21. | FSub : float M.Expr.t * float M.Expr.t -> float M.Expr.t
  22. | FMul : float M.Expr.t * float M.Expr.t -> float M.Expr.t
  23. | FDiv : float M.Expr.t * float M.Expr.t -> float M.Expr.t
  24. | LShift : int M.Expr.t * int -> int M.Expr.t
  25. | RShift : int M.Expr.t * int -> int M.Expr.t
  26. | Cast : 'a10 M.Expr.t * 'b M.Expr.cast -> 'b M.Expr.t
val (=) : ('a -> 'b M.Expr.t) -> ('a -> 'b M.Expr.t) -> 'a -> bool M.Expr.t
val (=%) : ('a -> string M.Expr.t) -> string -> 'a -> bool M.Expr.t
val (<>) : ('a -> 'b M.Expr.t) -> ('a -> 'b M.Expr.t) -> 'a -> bool M.Expr.t
val (<>%) : ('a -> string M.Expr.t) -> string -> 'a -> bool M.Expr.t
val (>) : ('a -> 'b M.Expr.t) -> ('a -> 'b M.Expr.t) -> 'a -> bool M.Expr.t
val (>=) : ('a -> 'b M.Expr.t) -> ('a -> 'b M.Expr.t) -> 'a -> bool M.Expr.t
val (<) : ('a -> 'b M.Expr.t) -> ('a -> 'b M.Expr.t) -> 'a -> bool M.Expr.t
val (<=) : ('a -> 'b M.Expr.t) -> ('a -> 'b M.Expr.t) -> 'a -> bool M.Expr.t
val (&&) : ('a -> bool M.Expr.t) -> ('a -> bool M.Expr.t) -> 'a -> bool M.Expr.t
val (||) : ('a -> bool M.Expr.t) -> ('a -> bool M.Expr.t) -> 'a -> bool M.Expr.t
val (+) : ('a -> int M.Expr.t) -> ('a -> int M.Expr.t) -> 'a -> int M.Expr.t
val (-) : ('a -> int M.Expr.t) -> ('a -> int M.Expr.t) -> 'a -> int M.Expr.t
val (*) : ('a -> int M.Expr.t) -> ('a -> int M.Expr.t) -> 'a -> int M.Expr.t
val (/) : ('a -> int M.Expr.t) -> ('a -> int M.Expr.t) -> 'a -> int M.Expr.t
val (+.) : ('a -> float M.Expr.t) -> ('a -> float M.Expr.t) -> 'a -> float M.Expr.t
val (-.) : ('a -> float M.Expr.t) -> ('a -> float M.Expr.t) -> 'a -> float M.Expr.t
val (*.) : ('a -> float M.Expr.t) -> ('a -> float M.Expr.t) -> 'a -> float M.Expr.t
val (/.) : ('a -> float M.Expr.t) -> ('a -> float M.Expr.t) -> 'a -> float M.Expr.t
val (<<) : ('a -> int M.Expr.t) -> int -> 'a -> int M.Expr.t
val (>>) : ('a -> int M.Expr.t) -> int -> 'a -> int M.Expr.t
val (=?) : ('a -> 'b M.Expr.t) -> ('a -> 'b M.Expr.t) list -> 'a -> bool M.Expr.t
val (<>?) : ('a -> 'b M.Expr.t) -> ('a -> 'b M.Expr.t) list -> 'a -> bool M.Expr.t
val is_null : ('a -> 'b option M.Expr.t) -> 'a -> bool M.Expr.t
val is_not_null : ('a -> 'b option M.Expr.t) -> 'a -> bool M.Expr.t
val bool : bool -> 'a -> bool M.Expr.t
val int : int -> 'a -> int M.Expr.t
val float : float -> 'a -> float M.Expr.t
val string : string -> 'a -> string M.Expr.t
val blob : bytes -> 'a -> bytes M.Expr.t
val as_bool : ('a -> 'b M.Expr.t) -> 'a -> bool M.Expr.t
val as_int : ('a -> 'b M.Expr.t) -> 'a -> int M.Expr.t
val as_float : ('a -> 'b M.Expr.t) -> 'a -> float M.Expr.t
val as_string : ('a -> 'b M.Expr.t) -> 'a -> string M.Expr.t
val as_blob : ('a -> 'b M.Expr.t) -> 'a -> bytes M.Expr.t
module Null = Base.Null
type cast +=
  1. | Time : [ `Time ] time cast
  2. | Timestamp : [ `Timestamp ] time cast
  3. | Date : [ `Date ] time cast
  4. | Datetime : [ `Datetime ] time cast
val string_of_cast : 'a. 'a cast -> string
type t +=
  1. | Abs : int t -> int t
  2. | Acos : float t -> float t
  3. | Ascii : string t -> string t
  4. | Asin : float t -> float t
  5. | Atan : float t -> float t
  6. | Atan2 : float t * float t -> float t
  7. | Avg : float t -> float t
  8. | Between : 'a0 t * 'a0 t -> bool t
  9. | Bin : int t -> string t
  10. | Bit_and : int t -> int t
  11. | Bit_count : int t -> int t
  12. | Bit_length : string t -> int t
  13. | Bit_or : int t -> int t
  14. | Bit_xor : int t -> int t
  15. | Ceil : float t -> int t
  16. | Char : int t list -> string t
  17. | Char_length : string t -> int t
  18. | Charset : string t -> string t
  19. | Coalesce : 'a1 t list -> 'a1 t
  20. | Collation : string t -> string t
  21. | Compress : string t -> string t
  22. | Concat : string t list -> string t
  23. | Concat_ws : string * string t list -> string t
  24. | Connection_id : int t
  25. | Conv : int t * int * int -> string t
  26. | Cos : float t -> float t
  27. | Cot : float t -> float t
  28. | Count : 'a2 t * bool -> int t
  29. | Crc32 : string t -> int t
  30. | Current_date : [ `Date ] time t
  31. | Current_time : [ `Time ] time t
  32. | Current_timestamp : [ `Timestamp ] time t
  33. | Current_user : string t
  34. | Database : string t
  35. | DateFn : [< `Date | `Datetime ] time t -> [ `Date ] time t
  36. | Date_add : [< time_kind ] as 'b time t * int * time_unit -> 'b t
  37. | Date_format : [< time_kind ] time t * string -> string t
  38. | Date_sub : [< time_kind ] as 'c time t * int * time_unit -> 'c time t
  39. | Datediff : [< time_kind ] as 'd time t * 'd time t -> int t
  40. | Dayname : 'k t -> string t
  41. | Dayofmonth : 'k0 t -> int t
  42. | Dayofweek : 'k1 t -> int t
  43. | Dayofyear : 'k2 t -> int t
  44. | Degrees : float t -> int t
  45. | Expr : float t -> float t
  46. | Floor : float t -> int t
  47. | From_days : int t -> [ `Date ] time t
  48. | From_unixtime : int t -> [ `Datetime ] time t
  49. | If : bool t * 'a3 t * 'a3 t -> 'a3 t
  50. | Ifnull : 'a4 option t * 'a4 t -> 'a4 t
  51. | Last_day : [< `Date | `Datetime ] time t -> [ `Date ] time t
  52. | Length : string t -> int t
  53. | Localtime : [ `Time ] time t
  54. | Log : float t -> float t
  55. | Log10 : float t -> float t
  56. | Log2 : float t -> float t
  57. | Lower : string t -> string t
  58. | Lpad : string t -> string t
  59. | Ltrim : string t -> string t
  60. | Max : 'a5 t -> 'a5 t
  61. | Md5 : string t -> string t
  62. | Minute : string t -> string t
  63. | Month : [< time_kind ] time t -> int t
  64. | Monthname : [< time_kind ] time t -> string t
  65. | Now : [ `Time ] time t
  66. | Nullif : 'a6 t * 'a6 t -> 'a6 option t
  67. | Ord : string t -> int t
  68. | Pow : int t -> int t
  69. | Radians : float t -> float t
  70. | Rand : int t option -> float t
  71. | Repeat : string t * int -> string t
  72. | Replace : string t * string * string -> string t
  73. | Reverse : string t -> string t
  74. | Rlike : 'a7 t * string -> bool t
  75. | Round : float t -> int t
  76. | Rpad : string t -> string t
  77. | Rtrim : string t -> string t
  78. | Sec_to_time : int t -> string t
  79. | Second : string t -> int t
  80. | Sha1 : string t -> string t
  81. | Sha2 : string t -> string t
  82. | Sign : int t -> int t
  83. | Sin : float t -> float t
  84. | Sqrt : float t -> float t
  85. | Stddev : float t -> float t
  86. | Substring : string t * int * int option -> string t
  87. | Substring_index : string t * string * int -> string t
  88. | Sum : int t * bool -> int t
  89. | Tan : float t -> float t
  90. | TimeFn : [< `Datetime | `Time ] time t -> [ `Time ] time t
  91. | Trim : string t -> string t
  92. | Uncompress : string t -> string t
  93. | Utc_date : string t
  94. | Utc_time : string t
  95. | Utc_timestamp : string t
  96. | Uuid : string t
  97. | Uuid_short : int t
  98. | Week : int t
  99. | Weekday : int t
  100. | Weekofyear : int t
  101. | Upper : string t -> string t
  102. | Year : int t
val time : ?hour:int -> ?minute:int -> ?second:int -> 'a -> [ `Time ] time M.Expr.t
val timestamp : float -> 'a -> [ `Timestamp ] time M.Expr.t
val date : ?year:int -> ?month:int -> ?day:int -> 'a -> [ `Date ] time M.Expr.t
val datetime : ?year:int -> ?month:int -> ?day:int -> ?hour:int -> ?minute:int -> ?second:int -> 'a -> [ `Datetime ] time M.Expr.t
val enum : (module Enum.Instance) -> 'a -> (module Enum.Instance) M.Expr.t
val acos : ('a -> float t) -> 'a -> float t
val ascii : ('a -> string t) -> 'a -> string t
val asin : ('a -> float t) -> 'a -> float t
val atan : ('a -> float t) -> 'a -> float t
val atan2 : ('a -> float t) -> ('a -> float t) -> 'a -> float t
val avg : ('a -> float t) -> 'a -> float t
val between : ('a -> 'b t) -> ('a -> 'b t) -> 'a -> bool t
val bin : ('a -> int t) -> 'a -> string t
val bit_and : ('a -> int t) -> 'a -> int t
val bit_count : ('a -> int t) -> 'a -> int t
val bit_length : ('a -> string t) -> 'a -> int t
val bit_or : ('a -> int t) -> 'a -> int t
val bit_xor : ('a -> int t) -> 'a -> int t
val ceil : ('a -> float t) -> 'a -> int t
val char : ('a -> int t list) -> 'a -> string t
val char_length : ('a -> string t) -> 'a -> int t
val charset : ('a -> string t) -> 'a -> string t
val coalesce : ('a -> 'b t list) -> 'a -> 'b t
val collation : ('a -> string t) -> 'a -> string t
val compress : ('a -> string t) -> 'a -> string t
val concat : ('a -> string t list) -> 'a -> string t
val concat_ws : string -> ('a -> string t) list -> 'a -> string t
val connection_id : unit -> 'a -> int t
val conv : ('a -> int t) -> int -> int -> 'a -> string t
val cos : ('a -> float t) -> 'a -> float t
val cot : ('a -> float t) -> 'a -> float t
val count : ?distinct:bool -> ('a -> 'b t) -> 'a -> int t
val crc32 : ('a -> string t) -> 'a -> int t
val current_date : unit -> 'a -> [ `Date ] time t
val current_time : unit -> 'a -> [ `Time ] time t
val current_timestamp : unit -> 'a -> [ `Timestamp ] time t
val current_user : unit -> 'a -> string t
val database : unit -> 'a -> string t
val date_of : ('s M.Select.source -> [< `Date | `Datetime ] time t) -> 's M.Select.source -> [ `Date ] time t
val date_add : ('a -> [< time_kind ] as 'b time t) -> int -> time_unit -> 'a -> 'b t
val date_format : ('a -> [< time_kind ] time t) -> string -> 'a -> string t
val date_sub : ('a -> [< time_kind ] as 'b time t) -> int -> time_unit -> 'a -> 'b time t
val datediff : ('a -> [< time_kind ] as 'b time t) -> ('a -> 'b time t) -> 'a -> int t
val dayname : ('a -> 'b t) -> 'a -> string t
val dayofmonth : ('a -> 'b t) -> 'a -> int t
val dayofweek : ('a -> 'b t) -> 'a -> int t
val dayofyear : ('a -> 'b t) -> 'a -> int t
val degrees : ('a -> float t) -> 'a -> int t
val expr : ('a -> float t) -> 'a -> float t
val floor : ('a -> float t) -> 'a -> int t
val from_days : ('a -> int t) -> 'a -> [ `Date ] time t
val from_unixtime : ('a -> int t) -> 'a -> [ `Datetime ] time t
val if_ : ('a -> bool t) -> ('a -> 'b t) -> ('a -> 'b t) -> 'a -> 'b t
val ifnull : ('a -> 'b option t) -> ('a -> 'b t) -> 'a -> 'b t
val last_day : ('a -> [< `Date | `Datetime ] time t) -> 'a -> [ `Date ] time t
val length : ('a -> string t) -> 'a -> int t
val localtime : unit -> 'a -> [ `Time ] time t
val log : ('a -> float t) -> 'a -> float t
val log10 : ('a -> float t) -> 'a -> float t
val log2 : ('a -> float t) -> 'a -> float t
val lower : ('a -> string t) -> 'a -> string t
val lpad : ('a -> string t) -> 'a -> string t
val ltrim : ('a -> string t) -> 'a -> string t
val max : ('a -> 'b t) -> 'a -> 'b t
val md5 : ('a -> string t) -> 'a -> string t
val minute : ('a -> string t) -> 'a -> string t
val month : ('a -> [< time_kind ] time t) -> 'a -> int t
val monthname : ('a -> [< time_kind ] time t) -> 'a -> string t
val now : unit -> 'a -> [ `Time ] time t
val nullif : ('a -> 'b t) -> ('a -> 'b t) -> 'a -> 'b option t
val ord : ('a -> string t) -> 'a -> int t
val pow : ('a -> int t) -> 'a -> int t
val radians : ('a -> float t) -> 'a -> float t
val rand : ('a -> int t option) -> 'a -> float t
val repeat : ('a -> string t) -> int -> 'a -> string t
val replace : ('a -> string t) -> string -> string -> 'a -> string t
val reverse : ('a -> string t) -> 'a -> string t
val (=~) : ('a -> 'b t) -> string -> 'a -> bool t
val round : ('a -> float t) -> 'a -> int t
val rpad : ('a -> string t) -> 'a -> string t
val rtrim : ('a -> string t) -> 'a -> string t
val sec_to_time : ('a -> int t) -> 'a -> string t
val second : ('a -> string t) -> 'a -> int t
val sha1 : ('a -> string t) -> 'a -> string t
val sha2 : ('a -> string t) -> 'a -> string t
val sign : ('a -> int t) -> 'a -> int t
val sin : ('a -> float t) -> 'a -> float t
val sqrt : ('a -> float t) -> 'a -> float t
val stddev : ('a -> float t) -> 'a -> float t
val substring : ('a -> string t) -> int -> int option -> 'a -> string t
val substring_index : ('a -> string t) -> string -> int -> 'a -> string t
val sum : ('a -> int t) -> bool -> 'a -> int t
val tan : ('a -> float t) -> 'a -> float t
val time_of : ('s M.Select.source -> [< `Datetime | `Time ] time t) -> 's M.Select.source -> [ `Time ] time t
val trim : ('a -> string t) -> 'a -> string t
val uncompress : ('a -> string t) -> 'a -> string t
val utc_date : unit -> 'a -> string t
val utc_time : unit -> 'a -> string t
val utc_timestamp : unit -> 'a -> string t
val uuid : unit -> 'a -> string t
val uuid_short : unit -> 'a -> int t
val week : unit -> 'a -> int t
val weekday : unit -> 'a -> int t
val weekofyear : unit -> 'a -> int t
val upper : ('a -> string t) -> 'a -> string t
val year : unit -> 'a -> int t
val as_time : ('a -> 'b M.Expr.t) -> 'a -> [ `Time ] time M.Expr.t
val as_timestamp : ('a -> 'b M.Expr.t) -> 'a -> [ `Timestamp ] time M.Expr.t
val as_date : ('a -> 'b M.Expr.t) -> 'a -> [ `Date ] time M.Expr.t
val as_datetime : ('a -> 'b M.Expr.t) -> 'a -> [ `Datetime ] time M.Expr.t
val build : 'a. handover:handover -> Sequoia_common.build_step -> 'a t -> Sequoia_common.build_step