Hi Ertan,
I'm trying to optimize all previously existing databases created with older versions of basex. I have tried couple of different scenarios but all failed with an error message. How can I fix this error ?
My guess would be that the existing databases are already buggy. Some questions that might shed more light on this:
1. does the INSPECT command on the original databases return any errors? 2. does the optimize call succeed without the two options? 3. does optimize succeed with false() as second argument? 4. can you successfully call optimize on the single databases that trigger the error?
Just to mention: it makes no sense to activate both autooptimize and updindex; but I think/hope this shouldn't cause the error messages.
Best, Christian
I have executed the following query
for $d in db:list() return db:optimize($d, true(), map { 'autooptimize' : true(), 'updindex' : true() } )
but on some databases i get following error:
Error: Improper use? Potential bug? Your feedback is welcome: Contact: basex-talk@mailman.uni-konstanz.de Version: BaseX 8.1 Stack Trace: java.lang.ArrayIndexOutOfBoundsException at org.basex.io.random.TableDiskAccess.fpre(TableDiskAccess.java:503) at org.basex.io.random.TableDiskAccess.cursor(TableDiskAccess.java:455) at org.basex.io.random.TableDiskAccess.read1(TableDiskAccess.java:148) at org.basex.data.Data.kind(Data.java:307) at org.basex.query.value.node.DBNode.<init>(DBNode.java:53) at org.basex.core.cmd.OptimizeAll$DBParser.parse(OptimizeAll.java:201) at org.basex.build.Builder.parse(Builder.java:75) at org.basex.build.DiskBuilder.build(DiskBuilder.java:87) at org.basex.core.cmd.OptimizeAll.optimizeAll(OptimizeAll.java:130) at org.basex.query.up.primitives.db.DBOptimize.apply(DBOptimize.java:102) at org.basex.query.up.DataUpdates.apply(DataUpdates.java:175) at org.basex.query.up.ContextModifier.apply(ContextModifier.java:126) at org.basex.query.up.Updates.apply(Updates.java:134) at org.basex.query.QueryContext.iter(QueryContext.java:364) at org.basex.query.QueryContext.execute(QueryContext.java:605) at org.basex.query.QueryProcessor.execute(QueryProcessor.java:98) at org.basex.core.cmd.AQuery.query(AQuery.java:83) at org.basex.core.cmd.XQuery.run(XQuery.java:22) at org.basex.core.Command.run(Command.java:379) at org.basex.core.Command.execute(Command.java:95) at org.basex.gui.GUI.exec(GUI.java:467) at org.basex.gui.GUI.access$400(GUI.java:41) at org.basex.gui.GUI$7.run(GUI.java:410)
Thank you
-- Ertan TİKE