(** [db handle] @return the underlying Sqlite3 database handle for the connection, for advanced queries.
*)
end
moduleChallenge:sig
moduleLoc:sig
typet=<
id:int64option;
set_id:int64option->unit;
log:int64;
set_log:int64->unit;
input:string;
set_input:string->unit;
answer:stringoption;
set_answer:stringoption->unit;
time:float;
set_time:float->unit;
correct:int64;
set_correct:int64->unit;
file:string;
set_file:string->unit;
line:int64;
set_line:int64->unit;
start:int64;
set_start:int64->unit;
stop:int64;
set_stop:int64->unit;
save:int64;delete:unit
>
...
...
@@ -38,11 +36,10 @@ module Challenge : sig
valt:
?id:int64option->
log:int64->
input:string->
?answer:stringoption->
time:float->
correct:int64->
file:string->
line:int64->
start:int64->
stop:int64->
Init.t->t
(** Can be used to construct a new object. If [id] is not specified, it will be automatically assigned the first time [save] is called on the object. The object is not committed to the database until [save] is invoked. The [save] method will also return the [id] assigned to the object.
@raise Sql_error if a database error is encountered
(** Used to retrieve objects from the database. If an argument is specified, it is included in the search criteria (all fields are ANDed together).
@raise Sql_error if a database error is encountered
*)
end
moduleLog_entry:sig
moduleExternal_proof:sig
typet=<
id:int64option;
set_id:int64option->unit;
attempt:int64;
set_attempt:int64->unit;
successful:int64;
set_successful:int64->unit;
starting_date:float;
set_starting_date:float->unit;
end_date:float;
set_end_date:float->unit;
challenges:Challenge.tlist;
set_challenges:Challenge.tlist->unit;
prover:string;
set_prover:string->unit;
timelimit:int64;
set_timelimit:int64->unit;
memlimit:int64;
set_memlimit:int64->unit;
status:int64;
set_status:int64->unit;
result_time:float;
set_result_time:float->unit;
trace:string;
set_trace:string->unit;
obsolete:int64;
set_obsolete:int64->unit;
save:int64;delete:unit
>
...
...
@@ -83,11 +83,13 @@ module Log_entry : sig
valt:
?id:int64option->
attempt:int64->
successful:int64->
starting_date:float->
end_date:float->
challenges:Challenge.tlist->
prover:string->
timelimit:int64->
memlimit:int64->
status:int64->
result_time:float->
trace:string->
obsolete:int64->
Init.t->t
(** Can be used to construct a new object. If [id] is not specified, it will be automatically assigned the first time [save] is called on the object. The object is not committed to the database until [save] is invoked. The [save] method will also return the [id] assigned to the object.
@raise Sql_error if a database error is encountered
(** Used to retrieve objects from the database. If an argument is specified, it is included in the search criteria (all fields are ANDed together).
@raise Sql_error if a database error is encountered
*)
end
moduleAttempts:sig
modulerecGoal:sig
typet=<
id:int64option;
set_id:int64option->unit;
solution:int64;
set_solution:int64->unit;
log_entries:Log_entry.tlist;
set_log_entries:Log_entry.tlist->unit;
task_checksum:string;
set_task_checksum:string->unit;
parent:Transf.t;
set_parent:Transf.t->unit;
name:string;
set_name:string->unit;
pos:Loc.t;
set_pos:Loc.t->unit;
external_proofs:External_proof.tlist;
set_external_proofs:External_proof.tlist->unit;
transformations:Transf.tlist;
set_transformations:Transf.tlist->unit;
proved:int64;
set_proved:int64->unit;
save:int64;delete:unit
>
...
...
@@ -121,8 +136,13 @@ module Attempts : sig
valt:
?id:int64option->
solution:int64->
log_entries:Log_entry.tlist->
task_checksum:string->
parent:Transf.t->
name:string->
pos:Loc.t->
external_proofs:External_proof.tlist->
transformations:Transf.tlist->
proved:int64->
Init.t->t
(** Can be used to construct a new object. If [id] is not specified, it will be automatically assigned the first time [save] is called on the object. The object is not committed to the database until [save] is invoked. The [save] method will also return the [id] assigned to the object.
@raise Sql_error if a database error is encountered
(** Used to retrieve objects from the database. If an argument is specified, it is included in the search criteria (all fields are ANDed together).
@raise Sql_error if a database error is encountered
*)
end
moduleSolution:sig
andTransf:sig
typet=<
id:int64option;
set_id:int64option->unit;
user:string;
set_user:string->unit;
problem_id:int64;
set_problem_id:int64->unit;
solved:int64;
set_solved:int64->unit;
attempts:Attempts.tlist;
set_attempts:Attempts.tlist->unit;
name:string;
set_name:string->unit;
obsolete:int64;
set_obsolete:int64->unit;
subgoals:Goal.tlist;
set_subgoals:Goal.tlist->unit;
save:int64;delete:unit
>
...
...
@@ -157,10 +177,9 @@ module Solution : sig
valt:
?id:int64option->
user:string->
problem_id:int64->
solved:int64->
attempts:Attempts.tlist->
name:string->
obsolete:int64->
subgoals:Goal.tlist->
Init.t->t
(** Can be used to construct a new object. If [id] is not specified, it will be automatically assigned the first time [save] is called on the object. The object is not committed to the database until [save] is invoked. The [save] method will also return the [id] assigned to the object.
@raise Sql_error if a database error is encountered
(** Used to retrieve objects from the database. If an argument is specified, it is included in the search criteria (all fields are ANDed together).
@raise Sql_error if a database error is encountered
*)
end
moduleProblems:sig
typet=<
id:int64option;
set_id:int64option->unit;
number:int64;
set_number:int64->unit;
short_descr:string;
set_short_descr:string->unit;
description:string;
set_description:string->unit;
solved_by:int64;
set_solved_by:int64->unit;
save:int64;delete:unit
>
(** An object which can be stored in the database with the [save] method call, or removed by calling [delete]. Fields can be accessed via the approriate named method and set via the [set_] methods. Changes are not committed to the database until [save] is invoked.
*)
valt:
?id:int64option->
number:int64->
short_descr:string->
description:string->
solved_by:int64->
Init.t->t
(** Can be used to construct a new object. If [id] is not specified, it will be automatically assigned the first time [save] is called on the object. The object is not committed to the database until [save] is invoked. The [save] method will also return the [id] assigned to the object.
@raise Sql_error if a database error is encountered
(** Used to retrieve objects from the database. If an argument is specified, it is included in the search criteria (all fields are ANDed together).
@raise Sql_error if a database error is encountered
*)
end
moduleUser:sig
typet=<
id:int64option;
set_id:int64option->unit;
username:string;
set_username:string->unit;
password:string;
set_password:string->unit;
email:string;
set_email:string->unit;
allow_contact:int64;
set_allow_contact:int64->unit;
nationality:stringoption;
set_nationality:stringoption->unit;
preferred_language:stringoption;
set_preferred_language:stringoption->unit;
score:int64;
set_score:int64->unit;
solutions:Solution.tlist;
set_solutions:Solution.tlist->unit;
save:int64;delete:unit
>
(** An object which can be stored in the database with the [save] method call, or removed by calling [delete]. Fields can be accessed via the approriate named method and set via the [set_] methods. Changes are not committed to the database until [save] is invoked.
*)
valt:
?id:int64option->
username:string->
password:string->
email:string->
allow_contact:int64->
?nationality:stringoption->
?preferred_language:stringoption->
score:int64->
solutions:Solution.tlist->
Init.t->t
(** Can be used to construct a new object. If [id] is not specified, it will be automatically assigned the first time [save] is called on the object. The object is not committed to the database until [save] is invoked. The [save] method will also return the [id] assigned to the object.
@raise Sql_error if a database error is encountered