Hello ,

 

i send you the following bug trace ....and ask you why the xq correctly works with small xml structure and not with largest !

Details here :

Small structure is  12Mg, 130Knodes and 5 Heigh ( 2K incoming Objects )

Largest structure is  43Mg, 2000K nodes and 5 Heigh ( 75K incoming Objects )

 

DB creation trace is :

SET PARSER xml
PARSER: xml

Command: SET PARSEROPT lines=true,format=verbose,header=true,separator=comma
PARSEROPT: lines=true,format=verbose,header=true,separator=comma

Command: CREATE DB ea_i_co_o_o E:/ENV_Inst/TrioX/ScriptAUP/EA/i/TKE/co.o.o/co_o_o.xml
Database 'ea_i_co_o_o' created in 8158.29 ms.

 

 

Bugs trace is :

 

 

"Possible bug? Your feedback is welcome:
Contact: basex-talk@mailman.uni-konstanz.de
Version: BaseX 6.5.1
Java: Sun Microsystems Inc., 1.6.0_25
OS: Windows XP, x86
Stack Trace:
java.lang.ArrayIndexOutOfBoundsException: 25864888
  org.basex.io.TableDiskAccess.write4(TableDiskAccess.java:156)
  org.basex.data.Data.size(Data.java:747)
  org.basex.data.Data.insert(Data.java:716)"

 

 

Now i explain how it occurs .

My project is to migrate xml structure in new xml structure, i use xq to change progressivly the xml schema

It is important for me to check that is can handle xml structure with 200 K objects definition  , with about 10-100 attributs definition each.

 

then i've setup a set of small 4 xq file in charge to generate progressivly "the compliant xml structure "  for everying incoming Object. Simply ,

 

On every incoming object ( Object node ) i add a small Product node with his definition in a first xq ,

I proceed the same with ( Form node ) and ( ProductRevision node ) and their own xml content ( all about 10 node each )  

 

This was working fine in a small structure , update is done in 10 second and it is fine, so how can i do this with larger structure. 

In addition , i've limited the nb of object in selection of the update ( position < 250 ) and the result is not good , ,

 

Should i deduce that inserting nodes is not recommended in my case study ?

 

PS :  i've setup the nodes and attributes index, not the full text ( i never use text node ) and i run baseX651.

 

Bests Regards

 

XQ details here :
 
for $ea_i  in $i_type_in

 let $ApplicationRef := local:build_ApplicationRef($ea_i,"<A/>")
 let $AssociatedForm  := local:build_AssociatedForm ($ea_i,"<A/>")
 let $UserData  := local:build_UserData ($ea_i,"<A/>")
 let $m := ( $ApplicationRef , $UserData, $AssociatedForm )
 let $ProductRevision := local:build_ProductRevision($ea_i,$m)
 let $out := ($ProductRevision)
 return (delete node$ea_i/ProductRevision, insert node $out into $ea_i[1])
 (:return $out :)