Rel_sql.DIALECT
SQL satements in a given dialect.
This does not always try to abstract SQL per se but rather what we want to do with the SQL. For example DIALECT.schema_changes
: in SQLite most ALTER TABLE statements are unsupported so the returned statement implement the sequence of operations that allow to mimic them in bulk.
val insert_into :
?or_action:insert_or_action ->
?schema:Rel.Schema.name ->
?ignore:'r Rel.Col.def list ->
'r Rel.Table.t ->
'r ->
unit Stmt.t
See Rel_sql.insert_into
.
val insert_into_cols :
?schema:Rel.Schema.name ->
?ignore:'r Rel.Col.def list ->
'r Rel.Table.t ->
'r Rel.Col.value list ->
unit Stmt.t
val update :
?schema:Rel.Schema.name ->
'r Rel.Table.t ->
set:'r Rel.Col.value list ->
where:'r Rel.Col.value list ->
unit Stmt.t
See Rel_sql.update
.
val delete_from :
?schema:string ->
'r Rel.Table.t ->
where:'r Rel.Col.value list ->
unit Stmt.t
See Rel_sql.delete_from
.
val create_table :
?schema:Rel.Schema.name ->
?if_not_exists:unit ->
'r Rel.Table.t ->
unit Stmt.t
See Rel_sql.create_table
.
val drop_table :
?schema:Rel.Schema.name ->
?if_exists:unit ->
'r Rel.Table.t ->
unit Stmt.t
See Rel_sql.drop_table
.
val create_index :
?schema:Rel.Schema.name ->
?if_not_exists:unit ->
'r Rel.Table.t ->
'r Rel.Table.Index.t ->
unit Stmt.t
See Rel_sql.create_index
.
val drop_index :
?schema:Rel.Schema.name ->
?if_exists:unit ->
'r Rel.Table.t ->
'r Rel.Table.Index.t ->
unit Stmt.t
See Rel_sql.drop_index
.
val schema_changes :
?schema:Rel.Schema.name ->
Rel.Schema.change list ->
bool * unit Stmt.t list