Clone Tools
  • last updated a few minutes ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
MODE-2666 Fixes the issue of the Comparators used for MapDB storage not being Serializable This commit also makes sure that when ORDER BY is used with the same column multiple times, only one occurrence is present in the query plan

  1. … 1 more file in changeset.
MODE-2661 Changes the logic of some of the Lucene queries to improve search performance The changes include both the logic of ConstantScoreWeightQuery which no longer goes through all the documents directly and also making sure to use Lucene native TermQueries when applicable. They also refactor some of the query code to use Java 8 idioms. This commit also upgrades the Lucene version to the latest 6.4.1

  1. … 14 more files in changeset.
support non-built-in namespaces in query selectors

MODE-2585, MODE-2586 Updates Lucene to 6.0.Final and changes some of the Lucene querying code The following are contained in this commit: a) changing the version to 6.0.Final and making it a private dependency of the lucene-index-provider in WF means we should now be independent of whatever version of Lucene WF/EAP comes with. ModeShape will no longer install Lucene as a first-class dependency in WF. b) with the above change, the ES index provider will use its own separate version (in this case 5.3.1.Final) and from now on can be evolved independently of the lucene-index-provider c) changing the design around the Filter#Results batching mechanism so that index providers can opt for truly lazy index results when SKIP is used. In the case of Lucene this means that the Lucene query is only run once after the first N batches have been skipped. d) changing the logic of the Lucene query making use of BitSets as opposed to loading each document during the collection phase

  1. … 41 more files in changeset.
MODE-2596 Fixes the concurrent initialization of the same workspace cache with user transactions The problem in this particular case was the fact that a user transaction off a certain thread might not have been committed while another thread was seeing the ws cache as already initialized. The solution was to make sure ws cache initialization takes place inside local transactions by suspending/resuming any potential outside transactions.

    • -18
    • +6
    ./engine/process/BufferingSequence.java
  1. … 9 more files in changeset.
MODE-2579 Fixes FTS for multi-valued properties

  1. … 2 more files in changeset.
MODE-2573 Fixes the handling of batches by the SortingSequence

  1. … 2 more files in changeset.
MODE-2564 Fixes the QueryBuilder's OFFSET and LIMIT parameter handling

  1. … 1 more file in changeset.
MODE-2564 Fixes the QueryBuilder's OFFSET and LIMIT parameter handling

  1. … 1 more file in changeset.
MODE-2527 Renames the schematic package to org.modeshape and removes all ISPN related code.

  1. … 311 more files in changeset.
MODE-2499: Executing queries from ModeShape Explorer doesn't validate dialects

  1. … 1 more file in changeset.
MODE-2499: Executing queries from ModeShape Explorer doesn't validate dialects

  1. … 1 more file in changeset.
MODE-2516 Updates JDK to 1.8 and jboss-parent to the latest version (19) This is the first significant commit of the 5.x series and contains a number of significant changes: - the naming of Maven version properties changed to adopt the standard pattern: 'version.<groupId>.<artifactId>' - build system and dependency updates so that the latest Maven plugin versions function correctly - updating source code to avoid compiler and javadoc warnings

  1. … 150 more files in changeset.
MODE-2517 Updates the re-indexing mechanism making sure changes are committed This commit also rearranges the location of the clustering configuration files.

  1. … 40 more files in changeset.
MODE-2515 Fixes the behavior of query limits when batches don't have a known size

  1. … 1 more file in changeset.
MODE-2159 Validates and fixes various Lucene queries This commit adds extensive unit test support for Lucene queries, reusing most of the tests from the LocalIndexProvider and JcrQueryManager. It fixes the node types change adapter making sure that with each primary type/mixin types change, all the information is sent to the index. It also fixes the "sync reindexing" semantic, making sure that the JcrQueryManger is notified in-thread of any changes.

  1. … 52 more files in changeset.
MODE-2159 Changes the default indexing design adding default implementations for a lot of operations These changes come the fact that both the Local index provider and the Lucene index provider have very similar logic in a lot of places involving CRUD operations on indexes starting from index definitions. Therefore, this commit "abstracts" a lot of the logic of the Local index provider and makes it default behavior. In addition, this commit also adds generic support for multi-column indexes in the form of composite IndexChangeAdapters.

  1. … 23 more files in changeset.
MODE-1903 Adds incremental reindexing via the repository configuration Each index provider can "tell" the repository if it supports incremental reindexing. If it does and the journal is enabled, the repository can be configured at startup to reindex only the changed nodes since the last successful index update time. This commit also makes several changes & fixes to the ClusteredJournal logic.

  1. … 25 more files in changeset.
MODE-2166 Adds CAST dynamic operand for JCR-SQL2.

  1. … 5 more files in changeset.
MODE-2494 Adding check whether a child node join has been reversed during query optimization, mirroring logic for SameNodeJoinCondition and EquiJoinCondition.

For some complex queries, such as:

SELECT parent.[jcr:path], child1.[jcr:name], desc.[jcr:name]

FROM [nt:unstructured] AS parent

LEFT OUTER JOIN [nt:unstructured] AS child1 ON ISCHILDNODE(child1,parent)

INNER JOIN [nt:unstructured] AS desc on ISCHILDNODE(desc, child1)

LEFT OUTER JOIN [nt:unstructured] AS child2 ON ISCHILDNODE(child2,parent)

WHERE ISCHILDNODE(parent,'/')

AND NAME(child2) = 'Hybrid'

AND NAME(desc) LIKE 'Nissan%'

the query optimizer reverses the left and right sides of the join, leading to an assertion error in ScanningQueryEngine.

This fix checks if the join has been reversed, and creates rowextractors for the opposite columns if this is the case.

Added three tests, two which are fixed by this change, and one which is still an issue, suggesting a deeper problem. For the remaining (@Ignored) test, the exception is in the DescendantNodeJoinCondition code.

This seems less simple to resolve, and probably a true fix lies in ReplaceViews or somewhere similar.

  1. … 1 more file in changeset.
MODE-2491 Fixed the LOWER and UPPER operands handling in case of multi-valued properties.

  1. … 1 more file in changeset.
  1. … 2 more files in changeset.
MODE-2473 Fixed behavior of nodeIterator#skip when entire batches coming from an index provider are skipped.

  1. … 5 more files in changeset.
MODE-2401 Added support for handling mixins which have the "noquery" type attribute and updated the code to reflect the differences between the "noquery" types and the previously existing ModeShape noquery document attribute which has a different semantic.

  1. … 38 more files in changeset.
MODE-2401 Fixed the fact that queryable children which were under parents that had the noquery attribute were not taken into account by the query engine.

  1. … 3 more files in changeset.
MODE-2448 Fixed unicode support in regex matching for FTS.

  1. … 1 more file in changeset.
MODE-2435 Fixed the sorting sequence handling of batches.

    • -2
    • +5
    ./engine/process/BufferingSequence.java
  1. … 1 more file in changeset.
MODE-2425 Fixed PATH() queries with SET criteria.

  1. … 1 more file in changeset.
MODE-2401 Updated the query & indexing SPI to handle the "noquery" type attribute.

  1. … 10 more files in changeset.
MODE-2355 Fixed several indexing related issues: - when constraint contains the OR operator and index should apply only if it applies to all the parts of the constraint - the (cost * cardinality) formula should always be used when deciding which indexes to use - when determining the node-type criteria for the index selection, always use only the less-specific node type (i.e. super-type)

  1. … 5 more files in changeset.