functor
  (Basetypes : Shredded_store_sigs.Shredded_Basetypes) (Record : sig
                                                                   type record
                                                                   type preorder =
                                                                    Basetypes.preorder
                                                                   type stored_nodeid =
                                                                    Basetypes.stored_nodeid
                                                                   type record_specific =
                                                                    Basetypes.record_specific
                                                                   type record_kind =
                                                                    Basetypes.record_kind
                                                                   type eqnameid =
                                                                    Basetypes.eqnameid
                                                                   type namespaceid =
                                                                    Basetypes.namespaceid
                                                                   type prefixid =
                                                                    Basetypes.prefixid
                                                                   type textid =
                                                                    Basetypes.textid
                                                                   type commentid =
                                                                    Basetypes.commentid
                                                                   type processingid =
                                                                    Basetypes.processingid
                                                                   type symbol =
                                                                    prefixid *
                                                                    eqnameid
                                                                   val is_fixed_length :
                                                                    unit ->
                                                                    bool
                                                                   val get_record_size :
                                                                    unit ->
                                                                    int
                                                                   val encode :
                                                                    record ->
                                                                    char
                                                                    array
                                                                   val decode :
                                                                    char
                                                                    array ->
                                                                    record
                                                                   val create_record :
                                                                    preorder ->
                                                                    stored_nodeid
                                                                    option ->
                                                                    record_specific ->
                                                                    record
                                                                   val get_preorder :
                                                                    record ->
                                                                    preorder
                                                                   val set_preorder :
                                                                    record ->
                                                                    preorder ->
                                                                    record
                                                                   val get_parent :
                                                                    record ->
                                                                    stored_nodeid
                                                                    option
                                                                   val set_parent :
                                                                    record ->
                                                                    stored_nodeid
                                                                    option ->
                                                                    record
                                                                   val get_name_eqnameid :
                                                                    record ->
                                                                    eqnameid
                                                                   val get_name_prefixid :
                                                                    record ->
                                                                    prefixid
                                                                   val get_name_symbol :
                                                                    record ->
                                                                    symbol
                                                                   val set_name_symbol :
                                                                    record ->
                                                                    symbol ->
                                                                    record
                                                                   val get_type_eqnameid :
                                                                    record ->
                                                                    eqnameid
                                                                    option
                                                                   val get_type_prefixid :
                                                                    record ->
                                                                    prefixid
                                                                    option
                                                                   val get_type_symbol :
                                                                    record ->
                                                                    symbol
                                                                    option
                                                                   val set_type_symbol :
                                                                    record ->
                                                                    symbol
                                                                    option ->
                                                                    record
                                                                   val get_attribute_value_id :
                                                                    record ->
                                                                    textid
                                                                   val get_textid :
                                                                    record ->
                                                                    textid
                                                                   val get_kind :
                                                                    record ->
                                                                    record_kind
                                                                   val get_specific :
                                                                    record ->
                                                                    record_specific
                                                                   val get_namespaceid :
                                                                    record ->
                                                                    namespaceid
                                                                   val is_text_record :
                                                                    record ->
                                                                    bool
                                                                   val is_elem_record :
                                                                    record ->
                                                                    bool
                                                                   val is_attr_record :
                                                                    record ->
                                                                    bool
                                                                   val get_commentid :
                                                                    record ->
                                                                    commentid
                                                                   val get_processing_instruction_id :
                                                                    record ->
                                                                    processingid
                                                                 end) (Shredded_Recno : Shredded_store_sigs.Shredded_Recno_Functor_Sig) (Shredded_Btree_Functor : Shredded_store_sigs.Shredded_Btree_Functor_Sig) (Shredded_Hash_Functor : Shredded_store_sigs.Shredded_Hash_Functor_Sig->
  sig
    type shredded_store
    val create_shredded_store :
      Nodeid_context.nodeid_context ->
      string ->
      string ->
      int -> Shredded_store.Shredded_Store_Functor_Sig.shredded_store
    val open_store :
      string ->
      string -> Shredded_store.Shredded_Store_Functor_Sig.shredded_store
    val close_store :
      Shredded_store.Shredded_Store_Functor_Sig.shredded_store -> unit
    val sync_store :
      Shredded_store.Shredded_Store_Functor_Sig.shredded_store -> unit
    val implemid : Nodeid.implemid
    val print_store :
      Shredded_store.Shredded_Store_Functor_Sig.shredded_store ->
      Nodeid.large_preorder -> unit
    val get_docid :
      Shredded_store.Shredded_Store_Functor_Sig.shredded_store ->
      Nodeid.docid
    val get_root :
      Shredded_store.Shredded_Store_Functor_Sig.shredded_store ->
      Nodeid.nodeid
    val get_store_from_docid :
      Nodeid.docid ->
      Shredded_store.Shredded_Store_Functor_Sig.shredded_store
    val preorder_of_nodeid : Nodeid.nodeid -> Nodeid.large_preorder
    val docid_of_nodeid : Nodeid.nodeid -> Nodeid.docid
    val docid_preorder_of_nodeid :
      Nodeid.nodeid -> Nodeid.docid * Nodeid.large_preorder
    val get_name_of_docid : Nodeid.docid -> string * string
    val get_first_child : Nodeid.nodeid -> Nodeid.nodeid option
    val get_next_sibling : Nodeid.nodeid -> Nodeid.nodeid option
    val get_children :
      Nodeid.nodeid ->
      (Xquery_type_core_ast.cxschema option * Xquery_algebra_ast.anode_test)
      option -> Nodeid.nodeid Cursor.cursor
    val get_attributes :
      Nodeid.nodeid ->
      (Xquery_type_core_ast.cxschema option * Xquery_algebra_ast.anode_test)
      option -> Nodeid.nodeid Cursor.cursor
    val get_parent :
      Nodeid.nodeid ->
      (Xquery_type_core_ast.cxschema option * Xquery_algebra_ast.anode_test)
      option -> Nodeid.nodeid option
    val get_nodekind : Nodeid.nodeid -> Basetypes.record_kind
    val get_doc_uri : Nodeid.nodeid -> Dm_atomic.atomicString option
    val get_elem_name : Nodeid.nodeid -> Namespace_symbols.relem_symbol
    val set_elem_name :
      Nodeid.nodeid -> Namespace_symbols.relem_symbol -> unit
    val get_attr_name : Nodeid.nodeid -> Namespace_symbols.rattr_symbol
    val set_attr_name :
      Nodeid.nodeid -> Namespace_symbols.rattr_symbol -> unit
    val get_type_name :
      Nodeid.nodeid -> Namespace_symbols.rtype_symbol option
    val set_type_name :
      Nodeid.nodeid -> Namespace_symbols.rtype_symbol option -> unit
    val retrieve_typed_element :
      Nodeid.nodeid -> (Dm_types.nilled * Dm_atomic.atomicValue list) option
    val retrieve_typed_attribute :
      Nodeid.nodeid -> Dm_atomic.atomicValue list option
    val get_content : Nodeid.nodeid -> Datatypes.xs_string
    val get_nsenv : Nodeid.nodeid -> Namespace_context.nsenv
    val get_pi_target : Nodeid.nodeid -> Datatypes.xs_string
    val get_pi_value : Nodeid.nodeid -> Datatypes.xs_string
    val get_comment_value : Nodeid.nodeid -> Datatypes.xs_string
    val get_last_descendant : Nodeid.nodeid -> Nodeid.nodeid
    val improved_descendant :
      Nodeid.nodeid ->
      (Xquery_type_core_ast.cxschema option * Xquery_algebra_ast.anode_test)
      option -> Nodeid.nodeid Cursor.cursor
    val improved_descendant_or_self :
      Nodeid.nodeid ->
      (Xquery_type_core_ast.cxschema option * Xquery_algebra_ast.anode_test)
      option -> Nodeid.nodeid Cursor.cursor
    val load_shredded_store_from_resolved_stream :
      Nodeid_context.nodeid_context ->
      Streaming_types.resolved_xml_stream ->
      string ->
      string ->
      int -> Shredded_store.Shredded_Store_Functor_Sig.shredded_store
    val load_shredded_store_from_ordered_typed_stream :
      Nodeid_context.nodeid_context ->
      Streaming_types.ordered_typed_xml_stream ->
      string ->
      string ->
      int -> Shredded_store.Shredded_Store_Functor_Sig.shredded_store
    val insert_node :
      Nodeid.nodeid option ->
      Nodeid.nodeid -> Physical_value.item Cursor.cursor -> unit
    val detach_node : Nodeid.nodeid -> unit
    val recno_iter :
      (Record.record -> unit) ->
      Shredded_store.Shredded_Store_Functor_Sig.shredded_store -> unit
  end