Database 'Products' contains more than one document.
Thursday, 27 October 2011 · 4 messages
CG
Dear Erol,
since 6.7 (I guess), the
fn:doc() throws an exception if a database with more than one document is called. Please use fn:collection() or db:open() instead.
ChristianQuoted text · Erol Akarsu · 17 lines
> This database has been working find with previous basex. but I just > installed 7.0.1 version and receiving this error. > > Query: let $doc := fn:doc("Products") > > return $doc > Error: [BASX0008] Database 'Products' contains more than one document. > > > Erol Akarsu > > _______________________________________________ > BaseX-Talk mailing list > BaseX-Talk at mailman.uni-konstanz.de > https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk > >
CG
Hi Erol,
how old is the database instance you have been opening? We didn't encounter any database corruptions for a longer time now, so it might be that your database has been corrupted before?
Christian
Quoted text · Erol Akarsu · 74 lines
On Thu, Oct 27, 2011 at 7:15 PM, Erol Akarsu <eakarsu at gmail.com> wrote: > Thanks Christian > > But now, I am getting "Not expected: Data Access out of bounds" error > > Query: let $doc := db:open("Newegg_Products") > > let $pics := $doc//PROP[@NAME eq "SmallImagePath"]/PVAL > (: let $list := fn:distinct-values($pics) :) > return (fn:count($pics)) > Error: Potential bug? Improper use? Your feedback is welcome: > Contact: basex-talk at mailman.uni-konstanz.de > Version: BaseX 7.0 > Java: Sun Microsystems Inc., 1.6.0_24 > OS: Linux, amd64 > Stack Trace: > java.lang.RuntimeException: Not expected: Data Access out of bounds > [pre:11180432, indexSize:43674, access:43674 > 43673]. > org.basex.util.Util.notexpected(Util.java:67) > org.basex.io.random.TableDiskAccess.cursor(TableDiskAccess.java:394) > org.basex.io.random.TableDiskAccess.read1(TableDiskAccess.java:107) > org.basex.data.Data.kind(Data.java:319) > org.basex.query.item.DBNode$4.next(DBNode.java:313) > org.basex.query.path.IterStep$1.next(IterStep.java:46) > org.basex.query.path.AxisPath.iter(AxisPath.java:323) > org.basex.query.path.AxisPath.iter(AxisPath.java:326) > org.basex.query.path.AxisPath.iter(AxisPath.java:293) > org.basex.query.QueryContext.iter(QueryContext.java:422) > org.basex.query.func.FNAggr.item(FNAggr.java:38) > org.basex.query.expr.ParseExpr.iter(ParseExpr.java:54) > org.basex.query.QueryContext.iter(QueryContext.java:422) > org.basex.query.QueryContext.iter(QueryContext.java:278) > org.basex.query.QueryContext.eval(QueryContext.java:312) > org.basex.query.QueryProcessor.execute(QueryProcessor.java:134) > org.basex.core.cmd.AQuery.query(AQuery.java:85) > org.basex.core.cmd.XQuery.run(XQuery.java:22) > org.basex.core.Command.run(Command.java:328) > org.basex.core.Command.exec(Command.java:309) > org.basex.core.Command.execute(Command.java:77) > org.basex.gui.GUI.exec(GUI.java:416) > org.basex.gui.GUI$5.run(GUI.java:366) > > > On Thu, Oct 27, 2011 at 12:29 PM, Christian Grün <christian.gruen at gmail.com> > wrote: >> >> Dear Erol, >> >> since 6.7 (I guess), the fn:doc() throws an exception if a database >> with more than one document is called. Please use fn:collection() or >> db:open() instead. >> >> Christian >> >> >> > This database has been working find with previous basex. but I just >> > installed 7.0.1 version and receiving this error. >> > >> > Query: let $doc := fn:doc("Products") >> > >> > return $doc >> > Error: [BASX0008] Database 'Products' contains more than one document. >> > >> > >> > Erol Akarsu >> > >> > _______________________________________________ >> > BaseX-Talk mailing list >> > BaseX-Talk at mailman.uni-konstanz.de >> > https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk >> > >> > > >
EA
Erol Akarsu27 Oct 2011 20:27 #
This database has been working find with previous basex. but I just installed 7.0.1 version and receiving this error.
Query: let $doc := fn:doc("Products")return $doc
Error: [BASX0008] Database 'Products' contains more than one document.
Erol Akarsu
EA
Thanks Christian
But now, I am getting "Not expected: Data Access out of bounds" error
Query: let $doc := db:open("Newegg_Products")let $pics := $doc//PROP[@NAME eq "SmallImagePath"]/PVAL
(: let $list :=
fn:distinct-values($pics) :)
return (fn:count($pics))
Error: Potential bug? Improper use? Your feedback is welcome: Contact: basex-talk at mailman.uni-konstanz.de
Version: BaseX 7.0
Java: Sun Microsystems Inc., 1.6.0_24
OS: Linux, amd64
Stack Trace:
java.lang.RuntimeException: Not expected: Data Access out of bounds [pre:11180432, indexSize:43674, access:43674 > 43673].
org.basex.util.Util.notexpected(Util.java:67)
org.basex.io.random.TableDiskAccess.cursor(TableDiskAccess.java:394) org.basex.io.random.TableDiskAccess.read1(TableDiskAccess.java:107) org.basex.data.Data.kind(Data.java:319)
org.basex.query.item.DBNode$4.next(DBNode.java:313)
org.basex.query.path.IterStep$1.next(IterStep.java:46)
org.basex.query.path.AxisPath.iter(AxisPath.java:323)
org.basex.query.path.AxisPath.iter(AxisPath.java:326)
org.basex.query.path.AxisPath.iter(AxisPath.java:293)
org.basex.query.QueryContext.iter(QueryContext.java:422)
org.basex.query.func.FNAggr.item(FNAggr.java:38)
org.basex.query.expr.ParseExpr.iter(ParseExpr.java:54)
org.basex.query.QueryContext.iter(QueryContext.java:422)
org.basex.query.QueryContext.iter(QueryContext.java:278)
org.basex.query.QueryContext.eval(QueryContext.java:312)
org.basex.query.QueryProcessor.execute(QueryProcessor.java:134) org.basex.core.cmd.AQuery.query(AQuery.java:85)
org.basex.core.cmd.XQuery.run(XQuery.java:22)
org.basex.core.Command.run(Command.java:328)
org.basex.core.Command.exec(Command.java:309)
org.basex.core.Command.execute(Command.java:77)
org.basex.gui.GUI.exec(GUI.java:416)
org.basex.gui.GUI$5.run(GUI.java:366)
On Thu, Oct 27, 2011 at 12:29 PM, Christian Grün
<christian.gruen at gmail.com>wrote:Quoted text · Christian Grün · 27 lines
> Dear Erol, > > since 6.7 (I guess), the fn:doc() throws an exception if a database > with more than one document is called. Please use fn:collection() or > db:open() instead. > > Christian > > > > This database has been working find with previous basex. but I just > > installed 7.0.1 version and receiving this error. > > > > Query: let $doc := fn:doc("Products") > > > > return $doc > > Error: [BASX0008] Database 'Products' contains more than one document. > > > > > > Erol Akarsu > > > > _______________________________________________ > > BaseX-Talk mailing list > > BaseX-Talk at mailman.uni-konstanz.de > > https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk > > > > >
Written for BaseX 7.0. BaseX may have changed since: please check the current documentation.
⚡Generated with XQuery