[bugfix] fixed concurrent access conflicts caused by wrong acquire/release sequence in WebDAV MOVE; fixed potential deadlock condition. Port of rev 8103.
[bugfix] Test for rev 8094: IndexOutOfBoundsException when retrieving attribute values > 4K (or one disk page).
[bugfix] IndexOutOfBoundsException when retrieving attribute values > 4K (or one disk page).
[bugfix] catch and recover from some errors which may not be fatal.
[bugfix] try to catch and recover from non-fatal IO errors when retrieving string value.
[bugfix] preliminary fix for concurrent access conflict, which usually led to an ArrayIndexOutOfBounds exception in NewArrayNodeSet.updateDocs.
[bugfix] using a different pageSize in conf.xml can cause corruptions in the fulltext and ngram indexes. Reason: pageSize was not properly set for those index files; it needs to be set early during database startup.
[bugfix] fixed another btree page split issue, leading to an ArrayIndexOutOfBounds, which may finally corrupt the db.
[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.
[bugfix] when scanning for journal files on startup, ignore directories named "log" or similar. Port of rev8061.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[bugfix] Bugs-2020397 XACML in Client (https://sourceforge.net/tracker/?func=detail&atid=117691&aid=2020397&group_id=17691). Port of rev8011.
[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.
[bugfix] avoid even more calls to DocumentImpl.getBroker(), which is now considered unsafe during a query.
[bugfix] avoid a few more calls to DocumentImpl.getBroker(), which is now considered unsafe during a query.
[bugfix] small bug leading to wrong query results with NewArrayNodeSet.
[bugfix] another attempt to fix the concurrency issue leading to an ArrayIndexOutOfBounds or NoSuchElement exception while querying for attributes.
[bugfix] fixed order of temporary stored XML fragments: the documents should remain in the order in which they were created
[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.
[bugfix] ValueSequence.CollectionIterator.hasNext() always returned false.
[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.
[bugfix] clustering: Fix base collection creation and non-admin replication ; patch 1951787 by Jon Fon. Port of rev 7845.
[bugfix] clustering: Fix base collection creation and non-admin replication ; patch 1951787 by Jon Fon. Port of rev 7854.
[bugfix] adding new trigger with client to existing collection.xconf ruined configuration. Patch 1873111 contributed by Laubstein.
[bugfix] fixed 1933078 (xquery function resolve-uri does not work as specified) (checked on XQTS). Port of rev 7841.
[bugfix] fixed installation issue with incorrect setting for JAVA_HOME when installing on a headless system. Only Unix seems to be affected, but we probably need to fix the .bat files as well.
[bugfix] consistency check: skip internal fields (__free_collection_id, __free_doc_id) when backing up the collection structure.
[bugfix] consistency check reported false positives (errors which were no errors) after node updates.
[bugfix] fix NullPointerException in general comparison using a range index.
[bugfix] Improved error messages and logging of error messages - merged from trunk
[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
[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.
[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
[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
[bugfix] string($empty) should return an empty string, but $empty/string() should return the empty sequence. Port of rev7792
[bugfix] fixed XUpdate memory leak, see http://www.nabble.com/Possible-memory-leak-in-eXist-td16962427.html Port of rev7791
[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
[bugfix] self:: axis not working properly with type tests, e.g. <!-- comment -->/self::element() returned the comment.
[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.
[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.
[bugfix] file upload/restore dialogs did sometimes hang in Java client.
[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
[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.
[bugfix] in-memory nodes were added to the same document though they were created in completely unrelated query expressions. Fixes bug 1938498. Port of rev 7692.
[bugfix] fixed serialization error leading to duplicate default namespace declarations on elements! Port of rev7690.
[bugfix] don't cache intermediate results within path steps on the self:: axis; Optimize needs to properly pass context id. Port of rev7679
[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
[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
[bugfix] fixed/improved caching of intermediate query results. Port of rev 7636.
[bugfix] fixed/improved caching of intermediate query results. Port of rev 7636.
[bugfix] better check for Copy/Move collection inside the same collection. Port of rev 7618.
[bugfix] avoid NullPointerException in xdb:login() if target collection does not exist. Port of rev 7605.
[bugfix] avoid NullPointerException in xdb:login() if target collection does not exist. Port of rev 7604.
[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.
[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.
[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.
[bugfix] show error if an attribute is added to an element after other child nodes. Port of rev 7563.
[bugfix] added missing support for Node.getPreviousSibling() to in-memory DOM. Port of rev 7562.
[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.
[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.
[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.
[bugfix] another node insertion bug leading to wrong node ids and eventually to a corruption. Port of rev 7548.
[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.
[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.
[bugfix] after acquiring a lock on a document, make sure to pass it a valid DBBroker instance. Using a DBBroker which belongs to a different thread leads to concurrency conflicts. This fix extends rev 7431 (make sure all situations are covered). Port of rev 7540.
[bugfix] further improved detection of duplicate attributes when constructing elements. Added test case. Port of rev. 7533.
[bugfix] improve detection of duplicate attributes added to an element node. Old code caused failures in XQTS and was inefficient. Port of rev. 7531.
[bugfix] attribute axis combined with descendant-or-self: $root//attribute(). Closes bug 1918824: http://sourceforge.net/tracker/index.php?func=detail&aid=1918824&group_id=17691&atid=117691 Port of rev. 7529.
[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.
[bugfix] xmldb:store() did not preserve comments ; backport of [7508]
[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
[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.
[bugfix] deleting an atom feed caused deadlock if exception was thrown. Backport of rev. 7466
[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.
[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
[bugfix] fixed the concurrency issue which caused the infamous (and usually fatal) "document id and proxy id differ" exceptions. Port of rev. 7431
[bugfix] Make current-datetime consistent for modules. backport of rev7405
[bugfix] XQuery optimization bug: too many and wrong results returned for some predicate expressions like contextStep[elem = 'string']. Port of rev. 7404
[bugfix] force close stream that is used to read xml instance document. Prevents locks. backport of 7380
[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
[bugfix] IndexManager.getIndexById() always returned the first configured index, thus causing ClassCastExceptions. Port of rev. 7347
[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.
[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.
