Hi Henning, > db:create("test", "5GB.xml")
You could try to set the ADDCACHE option: db:create('test', '5GB.xml', (), map { 'addcache': true() }) The CREATE command will probably be faster, because we can ignore some of the XQuery Update semantics on command level. Hope this helps, Christian > results in a crash. It uses more than 1 GB in memory, I changed the http > server memory to 1024MB, and takes more than 20 minutes as the job never > finished. Doing the same thing but with basexGUI takes 5 minutes and uses > 500 MB memory and finishes. > > My question are: > what is the difference between basexgui and restxq to give such discrepency, > are they not using the same function? > Am I maybe creating the database incorrectly? Is there another db:create > function I missed? > > (Sorry if I sent two mails to Christian Grun) > > > >> From: christian.gr...@gmail.com >> Date: Sun, 22 May 2016 12:32:17 +0200 >> Subject: Re: [basex-talk] Creating db in restxq interface >> To: henningp...@hotmail.com >> CC: basex-talk@mailman.uni-konstanz.de >> >> Hi Henning, >> >> The XQuery Update specification does not allow users to mix updating >> expressions and return data at the same time. The slides of Arve and >> Sabine (see [1]) will give you some hints how updates are usually >> performed in RESTXQ contexts. The slides are from 2013, and some >> convenience functions have been added since then, but the basic >> principle is the same as before. In a nutshell: >> >> * Use db:output() to both return data and do updates [2]; >> * use web:redirect() to redirect to another success page [3]; >> * alternatively, activate the MIXUPDATES option in web.xml to disable >> the XQuery Update restriction [4]. >> >> Hope this helps, >> Christian >> >> [1] http://files.basex.org/publications/xmlprague/2013.html >> [2] http://docs.basex.org/wiki/Database_Module#db:output >> [3] http://docs.basex.org/wiki/Web_Module#web:redirect >> [4] http://docs.basex.org/wiki/XQuery_Update#Returning_Results >> >> >> > declare >> > %rest:path("/start") >> > %updating >> > %output:method("xhtml") >> > %output:omit-xml-declaration("no") >> > %output:doctype-public("-//W3C//DTD XHTML 1.0 Transitional//EN") >> > >> > >> > %output:doctype-system("http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd") >> > function page:hello() >> > as element(Q{http://www.w3.org/1999/xhtml}html) >> > { >> > <html xmlns="http://www.w3.org/1999/xhtml"> >> > <title>Good day Sir!</title> >> > <link rel="stylesheet" href="static/w3.css"/> >> > <time>The current time is: { current-time() }</time> >> > <body class="w3-container"> >> > <ul class="w3-navbar w3-green"> >> > <li><a href="#">Home</a></li> >> > <li><a href="#">Link 1</a></li> >> > <li><a href="#">Link 2</a></li> >> > <li><a href="#">Link 3</a></li> >> > </ul> >> > <ul>{ >> > for $result in db:open('factbook')//continent/@name >> > return <li>{ data($result) }</li> >> > }</ul> >> > <li> >> > { >> > db:create("test") >> > } >> > </li> >> > </body> >> > </html> >> > >> > >> > =========== File End ================