Hi Jack,

If you run the query via basexhttp, how do you retrieve the results, i.e., which client do you use?

Can you possibly provide us with a self-contained example, something like…

for $i in 1 to 500000
return <xml/> update {
  insert node <a/> into .
}

…and some steps to reproduce the behavior?

Thanks in advance,
Christian


On Wed, Feb 7, 2024 at 6:04 AM Jack Steyn <steynjack@gmail.com> wrote:
Hi,

I have a database about 200 MB in size made up of approximately 150 000 documents of similar size and structure as children of the root node.

When I run the following script in basexgui a significant amount of memory is consumed (over 1 GB if I'm reading the display correctly), but I do get a result:

for $doc in db:get('docs')
return $doc update {
    delete node .//*[local-name() = ('A', 'B', 'C', 'D')]
}

When I run it over basexhttp I get a java.lang.OutOfMemoryError: Java heap space. I have increased the memory available to the JVM to 4 GB but this has not affected the failure of the script.

How can I resolve this? Is there some rewriting of the script that would help, or is it more specific to basexhttp?

Many thanks,

Jack