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(a)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 :)