I am trying to insert big string into BaseX, and ended corrupting the whole database. Here a test code , can you reproduce it ?
Improper use? Potential bug? Your feedback is welcome:
Version: BaseX 8.0 beta 769b53b
Java: Oracle Corporation, 1.8.0_25
OS: Windows 7, amd64
Stack Trace:
java.lang.IndexOutOfBoundsException
at java.io.RandomAccessFile.writeBytes(Native Method)
at java.io.RandomAccessFile.write(Unknown Source)
at org.basex.io.random.DataAccess.writeBlock(DataAccess.java:448)
at org.basex.io.random.DataAccess.flush(DataAccess.java:49)
at org.basex.io.random.DataAccess.close(DataAccess.java:61)
at org.basex.data.DiskData.close(DiskData.java:151)
at org.basex.core.cmd.Close.close(Close.java:45)
at org.basex.query.QueryResources.close(QueryResources.java:110)
at org.basex.query.QueryContext.close(QueryContext.java:564)
at org.basex.query.QueryProcessor.close(QueryProcessor.java:235)
at org.basex.core.cmd.AQuery.query(AQuery.java:129)
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.api.client.LocalSession.execute(LocalSession.java:132)
at org.basex.api.client.Session.execute(Session.java:36)
at org.basex.core.CLI.execute(CLI.java:106)
at org.basex.BaseX.<init>(BaseX.java:124)
at org.basex.BaseX.main(BaseX.java:42)