Module Code_util_predicates

module Code_util_predicates: sig .. end

type op_expr_type = 
| RegularOp of Algebra_type.algop_expr
| Fs_untyped_to_any
| Invalid_Predicate_Branch
type predicate_branch 
val mk_predicate_branch : Algebra_type.algop_expr option ->
op_expr_type ->
(Physical_value.xml_value -> unit) option ->
predicate_branch
val invalid_predicate_branch : predicate_branch
val is_fs_untyped_to_any_predicate_branch : predicate_branch -> bool
val eval_predicate_desc : Algebra_type.eval_fun ->
Execution_context.algebra_context ->
Algebra_type.algop_expr array -> Xquery_algebra_ast.predicate_desc -> bool
val eval_predicate_desc_to_rid_list : ('a -> Code_util_ridlist.rid_list) ->
'a array -> Xquery_algebra_ast.predicate_desc -> Code_util_ridlist.rid_list
val evaluate_predicate_branch : predicate_branch ->
Algebra_type.eval_fun ->
Execution_context.algebra_context ->
Namespace_context.nsenv -> Dm_atomic.atomicValue list
type supported_predicates 
type supported_scans = 
| Value_Equality
| Greater_Than
| Greater_Than_or_Equal
| Less_Than
| Less_Than_or_Equal
| Invalid_Scan
val switch_predicate : supported_predicates ->
supported_predicates
val supported_predicate_supported_scans : supported_predicates ->
supported_scans
val predicate_type : Algebra_type.algop_expr -> supported_predicates
val needed_types : Algebra_type.algop_expr ->
supported_predicates -> Datatypes.atomic_type list
val predicate_invalid : supported_predicates
type predicate_functions = (predicate_branch *
predicate_branch * supported_scans)
array