Datascript.Querytype query_callables = {callable_predicates : (string * (query_result list -> bool)) list;callable_functions : (string * (query_result list -> query_result list option))
list;callable_aggregates : (string * (query_result list -> query_result)) list;callable_aliases : (string * string) list;closure_cache : query_closure_cache option;}type source_context = {match_context : match_context;pattern_datoms : db ->
query_term ->
query_term ->
query_term ->
query_term option ->
datom Stdlib.Seq.t;fold_pattern_datoms : 'a. db ->
query_term ->
query_term ->
query_term ->
query_term option ->
init:'a ->
f:('a -> datom -> 'a) ->
'a;pattern_comparison_datoms : db ->
query_term list ->
comparison_predicate ->
value ->
datom Stdlib.Seq.t option;match_data_pattern : db ->
(string * query_result) list ->
query_term ->
query_term ->
query_term ->
datom ->
(string * query_result) list option;match_data_pattern_tx : db ->
(string * query_result) list ->
query_term ->
query_term ->
query_term ->
query_term ->
datom ->
(string * query_result) list option;match_data_pattern_tx_op : db ->
(string * query_result) list ->
query_term ->
query_term ->
query_term ->
query_term ->
query_term ->
datom ->
(string * query_result) list option;}type input_context = {resolve_query_input_result : query_result -> query_result option;bind_var : string ->
query_result ->
(string * query_result) list ->
(string * query_result) list option;entity_id_of_ref : entity_ref -> entity_id option;}val empty_query_callables : query_callablesval q : ?inputs:query_arg list -> db -> query -> query_result list listval q_string : ?inputs:query_arg list -> db -> string -> query_result list listval q_with :
?inputs:query_arg list ->
db ->
string list ->
query ->
query_result list listval q_with_string :
?inputs:query_arg list ->
db ->
string list ->
string ->
query_result list listval q_sources :
?inputs:query_arg list ->
db ->
(string * query_source) list ->
query ->
query_result list listval q_sources_string :
?inputs:query_arg list ->
db ->
(string * query_source) list ->
string ->
query_result list listval q_return :
?inputs:query_arg list ->
db ->
query_return ->
query ->
query_outputval q_return_string : ?inputs:query_arg list -> db -> string -> query_outputval q_return_map :
?inputs:query_arg list ->
db ->
query_return ->
query_return_map ->
query ->
query_outputval q_return_map_string :
?inputs:query_arg list ->
db ->
string ->
query_outputval return_map_label_count : query_return_map -> intval return_map_name : query_return_map -> stringval validate_query_return_map :
query_return ->
query_return_map option ->
query ->
query_return_map optionval has_aggregates : find_spec list -> boolval collect_find_vars :
(string * query_result) list ->
string list ->
query_result list optionval group_by_key :
(query_result list * (string * query_result) list) list ->
(query_result list * (string * query_result) list list) listval grouping_vars_of_find : find_spec list -> string listval aggregate_amount_value : string -> (string * query_result) list -> intval resolve_dynamic_aggregate :
aggregate ->
(string * query_result) list list ->
aggregateval aggregate_param_vars : aggregate -> string listval aggregate_callable_vars : aggregate -> string listval split_aggregate_terms : query_term list -> query_term list * query_termval aggregate_input_values :
aggregate ->
query_result list ->
query_result list ->
query_result listval resolve_callable_name : query_callables -> string -> stringval callable_predicate :
query_callables ->
string ->
(query_result list -> bool) optionval callable_function :
query_callables ->
string ->
(query_result list -> query_result list option) optionval callable_aggregate :
query_callables ->
string ->
(query_result list -> query_result) optionval has_callable : query_callables -> string -> boolval alias_callable : query_callables -> string -> string -> query_callablesval resolve_callable_aggregate : query_callables -> aggregate -> aggregateval result_of_datom_e : datom -> query_resultval result_of_datom_a : datom -> query_resultval result_of_datom_v : datom -> query_resultval result_of_datom_tx : datom -> query_resultval result_of_datom_op : datom -> query_resultval result_of_ref : query_result -> query_resultval entity_id_of_resolved_query_result :
validate_entity_id:(int -> entity_id) ->
query_result option ->
entity_id optionval resolved_query_result :
result_resolution_context ->
query_result ->
query_result optionval lookup_ref_entity_id_of_value :
result_resolution_context ->
value ->
entity_id optionval query_result_entity_id :
result_resolution_context ->
query_result ->
entity_id optionval query_results_equivalent :
result_resolution_context ->
query_result ->
query_result ->
boolval bind_var :
result_resolution_context ->
string ->
query_result ->
(string * query_result) list ->
(string * query_result) list optionval result_matches_entity :
result_resolution_context ->
entity_id ->
query_result ->
boolval match_query_term :
match_context ->
query_term ->
query_result ->
(string * query_result) list ->
(string * query_result) list optionval match_value_term_for_datom_attr :
match_context ->
(string * query_result) list ->
query_term ->
datom ->
(string * query_result) list optionval match_pattern_clause :
match_context ->
(string * query_result) list ->
query_term ->
query_term ->
query_term ->
datom ->
(string * query_result) list optionval match_pattern_tx_clause :
match_context ->
(string * query_result) list ->
query_term ->
query_term ->
query_term ->
query_term ->
datom ->
(string * query_result) list optionval match_reverse_pattern_clause :
match_context ->
(string * query_result) list ->
query_term ->
attr ->
query_term ->
datom ->
(string * query_result) list optionval eval_query_term :
match_context ->
(string * query_result) list ->
query_term ->
query_result optionval collect_query_terms :
match_context ->
(string * query_result) list ->
query_term list ->
query_result list optionval collect_query_terms_exn :
match_context ->
(string * query_result) list ->
query_term list ->
query_result listval query_term_entity_id :
match_context ->
(string * query_result) list ->
query_term ->
entity_id optionval source : db -> (string * query_source) list -> string -> query_sourceval sources_with_root_default :
db ->
(string * query_source) list ->
(string * query_source) listval source_db : db -> (string * query_source) list -> string -> dbval query_source_db : query_source -> dbval match_relation_row :
source_context ->
(string * query_result) list ->
query_term list ->
query_result list ->
(string * query_result) list optionval match_query_source_pattern :
source_context ->
db ->
query_source ->
(string * query_result) list ->
query_term list ->
(string * query_result) list listval match_source_pattern :
source_context ->
db ->
(string * query_source) list ->
string ->
(string * query_result) list ->
query_term list ->
(string * query_result) list listval match_relation_source_pattern :
source_context ->
db ->
(string * query_source) list ->
string ->
(string * query_result) list ->
query_term list ->
(string * query_result) list listval eval_query_term_with_sources :
match_context ->
db ->
(string * query_source) list ->
(string * query_result) list ->
query_term ->
query_result optionval collect_dynamic_query_terms_exn :
match_context ->
db ->
(string * query_source) list ->
(string * query_result) list ->
query_term list ->
query_result listval aggregate_extra_args :
match_context ->
db ->
(string * query_source) list ->
(string * query_result) list list ->
query_term list ->
query_result listval aggregate_values :
match_context ->
db ->
(string * query_source) list ->
(string * query_result) list list ->
query_term list ->
query_result listval query_callables_of_inputs : query_input list -> query_callablesval query_rules_of_inputs : query_input list -> query_rule listval matching_rules : query_rule list -> string -> int -> query_rule listval matching_rules_exn : query_rule list -> string -> int -> query_rule listval project_binding :
string list ->
(string * query_result) list ->
(string * query_result) listval rule_invocation_callables :
query_callables ->
(string * query_result) list ->
query_rule ->
query_term list ->
query_callablesval vars_of_query_term : query_term -> string listval vars_of_query_terms : query_term list -> string listval vars_of_clause : query_clause -> string listval sources_of_query_term : query_term -> string listval sources_of_query_terms : query_term list -> string listval sources_of_optional_query_term : query_term option -> string listval sources_of_clause : query_clause -> string listval sources_of_find_spec : find_spec -> string listval has_rule_clause : query_clause -> boolval rule_names : query_rule list -> string listval resolve_dynamic_rule_clause : string list -> query_clause -> query_clauseval resolve_dynamic_rule : string list -> query_rule -> query_ruleval find_spec_uses_default_source : find_spec -> boolval clause_uses_default_source : query_clause -> boolval infer_default_inputs :
query_form option ->
find_spec list ->
query_clause list ->
query_input list ->
query_input listval query_term_vars : query_term list -> string listval vars_of_find_spec : find_spec -> string listval vars_of_input_binding : input_binding -> string listval vars_of_input : query_input -> string listval source_of_input : query_input -> string optionval ensure_distinct_input_vars : query_input list -> unitval ensure_distinct_input_sources : query_input list -> unitval query_term_string :
value_to_string:(value -> string) ->
query_term ->
stringval query_call_string :
value_to_string:(value -> string) ->
string ->
query_term list ->
stringval numeric_predicate_symbol : numeric_predicate -> stringval arithmetic_op_symbol : arithmetic_op -> stringval query_clause_string :
value_to_string:(value -> string) ->
query_clause ->
stringval query_not_clause_string :
value_to_string:(value -> string) ->
query_clause list ->
stringval query_or_clause_string :
value_to_string:(value -> string) ->
query_clause list list ->
stringval query_or_join_clause_string :
value_to_string:(value -> string) ->
string list ->
string list ->
query_clause list list ->
stringval unbound_vars_of_terms :
(string * query_result) list ->
query_term list ->
string listval ensure_query_terms_bound :
(string * query_result) list ->
query_term list ->
string ->
unitval ensure_not_has_outer_binding :
value_to_string:(value -> string) ->
(string * query_result) list ->
query_clause list ->
unitval vars_of_branch : query_clause list -> string listval free_vars_of_branch : string list -> query_clause list -> string listval ensure_or_branch_vars_match :
value_to_string:(value -> string) ->
(string * query_result) list ->
query_clause list list ->
unitval ensure_join_vars_bound :
(string * query_result) list ->
string list ->
unitval ensure_join_vars_bound_in_clause :
(string * query_result) list ->
string list ->
string ->
unitval ensure_or_join_branches_cover_listed_vars :
(string * query_result) list ->
string list ->
query_clause list list ->
unitval clause_calls_rule : string -> query_clause -> boolval matching_rules_for_call :
(string * string * query_result option list) list ->
(string * string * query_result option list) ->
query_rule list ->
string ->
int ->
query_rule listval query_input_binding_string : input_binding -> stringval query_input_decl_binding_string : query_input -> stringval query_input_binding_label : query_input -> stringval query_input_consumes_argument : consume_rules:bool -> query_input -> boolval values_of_collection_result : query_result -> query_result list optionval row_of_collection_result : query_result -> query_result listval row_of_scalar_sequence : query_result -> query_result listval rows_of_map_entries : (value * value) list -> query_result list listval bind_relation_row :
input_context ->
(string * query_result) list ->
string list ->
query_result list ->
(string * query_result) list optionval resolve_query_input_row :
input_context ->
query_result list ->
query_result list optionval collection_values_of_input :
input_context ->
query_result ->
query_result list optionval row_values_of_input :
input_context ->
query_result ->
query_result list optionval eval_ground_term_tuple :
input_context ->
(string * query_result) list ->
query_result ->
string list ->
(string * query_result) list listval eval_ground_term_relation :
input_context ->
(string * query_result) list ->
query_result ->
string list ->
(string * query_result) list listval bind_input_binding :
input_context ->
input_binding ->
query_result ->
(string * query_result) list list ->
(string * query_result) list listval bind_nested_input_tuple :
input_context ->
input_binding list ->
query_result list ->
(string * query_result) list list ->
(string * query_result) list listval apply_query_input :
input_context ->
(string * query_result) list list ->
query_input ->
(string * query_result) list listval bind_query_inputs :
query_input_of_arg:(query_input -> query_arg -> query_input) ->
consume_rules:bool ->
query_input list ->
query_arg list ->
query_input list