Hi,

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 ?

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:
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