java.io.IOException: Das Handle ist ungültig
Hi,
the following xquery (BaseX721, Java, embedded server):
for $guildchar in
collection('default')/apiresponse/guild[@name="Guild"]/characters/character
return
for $detailchar in
collection('default')/apiresponse/character
where $detailchar/@name=$guildchar/@name
return
$detailcharproduces the exception: java.io.IOException: Das Handle ist ungültig java.io.RandomAccessFile.seek(Native Method) org.basex.io.random.TableDiskAccess.readBlock(TableDiskAccess.java:519) org.basex.io.random.TableDiskAccess.readIndex(TableDiskAccess.java:502) org.basex.io.random.TableDiskAccess.cursor(TableDiskAccess.java:481) org.basex.io.random.TableDiskAccess.read1(TableDiskAccess.java:189) org.basex.data.Data.kind(Data.java:293) org.basex.query.item.DBNode$4.next(DBNode.java:350) org.basex.query.path.IterStep$1.next(IterStep.java:44) org.basex.query.iter.NodeIter.next(NodeIter.java:1) org.basex.query.path.IterPath$1.next(IterPath.java:64) org.basex.query.iter.NodeIter.next(NodeIter.java:1) org.basex.query.flwor.For$1.next(For.java:85) org.basex.query.flwor.FLWR$1.next(FLWR.java:63) org.basex.query.expr.Constr.add(Constr.java:63) org.basex.query.expr.CElem.item(CElem.java:82) org.basex.query.expr.CElem.item(CElem.java:1) org.basex.query.expr.CFrag.item(CFrag.java:1) org.basex.query.expr.ParseExpr.value(ParseExpr.java:66) org.basex.query.QueryContext.value(QueryContext.java:286) org.basex.query.func.UserFunc.value(UserFunc.java:153) org.basex.query.QueryContext.value(QueryContext.java:286) org.basex.query.func.TailFuncCall.value(TailFuncCall.java:46) org.basex.query.QueryContext.value(QueryContext.java:286) org.basex.query.func.UserFunc.value(UserFunc.java:153) org.basex.query.QueryContext.value(QueryContext.java:286) org.basex.query.func.BaseFuncCall.value(BaseFuncCall.java:55) org.basex.query.func.BaseFuncCall.iter(BaseFuncCall.java:68) org.basex.query.QueryContext.iter(QueryContext.java:275) org.basex.query.QueryContext.iter(QueryContext.java:229) org.basex.query.QueryProcessor.iter(QueryProcessor.java:74) org.basex.server.QueryListener.execute(QueryListener.java:122) org.basex.server.ClientListener.query(ClientListener.java:463) org.basex.server.ClientListener.run(ClientListener.java:148)
The Query is doing ok in the BaseX Gui but fails in my Application (other queries are running like a charm).
Reformulations or similar variants of the query fail the same way. Do you have a hint what could be wrong here? What should I try next?
Thanks a lot for this great xml db!
Best regards, Bodo
Bodo,
thanks for your mail. It would be great if you could provide us with the data you're working with (which you can directly send to me), or build a small, self-contained example.
Christian
Quoted text · Bodo Hüsemann · 66 lines
Am 18.06.2012 08:25 schrieb "Bodo Hüsemann" <bodo.huesemann at gmx.de>: > Hi, > > the following xquery (BaseX721, Java, embedded server): > > for $guildchar in > collection('default')/apiresponse/guild[@name="Guild"]/characters/character > return > for $detailchar in > collection('default')/apiresponse/character > where $detailchar/@name=$guildchar/@name > return > $detailchar > > produces the exception: > java.io.IOException: Das Handle ist ungültig > java.io.RandomAccessFile.seek(Native Method) > org.basex.io.random.TableDiskAccess.readBlock(TableDiskAccess.java:519) > org.basex.io.random.TableDiskAccess.readIndex(TableDiskAccess.java:502) > org.basex.io.random.TableDiskAccess.cursor(TableDiskAccess.java:481) > org.basex.io.random.TableDiskAccess.read1(TableDiskAccess.java:189) > org.basex.data.Data.kind(Data.java:293) > org.basex.query.item.DBNode$4.next(DBNode.java:350) > org.basex.query.path.IterStep$1.next(IterStep.java:44) > org.basex.query.iter.NodeIter.next(NodeIter.java:1) > org.basex.query.path.IterPath$1.next(IterPath.java:64) > org.basex.query.iter.NodeIter.next(NodeIter.java:1) > org.basex.query.flwor.For$1.next(For.java:85) > org.basex.query.flwor.FLWR$1.next(FLWR.java:63) > org.basex.query.expr.Constr.add(Constr.java:63) > org.basex.query.expr.CElem.item(CElem.java:82) > org.basex.query.expr.CElem.item(CElem.java:1) > org.basex.query.expr.CFrag.item(CFrag.java:1) > org.basex.query.expr.ParseExpr.value(ParseExpr.java:66) > org.basex.query.QueryContext.value(QueryContext.java:286) > org.basex.query.func.UserFunc.value(UserFunc.java:153) > org.basex.query.QueryContext.value(QueryContext.java:286) > org.basex.query.func.TailFuncCall.value(TailFuncCall.java:46) > org.basex.query.QueryContext.value(QueryContext.java:286) > org.basex.query.func.UserFunc.value(UserFunc.java:153) > org.basex.query.QueryContext.value(QueryContext.java:286) > org.basex.query.func.BaseFuncCall.value(BaseFuncCall.java:55) > org.basex.query.func.BaseFuncCall.iter(BaseFuncCall.java:68) > org.basex.query.QueryContext.iter(QueryContext.java:275) > org.basex.query.QueryContext.iter(QueryContext.java:229) > org.basex.query.QueryProcessor.iter(QueryProcessor.java:74) > org.basex.server.QueryListener.execute(QueryListener.java:122) > org.basex.server.ClientListener.query(ClientListener.java:463) > org.basex.server.ClientListener.run(ClientListener.java:148) > > The Query is doing ok in the BaseX Gui but fails in my Application (other > queries are running like a charm). > > Reformulations or similar variants of the query fail the same way. Do you > have a hint what could be wrong here? What should I try next? > > Thanks a lot for this great xml db! > > Best regards, > Bodo > > _______________________________________________ > BaseX-Talk mailing list > BaseX-Talk at mailman.uni-konstanz.de > https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk >
Written for BaseX 7.3. BaseX may have changed since: please check the current documentation.