I’m testing out BaseX and getting remarkable query performance, first on a collection of ~3k documents, and then on ~27k docs (61m nodes).
But there were some queries which ran on the small set but had exceptions on the large set. I thought that this might have something to do with distinct-values, but using group by syntax produced the same error. I’ve included a few queries with these errors.
I ran into exception loading data last night but that was on a different database so I don’t think it’s related.
Thanks,
Gary
Query: declare default element namespace 'http://developer.envisn.com/xmlns/envisn/netvisn/';
for $allInfo in distinct-values(collection('content2')//DbRefImpl/database) order by $allInfo return $allInfo
Error: Possible bug? Your feedback is welcome:
Contact: basex-talk@mailman.uni-konstanz.de
Version: BaseX 6.5.1
Java: Sun Microsystems Inc., 1.6.0_20
OS: Windows XP, x86
Stack Trace:
java.lang.ArrayIndexOutOfBoundsException: 28194
org.basex.util.TokenSet.key(TokenSet.java:126)
org.basex.data.Data.name(Data.java:386)
org.basex.query.item.DBNode.nname(DBNode.java:117)
org.basex.query.item.DBNode.qname(DBNode.java:130)
org.basex.query.path.NameTest.eval(NameTest.java:107)
org.basex.query.path.IterStep$1.next(IterStep.java:48)
org.basex.query.path.AxisPath.iter(AxisPath.java:437)
org.basex.query.path.AxisPath.iter(AxisPath.java:406)
org.basex.query.func.FNSeq$3.<init>(FNSeq.java:146)
org.basex.query.func.FNSeq.distinctValues(FNSeq.java:144)
org.basex.query.func.FNSeq.iter(FNSeq.java:47)
org.basex.query.QueryContext.iter(QueryContext.java:301)
org.basex.query.expr.For$1.init(For.java:127)
org.basex.query.expr.For$1.next(For.java:92)
org.basex.query.expr.GFLWOR.iter(GFLWOR.java:289)
org.basex.query.expr.GFLWOR.iter(GFLWOR.java:266)
org.basex.query.QueryContext.iter(QueryContext.java:301)
org.basex.query.QueryContext.iter(QueryContext.java:265)
org.basex.query.QueryContext.eval(QueryContext.java:223)
org.basex.query.QueryProcessor.execute(QueryProcessor.java:111)
org.basex.core.cmd.AQuery.query(AQuery.java:83)
org.basex.core.cmd.XQuery.run(XQuery.java:22)
org.basex.core.Command.run(Command.java:292)
org.basex.core.Command.exec(Command.java:274)
org.basex.core.Command.execute(Command.java:67)
org.basex.gui.GUI.exec(GUI.java:390)
org.basex.gui.GUI$5.run(GUI.java:351)
Query: declare default element namespace 'http://developer.envisn.com/xmlns/envisn/netvisn/';
for $allInfo in collection('content2')//DbRefImpl
let $db := $allInfo/database
group by $db order by $db return $db/text()
Error: Possible bug? Your feedback is welcome:
Contact: basex-talk@mailman.uni-konstanz.de
Version: BaseX 6.5.1
Java: Sun Microsystems Inc., 1.6.0_20
OS: Windows XP, x86
Stack Trace:
java.lang.ArrayIndexOutOfBoundsException: 28194
org.basex.util.TokenSet.key(TokenSet.java:126)
org.basex.data.Data.name(Data.java:386)
org.basex.query.item.DBNode.nname(DBNode.java:117)
org.basex.query.item.DBNode.qname(DBNode.java:130)
org.basex.query.path.NameTest.eval(NameTest.java:107)
org.basex.query.path.IterStep$1.next(IterStep.java:48)
org.basex.query.path.AxisPath.iter(AxisPath.java:437)
org.basex.query.path.AxisPath.iter(AxisPath.java:406)
org.basex.query.QueryContext.iter(QueryContext.java:301)
org.basex.query.expr.For$1.init(For.java:127)
org.basex.query.expr.For$1.next(For.java:92)
org.basex.query.expr.GFLWOR.iter(GFLWOR.java:289)
org.basex.query.expr.GFLWOR.iter(GFLWOR.java:266)
org.basex.query.QueryContext.iter(QueryContext.java:301)
org.basex.query.QueryContext.iter(QueryContext.java:265)
org.basex.query.QueryContext.eval(QueryContext.java:223)
org.basex.query.QueryProcessor.execute(QueryProcessor.java:111)
org.basex.core.cmd.AQuery.query(AQuery.java:83)
org.basex.core.cmd.XQuery.run(XQuery.java:22)
org.basex.core.Command.run(Command.java:292)
org.basex.core.Command.exec(Command.java:274)
org.basex.core.Command.execute(Command.java:67)
org.basex.gui.GUI.exec(GUI.java:390)
org.basex.gui.GUI$5.run(GUI.java:351)
Query: declare default element namespace 'http://developer.envisn.com/xmlns/envisn/netvisn/';
for $allInfo in distinct-values(collection('content')//DbRefImpl[database='BOEING'][table='D_PROJ']/column) order by $allInfo return $allInfo
Error: Possible bug? Your feedback is welcome:
Contact: basex-talk@mailman.uni-konstanz.de
Version: BaseX 6.5.1
Java: Sun Microsystems Inc., 1.6.0_20
OS: Windows XP, x86
Stack Trace:
java.lang.ArrayIndexOutOfBoundsException: 7176
org.basex.io.TableDiskAccess.read4(TableDiskAccess.java:123)
org.basex.data.Data.size(Data.java:349)
org.basex.data.DataPaths.doc(DataPaths.java:40)
org.basex.data.DataPaths.doc(DataPaths.java:57)
org.basex.data.Data.doc(Data.java:213)
org.basex.query.QueryResources.addCollection(QueryResources.java:243)
org.basex.query.QueryResources.collection(QueryResources.java:175)
org.basex.query.func.FNGen.collection(FNGen.java:111)
org.basex.query.func.FNGen.iter(FNGen.java:55)
org.basex.query.QueryContext.iter(QueryContext.java:301)
org.basex.query.expr.ParseExpr.value(ParseExpr.java:73)
org.basex.query.func.Fun.comp(Fun.java:47)
org.basex.query.path.Path.comp(Path.java:40)
org.basex.query.expr.Arr.comp(Arr.java:35)
org.basex.query.func.Fun.comp(Fun.java:43)
org.basex.query.expr.For.comp(For.java:58)
org.basex.query.expr.For.comp(For.java:1)
org.basex.query.expr.GFLWOR.comp(GFLWOR.java:86)
org.basex.query.QueryContext.compile(QueryContext.java:203)
org.basex.query.QueryProcessor.compile(QueryProcessor.java:89)
org.basex.core.cmd.AQuery.query(AQuery.java:75)
org.basex.core.cmd.XQuery.run(XQuery.java:22)
org.basex.core.Command.run(Command.java:292)
org.basex.core.Command.exec(Command.java:274)
org.basex.core.Command.execute(Command.java:67)
org.basex.gui.GUI.exec(GUI.java:390)
org.basex.gui.GUI$5.run(GUI.java:351)