SVN Log for trunk

1.2 stable branch

Updates

7683 by wolfgang_m at 2008-05-01T19:07:18.148+01:00

[update] Updated commons-pool library to version 1.4. Users reported that version 1.2 caused memory leaks. Port of rev7670

Bug Fixes

8095 by wolfgang_m at 2008-08-19T17:28:16.198+01:00

[bugfix] Test for rev 8094: IndexOutOfBoundsException when retrieving attribute values > 4K (or one disk page).

8094 by wolfgang_m at 2008-08-19T14:42:13.248+01:00

[bugfix] IndexOutOfBoundsException when retrieving attribute values > 4K (or one disk page).

8091 by wolfgang_m at 2008-08-12T11:16:14.764+01:00

[bugfix] catch and recover from some errors which may not be fatal.

8090 by wolfgang_m at 2008-08-11T23:45:30.829+01:00

[bugfix] try to catch and recover from non-fatal IO errors when retrieving string value.

8089 by wolfgang_m at 2008-08-11T23:42:05.911+01:00

[bugfix] preliminary fix for concurrent access conflict, which usually led to an ArrayIndexOutOfBounds exception in NewArrayNodeSet.updateDocs.

8072 by wolfgang_m at 2008-07-31T16:37:20.086+01:00

[bugfix] fixed another btree page split issue, leading to an ArrayIndexOutOfBounds, which may finally corrupt the db.

8070 by wolfgang_m at 2008-07-30T15:41:32.756+01:00

[bugfix] fixed NPE in path expressions.

8069 by wolfgang_m at 2008-07-29T16:12:44.254+01:00

[bugfix] fixed btree page split bug leading to index corruptions (which appear as ArrayIndexOutOfBounds errors). The test case triggers the corruption by indexing a number of rather large keys (with key lengths close to the max. size of a page). It is less likely to occur with small keys.

8068 by wolfgang_m at 2008-07-28T15:30:00.151+01:00

[bugfix] when scanning for journal files on startup, ignore directories named "log" or similar. Port of rev8061.

8065 by wolfgang_m at 2008-07-27T17:25:30.953+01:00

[bugfix] Avoid NPE in let expression. Port of rev8058.

8055 by wolfgang_m at 2008-07-23T21:33:07.282+01:00

[bugfix] within an xupdate statement, ignore extra whitespace between the xupdate modification element and the first non-empty content node. Within the content, whitespace should be preserved.

8054 by wolfgang_m at 2008-07-23T10:34:19.017+01:00

[bugfix] fixed memory leak: when validating a document, xerces can consume quite a lot of memory for temporary data structures. Unfortunately, those data structures are not cleared afterwards. Pooling the XML parser can thus cause a serious memory leak. To work around those issues, eXist now checks the size of the last document that was parsed. If the document was a small one, the XML parser is pooled. For larger documents, we throw the parser away. Port of rev8053.

8041 by wolfgang_m at 2008-07-21T22:27:50.81+01:00

[bugfix] fixed [ 1991242 ] NPE in ExtFulltext - v 1.2.2 rev 7811 http://sourceforge.net/tracker/index.php?func=detail&aid=1991242&group_id=17691&atid=117691 Port of rev7975.

8040 by wolfgang_m at 2008-07-21T22:22:48.016+01:00

[bugfix] chained match listeners for match highlighting: using full text and ngram expressions at the same time caused eXist to hang in an endless loop. Port of rev7966.

8033 by wolfgang_m at 2008-07-21T20:58:55.671+01:00

[bugfix] changed server startup message to dynamically show the correct port. always showing 8080 was confusing when you tried to change ports. Port of rev7933.

8029 by wolfgang_m at 2008-07-21T20:42:55.732+01:00

[bugfix] fixed readbuffer issue of binary resources. Was (sometimes) visible during backup- restore as a NPE. for details see https://sourceforge.net/tracker/?func=detail&atid=317691&aid=1985924&group_ id=17691 Port of rev 7905.

8028 by wolfgang_m at 2008-07-21T20:38:46.114+01:00

[bugfix] fixed issues with mixed configuration of range indexes by qname and by path: if both - indexes on qname and indexes on path - are defined on a collection, eXist may need to consult ALL indexes, not just the one configured by path. Otherwise, we may miss some valid matches. Port of rev8018.

8026 by wolfgang_m at 2008-07-21T19:36:23.135+01:00

[bugfix] fixed potential NPE in FunctionCall. The NPE should never happen if the class is correctly used, but anyway, a check can't do any harm. Port of rev8016.

8023 by wolfgang_m at 2008-07-21T19:29:19.172+01:00

[bugfix] Bugs-2020397 XACML in Client (https://sourceforge.net/tracker/?func=detail&atid=117691&aid=2020397&group_id=17691). Port of rev8011.

7989 by wolfgang_m at 2008-07-10T23:19:43.637+01:00

[bugfix] eXist entered an endless loop on db startup if a stale lock file was found but couldn't be removed. This may happen if the old db instance died, but the process does still hold a lock on the file.

7902 by wolfgang_m at 2008-06-23T17:54:25.535+01:00

[bugfix] small bug leading to wrong query results with NewArrayNodeSet.

7884 by wolfgang_m at 2008-06-19T13:32:57.232+01:00

[bugfix] fixed order of temporary stored XML fragments: the documents should remain in the order in which they were created

7881 by wolfgang_m at 2008-06-18T10:19:44.348+01:00

[bugfix] quick fix for concurrency issue leading to an ArrayIndexOutOfBounds or NoSuchElement exception while querying for attributes. A final fix requires some redesign. In general, using DocumentImpl.getBroker() is not reliable and should be deprecated.

7878 by wolfgang_m at 2008-06-14T21:51:21.696+01:00

[bugfix] ValueSequence.CollectionIterator.hasNext() always returned false.

7868 by deliriumsky at 2008-06-10T14:38:36.121+01:00

[bugfix] improved logging

7859 by wolfgang_m at 2008-06-09T12:06:10.886+01:00

[bugfix] SOAP: Fix retrieveByDocument did not deal with howmany parameters. Patch 1855739 by Ubbo Veentjer ; http://sourceforge.net/support/tracker.php?aid=1855739. Port of rev 7846.

7858 by wolfgang_m at 2008-06-09T12:05:16.518+01:00

[bugfix] clustering: Fix base collection creation and non-admin replication ; patch 1951787 by Jon Fon. Port of rev 7845.

7857 by wolfgang_m at 2008-06-09T12:03:31.96+01:00

[bugfix] clustering: Fix base collection creation and non-admin replication ; patch 1951787 by Jon Fon. Port of rev 7854.

7856 by wolfgang_m at 2008-06-09T12:01:22.809+01:00

[bugfix] adding new trigger with client to existing collection.xconf ruined configuration. Patch 1873111 contributed by Laubstein.

7854 by wolfgang_m at 2008-06-09T11:52:45.889+01:00

[bugfix] fixed 1933078 (xquery function resolve-uri does not work as specified) (checked on XQTS). Port of rev 7841.

7828 by wolfgang_m at 2008-06-02T13:01:36.344+01:00

[bugfix] consistency check: skip internal fields (__free_collection_id, __free_doc_id) when backing up the collection structure.

7827 by wolfgang_m at 2008-06-02T12:54:23.474+01:00

[bugfix] consistency check reported false positives (errors which were no errors) after node updates.

7826 by wolfgang_m at 2008-06-02T12:52:04.358+01:00

[bugfix] fix NullPointerException in general comparison using a range index.

7817 by deliriumsky at 2008-05-29T09:32:57.632+01:00

[bugfix] Improved error messages and logging of error messages - merged from trunk

7810 by wolfgang_m at 2008-05-25T13:23:55.88+01:00

[bugfix] shutdown script should not depend on GUI as it is mostly used on headless systems. Don't pop up password window. Remove shutdown script from start menu. Java admin client can be used for shutdown as well. Port of rev 7808, rev7809

7807 by wolfgang_m at 2008-05-25T12:36:16.618+01:00

[bugfix] node creation bug leads to duplicate attribute on element. Fixes issue 1969560: http://sourceforge.net/tracker/index.php?func=detail&aid=1969560&group_id=17691&atid=117691. Port of rev 7800.

7806 by wolfgang_m at 2008-05-25T12:35:04.399+01:00

[bugfix] a CDATA node added after a text node should just be appended to the previous node, resulting in one text node: count((<elem>text<![CDATA[cdata]]></elem>)/text()) should return 1. Port of rev 7798 + rev 7799

7805 by wolfgang_m at 2008-05-25T12:32:02.006+01:00

[bugfix] the inner class SessionManager$TimeoutCheck needs to be public and static, otherwise it can't be instantiated by the scheduler. This fixes the SEVERE warnings about "Problem instantiating class 'org.exist.http.SessionManager$TimeoutCheck'" which were present in the 1.2.1 release. Port of rev7794

7804 by wolfgang_m at 2008-05-25T12:30:31.207+01:00

[bugfix] string($empty) should return an empty string, but $empty/string() should return the empty sequence. Port of rev7792

7803 by wolfgang_m at 2008-05-25T12:28:24.644+01:00

[bugfix] fixed XUpdate memory leak, see http://www.nabble.com/Possible-memory-leak-in-eXist-td16962427.html Port of rev7791

7801 by dizzzz at 2008-05-25T10:56:36.835+01:00

[bugfix] Fixed NPE in Xinclude filter. Port of 7782

7790 by deliriumsky at 2008-05-21T18:51:40.975+01:00

[bugfix] slight problem in the backport of ZIP stuff due to due to the introduction and use of MutableDocumentSet in 1.3 which is not present in 1.2

7755 by wolfgang_m at 2008-05-13T11:11:48.835+01:00

[bugfix] self:: axis not working properly with type tests, e.g. <!-- comment -->/self::element() returned the comment.

7750 by wolfgang_m at 2008-05-13T09:34:28.504+01:00

[bugfix] fixed regressions introduced by rev 7744.

7744 by wolfgang_m at 2008-05-09T22:47:19.024+01:00

[bugfix] allow the content of a comment to be queried, e.g.: //comment()[matches(., 'some string')] should return any comment that contains 'some string'. Port of rev 7742.

7743 by wolfgang_m at 2008-05-09T22:46:12.381+01:00

[bugfix] a query for //text() should also return text within CDATA sections. Don't wrap text into CDATA when serializing a single text node. Port of rev 7740, rev 7741.

7739 by wolfgang_m at 2008-05-09T11:58:13.447+01:00

[bugfix] file upload/restore dialogs did sometimes hang in Java client.

7737 by wolfgang_m at 2008-05-09T10:47:46.898+01:00

[bugfix] multi-db support: when deploying multiple eXist instances in the same VM, each instance s hould use its own scheduler. Further changes to get multi-db support working again. Port of rev 7725, rev 7726, rev 7727

7734 by wolfgang_m at 2008-05-09T10:15:05.593+01:00

[bugfix] XQueryContext wasn't cleared if an exception occurred during query evaluation in util:eval(). This led to memory issues (as demonstrated by the XQuery test suite). Port of rev 7693.

7691 by wolfgang_m at 2008-05-02T19:25:45.484+01:00

[bugfix] fixed serialization error leading to duplicate default namespace declarations on elements! Port of rev7690.

7688 by wolfgang_m at 2008-05-01T21:41:56.415+01:00

[bugfix] don't cache intermediate results within path steps on the self:: axis; Optimize needs to properly pass context id. Port of rev7679

7682 by wolfgang_m at 2008-05-01T19:06:05.703+01:00

[bugfix] fixed index configuration editor in Java admin client. The editor was pretty much unusable: it generated invalid XML and did not include any of the new indexing features. Port of rev7668

7658 by wolfgang_m at 2008-04-22T11:07:54.567+01:00

[bugfix] cached queries were removed from pool although timeout-check-interval="-1" was set. moved query-pool configuration to db-connection element. Port of rev7643, rev7644, rev7645, rev7646

7655 by wolfgang_m at 2008-04-22T10:08:17.368+01:00

[bugfix] fixed/improved caching of intermediate query results. Port of rev 7636.

7650 by wolfgang_m at 2008-04-22T09:28:24.284+01:00

[bugfix] better check for Copy/Move collection inside the same collection. Port of rev 7618.

7648 by wolfgang_m at 2008-04-22T09:08:55.465+01:00

[bugfix] avoid NullPointerException in xdb:login() if target collection does not exist. Port of rev 7605.

7647 by wolfgang_m at 2008-04-22T09:06:33.181+01:00

[bugfix] avoid NullPointerException in xdb:login() if target collection does not exist. Port of rev 7604.

7599 by wolfgang_m at 2008-04-03T18:15:54.866+01:00

[bugfix] a bug in a node set implementation led to a dramatic performance loss when querying larger sets of documents. Port of rev 7591. Also includes rev 7394: [bugfix] distinction between ancestor:: and ancestor-or-self:: axis was broken; ancestor:: included self.

7598 by wolfgang_m at 2008-04-03T17:50:50.981+01:00

[bugfix] when called repeatedly, e.g. in a recursive query or a nested for loop, the XQuery optimizer caused wrong query results and killed performance! Port of rev 7580.

7597 by wolfgang_m at 2008-04-03T17:48:59.885+01:00

[bugfix] I changed the way that ElementImpl.appendChild calculates an element's attribute count. The previous calculation didn't make sense, and resulted in a NullPointerException in removeAppendAttributes later if an element had a namespace but did not have any other attributes. Port of rev 7579.

7573 by wolfgang_m at 2008-03-29T19:51:50.108Z

[bugfix] show error if an attribute is added to an element after other child nodes. Port of rev 7563.

7572 by wolfgang_m at 2008-03-29T19:50:51.148Z

[bugfix] added missing support for Node.getPreviousSibling() to in-memory DOM. Port of rev 7562.

7571 by wolfgang_m at 2008-03-29T19:48:17.157Z

[bugfix] an attribute may not be added to an element after an atomic value. See XQTS test Constr-cont-attr-1. Port of rev 7561.

7570 by wolfgang_m at 2008-03-29T19:46:17.943Z

[bugfix] a dynamically constructed text node with empty content does not count as a node. See XQTS test Constr-text-count-5. Port of rev 7560.

7569 by wolfgang_m at 2008-03-29T19:43:43.89Z

[bugfix] show error if an attribute is added to an element after other child nodes: element elem {element a {}, $input-context//west/@mark}. Port of rev 7559.

7551 by wolfgang_m at 2008-03-26T11:05:31.759Z

[bugfix] another node insertion bug leading to wrong node ids and eventually to a corruption. Port of rev 7548.

7550 by wolfgang_m at 2008-03-26T10:51:39.792Z

[bugfix] wrong computation of sibling node ids causes database corruptions after inserting nodes via XUpdate or XQuery update extensions. This is a serious issue, which is not easy to reproduce as you need a certain sequence of node removals followed by node insertions. However, it is likely that users experience the bug sooner or later. The problem appears if one is inserting nodes into a gap in the node tree, say 1.5.6 is the first child node of 1.5 (1.5.1 to 1.5.5 were removed previously). eXist should fill up the available node ids, i.e. 1.5.1 to 1.5.5, but it should not use 1.5.6 (since that node does already exist). Instead the node between 1.5.5 and 1.5.6 should become 1.5.5/1. Otherwise, a duplicate 1.5.6 would be written and cause the db to become corrupt. Port of rev 7547.

7543 by wolfgang_m at 2008-03-24T20:06:57.196Z

[bugfix] fixed locking issue which considerably slowed down eXist in a multi-threaded environment: a thread waiting for a resource lock waited for at least 500ms. it was not notified of the released lock. Port of rev 7542.

7538 by wolfgang_m at 2008-03-23T14:20:13.701Z

[bugfix] improve detection of duplicate attributes added to an element node. Old code caused failures in XQTS and was inefficient. Port of rev. 7531.

7525 by wolfgang_m at 2008-03-21T18:27:05.587Z

[bugfix] Bad query optimization leads to performance loss: repeatedly checking if index can be used costs too much time. Cache check results instead. Port of rev. 7522.

7510 by dizzzz at 2008-03-11T21:45:46.545Z

[bugfix] xmldb:store() did not preserve comments ; backport of [7508]

7480 by wolfgang_m at 2008-03-04T19:16:23.033Z

[bugfix] Update the dynamic context properties from the current parent context before reusing an XQuery. This in particular applies to util:eval(). Not updating the context led to strange query errors (variables not found, old HTTP context being used). Port of rev. 7479

7472 by wolfgang_m at 2008-03-02T21:28:13.404Z

[bugfix] complete rev. 7467: to preserve transactional integrity, all permissions required for removing a collection have to be checked before any data is removed. Port of rev. 7468.

7469 by wolfgang_m at 2008-03-02T21:00:55.615Z

[bugfix] deleting an atom feed caused deadlock if exception was thrown. Backport of rev. 7466

7446 by wolfgang_m at 2008-02-25T22:13:12.49Z

[bugfix] fixed the concurrency issue which caused the infamous (and usually fatal) "document id and proxy id differ" exceptions. Previous backport of rev. 7431 was incomplete due to a recent redesign of the DocumentSet class.

7435 by wolfgang_m at 2008-02-23T18:15:38.603Z

[bugfix] storing too large index keys (larger than the size of a single page) led to corruptions in the btree. eXist should ignore such keys. The size calculation was wrong though: some bytes are needed for length fields and pointers. Port of rev. 7375

7433 by wolfgang_m at 2008-02-23T10:59:14.216Z

[bugfix] fixed the concurrency issue which caused the infamous (and usually fatal) "document id and proxy id differ" exceptions. Port of rev. 7431

7407 by dizzzz at 2008-02-15T07:37:16.617Z

[bugfix] Make current-datetime consistent for modules. backport of rev7405

7406 by wolfgang_m at 2008-02-14T21:49:00.885Z

[bugfix] XQuery optimization bug: too many and wrong results returned for some predicate expressions like contextStep[elem = 'string']. Port of rev. 7404

7383 by dizzzz at 2008-02-10T21:13:22.691Z

[bugfix] force close stream that is used to read xml instance document. Prevents locks. backport of 7380

7371 by wolfgang_m at 2008-02-07T22:12:13.523Z

[bugfix] a bug in the defragmentation routine led to database corruptions (exception: "bad link to next page") after node updates through XUpdate or XQuery update extensions. Port of rev. 7370

7352 by wolfgang_m at 2008-02-04T09:45:28.319Z

[bugfix] IndexManager.getIndexById() always returned the first configured index, thus causing ClassCastExceptions. Port of rev. 7347

7351 by wolfgang_m at 2008-02-04T09:42:35.49Z

[bugfix] fixed bug in computation of node ids (DLN.precedingSibling), which could lead to all kinds of strange errors (nodes not found, corrupted documents after node update, ...). Fortunately, the bug did only occur with very specific node ids. Port of rev. 7350.

7341 by wolfgang_m at 2008-02-01T11:46:26.25Z

[bugfix] query optimization causes error "Unsupported execution mode -1" in predicate expression. Example: declare function local:test() { <test><elem parm1="test" parm2="test"/></test>/elem[@parm1 = "test" and @parm2 = "test"] }; local:test() Backport of rev. 7340 from trunk.