You can subscribe to this list here.
2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(22) |
Nov
(85) |
Dec
(20) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2010 |
Jan
(47) |
Feb
(127) |
Mar
(268) |
Apr
(78) |
May
(47) |
Jun
(38) |
Jul
(131) |
Aug
(221) |
Sep
(187) |
Oct
(54) |
Nov
(111) |
Dec
(84) |
2011 |
Jan
(152) |
Feb
(106) |
Mar
(94) |
Apr
(90) |
May
(53) |
Jun
(20) |
Jul
(24) |
Aug
(37) |
Sep
(32) |
Oct
(70) |
Nov
(22) |
Dec
(15) |
2012 |
Jan
(33) |
Feb
(110) |
Mar
(24) |
Apr
(1) |
May
(11) |
Jun
(8) |
Jul
(12) |
Aug
(37) |
Sep
(39) |
Oct
(81) |
Nov
(38) |
Dec
(50) |
2013 |
Jan
(23) |
Feb
(53) |
Mar
(23) |
Apr
(5) |
May
(19) |
Jun
(16) |
Jul
(16) |
Aug
(9) |
Sep
(21) |
Oct
(1) |
Nov
(2) |
Dec
(8) |
2014 |
Jan
(16) |
Feb
(6) |
Mar
(27) |
Apr
(1) |
May
(10) |
Jun
(1) |
Jul
(4) |
Aug
(10) |
Sep
(19) |
Oct
(22) |
Nov
(4) |
Dec
(6) |
2015 |
Jan
(3) |
Feb
(6) |
Mar
(9) |
Apr
|
May
(11) |
Jun
(23) |
Jul
(14) |
Aug
(10) |
Sep
(10) |
Oct
(9) |
Nov
(18) |
Dec
(4) |
2016 |
Jan
(5) |
Feb
(5) |
Mar
|
Apr
(2) |
May
(15) |
Jun
(2) |
Jul
(8) |
Aug
(2) |
Sep
(6) |
Oct
|
Nov
|
Dec
|
2017 |
Jan
(2) |
Feb
(12) |
Mar
(22) |
Apr
(6) |
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
(5) |
Oct
(2) |
Nov
|
Dec
|
2018 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
|
Jun
(5) |
Jul
(3) |
Aug
|
Sep
(7) |
Oct
(19) |
Nov
|
Dec
|
2021 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2022 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(3) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Evgeny G. <gaz...@gm...> - 2011-02-01 12:34:58
|
2011/2/1 Pierrick Brihaye <pie...@fr...> > > Is an exception really required? > I guess it is. IMHO, you shouldn't be able to create a document with such a > URI. That's where we should have an exception AFAIC :-) > > Why? new URI("/an:foo/an:bar") is working as well In the db the char ":" will be encoded (escaped). Also code like xs:anyURI("http://localhost:5550/an:form-generator/an:address-geography") work as well too. As I see the exception in this part of code: if( !XMLDB_SCHEME.equals( xmldbURI.getScheme() ) ) { throw( new URISyntaxException( xmldbURI.toString(), "xmldb URI scheme does not start with " + XMLDB_URI_PREFIX ) ); } is filtering the URI statarted from "xmldb:" from any other URI. Question: is it realy required? If "yes" we can add parameter for checking what we are creating: path (with URI scheme) or subpath. I'd tried next code: boolean hadXmldbPrefix = false; > > if( xmldbURI.getScheme() != null ) { > > //if( !XMLDB_SCHEME.equals( xmldbURI.getScheme() ) ) { > // throw( new URISyntaxException( xmldbURI.toString(), > "xmldb URI scheme does not start with " + XMLDB_URI_PREFIX ) ); > //} > if( XMLDB_SCHEME.equals( xmldbURI.getScheme() ) ) { > hadXmldbPrefix = true; > } > xmldbURI = new URI( xmldbURI.toString().substring( > XMLDB_URI_PREFIX.length() ) ); > //hadXmldbPrefix = true; > } > parseURI( xmldbURI, hadXmldbPrefix ); > Like, all are workin as well. -- Evgeny |
From: Pierrick B. <pie...@fr...> - 2011-02-01 12:22:08
|
Hi, Le 01/02/2011 12:58, Evgeny Gazdovsky a écrit : > So we can create the docs that contains ":" in the it's name. but can't > use one like doc("/db/foo:bar.xml") or doc-available("/db/foo:bar.xml"). Honestly, what is the gain for such a URI ? Would you use it on your file system if you ever could ? > Can we close years for the URI's scheme? Many years ago, I've introduced this XmldbURI class. My purposes were : 1) to ensure that a valid XmldbURI is used everywhere in eXist 2) to branch easily configurable resolvers For performance problems (at least on that time's JDKs), work has stopped and I have tried to comment every use of URIs processed as... Strings nearly everywhere in eXist. There is still much work to be done in this area. A little bit after, someone contributed a *huge* patch wich XmldbURI rewriting whose rationale I can't understand. That made me definitively stop my efforts in the XmldbURI area :-) Since then, we've had no contribution at all on this class. > Is an exception really required? I guess it is. IMHO, you shouldn't be able to create a document with such a URI. That's where we should have an exception AFAIC :-) Cheers, p.b. |
From: Evgeny G. <gaz...@gm...> - 2011-02-01 11:58:22
|
Hello! Just we have next code in the XmldbURI.java (lines 111-121): boolean hadXmldbPrefix = false; > > if( xmldbURI.getScheme() != null ) { > > if( !XMLDB_SCHEME.equals( xmldbURI.getScheme() ) ) { > throw( new URISyntaxException( xmldbURI.toString(), "xmldb > URI scheme does not start with " + XMLDB_URI_PREFIX ) ); > } > xmldbURI = new URI( xmldbURI.toString().substring( > XMLDB_URI_PREFIX.length() ) ); > hadXmldbPrefix = true; > } > parseURI( xmldbURI, hadXmldbPrefix ); > So we can create the docs that contains ":" in the it's name. but can't use one like doc("/db/foo:bar.xml") or doc-available("/db/foo:bar.xml"). Becouse the part "foo:bar" have scheme "foo" that not equals to "xmldb". But in same time "foo:bar" is not full path of URI, but is subpart. Can we close years for the URI's scheme? Is an exception really required? -- Evgeny |
From: Wolfgang M. <wol...@ex...> - 2011-02-01 09:01:43
|
Hi Joe, No, the optimizer does not handle this (yet). We should indeed add it to the tuning guide. Wolfgang Am 31.01.2011 13:29 schrieb "Joe Wicentowski" <jo...@gm...>: > Wolfgang, > > Gary's e-mail had me searching the archives, and I came across this > interesting point you raised: > > On Tue, Dec 15, 2009 at 5:00 PM, Wolfgang Meier <wol...@ex...> wrote: >>>> Note that using subsequence instead of the predicate can be a lot >>>> faster sometimes. >>> >>> I didn't realize that. Can you generalize about when subsequence >>> would be faster? And would you say it's always at least as fast as >>> the predicate? >> >> Mike used position() within the predicate: [position() = (1 to 10)]. >> This will indeed be slower than a corresponding subsequence($input, 1, >> 10). Reason: the predicate has to be evaluated once for every item in >> the context sequence. This doesn't make a big difference if you have a >> simple expression like $a[position() = (1 to 10)], but it could result >> in a substantial performance loss for more complex expressions >> involving a path expression like a//*/b[position() = (1 to 10)]. >> >> To be on the safe side, I would recommend subsequence() if you need to >> select *more than one* item. > > To confirm, is this still the case? Or is the query optimizer now > taking care of this case? > > If it is still the case, it seems to me this would really be worth > adding to the Performance Tuning article - do you agree? > > Thanks, > Joe |
From: Вячеслав С. <sch...@gm...> - 2011-01-31 20:35:21
|
thank you very much - just great 2011/1/31 Dmitriy Shabanov <sha...@gm...>: > The problem here is around second use of util:binary-doc object. So, it's > not a zip problem any more. > > On Mon, Jan 31, 2011 at 11:23 PM, Dannes Wessels <da...@ex...> > wrote: >> >> I implemented recently withthe instructions on >> https://secure.wikimedia.org/wikibooks/en/wiki/XQuery/Get_zipped_XML_file >> .... which worked just fine for me. > > > -- > Dmitriy Shabanov > |
From: Dmitriy S. <sha...@gm...> - 2011-01-31 19:18:59
|
The problem here is around second use of util:binary-doc object. So, it's not a zip problem any more. On Mon, Jan 31, 2011 at 11:23 PM, Dannes Wessels <da...@ex...>wrote: > I implemented recently withthe instructions on > https://secure.wikimedia.org/wikibooks/en/wiki/XQuery/Get_zipped_XML_file.... which worked just fine for me. > -- Dmitriy Shabanov |
From: Dannes W. <da...@ex...> - 2011-01-31 18:23:48
|
I implemented recently withthe instructions on https://secure.wikimedia.org/wikibooks/en/wiki/XQuery/Get_zipped_XML_file .... which worked just fine for me. D. On 31 Jan 2011, at 18:16 , Dmitriy Shabanov wrote: > This workaround do work for me Kind regards Dannes -- eXist-db Native XML Database - http://exist-db.org Join us on linked-in: http://www.linkedin.com/groups?gid=35624 |
From: <Lar...@ie...> - 2011-01-31 17:46:24
|
Hi Leif-Jöran, the question from 2010-12-20 is solved. I sent Wolfgang some XML-Data and he adviced me to use the new eXist 1.5 because also an optimised query was processed to slow with eXist 1.4 In this mail I refer to an an other query which seems to be not optimal cause the eXist-Log has > TRACE (Optimize.java [getQNameIndexType]:291) - Cannot optimize: collection /db/loewe-a3/tocs/layers/txsf_u8 does not define an index on start > TRACE (Optimize.java [eval]:169) - exist:optimize: Cannot optimize expression. and the Query is processed way to slow, compared to the Saxon-Processor. Thanks for your help LOK --- Ursprüngliche Nachricht --- Datum: 31.01.2011 16:49 Von: Leif-Jöran Olsson <lj...@ex...> An: Lars-Olof Krause <Lar...@ie...> Betreff: Re: [Exist-development] Index Configuration // Performance Issue > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Dear Lars-Olof, I think the majority of the questions originating from > your 2010-12-20 letter on the subject of Performance problem are still > without answer from you. I have not seen any xml snippet so I suspect > you only sent it to Wolfgang? > > Cheers, > Leif-Jöran > > Den 2011-01-31 15:50, Lars-Olof Krause skrev: > > Hi, > > > > I write the the development-list cause I got no answer from the > > open-list and the question is somehow related to the development cause > > it deals with performance issues. > > > > I got an quite complex xQuery which processes the whole collection > > using an Saxon-Processor in several seconds. > > Using my eXist1.5 the process of one Dokument takes way longer than the > > processing of the whole collection using the saxon-processor. > > > > Since my eXist-Log shows > > TRACE (Optimize.java [getQNameIndexType]:291) - Cannot optimize: > > collection /db/loewe-a3/tocs/layers/txsf_u8 does not define an index on > > start > > TRACE (Optimize.java [eval]:169) - exist:optimize: Cannot optimize > > expression. > > > > Something has to be wrong with my indexes. > > > > Can someone tell me which indexes I should configure for the following > > xquery-script or which changes I could do to improve the > > script-performance? > > > > Thanks so much. > > > > LOK > > > > xQuery: > > ---------------------------------------- > > xquery version "1.0"; > > > > declare boundary-space strip; > > > > declare namespace xsf="http://www.xstandoff.net/2009/xstandoff/1.1"; > > declare namespace xsi="http://www.w3.org/2001/XMLSchema-instance"; > > declare namespace tocs="http://taurus.zmi.uni-giessen.de/tocs"; > > declare namespace terms="http://taurus.zmi.uni-giessen.de/terms"; > > declare namespace cnxde="http://www.text-technology.de/cnxde"; > > declare namespace my="http://www.taurus.zmi.uni-giessen.de/my"; > > declare default element namespace > > "http://www.xstandoff.net/2009/xstandoff/1.1"; > > > > declare function my:primdata($node as node(), $start as xs:integer, > > $end as xs:integer) as xs:string { > > substring($node, $start + 1 , $end - $start) > > }; > > > > declare function my:term2lemmaRep($termSegment as node(), $d as node()) > > as xs:string { > > let $token := $d//cnxde:token[./id(@xsf:segment)/@start+0 ge > > $termSegment/@start+0][./id(@xsf:segment)/@end+0 le > > $termSegment/@end+0] > > return string(($token[1]/@lemma)) > > }; > > > > <result-document> > > { > > let $doc := > > doc("loewe-a3/tocs/layers/txsf_u8/raithel_paedagogik_2007-txsf.xml") > > let $text := $doc//xsf:textualContent > > > > return > > for $child in $doc//tocs:label > > > > let $childSegment := $child/id(@xsf:segment) > > let $childRange := my:primdata($text, $childSegment/@start, > > $childSegment/@end) > > > > let $childTerm := ($doc//terms:term/id(@xsf:segment)[@start+0 > > ge $childSegment/@start+0][@end+0 le $childSegment/@end+0])[1] > > > > where $childTerm > > return > > let $childTermRange := my:primdata($text, $childTerm/@start, > > $childTerm/@end) > > let $childTermLemmaRep := my:term2lemmaRep($childTerm,$doc) > > > > let $self := > > $child/../../../preceding-sibling::tocs:item[1]/tocs:label[1] > > > > let $selfSegment := $self/id(@xsf:segment) > > let $selfRange := my:primdata($text, $selfSegment/@start, > > $selfSegment/@end) > > > > where $self and ( contains($selfRange, "Disziplinen") or > > contains($selfRange, "Subdisziplinen") or > > contains($selfRange, "Fachrichtungen") or > > contains($selfRange, "Hauptrichtungen") or > > contains($selfRange, "gebiete") or > > contains($selfRange, "fächer") or > > contains($selfRange, "Bereiche") or > > contains($selfRange, "Zweige") ) > > > > > > return > > let $parent := > > $self/../../../preceding-sibling::tocs:item[1]/tocs:label[1] > > let $parentSegment := $parent/id(@xsf:segment) > > let $parentRange := my:primdata($text, $parentSegment/@start, > > $parentSegment/@end) > > > > let $parentTerm := ($doc//terms:term/id(@xsf:segment)[@start ge > > $parentSegment/@start][@end le $parentSegment/@end])[1] > > > > where $parentTerm > > return > > let $parentTermRange := my:primdata($text, $parentTerm/@start, > > $parentTerm/@end) > > let $termLemmaRep := my:term2lemmaRep($parentTerm, $doc) > > return > > <construction> > > <parent> > > <label>{$parentRange}</label> > > <term>{$parentTermRange}</term> > > <termLemmaRep>{$termLemmaRep}</termLemmaRep> > > > > </parent> > > <self> > > <label>{$selfRange}</label> > > </self> > > <child> > > <label>{$childRange}</label> > > <term>{$childTermRange}</term> > > <termLemmaRep>{$childTermLemmaRep}</termLemmaRep> > > </child> > > </construction> > > } > > </result-document> > > > > > > ------------------------------------------------------------------------------ > > Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! > > Finally, a world-class log management solution at an even better price-free! > > Download using promo code Free_Logger_4_Dev2Dev. Offer expires > > February 28th, so secure your free ArcSight Logger TODAY! > > http://p.sf.net/sfu/arcsight-sfd2d > > _______________________________________________ > > Exist-development mailing list > > Exi...@li... > > https://lists.sourceforge.net/lists/listinfo/exist-development > > > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v2.0.16 (GNU/Linux) > Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/ > > iD8DBQFNRtn7hcIn5aVXOPIRAuG1AJ93y+rvVIH8AsZdJDlFf6+gGdqjxQCgsUgr > 64BjQZkxg2jaq8jmKIgZxww= > =kjxn > -----END PGP SIGNATURE----- > |
From: Dmitriy S. <sha...@gm...> - 2011-01-31 17:16:08
|
This workaround do work for me xquery version "1.0"; declare namespace zip = "zip"; declare variable $zip:entry-filter as function := util:function(xs:QName('zip:entry-filter'), 3); declare variable $zip:entry-data as function := util:function(xs:QName('zip:entry-data'), 4); declare function zip:entry-filter($path, $type, $param){ true() }; declare function zip:entry-data($path, $type, $data, $param){ <entry path="{xmldb:encode-uri($path)}" type="{$type}">{$data}</entry> }; declare function zip:unzip-docx($content){ compression:unzip($content, $zip:entry-filter, (), $zip:entry-data, ()) }; let $docx := '/db/test2.docx' return <root><xml>{zip:unzip-docx(util:binary-doc($docx))}</xml><bin>{string(util:binary-doc($docx))}</bin></root> 2011/1/31 Вячеслав Седов <sch...@gm...> > it still not work - so i prefer not use first words that can escape > from my head about this > > probably i need to try picketing german embassy to fix this problem ASAP > > 31 января 2011 г. 15:32 пользователь Joe Wicentowski <jo...@gm...> > написал: > > 2011/1/31 Вячеслав Седов <sch...@gm...>: > >> no words > > > > We're not mind readers. You're going to need to use words, I'm afraid. > :) > > > > Joe > > > > > ------------------------------------------------------------------------------ > Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! > Finally, a world-class log management solution at an even better > price-free! > Download using promo code Free_Logger_4_Dev2Dev. Offer expires > February 28th, so secure your free ArcSight Logger TODAY! > http://p.sf.net/sfu/arcsight-sfd2d > _______________________________________________ > Exist-development mailing list > Exi...@li... > https://lists.sourceforge.net/lists/listinfo/exist-development > -- Dmitriy Shabanov |
From: Leif-Jöran O. <lj...@ex...> - 2011-01-31 15:49:27
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Dear Lars-Olof, I think the majority of the questions originating from your 2010-12-20 letter on the subject of Performance problem are still without answer from you. I have not seen any xml snippet so I suspect you only sent it to Wolfgang? Cheers, Leif-Jöran Den 2011-01-31 15:50, Lars-Olof Krause skrev: > Hi, > > I write the the development-list cause I got no answer from the > open-list and the question is somehow related to the development cause > it deals with performance issues. > > I got an quite complex xQuery which processes the whole collection > using an Saxon-Processor in several seconds. > Using my eXist1.5 the process of one Dokument takes way longer than the > processing of the whole collection using the saxon-processor. > > Since my eXist-Log shows > TRACE (Optimize.java [getQNameIndexType]:291) - Cannot optimize: > collection /db/loewe-a3/tocs/layers/txsf_u8 does not define an index on > start > TRACE (Optimize.java [eval]:169) - exist:optimize: Cannot optimize > expression. > > Something has to be wrong with my indexes. > > Can someone tell me which indexes I should configure for the following > xquery-script or which changes I could do to improve the > script-performance? > > Thanks so much. > > LOK > > xQuery: > ---------------------------------------- > xquery version "1.0"; > > declare boundary-space strip; > > declare namespace xsf="http://www.xstandoff.net/2009/xstandoff/1.1"; > declare namespace xsi="http://www.w3.org/2001/XMLSchema-instance"; > declare namespace tocs="http://taurus.zmi.uni-giessen.de/tocs"; > declare namespace terms="http://taurus.zmi.uni-giessen.de/terms"; > declare namespace cnxde="http://www.text-technology.de/cnxde"; > declare namespace my="http://www.taurus.zmi.uni-giessen.de/my"; > declare default element namespace > "http://www.xstandoff.net/2009/xstandoff/1.1"; > > declare function my:primdata($node as node(), $start as xs:integer, > $end as xs:integer) as xs:string { > substring($node, $start + 1 , $end - $start) > }; > > declare function my:term2lemmaRep($termSegment as node(), $d as node()) > as xs:string { > let $token := $d//cnxde:token[./id(@xsf:segment)/@start+0 ge > $termSegment/@start+0][./id(@xsf:segment)/@end+0 le > $termSegment/@end+0] > return string(($token[1]/@lemma)) > }; > > <result-document> > { > let $doc := > doc("loewe-a3/tocs/layers/txsf_u8/raithel_paedagogik_2007-txsf.xml") > let $text := $doc//xsf:textualContent > > return > for $child in $doc//tocs:label > > let $childSegment := $child/id(@xsf:segment) > let $childRange := my:primdata($text, $childSegment/@start, > $childSegment/@end) > > let $childTerm := ($doc//terms:term/id(@xsf:segment)[@start+0 > ge $childSegment/@start+0][@end+0 le $childSegment/@end+0])[1] > > where $childTerm > return > let $childTermRange := my:primdata($text, $childTerm/@start, > $childTerm/@end) > let $childTermLemmaRep := my:term2lemmaRep($childTerm,$doc) > > let $self := > $child/../../../preceding-sibling::tocs:item[1]/tocs:label[1] > > let $selfSegment := $self/id(@xsf:segment) > let $selfRange := my:primdata($text, $selfSegment/@start, > $selfSegment/@end) > > where $self and ( contains($selfRange, "Disziplinen") or > contains($selfRange, "Subdisziplinen") or > contains($selfRange, "Fachrichtungen") or > contains($selfRange, "Hauptrichtungen") or > contains($selfRange, "gebiete") or > contains($selfRange, "fächer") or > contains($selfRange, "Bereiche") or > contains($selfRange, "Zweige") ) > > > return > let $parent := > $self/../../../preceding-sibling::tocs:item[1]/tocs:label[1] > let $parentSegment := $parent/id(@xsf:segment) > let $parentRange := my:primdata($text, $parentSegment/@start, > $parentSegment/@end) > > let $parentTerm := ($doc//terms:term/id(@xsf:segment)[@start ge > $parentSegment/@start][@end le $parentSegment/@end])[1] > > where $parentTerm > return > let $parentTermRange := my:primdata($text, $parentTerm/@start, > $parentTerm/@end) > let $termLemmaRep := my:term2lemmaRep($parentTerm, $doc) > return > <construction> > <parent> > <label>{$parentRange}</label> > <term>{$parentTermRange}</term> > <termLemmaRep>{$termLemmaRep}</termLemmaRep> > > </parent> > <self> > <label>{$selfRange}</label> > </self> > <child> > <label>{$childRange}</label> > <term>{$childTermRange}</term> > <termLemmaRep>{$childTermLemmaRep}</termLemmaRep> > </child> > </construction> > } > </result-document> > > > ------------------------------------------------------------------------------ > Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! > Finally, a world-class log management solution at an even better price-free! > Download using promo code Free_Logger_4_Dev2Dev. Offer expires > February 28th, so secure your free ArcSight Logger TODAY! > http://p.sf.net/sfu/arcsight-sfd2d > _______________________________________________ > Exist-development mailing list > Exi...@li... > https://lists.sourceforge.net/lists/listinfo/exist-development > -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.16 (GNU/Linux) Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/ iD8DBQFNRtn7hcIn5aVXOPIRAuG1AJ93y+rvVIH8AsZdJDlFf6+gGdqjxQCgsUgr 64BjQZkxg2jaq8jmKIgZxww= =kjxn -----END PGP SIGNATURE----- |
From: <Lar...@ie...> - 2011-01-31 14:50:26
|
Hi, I write the the development-list cause I got no answer from the open-list and the question is somehow related to the development cause it deals with performance issues. I got an quite complex xQuery which processes the whole collection using an Saxon-Processor in several seconds. Using my eXist1.5 the process of one Dokument takes way longer than the processing of the whole collection using the saxon-processor. Since my eXist-Log shows TRACE (Optimize.java [getQNameIndexType]:291) - Cannot optimize: collection /db/loewe-a3/tocs/layers/txsf_u8 does not define an index on start TRACE (Optimize.java [eval]:169) - exist:optimize: Cannot optimize expression. Something has to be wrong with my indexes. Can someone tell me which indexes I should configure for the following xquery-script or which changes I could do to improve the script-performance? Thanks so much. LOK xQuery: ---------------------------------------- xquery version "1.0"; declare boundary-space strip; declare namespace xsf="http://www.xstandoff.net/2009/xstandoff/1.1"; declare namespace xsi="http://www.w3.org/2001/XMLSchema-instance"; declare namespace tocs="http://taurus.zmi.uni-giessen.de/tocs"; declare namespace terms="http://taurus.zmi.uni-giessen.de/terms"; declare namespace cnxde="http://www.text-technology.de/cnxde"; declare namespace my="http://www.taurus.zmi.uni-giessen.de/my"; declare default element namespace "http://www.xstandoff.net/2009/xstandoff/1.1"; declare function my:primdata($node as node(), $start as xs:integer, $end as xs:integer) as xs:string { substring($node, $start + 1 , $end - $start) }; declare function my:term2lemmaRep($termSegment as node(), $d as node()) as xs:string { let $token := $d//cnxde:token[./id(@xsf:segment)/@start+0 ge $termSegment/@start+0][./id(@xsf:segment)/@end+0 le $termSegment/@end+0] return string(($token[1]/@lemma)) }; <result-document> { let $doc := doc("loewe-a3/tocs/layers/txsf_u8/raithel_paedagogik_2007-txsf.xml") let $text := $doc//xsf:textualContent return for $child in $doc//tocs:label let $childSegment := $child/id(@xsf:segment) let $childRange := my:primdata($text, $childSegment/@start, $childSegment/@end) let $childTerm := ($doc//terms:term/id(@xsf:segment)[@start+0 ge $childSegment/@start+0][@end+0 le $childSegment/@end+0])[1] where $childTerm return let $childTermRange := my:primdata($text, $childTerm/@start, $childTerm/@end) let $childTermLemmaRep := my:term2lemmaRep($childTerm,$doc) let $self := $child/../../../preceding-sibling::tocs:item[1]/tocs:label[1] let $selfSegment := $self/id(@xsf:segment) let $selfRange := my:primdata($text, $selfSegment/@start, $selfSegment/@end) where $self and ( contains($selfRange, "Disziplinen") or contains($selfRange, "Subdisziplinen") or contains($selfRange, "Fachrichtungen") or contains($selfRange, "Hauptrichtungen") or contains($selfRange, "gebiete") or contains($selfRange, "fächer") or contains($selfRange, "Bereiche") or contains($selfRange, "Zweige") ) return let $parent := $self/../../../preceding-sibling::tocs:item[1]/tocs:label[1] let $parentSegment := $parent/id(@xsf:segment) let $parentRange := my:primdata($text, $parentSegment/@start, $parentSegment/@end) let $parentTerm := ($doc//terms:term/id(@xsf:segment)[@start ge $parentSegment/@start][@end le $parentSegment/@end])[1] where $parentTerm return let $parentTermRange := my:primdata($text, $parentTerm/@start, $parentTerm/@end) let $termLemmaRep := my:term2lemmaRep($parentTerm, $doc) return <construction> <parent> <label>{$parentRange}</label> <term>{$parentTermRange}</term> <termLemmaRep>{$termLemmaRep}</termLemmaRep> </parent> <self> <label>{$selfRange}</label> </self> <child> <label>{$childRange}</label> <term>{$childTermRange}</term> <termLemmaRep>{$childTermLemmaRep}</termLemmaRep> </child> </construction> } </result-document> |
From: Вячеслав С. <sch...@gm...> - 2011-01-31 13:22:31
|
it still not work - so i prefer not use first words that can escape from my head about this probably i need to try picketing german embassy to fix this problem ASAP 31 января 2011 г. 15:32 пользователь Joe Wicentowski <jo...@gm...> написал: > 2011/1/31 Вячеслав Седов <sch...@gm...>: >> no words > > We're not mind readers. You're going to need to use words, I'm afraid. :) > > Joe > |
From: Joe W. <jo...@gm...> - 2011-01-31 12:32:52
|
2011/1/31 Вячеслав Седов <sch...@gm...>: > no words We're not mind readers. You're going to need to use words, I'm afraid. :) Joe |
From: Joe W. <jo...@gm...> - 2011-01-31 12:29:17
|
Wolfgang, Gary's e-mail had me searching the archives, and I came across this interesting point you raised: On Tue, Dec 15, 2009 at 5:00 PM, Wolfgang Meier <wol...@ex...> wrote: >>> Note that using subsequence instead of the predicate can be a lot >>> faster sometimes. >> >> I didn't realize that. Can you generalize about when subsequence >> would be faster? And would you say it's always at least as fast as >> the predicate? > > Mike used position() within the predicate: [position() = (1 to 10)]. > This will indeed be slower than a corresponding subsequence($input, 1, > 10). Reason: the predicate has to be evaluated once for every item in > the context sequence. This doesn't make a big difference if you have a > simple expression like $a[position() = (1 to 10)], but it could result > in a substantial performance loss for more complex expressions > involving a path expression like a//*/b[position() = (1 to 10)]. > > To be on the safe side, I would recommend subsequence() if you need to > select *more than one* item. To confirm, is this still the case? Or is the query optimizer now taking care of this case? If it is still the case, it seems to me this would really be worth adding to the Performance Tuning article - do you agree? Thanks, Joe |
From: Вячеслав С. <sch...@gm...> - 2011-01-31 11:01:58
|
no words |
From: Dannes W. <da...@ex...> - 2011-01-30 11:27:53
|
All, It is great to see much activity on the database; lot's fixes, features in trunk...... 1.5 promises to be great! Recently there have been some changes in lib/core and start.config; please note that this area is a bit sensitive. For years we have tried to keep lib/core as small ass possible. The idea is that if one only needs the xmldb or xmlrpc driver, just a few jar files are needed. a few reasons: - we are also able to keep the download size of the webstart-client as small as possible - for e.g. the oxgygenxml editor just a few jars (xmldb.jar, exist.jar and the xmlrpc jars) are needed basically, you extend the list of required jar files, the consequence is that at least these two subjects need to be investigated. An additional consequence for the webstart client is that other jar files need to get signed as well (and a list must be changed to include the new jar file as well) SO if a new jar file is required for 'client/embeded/local' mode, please check and test this. If a developer doesn't test this, and the webstart client stopped to work, the developer basically introduced a (avoidable) regression issue. This will not make good friends. Thnx Dannes -- Dannes Wessels eXist-db Open Source Native XML Database e: da...@ex... w: http://www.exist-db.org |
From: Andrzej J. T. <an...@ch...> - 2011-01-29 19:30:33
|
Adam: > Indeed, an oversight by myself. Its now been corrected to use reflection... Thanks for the quick fix....everything compiles clean again! Awesome! -- Andrzej Taramina Chaeron Corporation: Enterprise System Solutions http://www.chaeron.com |
From: Adam R. <ad...@ex...> - 2011-01-29 18:06:16
|
> I don't think it's a good idea to have a compile dependency on an external, commercial package like > XEP!!! Indeed, an oversight by myself. Its now been corrected to use reflection... > > -- > Andrzej Taramina > Chaeron Corporation: Enterprise System Solutions > http://www.chaeron.com > -- Adam Retter eXist Developer { United Kingdom } ad...@ex... irc://irc.freenode.net/existdb |
From: Andrzej J. T. <an...@ch...> - 2011-01-29 17:46:35
|
OK....your last checkin seems to have fixed the missing file problem! But now I get the following error: > /mnt/windows/d/dev/exist/extensions/modules/src/org/exist/xquery/modules/xslfo/RenderHouseXepProcessorAdapter.java:3: package com.renderx.xep does not exist > [javac] import com.renderx.xep.FOTarget; > [javac] ^ > [javac] /mnt/windows/d/dev/exist/extensions/modules/src/org/exist/xquery/modules/xslfo/RenderHouseXepProcessorAdapter.java:4: package com.renderx.xep does not exist > [javac] import com.renderx.xep.FormatterImpl; > [javac] ^ > [javac] /mnt/windows/d/dev/exist/extensions/modules/src/org/exist/xquery/modules/xslfo/RenderHouseXepProcessorAdapter.java:5: package com.renderx.xep.lib does not exist > [javac] import com.renderx.xep.lib.FormatterException; > [javac] ^ > [javac] /mnt/windows/d/dev/exist/extensions/modules/src/org/exist/xquery/modules/xslfo/RenderHouseXepProcessorAdapter.java:22: cannot find symbol > [javac] symbol : class FormatterImpl > [javac] location: class org.exist.xquery.modules.xslfo.RenderHouseXepProcessorAdapter > [javac] private FormatterImpl formatter = null; > [javac] ^ > [javac] /mnt/windows/d/dev/exist/extensions/modules/src/org/exist/xquery/modules/xslfo/RenderHouseXepProcessorAdapter.java:34: cannot find symbol > [javac] symbol : class FormatterImpl > [javac] location: class org.exist.xquery.modules.xslfo.RenderHouseXepProcessorAdapter > [javac] formatter = new FormatterImpl(new DOMSource((Node)configFile)); > [javac] ^ > [javac] /mnt/windows/d/dev/exist/extensions/modules/src/org/exist/xquery/modules/xslfo/RenderHouseXepProcessorAdapter.java:36: cannot find symbol > [javac] symbol : class FormatterImpl > [javac] location: class org.exist.xquery.modules.xslfo.RenderHouseXepProcessorAdapter > [javac] formatter = new FormatterImpl(new DOMSource((Node)configFile), parameters); > [javac] ^ > [javac] /mnt/windows/d/dev/exist/extensions/modules/src/org/exist/xquery/modules/xslfo/RenderHouseXepProcessorAdapter.java:39: cannot find symbol > [javac] symbol : class FOTarget > [javac] location: class org.exist.xquery.modules.xslfo.RenderHouseXepProcessorAdapter > [javac] FOTarget foTarget = new FOTarget(os, backendType); > [javac] ^ > [javac] /mnt/windows/d/dev/exist/extensions/modules/src/org/exist/xquery/modules/xslfo/RenderHouseXepProcessorAdapter.java:39: cannot find symbol > [javac] symbol : class FOTarget > [javac] location: class org.exist.xquery.modules.xslfo.RenderHouseXepProcessorAdapter > [javac] FOTarget foTarget = new FOTarget(os, backendType); > [javac] ^ > [javac] /mnt/windows/d/dev/exist/extensions/modules/src/org/exist/xquery/modules/xslfo/RenderHouseXepProcessorAdapter.java:42: cannot find symbol > [javac] symbol : class FormatterException > [javac] location: class org.exist.xquery.modules.xslfo.RenderHouseXepProcessorAdapter > [javac] } catch (FormatterException fe) { I don't think it's a good idea to have a compile dependency on an external, commercial package like XEP!!! -- Andrzej Taramina Chaeron Corporation: Enterprise System Solutions http://www.chaeron.com |
From: Adam R. <ad...@ex...> - 2011-01-29 17:46:06
|
It will build now, unfortunately that change snuck into an earlier commit than I would have liked... On 29 January 2011 18:36, Andrzej Jan Taramina <an...@ch...> wrote: > FO module won't build this morning.... > >> [javac] /mnt/windows/d/dev/exist/extensions/modules/src/org/exist/xquery/modules/xslfo/XSLFOModule.java:73: cannot find symbol >> [javac] symbol : class ProcessorAdapter >> [javac] location: class org.exist.xquery.modules.xslfo.XSLFOModule >> [javac] private ProcessorAdapter adapter = null; >> [javac] ^ >> [javac] /mnt/windows/d/dev/exist/extensions/modules/src/org/exist/xquery/modules/xslfo/XSLFOModule.java:75: cannot find symbol >> [javac] symbol : class ProcessorAdapter >> [javac] location: class org.exist.xquery.modules.xslfo.XSLFOModule >> [javac] public synchronized ProcessorAdapter getProcessorAdapter() { >> [javac] ^ >> [javac] /mnt/windows/d/dev/exist/extensions/modules/src/org/exist/xquery/modules/xslfo/XSLFOModule.java:83: cannot find symbol >> [javac] symbol : class ProcessorAdapter >> [javac] location: class org.exist.xquery.modules.xslfo.XSLFOModule >> [javac] Class<ProcessorAdapter> clazzAdapter = (Class<ProcessorAdapter>)Class.forName(processorAdapter); >> [javac] ^ >> [javac] /mnt/windows/d/dev/exist/extensions/modules/src/org/exist/xquery/modules/xslfo/XSLFOModule.java:83: cannot find symbol >> [javac] symbol : class ProcessorAdapter >> [javac] location: class org.exist.xquery.modules.xslfo.XSLFOModule >> [javac] Class<ProcessorAdapter> clazzAdapter = (Class<ProcessorAdapter>)Class.forName(processorAdapter); > > Did some Jar files change perhaps? > > Thx! > > -- > Andrzej Taramina > Chaeron Corporation: Enterprise System Solutions > http://www.chaeron.com > > ------------------------------------------------------------------------------ > Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! > Finally, a world-class log management solution at an even better price-free! > Download using promo code Free_Logger_4_Dev2Dev. Offer expires > February 28th, so secure your free ArcSight Logger TODAY! > http://p.sf.net/sfu/arcsight-sfd2d > _______________________________________________ > Exist-development mailing list > Exi...@li... > https://lists.sourceforge.net/lists/listinfo/exist-development > -- Adam Retter eXist Developer { United Kingdom } ad...@ex... irc://irc.freenode.net/existdb |
From: Andrzej J. T. <an...@ch...> - 2011-01-29 17:35:45
|
FO module won't build this morning.... > [javac] /mnt/windows/d/dev/exist/extensions/modules/src/org/exist/xquery/modules/xslfo/XSLFOModule.java:73: cannot find symbol > [javac] symbol : class ProcessorAdapter > [javac] location: class org.exist.xquery.modules.xslfo.XSLFOModule > [javac] private ProcessorAdapter adapter = null; > [javac] ^ > [javac] /mnt/windows/d/dev/exist/extensions/modules/src/org/exist/xquery/modules/xslfo/XSLFOModule.java:75: cannot find symbol > [javac] symbol : class ProcessorAdapter > [javac] location: class org.exist.xquery.modules.xslfo.XSLFOModule > [javac] public synchronized ProcessorAdapter getProcessorAdapter() { > [javac] ^ > [javac] /mnt/windows/d/dev/exist/extensions/modules/src/org/exist/xquery/modules/xslfo/XSLFOModule.java:83: cannot find symbol > [javac] symbol : class ProcessorAdapter > [javac] location: class org.exist.xquery.modules.xslfo.XSLFOModule > [javac] Class<ProcessorAdapter> clazzAdapter = (Class<ProcessorAdapter>)Class.forName(processorAdapter); > [javac] ^ > [javac] /mnt/windows/d/dev/exist/extensions/modules/src/org/exist/xquery/modules/xslfo/XSLFOModule.java:83: cannot find symbol > [javac] symbol : class ProcessorAdapter > [javac] location: class org.exist.xquery.modules.xslfo.XSLFOModule > [javac] Class<ProcessorAdapter> clazzAdapter = (Class<ProcessorAdapter>)Class.forName(processorAdapter); Did some Jar files change perhaps? Thx! -- Andrzej Taramina Chaeron Corporation: Enterprise System Solutions http://www.chaeron.com |
From: Andrzej J. T. <an...@ch...> - 2011-01-28 23:22:46
|
Wolfgang: > Just remove stats.dbx from your data directory. It is an experimental feature and not needed for > normal operations. I guess you enabled it in conf.xml. Its probably safer to disable it. Yup...I have it enabled. Not really sure why. Is there any performance impact to having it turned on? I just blew away all indexes and then reindexed the db (triggered the reindex from the sandbox...that fixed everything. Might be nice to be able to reindex from the admin web page? As for which version I'm running: Version: 1.5.0dev SVN Revision: 1166, so it's back from late July....still haven't upgraded to the new security stuff that was done and caused a db incompatibility, because it's a pita to reload a whole production db. ;-) But I'll get round that that soon. -- Andrzej Taramina Chaeron Corporation: Enterprise System Solutions http://www.chaeron.com |
From: Wolfgang M. <wol...@ex...> - 2011-01-28 20:55:49
|
Just remove stats.dbx from your data directory. It is an experimental feature and not needed for normal operations. I guess you enabled it in conf.xml. Its probably safer to disable it. Wolfgang Am 28.01.2011 21:11 schrieb "Andrzej Jan Taramina" <an...@ch...>: > I got this on startup of eXist.... > >> 2011-01-28 13:24:22,882 [main] ERROR (BrokerPool.java [configure]:238) - Unable to initialialize database instance 'exist': null >> java.nio.BufferUnderflowException >> at java.nio.Buffer.nextGetIndex(Buffer.java:480) >> at java.nio.HeapByteBuffer.getInt(HeapByteBuffer.java:336) >> at org.exist.storage.statistics.NodeStats.read(NodeStats.java:145) >> at org.exist.storage.statistics.NodeStats.read(NodeStats.java:150) >> at org.exist.storage.statistics.NodeStats.read(NodeStats.java:150) >> at org.exist.storage.statistics.DataGuide$NodeStatsRoot.read(DataGuide.java:146) >> at org.exist.storage.statistics.DataGuide.read(DataGuide.java:120) >> at org.exist.storage.statistics.IndexStatistics.open(IndexStatistics.java:73) >> at org.exist.indexing.IndexManager.initIndex(IndexManager.java:97) >> at org.exist.indexing.IndexManager.<init>(IndexManager.java:77) >> at org.exist.storage.BrokerPool.initialize(BrokerPool.java:775) >> at org.exist.storage.BrokerPool.<init>(BrokerPool.java:661) >> at org.exist.storage.BrokerPool.configure(BrokerPool.java:216) >> at org.exist.storage.BrokerPool.configure(BrokerPool.java:188) > > Just wondering what would cause it...and what the best way to fix it might be. It's from a > production database, which went down due to a power outage, so something that doesn't require me to > reload the whole database would be good! > > Thanks! > > -- > Andrzej Taramina > Chaeron Corporation: Enterprise System Solutions > http://www.chaeron.com |
From: Joe W. <jo...@gm...> - 2011-01-28 20:26:58
|
Andrzej, > I got this on startup of eXist.... To get this thread going: What version? Joe |
From: Andrzej J. T. <an...@ch...> - 2011-01-28 20:12:06
|
I got this on startup of eXist.... > 2011-01-28 13:24:22,882 [main] ERROR (BrokerPool.java [configure]:238) - Unable to initialialize database instance 'exist': null > java.nio.BufferUnderflowException > at java.nio.Buffer.nextGetIndex(Buffer.java:480) > at java.nio.HeapByteBuffer.getInt(HeapByteBuffer.java:336) > at org.exist.storage.statistics.NodeStats.read(NodeStats.java:145) > at org.exist.storage.statistics.NodeStats.read(NodeStats.java:150) > at org.exist.storage.statistics.NodeStats.read(NodeStats.java:150) > at org.exist.storage.statistics.DataGuide$NodeStatsRoot.read(DataGuide.java:146) > at org.exist.storage.statistics.DataGuide.read(DataGuide.java:120) > at org.exist.storage.statistics.IndexStatistics.open(IndexStatistics.java:73) > at org.exist.indexing.IndexManager.initIndex(IndexManager.java:97) > at org.exist.indexing.IndexManager.<init>(IndexManager.java:77) > at org.exist.storage.BrokerPool.initialize(BrokerPool.java:775) > at org.exist.storage.BrokerPool.<init>(BrokerPool.java:661) > at org.exist.storage.BrokerPool.configure(BrokerPool.java:216) > at org.exist.storage.BrokerPool.configure(BrokerPool.java:188) Just wondering what would cause it...and what the best way to fix it might be. It's from a production database, which went down due to a power outage, so something that doesn't require me to reload the whole database would be good! Thanks! -- Andrzej Taramina Chaeron Corporation: Enterprise System Solutions http://www.chaeron.com |