Hi,
BaseX 10 has a different behavior in memory footprint for the following
situation.
To avoid passing around data you can create db using the following
create (i did this with BaseX 9)
declare variable $input := <root><sheet name="SAP">{for $idx in (1 to
10000) return <row>{for $e in $enames return element {$e} { attribute
{"content"} {$idx}}}</row>}</sheet></root>;
db:create("test-db",$input,"test.xml")
Then using the following query on the created db:
declare variable $input := db:open("test-db");
<root>{
for $s in $input//sheet[./@name => contains("SAP")]
return
<sheet>{$s/@*}{
for $r in $s//row
let $no := $r/Objektkurztext/@content
return
<row>{$r/@*}{($r/*,<partno>{$no}</partno>)}</row>
}</sheet>
}</root>
Using BaseX 9 the used memory for the query is round about 2 GB which is
ok. Using BaseX 10 Out-of-Memory exception happens in my case used
memory is > 12 GB
Any thoughts what the reason is - any additional information required?
Alex