Module Sqlgg.DialectSource

Sourcetype t =
  1. | MySQL
  2. | PostgreSQL
  3. | SQLite
  4. | TiDB
Sourceval selected : t ref
Sourceval set_selected : t -> unit
Sourcetype feature =
  1. | Collation
  2. | JoinOnSubquery
  3. | CreateTableAsSelect
  4. | OnDuplicateKey
  5. | OnConflict
  6. | StraightJoin
  7. | LockInShareMode
  8. | FulltextIndex
  9. | UnsignedTypes
  10. | AutoIncrement
  11. | ReplaceInto
  12. | RowLocking
  13. | DefaultExpr
  14. | Ttl
  15. | AlterColumn
  16. | UserDefinedType
Sourceval feature_to_string : feature -> string
Sourceval feature_of_string : string -> feature
Sourcetype support_state = {
  1. supported : t list;
  2. unsupported : t list;
  3. unknown : t list;
}
Sourcetype dialect_support = {
  1. feature : feature;
  2. pos : Sql.pos;
  3. state : support_state;
}
Sourceval all : t list
Sourceval all_except : t list -> t list
Sourceval make_only_state : t list -> support_state
Sourceval supported : feature -> t list -> Sql.pos -> dialect_support
Sourceval unsupported : feature -> t list -> Sql.pos -> dialect_support
Sourceval only : feature -> t list -> Sql.pos -> dialect_support
Sourceval get_collation : string -> Sql.pos -> dialect_support
Sourceval get_join_source : [< Sql.source_kind ] -> Sql.pos -> dialect_support
Sourceval get_create_table_as_select : Sql.pos -> dialect_support
Sourceval get_on_duplicate_key : Sql.pos -> dialect_support
Sourceval get_on_conflict : Sql.pos -> dialect_support
Sourceval get_straight_join : Sql.pos -> dialect_support
Sourceval get_lock_in_share_mode : Sql.pos -> dialect_support
Sourceval get_fulltext_index : Sql.pos -> dialect_support
Sourceval get_unsigned_types : Sql.pos -> dialect_support
Sourceval get_autoincrement : Sql.pos -> dialect_support
Sourceval get_replace_into : Sql.pos -> dialect_support
Sourceval get_row_locking : Sql.pos -> dialect_support
Sourceval get_user_defined_type : Sql.pos -> dialect_support
Sourceval get_default_expr : kind:Sql.Source_type.kind option -> expr:Sql.expr -> Sql.pos -> dialect_support
Sourcemodule Semantic : sig ... end
Sourceval check_unsigned_type : Sql.pos -> Sql.Source_type.kind -> dialect_support list
Sourceval check_collation_opt : string Sql.located option -> dialect_support list
Sourceval check_collated : 'a Sql.collated -> dialect_support list
Sourceval analyze_expr : dialect_support list -> Sql.expr list -> (dialect_support list -> 'a) -> 'a
Sourceval analyze_column : dialect_support list -> Sql.column_kind Sql.located list -> (dialect_support list -> 'a) -> 'a
Sourceval analyze_source : dialect_support list -> Sql.source_kind list -> (dialect_support list -> 'a) -> 'a
Sourceval analyze_row_values : dialect_support list -> Sql.row_values list -> (dialect_support list -> 'a) -> 'a
Sourceval analyze_nested : dialect_support list -> Sql.nested list -> (dialect_support list -> 'a) -> 'a
Sourceval analyze_select : dialect_support list -> Sql.select list -> (dialect_support list -> 'a) -> 'a
Sourceval analyze_select_complete : dialect_support list -> Sql.select_complete list -> (dialect_support list -> 'a) -> 'a
Sourceval analyze_select_full : dialect_support list -> Sql.select_full list -> (dialect_support list -> 'a) -> 'a
Sourceval analyze_assignment_expr : dialect_support list -> Sql.assignment_expr list -> (dialect_support list -> 'a) -> 'a
Sourceval analyze_column_def_internal : dialect_support list -> Sql.Alter_action_attr.t list -> (dialect_support list -> 'a) -> 'a
Sourceval analyze_alter_action : dialect_support list -> [< `Add of Sql.Alter_action_attr.t * 'a | `AddConstraint of 'b | `AddIndex of 'c | `AddPrimaryKey of 'd | `AlterColumnPG of 'e * Sql.Alter_column_pg.t Sql.located | `Change of 'f * Sql.Alter_action_attr.t * 'g | `Default_or_convert_to of 'h * string Sql.located option | `Drop of 'i | `DropConstraint of 'j | `DropIndex of 'k | `DropPrimaryKey | `RemoveTtl of Sql.pos | `RenameColumn of 'l | `RenameIndex of 'm | `RenameTable of 'n | `TtlOptions of 'o * Sql.pos ] list -> (dialect_support list -> 'p) -> 'p
Sourceval analyze_insert_action : dialect_support list -> Sql.insert_action list -> (dialect_support list -> 'a) -> 'a
Sourceval analyze_schema_index : Sql.table_inline_index Sql.located -> dialect_support option
Sourceval analyze : Sql.stmt -> dialect_support list