You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by "Ildar Absalyamov (Code Review)" <do...@asterixdb.incubator.apache.org> on 2015/10/17 21:51:25 UTC

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Ildar Absalyamov has uploaded a new change for review.

  https://asterix-gerrit.ics.uci.edu/461

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................

ASTERIXDB-1109: Fixed deletion of records from open secondary index

- Separated InsertDeleteOperator into two distinct operators
- Added a rule, which reuses PK vars, retrieved from datascan\idxLookup
- Changed plan printer for insert\delete\idxInsert\idxDelete operators
- Modified plan printer to skip repeated parts of the plan under replicate operator

Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
---
M asterix-algebra/src/main/java/org/apache/asterix/algebra/base/LogicalOperatorDeepCopyVisitor.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/ConstantFoldingRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceAutogenerateIDRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceDynamicTypeCastRule.java
A asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceMaterializationForInsertDeleteWithSelfScanRule.java
D asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceMaterializationForInsertWithSelfScanRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceSecondaryIndexInsertDeleteRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceStaticTypeCastForInsertRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/RemoveSortInFeedIngestionRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/ReplaceSinkOpWithCommitOpRule.java
A asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SubstitutePKFromDataScanOrUnnestRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/UnnestToDataScanRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java
M asterix-algebra/src/main/java/org/apache/asterix/translator/AqlExpressionToPlanTranslator.java
M asterix-algebra/src/main/java/org/apache/asterix/translator/CompiledStatements.java
A asterix-app/data/index-join/results.adm
A asterix-app/data/index-join/tw_messages.adm
A asterix-app/data/index-join/tw_users.adm
A asterix-app/data/nontagged/allData.adm
D asterix-app/data/nontagged/allData.json
M asterix-app/src/main/java/org/apache/asterix/api/common/APIFramework.java
M asterix-app/src/main/java/org/apache/asterix/api/common/AsterixHyracksIntegrationUtil.java
M asterix-app/src/main/java/org/apache/asterix/api/common/SessionConfig.java
M asterix-app/src/main/java/org/apache/asterix/api/http/servlet/APIServlet.java
M asterix-app/src/main/java/org/apache/asterix/api/http/servlet/ConnectorAPIServlet.java
M asterix-app/src/main/java/org/apache/asterix/api/http/servlet/QueryStatusAPIServlet.java
M asterix-app/src/main/java/org/apache/asterix/api/http/servlet/RESTAPIServlet.java
M asterix-app/src/main/java/org/apache/asterix/api/http/servlet/ShutdownAPIServlet.java
M asterix-app/src/main/java/org/apache/asterix/aql/translator/AqlTranslator.java
M asterix-app/src/main/java/org/apache/asterix/result/ResultUtils.java
M asterix-app/src/main/resources/webui/querytemplate.html
A asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-delete-secondary-index-btree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-delete-secondary-index-keyword.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-delete-secondary-index-ngram.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-insert-secondary-index-btree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-insert-secondary-index-keyword.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-insert-secondary-index-ngram.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-insert-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-delete-secondary-index-btree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-delete-secondary-index-keyword.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-delete-secondary-index-ngram.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-insert-secondary-index-btree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-insert-secondary-index-keyword.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-insert-secondary-index-ngram.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-insert-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-delete-secondary-index-btree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-delete-secondary-index-keyword.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-delete-secondary-index-ngram.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-insert-secondary-index-btree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-insert-secondary-index-keyword.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-insert-secondary-index-ngram.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-insert-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-delete-secondary-index-btree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-delete-secondary-index-keyword.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-delete-secondary-index-ngram.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-insert-secondary-index-btree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-insert-secondary-index-keyword.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-insert-secondary-index-ngram.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-insert-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-delete-secondary-index-btree.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-delete-secondary-index-keyword.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-delete-secondary-index-ngram.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-insert-secondary-index-btree.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-insert-secondary-index-keyword.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-insert-secondary-index-ngram.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-insert-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-delete-secondary-index-btree.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-delete-secondary-index-keyword.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-delete-secondary-index-ngram.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-insert-secondary-index-btree.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-insert-secondary-index-keyword.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-insert-secondary-index-ngram.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-insert-secondary-index-rtree.aql
M asterix-app/src/test/resources/optimizerts/queries/scan-delete-all.aql
D asterix-app/src/test/resources/optimizerts/queries/scan-delete-rtree-secondary-index.aql
A asterix-app/src/test/resources/optimizerts/queries/scan-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/scan-delete-secondary-index-btree.aql
A asterix-app/src/test/resources/optimizerts/queries/scan-delete-secondary-index-keyword.aql
A asterix-app/src/test/resources/optimizerts/queries/scan-delete-secondary-index-ngram.aql
A asterix-app/src/test/resources/optimizerts/queries/scan-delete-secondary-index-rtree.aql
M asterix-app/src/test/resources/optimizerts/queries/scan-delete.aql
A asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index-btree.aql
A asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index-keyword.aql
A asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index-ngram.aql
A asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index-rtree.aql
D asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index.aql
M asterix-app/src/test/resources/optimizerts/queries/scan-insert.aql
A asterix-app/src/test/resources/optimizerts/queries/unnest-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/unnest-delete-secondary-index-btree.aql
A asterix-app/src/test/resources/optimizerts/queries/unnest-delete-secondary-index-keyword.aql
A asterix-app/src/test/resources/optimizerts/queries/unnest-delete-secondary-index-ngram.aql
A asterix-app/src/test/resources/optimizerts/queries/unnest-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/unnest-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/unnest-insert-secondary-index-btree.aql
A asterix-app/src/test/resources/optimizerts/queries/unnest-insert-secondary-index-keyword.aql
A asterix-app/src/test/resources/optimizerts/queries/unnest-insert-secondary-index-ngram.aql
A asterix-app/src/test/resources/optimizerts/queries/unnest-insert-secondary-index-rtree.aql
M asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-1.plan
M asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-2.plan
M asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-3.plan
M asterix-app/src/test/resources/optimizerts/results/inlined_q18_large_volume_customer.plan
M asterix-app/src/test/resources/optimizerts/results/insert-and-scan-dataset-with-index.plan
M asterix-app/src/test/resources/optimizerts/results/insert-and-scan-dataset.plan
M asterix-app/src/test/resources/optimizerts/results/insert-and-scan-joined-datasets.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/ngram-edit-distance-inline.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/ngram-edit-distance.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/ngram-fuzzyeq-edit-distance.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/olist-edit-distance-inline.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/olist-edit-distance.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/olist-fuzzyeq-edit-distance.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/leftouterjoin-probe-pidx-with-join-jaccard-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance-check_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance-check_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance-check_04.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance-contains.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-fuzzyeq-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-fuzzyeq-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance-check_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance-check_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance-check_04.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-fuzzyeq-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-fuzzyeq-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/word-jaccard-check-after-btree-access.plan
M asterix-app/src/test/resources/optimizerts/results/join-super-key_01.plan
M asterix-app/src/test/resources/optimizerts/results/loj-super-key_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-jaccard-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/ngram-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/ngram-edit-distance-contains.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/ngram-edit-distance-inline.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/ngram-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/ngram-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/olist-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/olist-edit-distance-inline.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/olist-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/olist-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/word-jaccard-check-after-btree-access.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-insert-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-insert-secondary-index-rtree.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-check_02.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-check_03.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-check_04.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-contains.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-inline.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-fuzzyeq-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-fuzzyeq-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-fuzzyeq-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/word-jaccard-check-after-btree-access.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-insert-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-insert-secondary-index-rtree.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-check_02.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-check_03.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-check_04.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-check_inline_03.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-contains.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance_inline_03.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-fuzzyeq-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-fuzzyeq-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-fuzzyeq-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/word-jaccard-check-after-btree-access.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-insert-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-insert-secondary-index-rtree.plan
M asterix-app/src/test/resources/optimizerts/results/query-issue827-2.plan
M asterix-app/src/test/resources/optimizerts/results/query_issue849-2.plan
M asterix-app/src/test/resources/optimizerts/results/query_issue849.plan
M asterix-app/src/test/resources/optimizerts/results/scan-delete-all.plan
D asterix-app/src/test/resources/optimizerts/results/scan-delete-rtree-secondary-index.plan
A asterix-app/src/test/resources/optimizerts/results/scan-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/scan-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/scan-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/scan-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/scan-delete-secondary-index-rtree.plan
M asterix-app/src/test/resources/optimizerts/results/scan-delete.plan
A asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index-rtree.plan
D asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index.plan
M asterix-app/src/test/resources/optimizerts/results/scan-insert.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/dont-skip-primary-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/skip-ngram-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/skip-rtree-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/skip-secondary-btree-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/skip-word-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/split-materialization-above-join.plan
M asterix-app/src/test/resources/optimizerts/results/split-materialization.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-insert-secondary-index-rtree.plan
M asterix-app/src/test/resources/runtimets/queries/dml/insert-and-scan-dataset-with-index-on-open-field/insert-and-scan-dataset-with-index-on-open-field.1.ddl.aql
A asterix-app/src/test/resources/runtimets/queries/index-join/btree-index-nested-loop-join/btree-index-nested-loop-join.1.ddl.aql
A asterix-app/src/test/resources/runtimets/queries/index-join/btree-index-nested-loop-join/btree-index-nested-loop-join.2.update.aql
A asterix-app/src/test/resources/runtimets/queries/index-join/btree-index-nested-loop-join/btree-index-nested-loop-join.3.query.aql
D asterix-app/src/test/resources/runtimets/queries/index-join/btree-secondary-equi-join/btree-secondary-equi-join.1.ddl.aql
D asterix-app/src/test/resources/runtimets/queries/index-join/btree-secondary-equi-join/btree-secondary-equi-join.2.update.aql
D asterix-app/src/test/resources/runtimets/queries/index-join/btree-secondary-equi-join/btree-secondary-equi-join.3.ddl.aql
D asterix-app/src/test/resources/runtimets/queries/index-join/btree-secondary-equi-join/btree-secondary-equi-join.4.query.aql
A asterix-app/src/test/resources/runtimets/queries/index-join/btree-secondary-equi-join_01/btree-secondary-equi-join_01.1.ddl.aql
A asterix-app/src/test/resources/runtimets/queries/index-join/btree-secondary-equi-join_01/btree-secondary-equi-join_01.2.update.aql
A asterix-app/src/test/resources/runtimets/queries/index-join/btree-secondary-equi-join_01/btree-secondary-equi-join_01.3.ddl.aql
A asterix-app/src/test/resources/runtimets/queries/index-join/btree-secondary-equi-join_01/btree-secondary-equi-join_01.4.query.aql
A asterix-app/src/test/resources/runtimets/queries/index-join/btree-secondary-equi-join_02/btree-secondary-equi-join_02.1.ddl.aql
A asterix-app/src/test/resources/runtimets/queries/index-join/btree-secondary-equi-join_02/btree-secondary-equi-join_02.2.update.aql
A asterix-app/src/test/resources/runtimets/queries/index-join/btree-secondary-equi-join_02/btree-secondary-equi-join_02.3.ddl.aql
A asterix-app/src/test/resources/runtimets/queries/index-join/btree-secondary-equi-join_02/btree-secondary-equi-join_02.4.query.aql
A asterix-app/src/test/resources/runtimets/queries/index-join/btree-secondary-equi-join_03/btree-secondary-equi-join_03.1.ddl.aql
A asterix-app/src/test/resources/runtimets/queries/index-join/btree-secondary-equi-join_03/btree-secondary-equi-join_03.2.update.aql
A asterix-app/src/test/resources/runtimets/queries/index-join/btree-secondary-equi-join_03/btree-secondary-equi-join_03.3.ddl.aql
A asterix-app/src/test/resources/runtimets/queries/index-join/btree-secondary-equi-join_03/btree-secondary-equi-join_03.4.query.aql
D asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/enforced-field-name-collision/enforced-field-name-collision.1.ddl.aql
A asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/index-type-collision/index-type-collision.1.ddl.aql
A asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/index-type-promotion-collision/index-type-promotion-collision.1.ddl.aql
R asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/record-type-collision/record-collision.1.ddl.aql
A asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.1.ddl.aql
A asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.2.update.aql
A asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.3.ddl.aql
A asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.4.query.aql
A asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.5.ddl.aql
A asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.6.query.aql
A asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.1.ddl.aql
A asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.2.update.aql
A asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.3.ddl.aql
A asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.4.query.aql
A asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.5.query.aql
A asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.6.query.aql
M asterix-app/src/test/resources/runtimets/queries/scan/alltypes_01/alltypes_01.1.ddl.aql
M asterix-app/src/test/resources/runtimets/queries/scan/alltypes_02/alltypes_02.1.ddl.aql
M asterix-app/src/test/resources/runtimets/results/dml/insert-and-scan-dataset-with-index-on-open-field/insert-and-scan-dataset-with-index-on-open-field.1.adm
A asterix-app/src/test/resources/runtimets/results/index-join/btree-index-nested-loop-join/btree-index-nested-loop-join.1.adm
R asterix-app/src/test/resources/runtimets/results/index-join/btree-secondary-equi-join_01/btree-secondary-equi-join_01.1.adm
C asterix-app/src/test/resources/runtimets/results/index-join/btree-secondary-equi-join_02/btree-secondary-equi-join_02.1.adm
C asterix-app/src/test/resources/runtimets/results/index-join/btree-secondary-equi-join_03/btree-secondary-equi-join_03.1.adm
A asterix-app/src/test/resources/runtimets/results/json/int01-cleanjson/int01.1.json
A asterix-app/src/test/resources/runtimets/results/json/int01-losslessjson/int01.1.json
D asterix-app/src/test/resources/runtimets/results/json/int01/int01.1.json
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.1.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.2.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index/multi-index.1.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index/multi-index.2.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index/multi-index.3.adm
A asterix-app/src/test/resources/runtimets/results/scan/alltypes_01-cleanjson/alltypes_01.1.json
A asterix-app/src/test/resources/runtimets/results/scan/alltypes_01-losslessjson/alltypes_01.1.json
M asterix-app/src/test/resources/runtimets/results/scan/alltypes_01/alltypes_01.1.adm
M asterix-app/src/test/resources/runtimets/results/scan/alltypes_02/alltypes_02.1.adm
M asterix-app/src/test/resources/runtimets/testsuite.xml
M asterix-common/src/test/java/org/apache/asterix/test/aql/TestsUtils.java
A asterix-docker/docker/.gitattributes
A asterix-docker/docker/Dockerfile
A asterix-docker/docker/asterix-configuration.xml
A asterix-docker/docker/fbm.adm
A asterix-docker/docker/fbu.adm
A asterix-docker/docker/supervisord.conf
A asterix-docker/docker/twm.adm
A asterix-docker/docker/twu.adm
A asterix-docker/pom.xml
M asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/AqlIndex.java
M asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/AqlMetadataProvider.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/ABinaryBase64Printer.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/ABinaryHexPrinter.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/ABinaryPrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/ABooleanPrinter.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/ABooleanPrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/ACirclePrinter.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/ACirclePrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/ADatePrinter.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/ADatePrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/ADateTimePrinter.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/ADateTimePrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/ADayTimeDurationPrinter.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/ADayTimeDurationPrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/ADoublePrinter.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/ADoublePrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/ADurationPrinter.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/ADurationPrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/AFloatPrinter.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/AFloatPrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/AInt16Printer.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/AInt16PrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/AInt32Printer.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/AInt32PrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/AInt64Printer.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/AInt64PrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/AInt8Printer.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/AInt8PrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/AIntervalPrinter.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/AIntervalPrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/ALinePrinter.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/ALinePrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/ANullPrinter.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/ANullPrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/ANullableFieldPrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/AObjectPrinter.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/AObjectPrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/AOrderedlistPrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/APoint3DPrinter.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/APoint3DPrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/APointPrinter.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/APointPrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/APolygonPrinter.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/APolygonPrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/ARecordPrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/ARectanglePrinter.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/ARectanglePrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/AStringPrinter.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/AStringPrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/ATimePrinter.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/ATimePrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/AUUIDPrinter.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/AUUIDPrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/AUnionPrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/AUnorderedlistPrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/AYearMonthDurationPrinter.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/AYearMonthDurationPrinterFactory.java
M asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/PrintTools.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/ShortWithoutTypeInfoPrinter.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/ShortWithoutTypeInfoPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/ABinaryBase64Printer.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/ABinaryHexPrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/ABinaryPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/ABooleanPrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/ABooleanPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/ACirclePrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/ACirclePrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/ADatePrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/ADatePrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/ADateTimePrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/ADateTimePrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/ADayTimeDurationPrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/ADayTimeDurationPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/ADoublePrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/ADoublePrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/ADurationPrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/ADurationPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/AFloatPrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/AFloatPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/AInt16Printer.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/AInt16PrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/AInt32Printer.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/AInt32PrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/AInt64Printer.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/AInt64PrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/AInt8Printer.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/AInt8PrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/AIntervalPrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/AIntervalPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/ALinePrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/ALinePrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/ANullPrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/ANullPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/ANullableFieldPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/AObjectPrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/AObjectPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/AOrderedlistPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/APoint3DPrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/APoint3DPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/APointPrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/APointPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/APolygonPrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/APolygonPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/ARecordPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/ARectanglePrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/ARectanglePrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/AStringPrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/AStringPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/ATimePrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/ATimePrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/AUUIDPrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/AUUIDPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/AUnionPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/AUnorderedlistPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/AYearMonthDurationPrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/AYearMonthDurationPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/ShortWithoutTypeInfoPrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/ShortWithoutTypeInfoPrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/ABooleanPrinter.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/ABooleanPrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/ACirclePrinter.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/ACirclePrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/ADatePrinter.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/ADatePrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/ADateTimePrinter.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/ADateTimePrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/ADayTimeDurationPrinter.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/ADayTimeDurationPrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/ADoublePrinter.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/ADoublePrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/ADurationPrinter.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/ADurationPrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/AFloatPrinter.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/AFloatPrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/AInt16Printer.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/AInt16PrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/AInt32Printer.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/AInt32PrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/AInt64Printer.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/AInt64PrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/AInt8Printer.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/AInt8PrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/AIntervalPrinter.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/AIntervalPrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/ALinePrinter.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/ALinePrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/ANullPrinter.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/ANullPrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/ANullableFieldPrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/AObjectPrinter.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/AObjectPrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/AOrderedlistPrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/APoint3DPrinter.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/APoint3DPrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/APointPrinter.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/APointPrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/APolygonPrinter.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/APolygonPrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/ARecordPrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/ARectanglePrinter.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/ARectanglePrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/AStringPrinter.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/AStringPrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/ATimePrinter.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/ATimePrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/AUnionPrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/AUnorderedlistPrinterFactory.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/AYearMonthDurationPrinter.java
D asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/AYearMonthDurationPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/ABinaryHexPrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/ABinaryPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/ABooleanPrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/ABooleanPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/ACirclePrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/ACirclePrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/ADatePrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/ADatePrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/ADateTimePrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/ADateTimePrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/ADayTimeDurationPrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/ADayTimeDurationPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/ADoublePrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/ADoublePrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/ADurationPrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/ADurationPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/AFloatPrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/AFloatPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/AInt16Printer.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/AInt16PrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/AInt32Printer.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/AInt32PrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/AInt64Printer.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/AInt64PrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/AInt8Printer.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/AInt8PrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/AIntervalPrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/AIntervalPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/ALinePrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/ALinePrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/ANullPrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/ANullPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/ANullableFieldPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/AObjectPrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/AObjectPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/AOrderedlistPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/APoint3DPrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/APoint3DPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/APointPrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/APointPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/APolygonPrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/APolygonPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/ARecordPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/ARectanglePrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/ARectanglePrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/AStringPrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/AStringPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/ATimePrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/ATimePrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/AUUIDPrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/AUUIDPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/AUnionPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/AUnorderedlistPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/AYearMonthDurationPrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/AYearMonthDurationPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/ABinaryHexPrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/ABinaryPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/ABooleanPrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/ABooleanPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/ACirclePrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/ACirclePrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/ADatePrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/ADatePrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/ADateTimePrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/ADateTimePrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/ADayTimeDurationPrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/ADayTimeDurationPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/ADoublePrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/ADoublePrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/ADurationPrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/ADurationPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/AFloatPrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/AFloatPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/AInt16Printer.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/AInt16PrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/AInt32Printer.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/AInt32PrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/AInt64Printer.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/AInt64PrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/AInt8Printer.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/AInt8PrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/AIntervalPrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/AIntervalPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/ALinePrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/ALinePrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/ANullPrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/ANullPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/ANullableFieldPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/AObjectPrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/AObjectPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/AOrderedlistPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/APoint3DPrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/APoint3DPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/APointPrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/APointPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/APolygonPrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/APolygonPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/ARecordPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/ARectanglePrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/ARectanglePrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/AStringPrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/AStringPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/ATimePrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/ATimePrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/AUUIDPrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/AUUIDPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/AUnionPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/AUnorderedlistPrinterFactory.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/AYearMonthDurationPrinter.java
A asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/AYearMonthDurationPrinterFactory.java
M asterix-om/src/main/java/org/apache/asterix/formats/base/IDataFormat.java
A asterix-om/src/main/java/org/apache/asterix/formats/nontagged/AqlADMPrinterFactoryProvider.java
M asterix-om/src/main/java/org/apache/asterix/formats/nontagged/AqlCSVPrinterFactoryProvider.java
A asterix-om/src/main/java/org/apache/asterix/formats/nontagged/AqlCleanJSONPrinterFactoryProvider.java
D asterix-om/src/main/java/org/apache/asterix/formats/nontagged/AqlJSONPrinterFactoryProvider.java
A asterix-om/src/main/java/org/apache/asterix/formats/nontagged/AqlLosslessJSONPrinterFactoryProvider.java
D asterix-om/src/main/java/org/apache/asterix/formats/nontagged/AqlPrinterFactoryProvider.java
M asterix-om/src/main/java/org/apache/asterix/om/pointables/cast/ARecordCaster.java
D asterix-om/src/main/java/org/apache/asterix/om/pointables/printer/AListPrinter.java
D asterix-om/src/main/java/org/apache/asterix/om/pointables/printer/APrintVisitor.java
D asterix-om/src/main/java/org/apache/asterix/om/pointables/printer/ARecordPrinter.java
A asterix-om/src/main/java/org/apache/asterix/om/pointables/printer/adm/AListPrinter.java
A asterix-om/src/main/java/org/apache/asterix/om/pointables/printer/adm/APrintVisitor.java
A asterix-om/src/main/java/org/apache/asterix/om/pointables/printer/adm/ARecordPrinter.java
M asterix-om/src/main/java/org/apache/asterix/om/pointables/printer/csv/APrintVisitor.java
D asterix-om/src/main/java/org/apache/asterix/om/pointables/printer/json/AListPrinter.java
D asterix-om/src/main/java/org/apache/asterix/om/pointables/printer/json/APrintVisitor.java
D asterix-om/src/main/java/org/apache/asterix/om/pointables/printer/json/ARecordPrinter.java
A asterix-om/src/main/java/org/apache/asterix/om/pointables/printer/json/clean/AListPrinter.java
A asterix-om/src/main/java/org/apache/asterix/om/pointables/printer/json/clean/APrintVisitor.java
A asterix-om/src/main/java/org/apache/asterix/om/pointables/printer/json/clean/ARecordPrinter.java
A asterix-om/src/main/java/org/apache/asterix/om/pointables/printer/json/lossless/AListPrinter.java
A asterix-om/src/main/java/org/apache/asterix/om/pointables/printer/json/lossless/APrintVisitor.java
A asterix-om/src/main/java/org/apache/asterix/om/pointables/printer/json/lossless/ARecordPrinter.java
M asterix-om/src/main/java/org/apache/asterix/om/types/ARecordType.java
M asterix-om/src/test/java/org/apache/asterix/dataflow/data/nontagged/printers/ABinaryPrinterTest.java
M asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/binary/PrintBinaryDescriptor.java
M asterix-runtime/src/main/java/org/apache/asterix/runtime/formats/NonTaggedDataFormat.java
M asterix-test-framework/src/main/java/org/apache/asterix/testframework/context/TestCaseContext.java
M asterix-test-framework/src/main/resources/Catalog.xsd
M pom.xml
678 files changed, 18,233 insertions(+), 8,936 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/61/461/1


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Yingyi Bu (Code Review)" <do...@asterixdb.incubator.apache.org>.
Yingyi Bu has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................


Patch Set 4:

Illdar,  can we find a time to discuss this change?

It looks to me that:
1. The SubstitutePKFromDataScanOrUnnestRule is programmed for a specialized plan segment.  IMO, there seems to be a more generalized way to deal with that by getting FDsAndEquivClassesVisitor right.

2. I do not get the high level idea why insert and delete need to separate.

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 4
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Ildar Absalyamov (Code Review)" <do...@asterixdb.incubator.apache.org>.
Ildar Absalyamov has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................


Patch Set 4:

I actually found a EquivalenceClassUtils.addEquivalenceClassesForPrimaryIndexAccess() method and AddEquivalenceClassForRecordConstructorRule rule, which Yingyi introduced to solve the related issue of unnecessary hash repartitioning. However this code does not consider open\nested fields as well as secondary keys.
I will try to make this code generic and cover all cases.

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 4
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Taewoo Kim <wa...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index  - Avoided creating calling record constructor in delete pipeline  - Fixed the case when multiple open indexes enforce the type of the   same field & covered it with tests
......................................................................


Patch Set 10:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-topic/376/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 10
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Taewoo Kim <wa...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Ildar Absalyamov (Code Review)" <do...@asterixdb.incubator.apache.org>.
Ildar Absalyamov has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................


Patch Set 1:

Ian, is that patch right? Why does it show other people's commits?

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Ildar Absalyamov (Code Review)" <do...@asterixdb.incubator.apache.org>.
Ildar Absalyamov has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................


Patch Set 6:

(6 comments)

https://asterix-gerrit.ics.uci.edu/#/c/461/6/asterix-algebra/src/main/java/org/apache/asterix/algebra/base/LogicalOperatorDeepCopyVisitor.java
File asterix-algebra/src/main/java/org/apache/asterix/algebra/base/LogicalOperatorDeepCopyVisitor.java:

Line 213:     public void updatePrimaryKeys(IOptimizationContext context) throws AlgebricksException {
> When is this used?
Exception? It was propagated from context.addPrimaryKey() call.
Could be wrapped in AsterixException if that makes difference.


https://asterix-gerrit.ics.uci.edu/#/c/461/6/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
File asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java:

Line 224:         fieldLoads.add(new SubstituteEquivalenceClassAssignRule());
> Forgive me for my guess :-) Can we incorporate this rule into introduceSeco
Described in other comment


https://asterix-gerrit.ics.uci.edu/#/c/461/6/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceMaterializationForInsertDeleteWithSelfScanRule.java
File asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceMaterializationForInsertDeleteWithSelfScanRule.java:

Line 44: public class IntroduceMaterializationForInsertDeleteWithSelfScanRule implements IAlgebraicRewriteRule {
> Maybe let's put a TODO here: we need to take care of a case: whether materi
Done


https://asterix-gerrit.ics.uci.edu/#/c/461/6/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceSecondaryIndexInsertDeleteRule.java
File asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceSecondaryIndexInsertDeleteRule.java:

Line 160: 
> Isn't this a suitable place to move the content of SubstituteEquivalenceCla
I would rather refrain from doing that. This rules becomes too big, too clumsy and too hackish because it is very generic (covers idx inserts & deletes and covers all types of indexes). On the contrary it should be refactored into a set of smaller rules.
In addition SubstituteEquivalenceClassAssignRule is more generic because  there is nothing index-specific about it, it operates on low-level and deals with equivalent expressions.
I believe you could also reuse it for index-only plans


https://asterix-gerrit.ics.uci.edu/#/c/461/6/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/util/EquivalenceClassUtils.java
File asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/util/EquivalenceClassUtils.java:

Line 85: 
> Generally, can we put more comments in try{}?
Done


https://asterix-gerrit.ics.uci.edu/#/c/461/6/asterix-om/src/main/java/org/apache/asterix/om/types/ARecordType.java
File asterix-om/src/main/java/org/apache/asterix/om/types/ARecordType.java:

Line 398:                     && !ATypeHierarchy.canPromote(fieldType.getTypeTag(), keyFieldTypes.get(pos).getTypeTag()))
> canPromote() can be used here because?
As I was adding test cases I realized that after your change we do allow type promotion for closed indexes, but not for open ones.
I would create a separate issue for that, since it's completely out of scope of this change


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 6
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Taewoo Kim <wa...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: Yes

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................


Patch Set 4:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-topic/301/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 4
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................


Patch Set 1: Verified-1

Build Failed 

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/408/ : FAILURE

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................


Patch Set 2: -Verified

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-topic/299/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index  - Avoided creating calling record constructor in delete pipeline  - Fixed the case when multiple open indexes enforce the type of the   same field & covered it with tests
......................................................................


Patch Set 9: Verified-1

Build Unstable 

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-topic/372/ : UNSTABLE

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 9
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Taewoo Kim <wa...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................


Patch Set 2:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-topic/298/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................


Patch Set 8: Verified-1

Build Failed 

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-topic/347/ : FAILURE

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 8
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Taewoo Kim <wa...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................


Patch Set 6:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-topic/315/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 6
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Taewoo Kim <wa...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index  - Avoided creating calling record constructor in delete pipeline  - Fixed the case when multiple open indexes enforce the type of the   same field & covered it with tests
......................................................................


Patch Set 10: Verified+1

Build Successful 

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-topic/376/ : SUCCESS

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 10
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Taewoo Kim <wa...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Ian Maxon (Code Review)" <do...@asterixdb.incubator.apache.org>.
Ian Maxon has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................


Patch Set 1: Code-Review+1

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index  - Avoided creating calling record constructor in delete pipeline  - Fixed the case when multiple open indexes enforce the type of the   same field & covered it with tests
......................................................................


Patch Set 11: Verified+1

Build Successful 

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-topic/430/ : SUCCESS

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 11
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Taewoo Kim <wa...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................


Patch Set 4: -Verified

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-topic/302/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 4
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index  - Avoided creating calling record constructor in delete pipeline  - Fixed the case when multiple open indexes enforce the type of the   same field & covered it with tests
......................................................................


Patch Set 11:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-topic/430/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 11
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Taewoo Kim <wa...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................


Patch Set 2: Verified-1

Build Failed 

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-topic/298/ : FAILURE

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................


Patch Set 3: Verified-1

Build Failed 

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-topic/300/ : FAILURE

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Ildar Absalyamov (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Ian Maxon, Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/461

to look at the new patch set (#5).

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................

ASTERIXDB-1109: Fixed deletion of records from open secondary index

- Separated InsertDeleteOperator into two distinct operators
- Added a rule substituting equivalent expressions in assign to reuse PK vars
- Changed plan printer for insert\delete\idxInsert\idxDelete operators
- Modified plan printer to skip repeated parts of the plan under replicate operator

Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
---
M asterix-algebra/src/main/java/org/apache/asterix/algebra/base/LogicalOperatorDeepCopyVisitor.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceAutogenerateIDRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceDynamicTypeCastRule.java
R asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceMaterializationForInsertDeleteWithSelfScanRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceSecondaryIndexInsertDeleteRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceStaticTypeCastForInsertRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/LoadRecordFieldsRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/RemoveSortInFeedIngestionRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/ReplaceSinkOpWithCommitOpRule.java
A asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SubstituteEquivalenceClassAssignRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/UnnestToDataScanRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/BTreeAccessMethod.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/util/EquivalenceClassUtils.java
M asterix-algebra/src/main/java/org/apache/asterix/translator/AqlExpressionToPlanTranslator.java
M asterix-algebra/src/main/java/org/apache/asterix/translator/CompiledStatements.java
M asterix-app/src/main/java/org/apache/asterix/api/common/AsterixHyracksIntegrationUtil.java
M asterix-app/src/main/java/org/apache/asterix/aql/translator/AqlTranslator.java
A asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-insert-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-insert-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-insert-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-insert-secondary-index-keyword.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-insert-secondary-index-ngram.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-insert-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-insert-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-insert-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-insert-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-insert-secondary-index-btree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-insert-secondary-index-keyword.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-insert-secondary-index-ngram.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-insert-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-insert-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-insert-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-insert-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-insert-secondary-index-keyword.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-insert-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-insert-secondary-index-rtree.aql
M asterix-app/src/test/resources/optimizerts/queries/scan-delete-all.aql
A asterix-app/src/test/resources/optimizerts/queries/scan-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/scan-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/scan-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/scan-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/scan-delete-secondary-index-rtree.aql
M asterix-app/src/test/resources/optimizerts/queries/scan-delete.aql
A asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index-ngram.aql
R asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index-rtree.aql
D asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index.aql
M asterix-app/src/test/resources/optimizerts/queries/scan-insert.aql
A asterix-app/src/test/resources/optimizerts/queries/unnest-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/unnest-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/unnest-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/unnest-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/unnest-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/unnest-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/unnest-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/unnest-insert-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/unnest-insert-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/unnest-insert-secondary-index-rtree.aql
M asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-1.plan
M asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-2.plan
M asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-3.plan
M asterix-app/src/test/resources/optimizerts/results/inlined_q18_large_volume_customer.plan
M asterix-app/src/test/resources/optimizerts/results/insert-and-scan-dataset-with-index.plan
M asterix-app/src/test/resources/optimizerts/results/insert-and-scan-dataset.plan
M asterix-app/src/test/resources/optimizerts/results/insert-and-scan-joined-datasets.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/ngram-edit-distance-inline.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/ngram-edit-distance.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/ngram-fuzzyeq-edit-distance.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/olist-edit-distance-inline.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/olist-edit-distance.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/olist-fuzzyeq-edit-distance.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/leftouterjoin-probe-pidx-with-join-jaccard-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance-check_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance-check_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance-check_04.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance-contains.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-fuzzyeq-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-fuzzyeq-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance-check_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance-check_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance-check_04.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-fuzzyeq-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-fuzzyeq-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/word-jaccard-check-after-btree-access.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-jaccard-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/ngram-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/ngram-edit-distance-contains.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/ngram-edit-distance-inline.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/ngram-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/ngram-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/olist-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/olist-edit-distance-inline.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/olist-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/olist-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/word-jaccard-check-after-btree-access.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-insert-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-insert-secondary-index-rtree.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-check_02.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-check_03.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-check_04.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-contains.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-inline.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-fuzzyeq-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-fuzzyeq-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-fuzzyeq-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/word-jaccard-check-after-btree-access.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-insert-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-insert-secondary-index-rtree.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-check_02.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-check_03.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-check_04.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-check_inline_03.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-contains.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance_inline_03.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-fuzzyeq-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-fuzzyeq-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-fuzzyeq-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/word-jaccard-check-after-btree-access.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-insert-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-insert-secondary-index-rtree.plan
M asterix-app/src/test/resources/optimizerts/results/query-issue827-2.plan
M asterix-app/src/test/resources/optimizerts/results/query_issue849-2.plan
M asterix-app/src/test/resources/optimizerts/results/query_issue849.plan
M asterix-app/src/test/resources/optimizerts/results/scan-delete-all.plan
D asterix-app/src/test/resources/optimizerts/results/scan-delete-rtree-secondary-index.plan
A asterix-app/src/test/resources/optimizerts/results/scan-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/scan-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/scan-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/scan-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/scan-delete-secondary-index-rtree.plan
M asterix-app/src/test/resources/optimizerts/results/scan-delete.plan
A asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index-rtree.plan
D asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index.plan
M asterix-app/src/test/resources/optimizerts/results/scan-insert.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/dont-skip-primary-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/skip-ngram-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/skip-rtree-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/skip-secondary-btree-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/skip-word-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/split-materialization-above-join.plan
M asterix-app/src/test/resources/optimizerts/results/split-materialization.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-insert-secondary-index-rtree.plan
M asterix-app/src/test/resources/runtimets/queries/dml/insert-and-scan-dataset-with-index-on-open-field/insert-and-scan-dataset-with-index-on-open-field.1.ddl.aql
R asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/index-type-collision/index-type-collision.1.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/index-type-promotion-collision/index-type-promotion-collision.1.ddl.aql
R asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/record-type-collision/record-collision.1.ddl.aql
A asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.1.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.2.update.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.3.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.4.query.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.5.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.6.query.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.1.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.2.update.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.3.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.4.query.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.5.query.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.6.query.aql
M asterix-app/src/test/resources/runtimets/results/dml/insert-and-scan-dataset-with-index-on-open-field/insert-and-scan-dataset-with-index-on-open-field.1.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.1.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.2.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index/multi-index.1.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index/multi-index.2.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index/multi-index.3.adm
M asterix-app/src/test/resources/runtimets/testsuite.xml
M asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/AqlIndex.java
M asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/AqlMetadataProvider.java
M asterix-om/src/main/java/org/apache/asterix/om/types/ARecordType.java
M pom.xml
309 files changed, 5,642 insertions(+), 2,510 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/61/461/5
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 5
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Taewoo Kim <wa...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Taewoo Kim (Code Review)" <do...@asterixdb.incubator.apache.org>.
Taewoo Kim has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................


Patch Set 6:

(6 comments)

https://asterix-gerrit.ics.uci.edu/#/c/461/6/asterix-algebra/src/main/java/org/apache/asterix/algebra/base/LogicalOperatorDeepCopyVisitor.java
File asterix-algebra/src/main/java/org/apache/asterix/algebra/base/LogicalOperatorDeepCopyVisitor.java:

Line 213:     public void updatePrimaryKeys(IOptimizationContext context) throws AlgebricksException {
When is this used?


https://asterix-gerrit.ics.uci.edu/#/c/461/6/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
File asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java:

Line 224:         fieldLoads.add(new SubstituteEquivalenceClassAssignRule());
Forgive me for my guess :-) Can we incorporate this rule into introduceSecondaryIndexInsertDeleteRule?


https://asterix-gerrit.ics.uci.edu/#/c/461/6/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceMaterializationForInsertDeleteWithSelfScanRule.java
File asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceMaterializationForInsertDeleteWithSelfScanRule.java:

Line 44: public class IntroduceMaterializationForInsertDeleteWithSelfScanRule implements IAlgebraicRewriteRule {
Maybe let's put a TODO here: we need to take care of a case: whether materialization in the delete case is necessary or not.


https://asterix-gerrit.ics.uci.edu/#/c/461/6/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceSecondaryIndexInsertDeleteRule.java
File asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceSecondaryIndexInsertDeleteRule.java:

Line 160: 
Isn't this a suitable place to move the content of SubstituteEquivalenceClassAssignRule?


https://asterix-gerrit.ics.uci.edu/#/c/461/6/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/util/EquivalenceClassUtils.java
File asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/util/EquivalenceClassUtils.java:

Line 85: 
Generally, can we put more comments in try{}?


https://asterix-gerrit.ics.uci.edu/#/c/461/6/asterix-om/src/main/java/org/apache/asterix/om/types/ARecordType.java
File asterix-om/src/main/java/org/apache/asterix/om/types/ARecordType.java:

Line 398:                     && !ATypeHierarchy.canPromote(fieldType.getTypeTag(), keyFieldTypes.get(pos).getTypeTag()))
canPromote() can be used here because?


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 6
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Taewoo Kim <wa...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: Yes

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Yingyi Bu (Code Review)" <do...@asterixdb.incubator.apache.org>.
Yingyi Bu has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................


Patch Set 4:

Sounds good to me.

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 4
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Taewoo Kim <wa...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................


Patch Set 8: -Verified

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-topic/347/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 8
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Taewoo Kim <wa...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Yingyi Bu (Code Review)" <do...@asterixdb.incubator.apache.org>.
Yingyi Bu has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index  - Avoided creating calling record constructor in delete pipeline  - Fixed the case when multiple open indexes enforce the type of the   same field & covered it with tests
......................................................................


Patch Set 10:

(5 comments)

https://asterix-gerrit.ics.uci.edu/#/c/461/10/asterix-algebra/src/main/java/org/apache/asterix/translator/CompiledStatements.java
File asterix-algebra/src/main/java/org/apache/asterix/translator/CompiledStatements.java:

Line 532:             FLWOGRExpression flowgr = new FLWOGRExpression(clauseList, var);
Can you merge with the latest master and resolve the conflict?
The piece of code goes to this class:
https://github.com/apache/incubator-asterixdb/blob/master/asterix-lang-aql/src/main/java/org/apache/asterix/lang/aql/visitor/AqlDeleteRewriteVisitor.java

It seems I've done a similar change there:-)
So you might need to update AqlDeleteRewriteVisitor.


https://asterix-gerrit.ics.uci.edu/#/c/461/10/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.2.update.aql
File asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.2.update.aql:

Line 36: 		return $x
tab-->space.


https://asterix-gerrit.ics.uci.edu/#/c/461/10/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.4.query.aql
File asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.4.query.aql:

Line 33: 	"id": $l.id,
tab-->space.


https://asterix-gerrit.ics.uci.edu/#/c/461/10/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.6.query.aql
File asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.6.query.aql:

Line 36: 	"age": $l.age,
tab->spaces.


https://asterix-gerrit.ics.uci.edu/#/c/461/10/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.2.update.aql
File asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.2.update.aql:

Line 29: );
tab->spaces.


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 10
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Taewoo Kim <wa...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: Yes

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Taewoo Kim (Code Review)" <do...@asterixdb.incubator.apache.org>.
Taewoo Kim has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................


Patch Set 7:

(3 comments)

https://asterix-gerrit.ics.uci.edu/#/c/461/7/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceSecondaryIndexInsertDeleteRule.java
File asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceSecondaryIndexInsertDeleteRule.java:

Line 268:             // to replicate each <PK,RECORD> pair.
Is this still true?


Line 468:     public static ARecordType createEnforcedType(ARecordType initialType, List<Index> indexes)
Can we put a comment here? What does this function do?


https://asterix-gerrit.ics.uci.edu/#/c/461/7/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SubstituteEquivalenceClassAssignRule.java
File asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SubstituteEquivalenceClassAssignRule.java:

Line 60:  */
Does this rule only apply to the assign and project? It looks like it can be applied to all operators.


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 7
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Taewoo Kim <wa...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: Yes

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Taewoo Kim (Code Review)" <do...@asterixdb.incubator.apache.org>.
Taewoo Kim has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................


Patch Set 4:

Cool.

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 4
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Taewoo Kim <wa...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Ian Maxon (Code Review)" <do...@asterixdb.incubator.apache.org>.
Ian Maxon has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................


Patch Set 1:

By seeing other folk's commits, do you mean that the patch has stuff you don't expect? It may be because you are squashing more than you would otherwise. If you make a copy of your branch that is based off of release-0.8.8 instead of master it should resolve that.

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/408/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Ian Maxon (Code Review)" <do...@asterixdb.incubator.apache.org>.
Ian Maxon has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................


Patch Set 1:

Yeah this is perfect, thanks. Sorry I was terse about how to do it :P. This is hopefully the only time we have to do something like this. 

I'm not sure what's up with the Jenkins plugin though. All the builds I did for the other commits on branches seemed to work flawlessly, so I'll have to look into it.

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Taewoo Kim (Code Review)" <do...@asterixdb.incubator.apache.org>.
Taewoo Kim has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index  - Avoided creating calling record constructor in delete pipeline  - Fixed the case when multiple open indexes enforce the type of the   same field & covered it with tests
......................................................................


Patch Set 10: Code-Review+1

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 10
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Taewoo Kim <wa...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................


Patch Set 3:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-topic/300/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................


Patch Set 6: Verified+1

Build Successful 

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-topic/315/ : SUCCESS

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 6
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Taewoo Kim <wa...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Ildar Absalyamov (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Ian Maxon,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/461

to look at the new patch set (#2).

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................

ASTERIXDB-1109: Fixed deletion of records from open secondary index

- Separated InsertDeleteOperator into two distinct operators
- Added a rule, which reuses PK vars, retrieved from datascan\idxLookup
- Changed plan printer for insert\delete\idxInsert\idxDelete operators
- Modified plan printer to skip repeated parts of the plan under replicate operator

Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
---
M asterix-algebra/src/main/java/org/apache/asterix/algebra/base/LogicalOperatorDeepCopyVisitor.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceAutogenerateIDRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceDynamicTypeCastRule.java
R asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceMaterializationForInsertDeleteWithSelfScanRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceSecondaryIndexInsertDeleteRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceStaticTypeCastForInsertRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/RemoveSortInFeedIngestionRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/ReplaceSinkOpWithCommitOpRule.java
A asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SubstitutePKFromDataScanOrUnnestRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/UnnestToDataScanRule.java
M asterix-algebra/src/main/java/org/apache/asterix/translator/AqlExpressionToPlanTranslator.java
M asterix-algebra/src/main/java/org/apache/asterix/translator/CompiledStatements.java
M asterix-app/src/main/java/org/apache/asterix/api/common/AsterixHyracksIntegrationUtil.java
M asterix-app/src/main/java/org/apache/asterix/aql/translator/AqlTranslator.java
A asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-insert-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-insert-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-insert-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-insert-secondary-index-keyword.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-insert-secondary-index-ngram.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-insert-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-insert-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-insert-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-insert-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-insert-secondary-index-btree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-insert-secondary-index-keyword.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-insert-secondary-index-ngram.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-insert-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-insert-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-insert-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-insert-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-insert-secondary-index-keyword.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-insert-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-insert-secondary-index-rtree.aql
M asterix-app/src/test/resources/optimizerts/queries/scan-delete-all.aql
A asterix-app/src/test/resources/optimizerts/queries/scan-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/scan-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/scan-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/scan-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/scan-delete-secondary-index-rtree.aql
M asterix-app/src/test/resources/optimizerts/queries/scan-delete.aql
A asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index-ngram.aql
R asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index-rtree.aql
D asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index.aql
M asterix-app/src/test/resources/optimizerts/queries/scan-insert.aql
A asterix-app/src/test/resources/optimizerts/queries/unnest-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/unnest-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/unnest-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/unnest-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/unnest-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/unnest-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/unnest-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/unnest-insert-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/unnest-insert-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/unnest-insert-secondary-index-rtree.aql
M asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-1.plan
M asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-2.plan
M asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-3.plan
M asterix-app/src/test/resources/optimizerts/results/inlined_q18_large_volume_customer.plan
M asterix-app/src/test/resources/optimizerts/results/insert-and-scan-dataset-with-index.plan
M asterix-app/src/test/resources/optimizerts/results/insert-and-scan-dataset.plan
M asterix-app/src/test/resources/optimizerts/results/insert-and-scan-joined-datasets.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/ngram-edit-distance-inline.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/ngram-edit-distance.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/ngram-fuzzyeq-edit-distance.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/olist-edit-distance-inline.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/olist-edit-distance.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/olist-fuzzyeq-edit-distance.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/leftouterjoin-probe-pidx-with-join-jaccard-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance-check_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance-check_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance-check_04.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance-contains.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-fuzzyeq-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-fuzzyeq-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance-check_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance-check_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance-check_04.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-fuzzyeq-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-fuzzyeq-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/word-jaccard-check-after-btree-access.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-jaccard-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/ngram-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/ngram-edit-distance-contains.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/ngram-edit-distance-inline.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/ngram-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/ngram-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/olist-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/olist-edit-distance-inline.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/olist-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/olist-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/word-jaccard-check-after-btree-access.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-insert-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-insert-secondary-index-rtree.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-check_02.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-check_03.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-check_04.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-contains.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-inline.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-fuzzyeq-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-fuzzyeq-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-fuzzyeq-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/word-jaccard-check-after-btree-access.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-insert-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-insert-secondary-index-rtree.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-check_02.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-check_03.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-check_04.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-check_inline_03.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-contains.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance_inline_03.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-fuzzyeq-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-fuzzyeq-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-fuzzyeq-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/word-jaccard-check-after-btree-access.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-insert-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-insert-secondary-index-rtree.plan
M asterix-app/src/test/resources/optimizerts/results/query-issue827-2.plan
M asterix-app/src/test/resources/optimizerts/results/query_issue849-2.plan
M asterix-app/src/test/resources/optimizerts/results/query_issue849.plan
M asterix-app/src/test/resources/optimizerts/results/scan-delete-all.plan
D asterix-app/src/test/resources/optimizerts/results/scan-delete-rtree-secondary-index.plan
A asterix-app/src/test/resources/optimizerts/results/scan-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/scan-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/scan-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/scan-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/scan-delete-secondary-index-rtree.plan
M asterix-app/src/test/resources/optimizerts/results/scan-delete.plan
A asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index-rtree.plan
D asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index.plan
M asterix-app/src/test/resources/optimizerts/results/scan-insert.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/dont-skip-primary-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/skip-ngram-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/skip-rtree-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/skip-secondary-btree-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/skip-word-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/split-materialization-above-join.plan
M asterix-app/src/test/resources/optimizerts/results/split-materialization.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-insert-secondary-index-rtree.plan
M asterix-app/src/test/resources/runtimets/queries/dml/insert-and-scan-dataset-with-index-on-open-field/insert-and-scan-dataset-with-index-on-open-field.1.ddl.aql
R asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/index-type-collision/index-type-collision.1.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/index-type-promotion-collision/index-type-promotion-collision.1.ddl.aql
R asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/record-type-collision/record-collision.1.ddl.aql
A asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.1.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.2.update.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.3.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.4.query.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.5.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.6.query.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.1.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.2.update.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.3.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.4.query.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.5.query.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.6.query.aql
M asterix-app/src/test/resources/runtimets/results/dml/insert-and-scan-dataset-with-index-on-open-field/insert-and-scan-dataset-with-index-on-open-field.1.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.1.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.2.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index/multi-index.1.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index/multi-index.2.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index/multi-index.3.adm
M asterix-app/src/test/resources/runtimets/testsuite.xml
M asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/AqlIndex.java
M asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/AqlMetadataProvider.java
M asterix-om/src/main/java/org/apache/asterix/om/types/ARecordType.java
305 files changed, 5,644 insertions(+), 2,353 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/61/461/2
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................


Patch Set 5:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-topic/312/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 5
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Taewoo Kim <wa...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................


Patch Set 5: Verified-1

Build Failed 

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-topic/313/ : FAILURE

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 5
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Taewoo Kim <wa...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................


Patch Set 4: Verified-1

Build Failed 

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-topic/301/ : ABORTED

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 4
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................


Patch Set 8:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-topic/346/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 8
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Taewoo Kim <wa...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................


Patch Set 4: Verified+1

Build Successful 

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-topic/302/ : SUCCESS

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 4
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Ildar Absalyamov (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Ian Maxon, Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/461

to look at the new patch set (#3).

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................

ASTERIXDB-1109: Fixed deletion of records from open secondary index

- Separated InsertDeleteOperator into two distinct operators
- Added a rule, which reuses PK vars, retrieved from datascan\idxLookup
- Changed plan printer for insert\delete\idxInsert\idxDelete operators
- Modified plan printer to skip repeated parts of the plan under replicate operator

Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
---
M asterix-algebra/src/main/java/org/apache/asterix/algebra/base/LogicalOperatorDeepCopyVisitor.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceAutogenerateIDRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceDynamicTypeCastRule.java
R asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceMaterializationForInsertDeleteWithSelfScanRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceSecondaryIndexInsertDeleteRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceStaticTypeCastForInsertRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/RemoveSortInFeedIngestionRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/ReplaceSinkOpWithCommitOpRule.java
A asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SubstitutePKFromDataScanOrUnnestRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/UnnestToDataScanRule.java
M asterix-algebra/src/main/java/org/apache/asterix/translator/AqlExpressionToPlanTranslator.java
M asterix-algebra/src/main/java/org/apache/asterix/translator/CompiledStatements.java
M asterix-app/src/main/java/org/apache/asterix/api/common/AsterixHyracksIntegrationUtil.java
M asterix-app/src/main/java/org/apache/asterix/aql/translator/AqlTranslator.java
A asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-insert-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-insert-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-insert-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-insert-secondary-index-keyword.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-insert-secondary-index-ngram.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-insert-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-insert-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-insert-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-insert-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-insert-secondary-index-btree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-insert-secondary-index-keyword.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-insert-secondary-index-ngram.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-insert-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-insert-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-insert-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-insert-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-insert-secondary-index-keyword.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-insert-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-insert-secondary-index-rtree.aql
M asterix-app/src/test/resources/optimizerts/queries/scan-delete-all.aql
A asterix-app/src/test/resources/optimizerts/queries/scan-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/scan-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/scan-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/scan-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/scan-delete-secondary-index-rtree.aql
M asterix-app/src/test/resources/optimizerts/queries/scan-delete.aql
A asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index-ngram.aql
R asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index-rtree.aql
D asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index.aql
M asterix-app/src/test/resources/optimizerts/queries/scan-insert.aql
A asterix-app/src/test/resources/optimizerts/queries/unnest-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/unnest-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/unnest-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/unnest-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/unnest-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/unnest-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/unnest-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/unnest-insert-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/unnest-insert-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/unnest-insert-secondary-index-rtree.aql
M asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-1.plan
M asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-2.plan
M asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-3.plan
M asterix-app/src/test/resources/optimizerts/results/inlined_q18_large_volume_customer.plan
M asterix-app/src/test/resources/optimizerts/results/insert-and-scan-dataset-with-index.plan
M asterix-app/src/test/resources/optimizerts/results/insert-and-scan-dataset.plan
M asterix-app/src/test/resources/optimizerts/results/insert-and-scan-joined-datasets.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/ngram-edit-distance-inline.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/ngram-edit-distance.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/ngram-fuzzyeq-edit-distance.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/olist-edit-distance-inline.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/olist-edit-distance.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/olist-fuzzyeq-edit-distance.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/leftouterjoin-probe-pidx-with-join-jaccard-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance-check_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance-check_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance-check_04.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance-contains.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-fuzzyeq-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-fuzzyeq-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance-check_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance-check_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance-check_04.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-fuzzyeq-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-fuzzyeq-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/word-jaccard-check-after-btree-access.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-jaccard-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/ngram-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/ngram-edit-distance-contains.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/ngram-edit-distance-inline.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/ngram-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/ngram-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/olist-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/olist-edit-distance-inline.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/olist-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/olist-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/word-jaccard-check-after-btree-access.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-insert-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-insert-secondary-index-rtree.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-check_02.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-check_03.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-check_04.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-contains.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-inline.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-fuzzyeq-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-fuzzyeq-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-fuzzyeq-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/word-jaccard-check-after-btree-access.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-insert-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-insert-secondary-index-rtree.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-check_02.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-check_03.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-check_04.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-check_inline_03.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-contains.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance_inline_03.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-fuzzyeq-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-fuzzyeq-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-fuzzyeq-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/word-jaccard-check-after-btree-access.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-insert-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-insert-secondary-index-rtree.plan
M asterix-app/src/test/resources/optimizerts/results/query-issue827-2.plan
M asterix-app/src/test/resources/optimizerts/results/query_issue849-2.plan
M asterix-app/src/test/resources/optimizerts/results/query_issue849.plan
M asterix-app/src/test/resources/optimizerts/results/scan-delete-all.plan
D asterix-app/src/test/resources/optimizerts/results/scan-delete-rtree-secondary-index.plan
A asterix-app/src/test/resources/optimizerts/results/scan-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/scan-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/scan-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/scan-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/scan-delete-secondary-index-rtree.plan
M asterix-app/src/test/resources/optimizerts/results/scan-delete.plan
A asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index-rtree.plan
D asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index.plan
M asterix-app/src/test/resources/optimizerts/results/scan-insert.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/dont-skip-primary-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/skip-ngram-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/skip-rtree-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/skip-secondary-btree-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/skip-word-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/split-materialization-above-join.plan
M asterix-app/src/test/resources/optimizerts/results/split-materialization.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-insert-secondary-index-rtree.plan
M asterix-app/src/test/resources/runtimets/queries/dml/insert-and-scan-dataset-with-index-on-open-field/insert-and-scan-dataset-with-index-on-open-field.1.ddl.aql
R asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/index-type-collision/index-type-collision.1.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/index-type-promotion-collision/index-type-promotion-collision.1.ddl.aql
R asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/record-type-collision/record-collision.1.ddl.aql
A asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.1.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.2.update.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.3.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.4.query.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.5.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.6.query.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.1.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.2.update.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.3.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.4.query.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.5.query.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.6.query.aql
M asterix-app/src/test/resources/runtimets/results/dml/insert-and-scan-dataset-with-index-on-open-field/insert-and-scan-dataset-with-index-on-open-field.1.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.1.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.2.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index/multi-index.1.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index/multi-index.2.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index/multi-index.3.adm
M asterix-app/src/test/resources/runtimets/testsuite.xml
M asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/AqlIndex.java
M asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/AqlMetadataProvider.java
M asterix-om/src/main/java/org/apache/asterix/om/types/ARecordType.java
M pom.xml
306 files changed, 5,646 insertions(+), 2,355 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/61/461/3
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Ildar Absalyamov (Code Review)" <do...@asterixdb.incubator.apache.org>.
Ildar Absalyamov has submitted this change and it was merged.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index  - Avoided creating calling record constructor in delete pipeline  - Fixed the case when multiple open indexes enforce the type of the   same field & covered it with tests
......................................................................


ASTERIXDB-1109: Fixed deletion of records from open secondary index
 - Avoided creating calling record constructor in delete pipeline
 - Fixed the case when multiple open indexes enforce the type of the
  same field & covered it with tests

Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Reviewed-on: https://asterix-gerrit.ics.uci.edu/461
Tested-by: Jenkins <je...@fulliautomatix.ics.uci.edu>
Reviewed-by: Yingyi Bu <bu...@gmail.com>
---
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceMaterializationForInsertWithSelfScanRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceSecondaryIndexInsertDeleteRule.java
M asterix-algebra/src/main/java/org/apache/asterix/translator/CompiledStatements.java
M asterix-app/src/main/java/org/apache/asterix/aql/translator/AqlTranslator.java
M asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-1.plan
M asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-2.plan
M asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-3.plan
M asterix-app/src/test/resources/optimizerts/results/scan-delete-all.plan
M asterix-app/src/test/resources/optimizerts/results/scan-delete-rtree-secondary-index.plan
M asterix-app/src/test/resources/optimizerts/results/scan-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/dont-skip-primary-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/skip-ngram-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/skip-rtree-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/skip-secondary-btree-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/skip-word-index-search-in-delete.plan
R asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/index-type-collision/index-type-collision.1.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/index-type-promotion-collision/index-type-promotion-collision.1.ddl.aql
R asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/record-type-collision/record-collision.1.ddl.aql
A asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.1.ddl.aql
A asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.2.update.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.3.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.4.query.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.5.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.6.query.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.1.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.2.update.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.3.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.4.query.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.5.query.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.6.query.aql
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.1.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.2.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index/multi-index.1.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index/multi-index.2.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index/multi-index.3.adm
M asterix-app/src/test/resources/runtimets/testsuite.xml
M pom.xml
37 files changed, 723 insertions(+), 581 deletions(-)

Approvals:
  Yingyi Bu: Looks good to me, approved
  Jenkins: Verified



diff --git a/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceMaterializationForInsertWithSelfScanRule.java b/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceMaterializationForInsertWithSelfScanRule.java
index adce8ce..43ec793 100644
--- a/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceMaterializationForInsertWithSelfScanRule.java
+++ b/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceMaterializationForInsertWithSelfScanRule.java
@@ -42,6 +42,7 @@
 import org.apache.hyracks.algebricks.core.algebra.operators.physical.MaterializePOperator;
 import org.apache.hyracks.algebricks.core.rewriter.base.IAlgebraicRewriteRule;
 
+// TODO: Reconsider if materialization is needed in delete pipeline
 public class IntroduceMaterializationForInsertWithSelfScanRule implements IAlgebraicRewriteRule {
 
     @Override
diff --git a/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceSecondaryIndexInsertDeleteRule.java b/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceSecondaryIndexInsertDeleteRule.java
index 6eb3807..1ff97b3 100644
--- a/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceSecondaryIndexInsertDeleteRule.java
+++ b/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceSecondaryIndexInsertDeleteRule.java
@@ -22,13 +22,11 @@
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Comparator;
+import java.util.HashSet;
+import java.util.LinkedHashMap;
 import java.util.List;
+import java.util.Set;
 import java.util.Stack;
-
-import org.apache.commons.lang3.ArrayUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.commons.lang3.mutable.Mutable;
-import org.apache.commons.lang3.mutable.MutableObject;
 
 import org.apache.asterix.aql.util.FunctionUtils;
 import org.apache.asterix.common.config.DatasetConfig.DatasetType;
@@ -53,7 +51,12 @@
 import org.apache.asterix.om.types.AUnionType;
 import org.apache.asterix.om.types.BuiltinType;
 import org.apache.asterix.om.types.IAType;
+import org.apache.asterix.om.types.hierachy.ATypeHierarchy;
 import org.apache.asterix.om.util.NonTaggedFormatUtil;
+import org.apache.commons.lang3.ArrayUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.mutable.Mutable;
+import org.apache.commons.lang3.mutable.MutableObject;
 import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException;
 import org.apache.hyracks.algebricks.common.utils.Pair;
 import org.apache.hyracks.algebricks.core.algebra.base.ILogicalExpression;
@@ -73,6 +76,7 @@
 import org.apache.hyracks.algebricks.core.algebra.operators.logical.AssignOperator;
 import org.apache.hyracks.algebricks.core.algebra.operators.logical.IndexInsertDeleteOperator;
 import org.apache.hyracks.algebricks.core.algebra.operators.logical.InsertDeleteOperator;
+import org.apache.hyracks.algebricks.core.algebra.operators.logical.InsertDeleteOperator.Kind;
 import org.apache.hyracks.algebricks.core.algebra.operators.logical.ProjectOperator;
 import org.apache.hyracks.algebricks.core.algebra.operators.logical.ReplicateOperator;
 import org.apache.hyracks.algebricks.core.algebra.operators.logical.TokenizeOperator;
@@ -82,7 +86,8 @@
 public class IntroduceSecondaryIndexInsertDeleteRule implements IAlgebraicRewriteRule {
 
     @Override
-    public boolean rewritePre(Mutable<ILogicalOperator> opRef, IOptimizationContext context) throws AlgebricksException {
+    public boolean rewritePre(Mutable<ILogicalOperator> opRef, IOptimizationContext context)
+            throws AlgebricksException {
         return false;
     }
 
@@ -100,11 +105,14 @@
 
         FunctionIdentifier fid = null;
         /** find the record variable */
-        InsertDeleteOperator insertOp = (InsertDeleteOperator) op1;
-        ILogicalExpression recordExpr = insertOp.getPayloadExpression().getValue();
-        List<LogicalVariable> recordVar = new ArrayList<LogicalVariable>();
+        InsertDeleteOperator insertDeleteOp = (InsertDeleteOperator) op1;
+        ILogicalExpression recordExpr = insertDeleteOp.getPayloadExpression().getValue();
+        LogicalVariable recordVar = null;
+        List<LogicalVariable> usedRecordVars = new ArrayList<>();
         /** assume the payload is always a single variable expression */
-        recordExpr.getUsedVariables(recordVar);
+        recordExpr.getUsedVariables(usedRecordVars);
+        if (usedRecordVars.size() == 1)
+            recordVar = usedRecordVars.get(0);
 
         /**
          * op2 is the assign operator which extract primary keys from the record
@@ -112,7 +120,7 @@
          */
         AbstractLogicalOperator op2 = (AbstractLogicalOperator) op1.getInputs().get(0).getValue();
 
-        if (recordVar.size() == 0) {
+        if (recordVar == null) {
             /**
              * For the case primary key-assignment expressions are constant
              * expressions, find assign op that creates record to be
@@ -135,9 +143,9 @@
                 }
             }
             AssignOperator assignOp2 = (AssignOperator) op2;
-            recordVar.addAll(assignOp2.getVariables());
+            recordVar = assignOp2.getVariables().get(0);
         }
-        AqlDataSource datasetSource = (AqlDataSource) insertOp.getDataSource();
+        AqlDataSource datasetSource = (AqlDataSource) insertDeleteOp.getDataSource();
         AqlMetadataProvider mp = (AqlMetadataProvider) context.getMetadataProvider();
         String dataverseName = datasetSource.getId().getDataverseName();
         String datasetName = datasetSource.getId().getDatasourceName();
@@ -182,19 +190,6 @@
             op0.getInputs().clear();
         }
 
-        // Replicate Operator is applied only when doing the bulk-load.
-        AbstractLogicalOperator replicateOp = null;
-
-        if (secondaryIndexTotalCnt > 1 && insertOp.isBulkload()) {
-            // Split the logical plan into "each secondary index update branch"
-            // to replicate each <PK,RECORD> pair.
-            replicateOp = new ReplicateOperator(secondaryIndexTotalCnt);
-            replicateOp.getInputs().add(new MutableObject<ILogicalOperator>(currentTop));
-            replicateOp.setExecutionMode(ExecutionMode.PARTITIONED);
-            context.computeAndSetTypeEnvironmentForOperator(replicateOp);
-            currentTop = replicateOp;
-        }
-
         // Prepare filtering field information
         List<String> additionalFilteringField = ((InternalDatasetDetails) dataset.getDatasetDetails()).getFilterField();
         List<LogicalVariable> additionalFilteringVars = null;
@@ -206,53 +201,70 @@
             additionalFilteringVars = new ArrayList<LogicalVariable>();
             additionalFilteringAssignExpressions = new ArrayList<Mutable<ILogicalExpression>>();
             additionalFilteringExpressions = new ArrayList<Mutable<ILogicalExpression>>();
-            prepareVarAndExpression(additionalFilteringField, recType.getFieldNames(), recordVar.get(0),
+            prepareVarAndExpression(additionalFilteringField, recType.getFieldNames(), recordVar,
                     additionalFilteringAssignExpressions, additionalFilteringVars, context);
             additionalFilteringAssign = new AssignOperator(additionalFilteringVars,
                     additionalFilteringAssignExpressions);
             for (LogicalVariable var : additionalFilteringVars) {
-                additionalFilteringExpressions.add(new MutableObject<ILogicalExpression>(
-                        new VariableReferenceExpression(var)));
+                additionalFilteringExpressions
+                        .add(new MutableObject<ILogicalExpression>(new VariableReferenceExpression(var)));
             }
         }
+        LogicalVariable enforcedRecordVar = recordVar;
 
-        // Iterate each secondary index and applying Index Update operations.
-        for (Index index : indexes) {
-            List<LogicalVariable> projectVars = new ArrayList<LogicalVariable>();
-            VariableUtilities.getUsedVariables(op1, projectVars);
-            if (!index.isSecondaryIndex()) {
-                continue;
-            }
-            LogicalVariable enforcedRecordVar = recordVar.get(0);
-            hasSecondaryIndex = true;
-            //if the index is enforcing field types
-            if (index.isEnforcingKeyFileds()) {
-                try {
-                    DatasetDataSource ds = (DatasetDataSource) (insertOp.getDataSource());
-                    ARecordType insertRecType = (ARecordType) ds.getSchemaTypes()[ds.getSchemaTypes().length - 1];
-                    LogicalVariable castVar = context.newVar();
-                    ARecordType enforcedType = createEnforcedType(insertRecType, index);
+        if (insertDeleteOp.getOperation() == Kind.INSERT) {
+            try {
+                DatasetDataSource ds = (DatasetDataSource) (insertDeleteOp.getDataSource());
+                ARecordType insertRecType = (ARecordType) ds.getSchemaTypes()[ds.getSchemaTypes().length - 1];
+                LogicalVariable castVar = context.newVar();
+                ARecordType enforcedType = createEnforcedType(insertRecType, indexes);
+                if (!enforcedType.equals(insertRecType)) {
                     //introduce casting to enforced type
                     AbstractFunctionCallExpression castFunc = new ScalarFunctionCallExpression(
                             FunctionUtils.getFunctionInfo(AsterixBuiltinFunctions.CAST_RECORD));
 
                     castFunc.getArguments().add(
-                            new MutableObject<ILogicalExpression>(insertOp.getPayloadExpression().getValue()));
+                            new MutableObject<ILogicalExpression>(insertDeleteOp.getPayloadExpression().getValue()));
                     TypeComputerUtilities.setRequiredAndInputTypes(castFunc, enforcedType, insertRecType);
-                    AssignOperator newAssignOperator = new AssignOperator(castVar,
+                    AssignOperator castedRecordAssignOperator = new AssignOperator(castVar,
                             new MutableObject<ILogicalExpression>(castFunc));
-                    newAssignOperator.getInputs().add(new MutableObject<ILogicalOperator>(currentTop));
-                    currentTop = newAssignOperator;
-                    //project out casted record
-                    projectVars.add(castVar);
+                    castedRecordAssignOperator.getInputs().add(new MutableObject<ILogicalOperator>(currentTop));
+                    currentTop = castedRecordAssignOperator;
                     enforcedRecordVar = castVar;
-                    context.computeAndSetTypeEnvironmentForOperator(newAssignOperator);
-                    context.computeAndSetTypeEnvironmentForOperator(currentTop);
                     recType = enforcedType;
-                } catch (AsterixException e) {
-                    throw new AlgebricksException(e);
+                    context.computeAndSetTypeEnvironmentForOperator(castedRecordAssignOperator);
                 }
+            } catch (AsterixException e) {
+                throw new AlgebricksException(e);
             }
+        }
+        Set<LogicalVariable> projectVars = new HashSet<LogicalVariable>();
+        VariableUtilities.getUsedVariables(op1, projectVars);
+        if (enforcedRecordVar != null)
+            projectVars.add(enforcedRecordVar);
+        ProjectOperator project = new ProjectOperator(new ArrayList<LogicalVariable>(projectVars));
+        project.getInputs().add(new MutableObject<ILogicalOperator>(currentTop));
+        context.computeAndSetTypeEnvironmentForOperator(project);
+        currentTop = project;
+
+        // Replicate Operator is applied only when doing the bulk-load.
+        AbstractLogicalOperator replicateOp = null;
+        if (secondaryIndexTotalCnt > 1 && insertDeleteOp.isBulkload()) {
+            // Split the logical plan into "each secondary index update branch"
+            // to replicate each <PK,RECORD> pair.
+            replicateOp = new ReplicateOperator(secondaryIndexTotalCnt);
+            replicateOp.getInputs().add(new MutableObject<ILogicalOperator>(currentTop));
+            replicateOp.setExecutionMode(ExecutionMode.PARTITIONED);
+            context.computeAndSetTypeEnvironmentForOperator(replicateOp);
+            currentTop = replicateOp;
+        }
+
+        // Iterate each secondary index and applying Index Update operations.
+        for (Index index : indexes) {
+            if (!index.isSecondaryIndex()) {
+                continue;
+            }
+            hasSecondaryIndex = true;
 
             List<List<String>> secondaryKeyFields = index.getKeyFieldNames();
             List<IAType> secondaryKeyTypes = index.getKeyFieldTypes();
@@ -266,39 +278,35 @@
             }
 
             AssignOperator assign = new AssignOperator(secondaryKeyVars, expressions);
-            ProjectOperator project = new ProjectOperator(projectVars);
 
+            ILogicalOperator filterOrAssignOp = null;
             if (additionalFilteringAssign != null) {
-                additionalFilteringAssign.getInputs().add(new MutableObject<ILogicalOperator>(project));
+                filterOrAssignOp = additionalFilteringAssign;
                 assign.getInputs().add(new MutableObject<ILogicalOperator>(additionalFilteringAssign));
             } else {
-                assign.getInputs().add(new MutableObject<ILogicalOperator>(project));
+                filterOrAssignOp = assign;
             }
 
             // Only apply replicate operator when doing bulk-load
-            if (secondaryIndexTotalCnt > 1 && insertOp.isBulkload())
-                project.getInputs().add(new MutableObject<ILogicalOperator>(replicateOp));
+            if (secondaryIndexTotalCnt > 1 && insertDeleteOp.isBulkload())
+                filterOrAssignOp.getInputs().add(new MutableObject<ILogicalOperator>(replicateOp));
             else
-                project.getInputs().add(new MutableObject<ILogicalOperator>(currentTop));
-
-            context.computeAndSetTypeEnvironmentForOperator(project);
+                filterOrAssignOp.getInputs().add(new MutableObject<ILogicalOperator>(currentTop));
 
             if (additionalFilteringAssign != null) {
                 context.computeAndSetTypeEnvironmentForOperator(additionalFilteringAssign);
             }
-
             context.computeAndSetTypeEnvironmentForOperator(assign);
             currentTop = assign;
 
             // BTree, Keyword, or n-gram index case
-            if (index.getIndexType() == IndexType.BTREE
-                    || index.getIndexType() == IndexType.SINGLE_PARTITION_WORD_INVIX
+            if (index.getIndexType() == IndexType.BTREE || index.getIndexType() == IndexType.SINGLE_PARTITION_WORD_INVIX
                     || index.getIndexType() == IndexType.SINGLE_PARTITION_NGRAM_INVIX
                     || index.getIndexType() == IndexType.LENGTH_PARTITIONED_WORD_INVIX
                     || index.getIndexType() == IndexType.LENGTH_PARTITIONED_NGRAM_INVIX) {
                 for (LogicalVariable secondaryKeyVar : secondaryKeyVars) {
-                    secondaryExpressions.add(new MutableObject<ILogicalExpression>(new VariableReferenceExpression(
-                            secondaryKeyVar)));
+                    secondaryExpressions.add(
+                            new MutableObject<ILogicalExpression>(new VariableReferenceExpression(secondaryKeyVar)));
                 }
                 Mutable<ILogicalExpression> filterExpression = createFilterExpression(secondaryKeyVars,
                         context.getOutputTypeEnvironment(currentTop), false);
@@ -306,7 +314,7 @@
 
                 // Introduce the TokenizeOperator only when doing bulk-load,
                 // and index type is keyword or n-gram.
-                if (index.getIndexType() != IndexType.BTREE && insertOp.isBulkload()) {
+                if (index.getIndexType() != IndexType.BTREE && insertDeleteOp.isBulkload()) {
 
                     // Check whether the index is length-partitioned or not.
                     // If partitioned, [input variables to TokenizeOperator,
@@ -326,8 +334,8 @@
                     List<Mutable<ILogicalExpression>> tokenizeKeyExprs = new ArrayList<Mutable<ILogicalExpression>>();
                     LogicalVariable tokenVar = context.newVar();
                     tokenizeKeyVars.add(tokenVar);
-                    tokenizeKeyExprs.add(new MutableObject<ILogicalExpression>(
-                            new VariableReferenceExpression(tokenVar)));
+                    tokenizeKeyExprs
+                            .add(new MutableObject<ILogicalExpression>(new VariableReferenceExpression(tokenVar)));
 
                     // Check the field type of the secondary key.
                     IAType secondaryKeyType = null;
@@ -345,21 +353,22 @@
                     if (isPartitioned) {
                         LogicalVariable lengthVar = context.newVar();
                         tokenizeKeyVars.add(lengthVar);
-                        tokenizeKeyExprs.add(new MutableObject<ILogicalExpression>(new VariableReferenceExpression(
-                                lengthVar)));
+                        tokenizeKeyExprs
+                                .add(new MutableObject<ILogicalExpression>(new VariableReferenceExpression(lengthVar)));
                         varTypes.add(BuiltinType.SHORTWITHOUTTYPEINFO);
                     }
 
                     // TokenizeOperator to tokenize [SK, PK] pairs
                     TokenizeOperator tokenUpdate = new TokenizeOperator(dataSourceIndex,
-                            insertOp.getPrimaryKeyExpressions(), secondaryExpressions, tokenizeKeyVars,
-                            filterExpression, insertOp.getOperation(), insertOp.isBulkload(), isPartitioned, varTypes);
+                            insertDeleteOp.getPrimaryKeyExpressions(), secondaryExpressions, tokenizeKeyVars,
+                            filterExpression, insertDeleteOp.getOperation(), insertDeleteOp.isBulkload(), isPartitioned,
+                            varTypes);
                     tokenUpdate.getInputs().add(new MutableObject<ILogicalOperator>(assign));
                     context.computeAndSetTypeEnvironmentForOperator(tokenUpdate);
 
                     IndexInsertDeleteOperator indexUpdate = new IndexInsertDeleteOperator(dataSourceIndex,
-                            insertOp.getPrimaryKeyExpressions(), tokenizeKeyExprs, filterExpression,
-                            insertOp.getOperation(), insertOp.isBulkload());
+                            insertDeleteOp.getPrimaryKeyExpressions(), tokenizeKeyExprs, filterExpression,
+                            insertDeleteOp.getOperation(), insertDeleteOp.isBulkload());
                     indexUpdate.setAdditionalFilteringExpressions(additionalFilteringExpressions);
                     indexUpdate.getInputs().add(new MutableObject<ILogicalOperator>(tokenUpdate));
 
@@ -371,15 +380,15 @@
                 } else {
                     // When TokenizeOperator is not needed
                     IndexInsertDeleteOperator indexUpdate = new IndexInsertDeleteOperator(dataSourceIndex,
-                            insertOp.getPrimaryKeyExpressions(), secondaryExpressions, filterExpression,
-                            insertOp.getOperation(), insertOp.isBulkload());
+                            insertDeleteOp.getPrimaryKeyExpressions(), secondaryExpressions, filterExpression,
+                            insertDeleteOp.getOperation(), insertDeleteOp.isBulkload());
                     indexUpdate.setAdditionalFilteringExpressions(additionalFilteringExpressions);
                     indexUpdate.getInputs().add(new MutableObject<ILogicalOperator>(currentTop));
 
                     currentTop = indexUpdate;
                     context.computeAndSetTypeEnvironmentForOperator(indexUpdate);
 
-                    if (insertOp.isBulkload())
+                    if (insertDeleteOp.isBulkload())
                         op0.getInputs().add(new MutableObject<ILogicalOperator>(currentTop));
 
                 }
@@ -397,20 +406,17 @@
                     keyVarList.add(keyVar);
                     AbstractFunctionCallExpression createMBR = new ScalarFunctionCallExpression(
                             FunctionUtils.getFunctionInfo(AsterixBuiltinFunctions.CREATE_MBR));
-                    createMBR.getArguments().add(
-                            new MutableObject<ILogicalExpression>(new VariableReferenceExpression(secondaryKeyVars
-                                    .get(0))));
-                    createMBR.getArguments().add(
-                            new MutableObject<ILogicalExpression>(new ConstantExpression(new AsterixConstantValue(
-                                    new AInt32(dimension)))));
-                    createMBR.getArguments().add(
-                            new MutableObject<ILogicalExpression>(new ConstantExpression(new AsterixConstantValue(
-                                    new AInt32(i)))));
+                    createMBR.getArguments().add(new MutableObject<ILogicalExpression>(
+                            new VariableReferenceExpression(secondaryKeyVars.get(0))));
+                    createMBR.getArguments().add(new MutableObject<ILogicalExpression>(
+                            new ConstantExpression(new AsterixConstantValue(new AInt32(dimension)))));
+                    createMBR.getArguments().add(new MutableObject<ILogicalExpression>(
+                            new ConstantExpression(new AsterixConstantValue(new AInt32(i)))));
                     keyExprList.add(new MutableObject<ILogicalExpression>(createMBR));
                 }
                 for (LogicalVariable secondaryKeyVar : keyVarList) {
-                    secondaryExpressions.add(new MutableObject<ILogicalExpression>(new VariableReferenceExpression(
-                            secondaryKeyVar)));
+                    secondaryExpressions.add(
+                            new MutableObject<ILogicalExpression>(new VariableReferenceExpression(secondaryKeyVar)));
                 }
                 AssignOperator assignCoordinates = new AssignOperator(keyVarList, keyExprList);
                 assignCoordinates.getInputs().add(new MutableObject<ILogicalOperator>(currentTop));
@@ -422,14 +428,14 @@
                         context.getOutputTypeEnvironment(assignCoordinates), forceFilter);
                 AqlIndex dataSourceIndex = new AqlIndex(index, dataverseName, datasetName, mp);
                 IndexInsertDeleteOperator indexUpdate = new IndexInsertDeleteOperator(dataSourceIndex,
-                        insertOp.getPrimaryKeyExpressions(), secondaryExpressions, filterExpression,
-                        insertOp.getOperation(), insertOp.isBulkload());
+                        insertDeleteOp.getPrimaryKeyExpressions(), secondaryExpressions, filterExpression,
+                        insertDeleteOp.getOperation(), insertDeleteOp.isBulkload());
                 indexUpdate.setAdditionalFilteringExpressions(additionalFilteringExpressions);
                 indexUpdate.getInputs().add(new MutableObject<ILogicalOperator>(assignCoordinates));
                 currentTop = indexUpdate;
                 context.computeAndSetTypeEnvironmentForOperator(indexUpdate);
 
-                if (insertOp.isBulkload())
+                if (insertDeleteOp.isBulkload())
                     op0.getInputs().add(new MutableObject<ILogicalOperator>(currentTop));
 
             }
@@ -439,79 +445,107 @@
             return false;
         }
 
-        if (!insertOp.isBulkload()) {
+        if (!insertDeleteOp.isBulkload()) {
             op0.getInputs().clear();
             op0.getInputs().add(new MutableObject<ILogicalOperator>(currentTop));
         }
         return true;
     }
 
-    public static ARecordType createEnforcedType(ARecordType initialType, Index index) throws AsterixException,
-            AlgebricksException {
+    // Merges typed index fields with specified recordType, allowing indexed fields to be optional.
+    // I.e. the type { "personId":int32, "name": string, "address" : { "street": string } } with typed indexes on age:int32, address.state:string
+    //      will be merged into type { "personId":int32, "name": string, "age": int32? "address" : { "street": string, "state": string? } }
+    // Used by open indexes to enforce the type of an indexed record
+    public static ARecordType createEnforcedType(ARecordType initialType, List<Index> indexes)
+            throws AsterixException, AlgebricksException {
         ARecordType enforcedType = initialType;
-        for (int i = 0; i < index.getKeyFieldNames().size(); i++) {
-            try {
-                Stack<Pair<ARecordType, String>> nestedTypeStack = new Stack<Pair<ARecordType, String>>();
-                List<String> splits = index.getKeyFieldNames().get(i);
-                ARecordType nestedFieldType = enforcedType;
-                boolean openRecords = false;
-                String bridgeName = nestedFieldType.getTypeName();
-                int j;
-                //Build the stack for the enforced type
-                for (j = 1; j < splits.size(); j++) {
-                    nestedTypeStack.push(new Pair<ARecordType, String>(nestedFieldType, splits.get(j - 1)));
-                    bridgeName = nestedFieldType.getTypeName();
-                    nestedFieldType = (ARecordType) enforcedType.getSubFieldType(splits.subList(0, j));
-                    if (nestedFieldType == null) {
-                        openRecords = true;
-                        break;
+        for (Index index : indexes) {
+            if (!index.isSecondaryIndex() || !index.isEnforcingKeyFileds()) {
+                continue;
+            }
+            for (int i = 0; i < index.getKeyFieldNames().size(); i++) {
+                try {
+                    Stack<Pair<ARecordType, String>> nestedTypeStack = new Stack<Pair<ARecordType, String>>();
+                    List<String> splits = index.getKeyFieldNames().get(i);
+                    ARecordType nestedFieldType = enforcedType;
+                    boolean openRecords = false;
+                    String bridgeName = nestedFieldType.getTypeName();
+                    int j;
+                    //Build the stack for the enforced type
+                    for (j = 1; j < splits.size(); j++) {
+                        nestedTypeStack.push(new Pair<ARecordType, String>(nestedFieldType, splits.get(j - 1)));
+                        bridgeName = nestedFieldType.getTypeName();
+                        nestedFieldType = (ARecordType) enforcedType.getSubFieldType(splits.subList(0, j));
+                        if (nestedFieldType == null) {
+                            openRecords = true;
+                            break;
+                        }
                     }
-                }
-                if (openRecords == true) {
-                    //create the smallest record
-                    enforcedType = new ARecordType(splits.get(splits.size() - 2), new String[] { splits.get(splits
-                            .size() - 1) }, new IAType[] { AUnionType.createNullableType(index.getKeyFieldTypes()
-                            .get(i)) }, true);
-                    //create the open part of the nested field
-                    for (int k = splits.size() - 3; k > (j - 2); k--) {
-                        enforcedType = new ARecordType(splits.get(k), new String[] { splits.get(k + 1) },
-                                new IAType[] { AUnionType.createNullableType(enforcedType) }, true);
+                    if (openRecords == true) {
+                        //create the smallest record
+                        enforcedType = new ARecordType(splits.get(splits.size() - 2),
+                                new String[] { splits.get(splits.size() - 1) },
+                                new IAType[] { AUnionType.createNullableType(index.getKeyFieldTypes().get(i)) }, true);
+                        //create the open part of the nested field
+                        for (int k = splits.size() - 3; k > (j - 2); k--) {
+                            enforcedType = new ARecordType(splits.get(k), new String[] { splits.get(k + 1) },
+                                    new IAType[] { AUnionType.createNullableType(enforcedType) }, true);
+                        }
+                        //Bridge the gap
+                        Pair<ARecordType, String> gapPair = nestedTypeStack.pop();
+                        ARecordType parent = gapPair.first;
+
+                        IAType[] parentFieldTypes = ArrayUtils.addAll(parent.getFieldTypes().clone(),
+                                new IAType[] { AUnionType.createNullableType(enforcedType) });
+                        enforcedType = new ARecordType(bridgeName,
+                                ArrayUtils.addAll(parent.getFieldNames(), enforcedType.getTypeName()), parentFieldTypes,
+                                true);
+
+                    } else {
+                        //Schema is closed all the way to the field
+                        //enforced fields are either null or strongly typed
+                        LinkedHashMap<String, IAType> recordNameTypesMap = new LinkedHashMap<String, IAType>();
+                        for (j = 0; j < nestedFieldType.getFieldNames().length; j++) {
+                            recordNameTypesMap.put(nestedFieldType.getFieldNames()[j],
+                                    nestedFieldType.getFieldTypes()[j]);
+                        }
+                        // if a an enforced field already exists and the type is correct
+                        IAType enforcedFieldType = recordNameTypesMap.get(splits.get(splits.size() - 1));
+                        if (enforcedFieldType != null && enforcedFieldType.getTypeTag() == ATypeTag.UNION
+                                && ((AUnionType) enforcedFieldType).isNullableType())
+                            enforcedFieldType = ((AUnionType) enforcedFieldType).getNullableType();
+                        if (enforcedFieldType != null && !ATypeHierarchy.canPromote(enforcedFieldType.getTypeTag(),
+                                index.getKeyFieldTypes().get(i).getTypeTag()))
+                            throw new AlgebricksException("Cannot enforce field " + index.getKeyFieldNames().get(i)
+                                    + " to have type " + index.getKeyFieldTypes().get(i));
+                        if (enforcedFieldType == null)
+                            recordNameTypesMap.put(splits.get(splits.size() - 1),
+                                    AUnionType.createNullableType(index.getKeyFieldTypes().get(i)));
+                        enforcedType = new ARecordType(nestedFieldType.getTypeName(),
+                                recordNameTypesMap.keySet().toArray(new String[recordNameTypesMap.size()]),
+                                recordNameTypesMap.values().toArray(new IAType[recordNameTypesMap.size()]),
+                                nestedFieldType.isOpen());
                     }
-                    //Bridge the gap
-                    Pair<ARecordType, String> gapPair = nestedTypeStack.pop();
-                    ARecordType parent = gapPair.first;
 
-                    IAType[] parentFieldTypes = ArrayUtils.addAll(parent.getFieldTypes().clone(),
-                            new IAType[] { AUnionType.createNullableType(enforcedType) });
-                    enforcedType = new ARecordType(bridgeName, ArrayUtils.addAll(parent.getFieldNames(),
-                            enforcedType.getTypeName()), parentFieldTypes, true);
-
-                } else {
-                    //Schema is closed all the way to the field
-                    //enforced fields are either null or strongly typed
-                    enforcedType = new ARecordType(nestedFieldType.getTypeName(), ArrayUtils.addAll(
-                            nestedFieldType.getFieldNames(), splits.get(splits.size() - 1)), ArrayUtils.addAll(
-                            nestedFieldType.getFieldTypes(),
-                            AUnionType.createNullableType(index.getKeyFieldTypes().get(i))), nestedFieldType.isOpen());
-                }
-
-                //Create the enforcedtype for the nested fields in the schema, from the ground up
-                if (nestedTypeStack.size() > 0) {
-                    while (!nestedTypeStack.isEmpty()) {
-                        Pair<ARecordType, String> nestedTypePair = nestedTypeStack.pop();
-                        ARecordType nestedRecType = nestedTypePair.first;
-                        IAType[] nestedRecTypeFieldTypes = nestedRecType.getFieldTypes().clone();
-                        nestedRecTypeFieldTypes[nestedRecType.findFieldPosition(nestedTypePair.second)] = enforcedType;
-                        enforcedType = new ARecordType(nestedRecType.getTypeName(), nestedRecType.getFieldNames(),
-                                nestedRecTypeFieldTypes, nestedRecType.isOpen());
+                    //Create the enforcedtype for the nested fields in the schema, from the ground up
+                    if (nestedTypeStack.size() > 0) {
+                        while (!nestedTypeStack.isEmpty()) {
+                            Pair<ARecordType, String> nestedTypePair = nestedTypeStack.pop();
+                            ARecordType nestedRecType = nestedTypePair.first;
+                            IAType[] nestedRecTypeFieldTypes = nestedRecType.getFieldTypes().clone();
+                            nestedRecTypeFieldTypes[nestedRecType
+                                    .findFieldPosition(nestedTypePair.second)] = enforcedType;
+                            enforcedType = new ARecordType(nestedRecType.getTypeName() + "_enforced",
+                                    nestedRecType.getFieldNames(), nestedRecTypeFieldTypes, nestedRecType.isOpen());
+                        }
                     }
-                }
 
-            } catch (AsterixException e) {
-                throw new AlgebricksException("Cannot enforce typed fields "
-                        + StringUtils.join(index.getKeyFieldNames()), e);
-            } catch (IOException e) {
-                throw new AsterixException(e);
+                } catch (AsterixException e) {
+                    throw new AlgebricksException(
+                            "Cannot enforce typed fields " + StringUtils.join(index.getKeyFieldNames()), e);
+                } catch (IOException e) {
+                    throw new AsterixException(e);
+                }
             }
         }
         return enforcedType;
@@ -520,9 +554,9 @@
     @SuppressWarnings("unchecked")
     private void prepareVarAndExpression(List<String> field, String[] fieldNames, LogicalVariable recordVar,
             List<Mutable<ILogicalExpression>> expressions, List<LogicalVariable> vars, IOptimizationContext context)
-            throws AlgebricksException {
-        Mutable<ILogicalExpression> varRef = new MutableObject<ILogicalExpression>(new VariableReferenceExpression(
-                recordVar));
+                    throws AlgebricksException {
+        Mutable<ILogicalExpression> varRef = new MutableObject<ILogicalExpression>(
+                new VariableReferenceExpression(recordVar));
         int pos = -1;
         if (field.size() == 1) {
             for (int j = 0; j < fieldNames.length; j++) {
@@ -539,14 +573,14 @@
                 for (int i = 0; i < field.size(); i++) {
                     fieldList.add(new AString(field.get(i)));
                 }
-                Mutable<ILogicalExpression> fieldRef = new MutableObject<ILogicalExpression>(new ConstantExpression(
-                        new AsterixConstantValue(fieldList)));
+                Mutable<ILogicalExpression> fieldRef = new MutableObject<ILogicalExpression>(
+                        new ConstantExpression(new AsterixConstantValue(fieldList)));
                 //Create an expression for the nested case
                 func = new ScalarFunctionCallExpression(
                         FunctionUtils.getFunctionInfo(AsterixBuiltinFunctions.FIELD_ACCESS_NESTED), varRef, fieldRef);
             } else {
-                Mutable<ILogicalExpression> fieldRef = new MutableObject<ILogicalExpression>(new ConstantExpression(
-                        new AsterixConstantValue(new AString(field.get(0)))));
+                Mutable<ILogicalExpression> fieldRef = new MutableObject<ILogicalExpression>(
+                        new ConstantExpression(new AsterixConstantValue(new AString(field.get(0)))));
                 //Create an expression for the open field case (By name)
                 func = new ScalarFunctionCallExpression(
                         FunctionUtils.getFunctionInfo(AsterixBuiltinFunctions.FIELD_ACCESS_BY_NAME), varRef, fieldRef);
@@ -556,8 +590,8 @@
             vars.add(newVar);
         } else {
             // Assumes the indexed field is in the closed portion of the type.
-            Mutable<ILogicalExpression> indexRef = new MutableObject<ILogicalExpression>(new ConstantExpression(
-                    new AsterixConstantValue(new AInt32(pos))));
+            Mutable<ILogicalExpression> indexRef = new MutableObject<ILogicalExpression>(
+                    new ConstantExpression(new AsterixConstantValue(new AInt32(pos))));
             AbstractFunctionCallExpression func = new ScalarFunctionCallExpression(
                     FunctionUtils.getFunctionInfo(AsterixBuiltinFunctions.FIELD_ACCESS_BY_INDEX), varRef, indexRef);
             expressions.add(new MutableObject<ILogicalExpression>(func));
@@ -581,8 +615,8 @@
                     FunctionUtils.getFunctionInfo(AsterixBuiltinFunctions.IS_NULL),
                     new MutableObject<ILogicalExpression>(new VariableReferenceExpression(secondaryKeyVar)));
             ScalarFunctionCallExpression notFuncExpr = new ScalarFunctionCallExpression(
-                    FunctionUtils.getFunctionInfo(AsterixBuiltinFunctions.NOT), new MutableObject<ILogicalExpression>(
-                            isNullFuncExpr));
+                    FunctionUtils.getFunctionInfo(AsterixBuiltinFunctions.NOT),
+                    new MutableObject<ILogicalExpression>(isNullFuncExpr));
             filterExpressions.add(new MutableObject<ILogicalExpression>(notFuncExpr));
         }
         // No nullable secondary keys.
diff --git a/asterix-algebra/src/main/java/org/apache/asterix/translator/CompiledStatements.java b/asterix-algebra/src/main/java/org/apache/asterix/translator/CompiledStatements.java
index 25649ee..26f6bd3 100644
--- a/asterix-algebra/src/main/java/org/apache/asterix/translator/CompiledStatements.java
+++ b/asterix-algebra/src/main/java/org/apache/asterix/translator/CompiledStatements.java
@@ -27,13 +27,9 @@
 import org.apache.asterix.aql.base.Statement.Kind;
 import org.apache.asterix.aql.expression.CallExpr;
 import org.apache.asterix.aql.expression.FLWOGRExpression;
-import org.apache.asterix.aql.expression.FieldAccessor;
-import org.apache.asterix.aql.expression.FieldBinding;
 import org.apache.asterix.aql.expression.ForClause;
-import org.apache.asterix.aql.expression.Identifier;
 import org.apache.asterix.aql.expression.LiteralExpr;
 import org.apache.asterix.aql.expression.Query;
-import org.apache.asterix.aql.expression.RecordConstructor;
 import org.apache.asterix.aql.expression.VariableExpr;
 import org.apache.asterix.aql.expression.WhereClause;
 import org.apache.asterix.aql.literal.StringLiteral;
@@ -42,8 +38,6 @@
 import org.apache.asterix.common.functions.FunctionConstants;
 import org.apache.asterix.common.functions.FunctionSignature;
 import org.apache.asterix.metadata.declared.AqlMetadataProvider;
-import org.apache.asterix.metadata.entities.Dataset;
-import org.apache.asterix.om.types.ARecordType;
 import org.apache.asterix.om.types.IAType;
 import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException;
 
@@ -83,8 +77,8 @@
 
     // added by yasser
     public static class CompiledCreateDataverseStatement implements ICompiledStatement {
-        private String dataverseName;
-        private String format;
+        private final String dataverseName;
+        private final String format;
 
         public CompiledCreateDataverseStatement(String dataverseName, String format) {
             this.dataverseName = dataverseName;
@@ -106,7 +100,7 @@
     }
 
     public static class CompiledNodeGroupDropStatement implements ICompiledStatement {
-        private String nodeGroupName;
+        private final String nodeGroupName;
 
         public CompiledNodeGroupDropStatement(String nodeGroupName) {
             this.nodeGroupName = nodeGroupName;
@@ -123,9 +117,9 @@
     }
 
     public static class CompiledIndexDropStatement implements ICompiledStatement {
-        private String dataverseName;
-        private String datasetName;
-        private String indexName;
+        private final String dataverseName;
+        private final String datasetName;
+        private final String indexName;
 
         public CompiledIndexDropStatement(String dataverseName, String datasetName, String indexName) {
             this.dataverseName = dataverseName;
@@ -152,8 +146,8 @@
     }
 
     public static class CompiledDataverseDropStatement implements ICompiledStatement {
-        private String dataverseName;
-        private boolean ifExists;
+        private final String dataverseName;
+        private final boolean ifExists;
 
         public CompiledDataverseDropStatement(String dataverseName, boolean ifExists) {
             this.dataverseName = dataverseName;
@@ -175,7 +169,7 @@
     }
 
     public static class CompiledTypeDropStatement implements ICompiledStatement {
-        private String typeName;
+        private final String typeName;
 
         public CompiledTypeDropStatement(String nodeGroupName) {
             this.typeName = nodeGroupName;
@@ -211,7 +205,8 @@
         private final int gramLength;
 
         public CompiledCreateIndexStatement(String indexName, String dataverseName, String datasetName,
-                List<List<String>> keyFields, List<IAType> keyTypes, boolean isEnforced, int gramLength, IndexType indexType) {
+                List<List<String>> keyFields, List<IAType> keyTypes, boolean isEnforced, int gramLength,
+                IndexType indexType) {
             this.indexName = indexName;
             this.dataverseName = dataverseName;
             this.datasetName = datasetName;
@@ -222,10 +217,12 @@
             this.indexType = indexType;
         }
 
+        @Override
         public String getDatasetName() {
             return datasetName;
         }
 
+        @Override
         public String getDataverseName() {
             return dataverseName;
         }
@@ -261,11 +258,11 @@
     }
 
     public static class CompiledLoadFromFileStatement implements ICompiledDmlStatement {
-        private String dataverseName;
-        private String datasetName;
-        private boolean alreadySorted;
-        private String adapter;
-        private Map<String, String> properties;
+        private final String dataverseName;
+        private final String datasetName;
+        private final boolean alreadySorted;
+        private final String adapter;
+        private final Map<String, String> properties;
 
         public CompiledLoadFromFileStatement(String dataverseName, String datasetName, String adapter,
                 Map<String, String> properties, boolean alreadySorted) {
@@ -276,10 +273,12 @@
             this.properties = properties;
         }
 
+        @Override
         public String getDataverseName() {
             return dataverseName;
         }
 
+        @Override
         public String getDatasetName() {
             return datasetName;
         }
@@ -315,10 +314,12 @@
             this.varCounter = varCounter;
         }
 
+        @Override
         public String getDataverseName() {
             return dataverseName;
         }
 
+        @Override
         public String getDatasetName() {
             return datasetName;
         }
@@ -338,12 +339,12 @@
     }
 
     public static class CompiledConnectFeedStatement implements ICompiledDmlStatement {
-        private String dataverseName;
-        private String feedName;
-        private String datasetName;
-        private String policyName;
+        private final String dataverseName;
+        private final String feedName;
+        private final String datasetName;
+        private final String policyName;
         private Query query;
-        private int varCounter;
+        private final int varCounter;
 
         public CompiledConnectFeedStatement(String dataverseName, String feedName, String datasetName,
                 String policyName, Query query, int varCounter) {
@@ -390,7 +391,7 @@
             return policyName;
         }
     }
-    
+
     public static class CompiledSubscribeFeedStatement implements ICompiledDmlStatement {
 
         private final FeedConnectionRequest request;
@@ -432,11 +433,10 @@
 
     }
 
-
     public static class CompiledDisconnectFeedStatement implements ICompiledDmlStatement {
-        private String dataverseName;
-        private String datasetName;
-        private String feedName;
+        private final String dataverseName;
+        private final String datasetName;
+        private final String feedName;
         private Query query;
         private int varCounter;
 
@@ -476,15 +476,15 @@
     }
 
     public static class CompiledDeleteStatement implements ICompiledDmlStatement {
-        private VariableExpr var;
-        private String dataverseName;
-        private String datasetName;
-        private Expression condition;
-        private int varCounter;
-        private AqlMetadataProvider metadataProvider;
+        private final VariableExpr var;
+        private final String dataverseName;
+        private final String datasetName;
+        private final Expression condition;
+        private final int varCounter;
+        private final AqlMetadataProvider metadataProvider;
 
-        public CompiledDeleteStatement(VariableExpr var, String dataverseName, String datasetName,
-                Expression condition, int varCounter, AqlMetadataProvider metadataProvider) {
+        public CompiledDeleteStatement(VariableExpr var, String dataverseName, String datasetName, Expression condition,
+                int varCounter, AqlMetadataProvider metadataProvider) {
             this.var = var;
             this.dataverseName = dataverseName;
             this.datasetName = datasetName;
@@ -529,23 +529,7 @@
                 clauseList.add(whereClause);
             }
 
-            Dataset dataset = metadataProvider.findDataset(dataverseName, datasetName);
-            if (dataset == null) {
-                throw new AlgebricksException("Unknown dataset " + datasetName);
-            }
-            String itemTypeName = dataset.getItemTypeName();
-            IAType itemType = metadataProvider.findType(dataset.getDataverseName(), itemTypeName);
-            ARecordType recType = (ARecordType) itemType;
-            String[] fieldNames = recType.getFieldNames();
-            List<FieldBinding> fieldBindings = new ArrayList<FieldBinding>();
-            for (int i = 0; i < fieldNames.length; i++) {
-                FieldAccessor fa = new FieldAccessor(var, new Identifier(fieldNames[i]));
-                FieldBinding fb = new FieldBinding(new LiteralExpr(new StringLiteral(fieldNames[i])), fa);
-                fieldBindings.add(fb);
-            }
-            RecordConstructor rc = new RecordConstructor(fieldBindings);
-
-            FLWOGRExpression flowgr = new FLWOGRExpression(clauseList, rc);
+            FLWOGRExpression flowgr = new FLWOGRExpression(clauseList, var);
             Query query = new Query();
             query.setBody(flowgr);
             return query;
@@ -592,7 +576,8 @@
         private final int gramLength;
 
         public CompiledIndexCompactStatement(String dataverseName, String datasetName, String indexName,
-                List<List<String>> keyFields, List<IAType> keyTypes, boolean isEnforced, int gramLength, IndexType indexType) {
+                List<List<String>> keyFields, List<IAType> keyTypes, boolean isEnforced, int gramLength,
+                IndexType indexType) {
             super(dataverseName, datasetName);
             this.indexName = indexName;
             this.keyFields = keyFields;
diff --git a/asterix-app/src/main/java/org/apache/asterix/aql/translator/AqlTranslator.java b/asterix-app/src/main/java/org/apache/asterix/aql/translator/AqlTranslator.java
index dcfbc98..034e1f5 100644
--- a/asterix-app/src/main/java/org/apache/asterix/aql/translator/AqlTranslator.java
+++ b/asterix-app/src/main/java/org/apache/asterix/aql/translator/AqlTranslator.java
@@ -39,11 +39,6 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import org.apache.commons.lang3.StringUtils;
-import org.json.JSONArray;
-import org.json.JSONException;
-import org.json.JSONObject;
-
 import org.apache.asterix.api.common.APIFramework;
 import org.apache.asterix.api.common.Job;
 import org.apache.asterix.api.common.SessionConfig;
@@ -170,10 +165,12 @@
 import org.apache.asterix.translator.CompiledStatements.CompiledSubscribeFeedStatement;
 import org.apache.asterix.translator.CompiledStatements.ICompiledDmlStatement;
 import org.apache.asterix.translator.TypeTranslator;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.hyracks.algebricks.common.constraints.AlgebricksPartitionConstraint;
 import org.apache.hyracks.algebricks.common.constraints.AlgebricksPartitionConstraintHelper;
 import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException;
 import org.apache.hyracks.algebricks.common.utils.Pair;
+import org.apache.hyracks.algebricks.common.utils.Triple;
 import org.apache.hyracks.algebricks.core.algebra.expressions.AbstractFunctionCallExpression.FunctionKind;
 import org.apache.hyracks.algebricks.data.IAWriterFactory;
 import org.apache.hyracks.algebricks.data.IResultSerializerFactoryProvider;
@@ -191,11 +188,15 @@
 import org.apache.hyracks.api.io.FileReference;
 import org.apache.hyracks.api.job.JobId;
 import org.apache.hyracks.api.job.JobSpecification;
-import org.apache.hyracks.algebricks.common.utils.Triple;
 import org.apache.hyracks.dataflow.std.connectors.OneToOneConnectorDescriptor;
 import org.apache.hyracks.dataflow.std.file.FileSplit;
 import org.apache.hyracks.dataflow.std.file.IFileSplitProvider;
 import org.apache.hyracks.storage.am.lsm.common.api.ILSMMergePolicyFactory;
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import com.google.common.collect.Lists;
 
 /*
  * Provides functionality for executing a batch of AQL statements (queries included)
@@ -240,7 +241,7 @@
 
     /**
      * Compiles and submits for execution a list of AQL statements.
-     * 
+     *
      * @param hcc
      *            A Hyracks client connection that is used to submit a jobspec to Hyracks.
      * @param hdc
@@ -380,8 +381,8 @@
 
                 case QUERY: {
                     metadataProvider.setResultSetId(new ResultSetId(resultSetIdCounter++));
-                    metadataProvider.setResultAsyncMode(resultDelivery == ResultDelivery.ASYNC
-                            || resultDelivery == ResultDelivery.ASYNC_DEFERRED);
+                    metadataProvider.setResultAsyncMode(
+                            resultDelivery == ResultDelivery.ASYNC || resultDelivery == ResultDelivery.ASYNC_DEFERRED);
                     handleQuery(metadataProvider, (Query) stmt, hcc, hdc, resultDelivery);
                     break;
                 }
@@ -473,8 +474,8 @@
                     throw new AlgebricksException("A dataverse with this name " + dvName + " already exists.");
                 }
             }
-            MetadataManager.INSTANCE.addDataverse(metadataProvider.getMetadataTxnContext(), new Dataverse(dvName,
-                    stmtCreateDataverse.getFormat(), IMetadataEntity.PENDING_NO_OP));
+            MetadataManager.INSTANCE.addDataverse(metadataProvider.getMetadataTxnContext(),
+                    new Dataverse(dvName, stmtCreateDataverse.getFormat(), IMetadataEntity.PENDING_NO_OP));
             MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
         } catch (Exception e) {
             abort(e, e, mdTxnCtx);
@@ -492,8 +493,8 @@
             throw new AsterixException("Unknown compaction policy: " + compactionPolicy);
         }
         String compactionPolicyFactoryClassName = compactionPolicyEntity.getClassName();
-        ILSMMergePolicyFactory mergePolicyFactory = (ILSMMergePolicyFactory) Class.forName(
-                compactionPolicyFactoryClassName).newInstance();
+        ILSMMergePolicyFactory mergePolicyFactory = (ILSMMergePolicyFactory) Class
+                .forName(compactionPolicyFactoryClassName).newInstance();
         if (isExternalDataset && mergePolicyFactory.getName().compareTo("correlated-prefix") == 0) {
             throw new AsterixException("The correlated-prefix merge policy cannot be used with external dataset.");
         }
@@ -556,8 +557,8 @@
             if (dt == null) {
                 throw new AlgebricksException(": type " + itemTypeName + " could not be found.");
             }
-            String ngName = ngNameId != null ? ngNameId.getValue() : configureNodegroupForDataset(dd, dataverseName,
-                    mdTxnCtx);
+            String ngName = ngNameId != null ? ngNameId.getValue()
+                    : configureNodegroupForDataset(dd, dataverseName, mdTxnCtx);
 
             if (compactionPolicy == null) {
                 compactionPolicy = GlobalConfig.DEFAULT_COMPACTION_POLICY_NAME;
@@ -805,8 +806,8 @@
             ds = MetadataManager.INSTANCE.getDataset(metadataProvider.getMetadataTxnContext(), dataverseName,
                     datasetName);
             if (ds == null) {
-                throw new AlgebricksException("There is no dataset with this name " + datasetName + " in dataverse "
-                        + dataverseName);
+                throw new AlgebricksException(
+                        "There is no dataset with this name " + datasetName + " in dataverse " + dataverseName);
             }
 
             indexName = stmtCreateIndex.getIndexName().getValue();
@@ -895,9 +896,9 @@
                 // External dataset
                 // Check if the dataset is indexible
                 if (!ExternalIndexingOperations.isIndexible((ExternalDatasetDetails) ds.getDatasetDetails())) {
-                    throw new AlgebricksException("dataset using "
-                            + ((ExternalDatasetDetails) ds.getDatasetDetails()).getAdapter()
-                            + " Adapter can't be indexed");
+                    throw new AlgebricksException(
+                            "dataset using " + ((ExternalDatasetDetails) ds.getDatasetDetails()).getAdapter()
+                                    + " Adapter can't be indexed");
                 }
                 // check if the name of the index is valid
                 if (!ExternalIndexingOperations.isValidIndexName(datasetName, indexName)) {
@@ -949,14 +950,14 @@
 
             //check whether there exists another enforced index on the same field
             if (stmtCreateIndex.isEnforced()) {
-                List<Index> indexes = MetadataManager.INSTANCE.getDatasetIndexes(
-                        metadataProvider.getMetadataTxnContext(), dataverseName, datasetName);
+                List<Index> indexes = MetadataManager.INSTANCE
+                        .getDatasetIndexes(metadataProvider.getMetadataTxnContext(), dataverseName, datasetName);
                 for (Index index : indexes) {
                     if (index.getKeyFieldNames().equals(indexFields)
                             && !index.getKeyFieldTypes().equals(indexFieldTypes) && index.isEnforcingKeyFileds())
-                        throw new AsterixException("Cannot create index " + indexName + " , enforced index "
-                                + index.getIndexName() + " on field \"" + StringUtils.join(indexFields, ',')
-                                + "\" already exist");
+                        throw new AsterixException(
+                                "Cannot create index " + indexName + " , enforced index " + index.getIndexName()
+                                        + " on field \"" + StringUtils.join(indexFields, ',') + "\" already exist");
                 }
             }
 
@@ -968,7 +969,8 @@
 
             ARecordType enforcedType = null;
             if (stmtCreateIndex.isEnforced()) {
-                enforcedType = IntroduceSecondaryIndexInsertDeleteRule.createEnforcedType(aRecordType, index);
+                enforcedType = IntroduceSecondaryIndexInsertDeleteRule.createEnforcedType(aRecordType,
+                        Lists.newArrayList(index));
             }
 
             //#. prepare to create the index artifact in NC.
@@ -1014,8 +1016,8 @@
             MetadataManager.INSTANCE.addIndex(metadataProvider.getMetadataTxnContext(), index);
             // add another new files index with PendingNoOp after deleting the index with PendingAddOp
             if (firstExternalDatasetIndex) {
-                MetadataManager.INSTANCE.dropIndex(metadataProvider.getMetadataTxnContext(), dataverseName,
-                        datasetName, filesIndex.getIndexName());
+                MetadataManager.INSTANCE.dropIndex(metadataProvider.getMetadataTxnContext(), dataverseName, datasetName,
+                        filesIndex.getIndexName());
                 filesIndex.setPendingOp(IMetadataEntity.PENDING_NO_OP);
                 MetadataManager.INSTANCE.addIndex(metadataProvider.getMetadataTxnContext(), filesIndex);
                 // update transaction timestamp
@@ -1056,8 +1058,8 @@
                 metadataProvider.setMetadataTxnContext(mdTxnCtx);
                 CompiledIndexDropStatement cds = new CompiledIndexDropStatement(dataverseName, datasetName, indexName);
                 try {
-                    JobSpecification jobSpec = IndexOperations
-                            .buildDropSecondaryIndexJobSpec(cds, metadataProvider, ds);
+                    JobSpecification jobSpec = IndexOperations.buildDropSecondaryIndexJobSpec(cds, metadataProvider,
+                            ds);
 
                     MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
                     bActiveTxn = false;
@@ -1189,8 +1191,8 @@
             for (FeedConnectionId connection : activeFeedConnections) {
                 FeedId feedId = connection.getFeedId();
                 if (feedId.getDataverse().equals(dataverseName)) {
-                    disStmt = new DisconnectFeedStatement(dvId, new Identifier(feedId.getFeedName()), new Identifier(
-                            connection.getDatasetName()));
+                    disStmt = new DisconnectFeedStatement(dvId, new Identifier(feedId.getFeedName()),
+                            new Identifier(connection.getDatasetName()));
                     try {
                         handleDisconnectFeedStatement(metadataProvider, disStmt, hcc);
                         if (LOGGER.isLoggable(Level.INFO)) {
@@ -1251,8 +1253,8 @@
             //   first, deleting the dataverse record from the DATAVERSE_DATASET
             //   second, inserting the dataverse record with the PendingDropOp value into the DATAVERSE_DATASET
             MetadataManager.INSTANCE.dropDataverse(mdTxnCtx, dataverseName);
-            MetadataManager.INSTANCE.addDataverse(mdTxnCtx, new Dataverse(dataverseName, dv.getDataFormat(),
-                    IMetadataEntity.PENDING_DROP_OP));
+            MetadataManager.INSTANCE.addDataverse(mdTxnCtx,
+                    new Dataverse(dataverseName, dv.getDataFormat(), IMetadataEntity.PENDING_DROP_OP));
 
             MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
             bActiveTxn = false;
@@ -1333,8 +1335,8 @@
                     MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
                     return;
                 } else {
-                    throw new AlgebricksException("There is no dataset with this name " + datasetName
-                            + " in dataverse " + dataverseName + ".");
+                    throw new AlgebricksException("There is no dataset with this name " + datasetName + " in dataverse "
+                            + dataverseName + ".");
                 }
             }
 
@@ -1368,11 +1370,11 @@
 
                 //#. mark the existing dataset as PendingDropOp
                 MetadataManager.INSTANCE.dropDataset(mdTxnCtx, dataverseName, datasetName);
-                MetadataManager.INSTANCE.addDataset(
-                        mdTxnCtx,
-                        new Dataset(dataverseName, datasetName, ds.getItemTypeName(), ds.getNodeGroupName(), ds
-                                .getCompactionPolicy(), ds.getCompactionPolicyProperties(), ds.getDatasetDetails(), ds
-                                .getHints(), ds.getDatasetType(), ds.getDatasetId(), IMetadataEntity.PENDING_DROP_OP));
+                MetadataManager.INSTANCE.addDataset(mdTxnCtx,
+                        new Dataset(dataverseName, datasetName, ds.getItemTypeName(), ds.getNodeGroupName(),
+                                ds.getCompactionPolicy(), ds.getCompactionPolicyProperties(), ds.getDatasetDetails(),
+                                ds.getHints(), ds.getDatasetType(), ds.getDatasetId(),
+                                IMetadataEntity.PENDING_DROP_OP));
 
                 MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
                 bActiveTxn = false;
@@ -1404,18 +1406,18 @@
                     } else {
                         CompiledIndexDropStatement cds = new CompiledIndexDropStatement(dataverseName, datasetName,
                                 indexes.get(j).getIndexName());
-                        jobsToExecute.add(ExternalIndexingOperations.buildDropFilesIndexJobSpec(cds, metadataProvider,
-                                ds));
+                        jobsToExecute
+                                .add(ExternalIndexingOperations.buildDropFilesIndexJobSpec(cds, metadataProvider, ds));
                     }
                 }
 
                 //#. mark the existing dataset as PendingDropOp
                 MetadataManager.INSTANCE.dropDataset(mdTxnCtx, dataverseName, datasetName);
-                MetadataManager.INSTANCE.addDataset(
-                        mdTxnCtx,
-                        new Dataset(dataverseName, datasetName, ds.getItemTypeName(), ds.getNodeGroupName(), ds
-                                .getCompactionPolicy(), ds.getCompactionPolicyProperties(), ds.getDatasetDetails(), ds
-                                .getHints(), ds.getDatasetType(), ds.getDatasetId(), IMetadataEntity.PENDING_DROP_OP));
+                MetadataManager.INSTANCE.addDataset(mdTxnCtx,
+                        new Dataset(dataverseName, datasetName, ds.getItemTypeName(), ds.getNodeGroupName(),
+                                ds.getCompactionPolicy(), ds.getCompactionPolicyProperties(), ds.getDatasetDetails(),
+                                ds.getHints(), ds.getDatasetType(), ds.getDatasetId(),
+                                IMetadataEntity.PENDING_DROP_OP));
 
                 MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
                 bActiveTxn = false;
@@ -1501,8 +1503,8 @@
 
             Dataset ds = MetadataManager.INSTANCE.getDataset(mdTxnCtx, dataverseName, datasetName);
             if (ds == null) {
-                throw new AlgebricksException("There is no dataset with this name " + datasetName + " in dataverse "
-                        + dataverseName);
+                throw new AlgebricksException(
+                        "There is no dataset with this name " + datasetName + " in dataverse " + dataverseName);
             }
 
             List<FeedConnectionId> feedConnections = FeedLifecycleListener.INSTANCE.getActiveFeedConnections(null);
@@ -1516,9 +1518,9 @@
                     }
                 }
                 if (resourceInUse) {
-                    throw new AsterixException("Dataset" + datasetName
-                            + " is currently being fed into by the following feeds " + "." + builder.toString()
-                            + "\nOperation not supported.");
+                    throw new AsterixException(
+                            "Dataset" + datasetName + " is currently being fed into by the following feeds " + "."
+                                    + builder.toString() + "\nOperation not supported.");
                 }
             }
 
@@ -1539,11 +1541,10 @@
 
                 //#. mark PendingDropOp on the existing index
                 MetadataManager.INSTANCE.dropIndex(mdTxnCtx, dataverseName, datasetName, indexName);
-                MetadataManager.INSTANCE.addIndex(
-                        mdTxnCtx,
-                        new Index(dataverseName, datasetName, indexName, index.getIndexType(),
-                                index.getKeyFieldNames(), index.getKeyFieldTypes(), index.isEnforcingKeyFileds(), index
-                                        .isPrimaryIndex(), IMetadataEntity.PENDING_DROP_OP));
+                MetadataManager.INSTANCE.addIndex(mdTxnCtx,
+                        new Index(dataverseName, datasetName, indexName, index.getIndexType(), index.getKeyFieldNames(),
+                                index.getKeyFieldTypes(), index.isEnforcingKeyFileds(), index.isPrimaryIndex(),
+                                IMetadataEntity.PENDING_DROP_OP));
 
                 //#. commit the existing transaction before calling runJob.
                 MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
@@ -1587,28 +1588,26 @@
                         if (ExternalIndexingOperations.isFileIndex(externalIndex)) {
                             cds = new CompiledIndexDropStatement(dataverseName, datasetName,
                                     externalIndex.getIndexName());
-                            jobsToExecute.add(ExternalIndexingOperations.buildDropFilesIndexJobSpec(cds,
-                                    metadataProvider, ds));
+                            jobsToExecute.add(
+                                    ExternalIndexingOperations.buildDropFilesIndexJobSpec(cds, metadataProvider, ds));
                             //#. mark PendingDropOp on the existing files index
                             MetadataManager.INSTANCE.dropIndex(mdTxnCtx, dataverseName, datasetName,
                                     externalIndex.getIndexName());
-                            MetadataManager.INSTANCE.addIndex(
-                                    mdTxnCtx,
-                                    new Index(dataverseName, datasetName, externalIndex.getIndexName(), externalIndex
-                                            .getIndexType(), externalIndex.getKeyFieldNames(),
-                                            index.getKeyFieldTypes(), index.isEnforcingKeyFileds(), externalIndex
-                                                    .isPrimaryIndex(), IMetadataEntity.PENDING_DROP_OP));
+                            MetadataManager.INSTANCE.addIndex(mdTxnCtx,
+                                    new Index(dataverseName, datasetName, externalIndex.getIndexName(),
+                                            externalIndex.getIndexType(), externalIndex.getKeyFieldNames(),
+                                            index.getKeyFieldTypes(), index.isEnforcingKeyFileds(),
+                                            externalIndex.isPrimaryIndex(), IMetadataEntity.PENDING_DROP_OP));
                         }
                     }
                 }
 
                 //#. mark PendingDropOp on the existing index
                 MetadataManager.INSTANCE.dropIndex(mdTxnCtx, dataverseName, datasetName, indexName);
-                MetadataManager.INSTANCE.addIndex(
-                        mdTxnCtx,
-                        new Index(dataverseName, datasetName, indexName, index.getIndexType(),
-                                index.getKeyFieldNames(), index.getKeyFieldTypes(), index.isEnforcingKeyFileds(), index
-                                        .isPrimaryIndex(), IMetadataEntity.PENDING_DROP_OP));
+                MetadataManager.INSTANCE.addIndex(mdTxnCtx,
+                        new Index(dataverseName, datasetName, indexName, index.getIndexType(), index.getKeyFieldNames(),
+                                index.getKeyFieldTypes(), index.isEnforcingKeyFileds(), index.isPrimaryIndex(),
+                                IMetadataEntity.PENDING_DROP_OP));
 
                 //#. commit the existing transaction before calling runJob.
                 MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
@@ -1667,8 +1666,8 @@
                 } catch (Exception e2) {
                     e.addSuppressed(e2);
                     abort(e, e2, mdTxnCtx);
-                    throw new IllegalStateException("System is inconsistent state: pending index(" + dataverseName
-                            + "." + datasetName + "." + indexName + ") couldn't be removed from the metadata", e);
+                    throw new IllegalStateException("System is inconsistent state: pending index(" + dataverseName + "."
+                            + datasetName + "." + indexName + ") couldn't be removed from the metadata", e);
                 }
             }
 
@@ -1764,8 +1763,8 @@
         FunctionSignature signature = stmtDropFunction.getFunctionSignature();
         MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
         metadataProvider.setMetadataTxnContext(mdTxnCtx);
-        MetadataLockManager.INSTANCE.functionStatementBegin(signature.getNamespace(), signature.getNamespace() + "."
-                + signature.getName());
+        MetadataLockManager.INSTANCE.functionStatementBegin(signature.getNamespace(),
+                signature.getNamespace() + "." + signature.getName());
         try {
             Function function = MetadataManager.INSTANCE.getFunction(mdTxnCtx, signature);
             if (function == null) {
@@ -1779,8 +1778,8 @@
             abort(e, e, mdTxnCtx);
             throw e;
         } finally {
-            MetadataLockManager.INSTANCE.functionStatementEnd(signature.getNamespace(), signature.getNamespace() + "."
-                    + signature.getName());
+            MetadataLockManager.INSTANCE.functionStatementEnd(signature.getNamespace(),
+                    signature.getNamespace() + "." + signature.getName());
         }
     }
 
@@ -1794,11 +1793,11 @@
         metadataProvider.setMetadataTxnContext(mdTxnCtx);
         MetadataLockManager.INSTANCE.modifyDatasetBegin(dataverseName, dataverseName + "." + datasetName);
         try {
-            CompiledLoadFromFileStatement cls = new CompiledLoadFromFileStatement(dataverseName, loadStmt
-                    .getDatasetName().getValue(), loadStmt.getAdapter(), loadStmt.getProperties(),
+            CompiledLoadFromFileStatement cls = new CompiledLoadFromFileStatement(dataverseName,
+                    loadStmt.getDatasetName().getValue(), loadStmt.getAdapter(), loadStmt.getProperties(),
                     loadStmt.dataIsAlreadySorted());
-            JobSpecification spec = APIFramework
-                    .compileQuery(null, metadataProvider, null, 0, null, sessionConfig, cls);
+            JobSpecification spec = APIFramework.compileQuery(null, metadataProvider, null, 0, null, sessionConfig,
+                    cls);
             MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
             bActiveTxn = false;
             if (spec != null) {
@@ -1823,13 +1822,13 @@
         MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
         boolean bActiveTxn = true;
         metadataProvider.setMetadataTxnContext(mdTxnCtx);
-        MetadataLockManager.INSTANCE.insertDeleteBegin(dataverseName,
-                dataverseName + "." + stmtInsert.getDatasetName(), query.getDataverses(), query.getDatasets());
+        MetadataLockManager.INSTANCE.insertDeleteBegin(dataverseName, dataverseName + "." + stmtInsert.getDatasetName(),
+                query.getDataverses(), query.getDatasets());
 
         try {
             metadataProvider.setWriteTransaction(true);
-            CompiledInsertStatement clfrqs = new CompiledInsertStatement(dataverseName, stmtInsert.getDatasetName()
-                    .getValue(), query, stmtInsert.getVarCounter());
+            CompiledInsertStatement clfrqs = new CompiledInsertStatement(dataverseName,
+                    stmtInsert.getDatasetName().getValue(), query, stmtInsert.getVarCounter());
             JobSpecification compiled = rewriteCompileQuery(metadataProvider, query, clfrqs);
 
             MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
@@ -1858,9 +1857,8 @@
         MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
         boolean bActiveTxn = true;
         metadataProvider.setMetadataTxnContext(mdTxnCtx);
-        MetadataLockManager.INSTANCE
-                .insertDeleteBegin(dataverseName, dataverseName + "." + stmtDelete.getDatasetName(),
-                        stmtDelete.getDataverses(), stmtDelete.getDatasets());
+        MetadataLockManager.INSTANCE.insertDeleteBegin(dataverseName, dataverseName + "." + stmtDelete.getDatasetName(),
+                stmtDelete.getDataverses(), stmtDelete.getDatasets());
 
         try {
             metadataProvider.setWriteTransaction(true);
@@ -1889,8 +1887,8 @@
     }
 
     private JobSpecification rewriteCompileQuery(AqlMetadataProvider metadataProvider, Query query,
-            ICompiledDmlStatement stmt) throws AsterixException, RemoteException, AlgebricksException, JSONException,
-            ACIDException {
+            ICompiledDmlStatement stmt)
+                    throws AsterixException, RemoteException, AlgebricksException, JSONException, ACIDException {
 
         // Query Rewriting (happens under the same ongoing metadata transaction)
         Pair<Query, Integer> reWrittenQuery = APIFramework.reWriteQuery(declaredFunctions, metadataProvider, query,
@@ -1977,8 +1975,8 @@
             boolean extendingExisting = cfps.getSourcePolicyName() != null;
             String description = cfps.getDescription() == null ? "" : cfps.getDescription();
             if (extendingExisting) {
-                FeedPolicy sourceFeedPolicy = MetadataManager.INSTANCE.getFeedPolicy(
-                        metadataProvider.getMetadataTxnContext(), dataverse, cfps.getSourcePolicyName());
+                FeedPolicy sourceFeedPolicy = MetadataManager.INSTANCE
+                        .getFeedPolicy(metadataProvider.getMetadataTxnContext(), dataverse, cfps.getSourcePolicyName());
                 if (sourceFeedPolicy == null) {
                     sourceFeedPolicy = MetadataManager.INSTANCE.getFeedPolicy(metadataProvider.getMetadataTxnContext(),
                             MetadataConstants.METADATA_DATAVERSE_NAME, cfps.getSourcePolicyName());
@@ -2101,13 +2099,13 @@
         IFeedLifecycleEventSubscriber eventSubscriber = new FeedLifecycleEventSubscriber();
         FeedConnectionId feedConnId = null;
 
-        MetadataLockManager.INSTANCE.connectFeedBegin(dataverseName, dataverseName + "." + datasetName, dataverseName
-                + "." + feedName);
+        MetadataLockManager.INSTANCE.connectFeedBegin(dataverseName, dataverseName + "." + datasetName,
+                dataverseName + "." + feedName);
         try {
             metadataProvider.setWriteTransaction(true);
 
-            CompiledConnectFeedStatement cbfs = new CompiledConnectFeedStatement(dataverseName, cfs.getFeedName(), cfs
-                    .getDatasetName().getValue(), cfs.getPolicy(), cfs.getQuery(), cfs.getVarCounter());
+            CompiledConnectFeedStatement cbfs = new CompiledConnectFeedStatement(dataverseName, cfs.getFeedName(),
+                    cfs.getDatasetName().getValue(), cfs.getPolicy(), cfs.getQuery(), cfs.getVarCounter());
 
             FeedUtil.validateIfDatasetExists(dataverseName, cfs.getDatasetName().getValue(),
                     metadataProvider.getMetadataTxnContext());
@@ -2165,8 +2163,8 @@
                 eventSubscriber.assertEvent(FeedLifecycleEvent.FEED_ENDED); // blocking call
             }
             String waitForCompletionParam = metadataProvider.getConfig().get(ConnectFeedStatement.WAIT_FOR_COMPLETION);
-            boolean waitForCompletion = waitForCompletionParam == null ? false : Boolean
-                    .valueOf(waitForCompletionParam);
+            boolean waitForCompletion = waitForCompletionParam == null ? false
+                    : Boolean.valueOf(waitForCompletionParam);
             if (waitForCompletion) {
                 MetadataLockManager.INSTANCE.connectFeedEnd(dataverseName, dataverseName + "." + datasetName,
                         dataverseName + "." + feedName);
@@ -2191,7 +2189,7 @@
     /**
      * Generates a subscription request corresponding to a connect feed request. In addition, provides a boolean
      * flag indicating if feed intake job needs to be started (source primary feed not found to be active).
-     * 
+     *
      * @param dataverse
      * @param feed
      * @param dataset
@@ -2202,7 +2200,7 @@
      */
     private Triple<FeedConnectionRequest, Boolean, List<IFeedJoint>> getFeedConnectionRequest(String dataverse,
             Feed feed, String dataset, FeedPolicy feedPolicy, MetadataTransactionContext mdTxnCtx)
-            throws MetadataException {
+                    throws MetadataException {
         IFeedJoint sourceFeedJoint = null;
         FeedConnectionRequest request = null;
         List<String> functionsToApply = new ArrayList<String>();
@@ -2217,7 +2215,7 @@
             sourceFeedJoint = FeedLifecycleListener.INSTANCE.getAvailableFeedJoint(feedJointKey);
             if (sourceFeedJoint == null) { // the feed is currently not being ingested, i.e., it is unavailable.
                 connectionLocation = ConnectionLocation.SOURCE_FEED_INTAKE_STAGE;
-                FeedId sourceFeedId = feedJointKey.getFeedId(); // the root/primary feedId 
+                FeedId sourceFeedId = feedJointKey.getFeedId(); // the root/primary feedId
                 Feed primaryFeed = MetadataManager.INSTANCE.getFeed(mdTxnCtx, dataverse, sourceFeedId.getFeedName());
                 FeedJointKey intakeFeedJointKey = new FeedJointKey(sourceFeedId, new ArrayList<String>());
                 sourceFeedJoint = new FeedJoint(intakeFeedJointKey, primaryFeed.getFeedId(), connectionLocation,
@@ -2236,7 +2234,7 @@
                 }
             }
             // register the compute feed point that represents the final output from the collection of
-            // functions that will be applied. 
+            // functions that will be applied.
             if (!functionsToApply.isEmpty()) {
                 FeedJointKey computeFeedJointKey = new FeedJointKey(feed.getFeedId(), functionsToApply);
                 IFeedJoint computeFeedJoint = new FeedJoint(computeFeedJointKey, feed.getFeedId(),
@@ -2259,7 +2257,7 @@
     }
 
     /*
-     * Gets the feed joint corresponding to the feed definition. Tuples constituting the feed are 
+     * Gets the feed joint corresponding to the feed definition. Tuples constituting the feed are
      * available at this feed joint.
      */
     private FeedJointKey getFeedJointKey(Feed feed, MetadataTransactionContext ctx) throws MetadataException {
@@ -2307,12 +2305,12 @@
             Dataset dataset = MetadataManager.INSTANCE.getDataset(metadataProvider.getMetadataTxnContext(),
                     dataverseName, cfs.getDatasetName().getValue());
             if (dataset == null) {
-                throw new AsterixException("Unknown dataset :" + cfs.getDatasetName().getValue() + " in dataverse "
-                        + dataverseName);
+                throw new AsterixException(
+                        "Unknown dataset :" + cfs.getDatasetName().getValue() + " in dataverse " + dataverseName);
             }
 
-            Pair<JobSpecification, Boolean> specDisconnectType = FeedOperations.buildDisconnectFeedJobSpec(
-                    metadataProvider, connectionId);
+            Pair<JobSpecification, Boolean> specDisconnectType = FeedOperations
+                    .buildDisconnectFeedJobSpec(metadataProvider, connectionId);
             JobSpecification jobSpec = specDisconnectType.first;
             MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
             bActiveTxn = false;
@@ -2356,17 +2354,17 @@
                 StringUtils.join(bfs.getLocations(), ','));
 
         JobSpecification compiled = rewriteCompileQuery(metadataProvider, bfs.getQuery(), csfs);
-        FeedConnectionId feedConnectionId = new FeedConnectionId(bfs.getSubscriptionRequest().getReceivingFeedId(), bfs
-                .getSubscriptionRequest().getTargetDataset());
+        FeedConnectionId feedConnectionId = new FeedConnectionId(bfs.getSubscriptionRequest().getReceivingFeedId(),
+                bfs.getSubscriptionRequest().getTargetDataset());
         String dataverse = feedConnectionId.getFeedId().getDataverse();
         String dataset = feedConnectionId.getDatasetName();
-        MetadataLockManager.INSTANCE.subscribeFeedBegin(dataverse, dataverse + "." + dataset, dataverse + "."
-                + feedConnectionId.getFeedId().getFeedName());
+        MetadataLockManager.INSTANCE.subscribeFeedBegin(dataverse, dataverse + "." + dataset,
+                dataverse + "." + feedConnectionId.getFeedId().getFeedName());
 
         try {
 
-            JobSpecification alteredJobSpec = FeedUtil.alterJobSpecificationForFeed(compiled, feedConnectionId, bfs
-                    .getSubscriptionRequest().getPolicyParameters());
+            JobSpecification alteredJobSpec = FeedUtil.alterJobSpecificationForFeed(compiled, feedConnectionId,
+                    bfs.getSubscriptionRequest().getPolicyParameters());
             MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
             bActiveTxn = false;
 
@@ -2381,8 +2379,8 @@
             }
             throw e;
         } finally {
-            MetadataLockManager.INSTANCE.subscribeFeedEnd(dataverse, dataverse + "." + dataset, dataverse + "."
-                    + feedConnectionId.getFeedId().getFeedName());
+            MetadataLockManager.INSTANCE.subscribeFeedEnd(dataverse, dataverse + "." + dataset,
+                    dataverse + "." + feedConnectionId.getFeedId().getFeedName());
         }
     }
 
@@ -2400,8 +2398,8 @@
         try {
             Dataset ds = MetadataManager.INSTANCE.getDataset(mdTxnCtx, dataverseName, datasetName);
             if (ds == null) {
-                throw new AlgebricksException("There is no dataset with this name " + datasetName + " in dataverse "
-                        + dataverseName + ".");
+                throw new AlgebricksException(
+                        "There is no dataset with this name " + datasetName + " in dataverse " + dataverseName + ".");
             }
 
             String itemTypeName = ds.getItemTypeName();
@@ -2411,45 +2409,26 @@
             // Prepare jobs to compact the datatset and its indexes
             List<Index> indexes = MetadataManager.INSTANCE.getDatasetIndexes(mdTxnCtx, dataverseName, datasetName);
             if (indexes.size() == 0) {
-                throw new AlgebricksException("Cannot compact the extrenal dataset " + datasetName
-                        + " because it has no indexes");
+                throw new AlgebricksException(
+                        "Cannot compact the extrenal dataset " + datasetName + " because it has no indexes");
             }
 
-            if (ds.getDatasetType() == DatasetType.INTERNAL) {
-                for (int j = 0; j < indexes.size(); j++) {
-                    if (indexes.get(j).isSecondaryIndex()) {
-                        CompiledIndexCompactStatement cics = new CompiledIndexCompactStatement(dataverseName,
-                                datasetName, indexes.get(j).getIndexName(), indexes.get(j).getKeyFieldNames(), indexes
-                                        .get(j).getKeyFieldTypes(), indexes.get(j).isEnforcingKeyFileds(), indexes.get(
-                                        j).getGramLength(), indexes.get(j).getIndexType());
-
-                        Dataverse dataverse = MetadataManager.INSTANCE.getDataverse(
-                                metadataProvider.getMetadataTxnContext(), dataverseName);
-                        jobsToExecute.add(DatasetOperations.compactDatasetJobSpec(dataverse, datasetName,
-                                metadataProvider));
-
-                    }
+            Dataverse dataverse = MetadataManager.INSTANCE.getDataverse(metadataProvider.getMetadataTxnContext(),
+                    dataverseName);
+            jobsToExecute.add(DatasetOperations.compactDatasetJobSpec(dataverse, datasetName, metadataProvider));
+            ARecordType aRecordType = (ARecordType) dt.getDatatype();
+            ARecordType enforcedType = IntroduceSecondaryIndexInsertDeleteRule.createEnforcedType(aRecordType, indexes);
+            for (int j = 0; j < indexes.size(); j++) {
+                if (ds.getDatasetType() == DatasetType.INTERNAL && indexes.get(j).isSecondaryIndex()
+                        || ds.getDatasetType() == DatasetType.EXTERNAL
+                                && !ExternalIndexingOperations.isFileIndex(indexes.get(j))) {
+                    CompiledIndexCompactStatement cics = new CompiledIndexCompactStatement(dataverseName, datasetName,
+                            indexes.get(j).getIndexName(), indexes.get(j).getKeyFieldNames(),
+                            indexes.get(j).getKeyFieldTypes(), indexes.get(j).isEnforcingKeyFileds(),
+                            indexes.get(j).getGramLength(), indexes.get(j).getIndexType());
+                    jobsToExecute.add(IndexOperations.buildSecondaryIndexCompactJobSpec(cics, aRecordType, enforcedType,
+                            metadataProvider, ds));
                 }
-            } else {
-                for (int j = 0; j < indexes.size(); j++) {
-                    if (!ExternalIndexingOperations.isFileIndex(indexes.get(j))) {
-                        CompiledIndexCompactStatement cics = new CompiledIndexCompactStatement(dataverseName,
-                                datasetName, indexes.get(j).getIndexName(), indexes.get(j).getKeyFieldNames(), indexes
-                                        .get(j).getKeyFieldTypes(), indexes.get(j).isEnforcingKeyFileds(), indexes.get(
-                                        j).getGramLength(), indexes.get(j).getIndexType());
-                        ARecordType aRecordType = (ARecordType) dt.getDatatype();
-                        ARecordType enforcedType = null;
-                        if (cics.isEnforced()) {
-                            enforcedType = IntroduceSecondaryIndexInsertDeleteRule.createEnforcedType(aRecordType,
-                                    indexes.get(j));
-                        }
-                        jobsToExecute.add(IndexOperations.buildSecondaryIndexCompactJobSpec(cics, aRecordType,
-                                enforcedType, metadataProvider, ds));
-
-                    }
-
-                }
-                jobsToExecute.add(ExternalIndexingOperations.compactFilesIndexJobSpec(ds, metadataProvider));
             }
             MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
             bActiveTxn = false;
@@ -2596,13 +2575,13 @@
 
             // Dataset exists ?
             if (ds == null) {
-                throw new AlgebricksException("There is no dataset with this name " + datasetName + " in dataverse "
-                        + dataverseName);
+                throw new AlgebricksException(
+                        "There is no dataset with this name " + datasetName + " in dataverse " + dataverseName);
             }
             // Dataset external ?
             if (ds.getDatasetType() != DatasetType.EXTERNAL) {
-                throw new AlgebricksException("dataset " + datasetName + " in dataverse " + dataverseName
-                        + " is not an external dataset");
+                throw new AlgebricksException(
+                        "dataset " + datasetName + " in dataverse " + dataverseName + " is not an external dataset");
             }
             // Dataset has indexes ?
             indexes = MetadataManager.INSTANCE.getDatasetIndexes(mdTxnCtx, dataverseName, datasetName);
@@ -2626,8 +2605,8 @@
 
             // Compute delta
             // Now we compare snapshot with external file system
-            if (ExternalIndexingOperations
-                    .isDatasetUptodate(ds, metadataFiles, addedFiles, deletedFiles, appendedFiles)) {
+            if (ExternalIndexingOperations.isDatasetUptodate(ds, metadataFiles, addedFiles, deletedFiles,
+                    appendedFiles)) {
                 ((ExternalDatasetDetails) ds.getDatasetDetails()).setRefreshTimestamp(txnTime);
                 MetadataManager.INSTANCE.updateDataset(mdTxnCtx, ds);
                 MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
@@ -2803,8 +2782,8 @@
                 handlePregelixStatement(metadataProvider, runStmt, hcc);
                 break;
             default:
-                throw new AlgebricksException("The system \"" + runStmt.getSystem()
-                        + "\" specified in your run statement is not supported.");
+                throw new AlgebricksException(
+                        "The system \"" + runStmt.getSystem() + "\" specified in your run statement is not supported.");
         }
 
     }
@@ -2833,8 +2812,8 @@
 
             // construct input paths
             Index fromIndex = null;
-            List<Index> indexes = MetadataManager.INSTANCE.getDatasetIndexes(mdTxnCtx, dataverseNameFrom, pregelixStmt
-                    .getDatasetNameFrom().getValue());
+            List<Index> indexes = MetadataManager.INSTANCE.getDatasetIndexes(mdTxnCtx, dataverseNameFrom,
+                    pregelixStmt.getDatasetNameFrom().getValue());
             for (Index ind : indexes) {
                 if (ind.isPrimaryIndex())
                     fromIndex = ind;
@@ -2846,8 +2825,8 @@
 
             Dataset datasetFrom = MetadataManager.INSTANCE.getDataset(mdTxnCtx, dataverseNameFrom, datasetNameFrom);
             IFileSplitProvider fromSplits = metadataProvider.splitProviderAndPartitionConstraintsForDataset(
-                    dataverseNameFrom, datasetNameFrom, fromIndex.getIndexName(), datasetFrom.getDatasetDetails()
-                            .isTemp()).first;
+                    dataverseNameFrom, datasetNameFrom, fromIndex.getIndexName(),
+                    datasetFrom.getDatasetDetails().isTemp()).first;
             StringBuilder fromSplitsPaths = new StringBuilder();
 
             for (FileSplit f : fromSplits.getFileSplits()) {
@@ -2858,8 +2837,8 @@
 
             // Construct output paths
             Index toIndex = null;
-            indexes = MetadataManager.INSTANCE.getDatasetIndexes(mdTxnCtx, dataverseNameTo, pregelixStmt
-                    .getDatasetNameTo().getValue());
+            indexes = MetadataManager.INSTANCE.getDatasetIndexes(mdTxnCtx, dataverseNameTo,
+                    pregelixStmt.getDatasetNameTo().getValue());
             for (Index ind : indexes) {
                 if (ind.isPrimaryIndex())
                     toIndex = ind;
@@ -2871,7 +2850,8 @@
 
             Dataset datasetTo = MetadataManager.INSTANCE.getDataset(mdTxnCtx, dataverseNameTo, datasetNameTo);
             IFileSplitProvider toSplits = metadataProvider.splitProviderAndPartitionConstraintsForDataset(
-                    dataverseNameTo, datasetNameTo, toIndex.getIndexName(), datasetTo.getDatasetDetails().isTemp()).first;
+                    dataverseNameTo, datasetNameTo, toIndex.getIndexName(),
+                    datasetTo.getDatasetDetails().isTemp()).first;
             StringBuilder toSplitsPaths = new StringBuilder();
 
             for (FileSplit f : toSplits.getFileSplits()) {
@@ -2886,11 +2866,11 @@
                         pregelixStmt.getDatasetNameTo(), true);
                 this.handleDatasetDropStatement(metadataProvider, dropStmt, hcc);
 
-                IDatasetDetailsDecl idd = new InternalDetailsDecl(toIndex.getKeyFieldNames(), false, null, toDataset
-                        .getDatasetDetails().isTemp());
+                IDatasetDetailsDecl idd = new InternalDetailsDecl(toIndex.getKeyFieldNames(), false, null,
+                        toDataset.getDatasetDetails().isTemp());
                 DatasetDecl createToDataset = new DatasetDecl(new Identifier(dataverseNameTo),
-                        pregelixStmt.getDatasetNameTo(), new Identifier(toDataset.getItemTypeName()), new Identifier(
-                                toDataset.getNodeGroupName()), toDataset.getCompactionPolicy(),
+                        pregelixStmt.getDatasetNameTo(), new Identifier(toDataset.getItemTypeName()),
+                        new Identifier(toDataset.getNodeGroupName()), toDataset.getCompactionPolicy(),
                         toDataset.getCompactionPolicyProperties(), toDataset.getHints(), toDataset.getDatasetType(),
                         idd, false);
                 this.handleCreateDatasetStatement(metadataProvider, createToDataset, hcc);
@@ -2997,7 +2977,7 @@
 
     private void flushDataset(IHyracksClientConnection hcc, AqlMetadataProvider metadataProvider,
             MetadataTransactionContext mdTxnCtx, String dataverseName, String datasetName, String indexName)
-            throws Exception {
+                    throws Exception {
         AsterixCompilerProperties compilerProperties = AsterixAppContextInfo.getInstance().getCompilerProperties();
         int frameSize = compilerProperties.getFrameSize();
         JobSpecification spec = new JobSpecification(frameSize);
@@ -3014,8 +2994,8 @@
         spec.connect(new OneToOneConnectorDescriptor(spec), emptySource, 0, flushOperator, 0);
 
         Pair<IFileSplitProvider, AlgebricksPartitionConstraint> primarySplitsAndConstraint = metadataProvider
-                .splitProviderAndPartitionConstraintsForDataset(dataverseName, datasetName, indexName, dataset
-                        .getDatasetDetails().isTemp());
+                .splitProviderAndPartitionConstraintsForDataset(dataverseName, datasetName, indexName,
+                        dataset.getDatasetDetails().isTemp());
         AlgebricksPartitionConstraint primaryPartitionConstraint = primarySplitsAndConstraint.second;
 
         AlgebricksPartitionConstraintHelper.setPartitionConstraintInJobSpec(spec, emptySource,
diff --git a/asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-1.plan b/asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-1.plan
index 563a75b..4c2d144 100644
--- a/asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-1.plan
+++ b/asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-1.plan
@@ -12,12 +12,10 @@
                       -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                         -- ASSIGN  |PARTITIONED|
                           -- STREAM_PROJECT  |PARTITIONED|
-                            -- ASSIGN  |PARTITIONED|
-                              -- STREAM_PROJECT  |PARTITIONED|
+                            -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                              -- BTREE_SEARCH  |PARTITIONED|
                                 -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                  -- BTREE_SEARCH  |PARTITIONED|
-                                    -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                      -- STABLE_SORT [$$15(ASC)]  |PARTITIONED|
-                                        -- HASH_PARTITION_EXCHANGE [$$15]  |PARTITIONED|
-                                          -- UNNEST  |UNPARTITIONED|
-                                            -- EMPTY_TUPLE_SOURCE  |UNPARTITIONED|
+                                  -- STABLE_SORT [$$11(ASC)]  |PARTITIONED|
+                                    -- HASH_PARTITION_EXCHANGE [$$11]  |PARTITIONED|
+                                      -- UNNEST  |UNPARTITIONED|
+                                        -- EMPTY_TUPLE_SOURCE  |UNPARTITIONED|
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-2.plan b/asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-2.plan
index ba4c536..4b9e8a2 100644
--- a/asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-2.plan
+++ b/asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-2.plan
@@ -9,22 +9,19 @@
                 -- INSERT_DELETE  |PARTITIONED|
                   -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                     -- MATERIALIZE  |PARTITIONED|
-                      -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                      -- HASH_PARTITION_EXCHANGE [$$8]  |PARTITIONED|
                         -- ASSIGN  |PARTITIONED|
                           -- STREAM_PROJECT  |PARTITIONED|
-                            -- ASSIGN  |PARTITIONED|
+                            -- STREAM_SELECT  |PARTITIONED|
                               -- STREAM_PROJECT  |PARTITIONED|
-                                -- STREAM_SELECT  |PARTITIONED|
-                                  -- ASSIGN  |PARTITIONED|
-                                    -- STREAM_PROJECT  |PARTITIONED|
-                                      -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                        -- BTREE_SEARCH  |PARTITIONED|
-                                          -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                            -- STABLE_SORT [$$19(ASC)]  |PARTITIONED|
-                                              -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                -- STREAM_PROJECT  |PARTITIONED|
-                                                  -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                    -- BTREE_SEARCH  |PARTITIONED|
-                                                      -- BROADCAST_EXCHANGE  |PARTITIONED|
-                                                        -- UNNEST  |UNPARTITIONED|
-                                                          -- EMPTY_TUPLE_SOURCE  |UNPARTITIONED|
+                                -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                  -- BTREE_SEARCH  |PARTITIONED|
+                                    -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                      -- STABLE_SORT [$$13(ASC)]  |PARTITIONED|
+                                        -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                          -- STREAM_PROJECT  |PARTITIONED|
+                                            -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                              -- BTREE_SEARCH  |PARTITIONED|
+                                                -- BROADCAST_EXCHANGE  |PARTITIONED|
+                                                  -- UNNEST  |UNPARTITIONED|
+                                                    -- EMPTY_TUPLE_SOURCE  |UNPARTITIONED|
diff --git a/asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-3.plan b/asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-3.plan
index 55fc23c..7d38039 100644
--- a/asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-3.plan
+++ b/asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-3.plan
@@ -9,20 +9,18 @@
                 -- INSERT_DELETE  |PARTITIONED|
                   -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                     -- MATERIALIZE  |PARTITIONED|
-                      -- HASH_PARTITION_EXCHANGE [$$12]  |PARTITIONED|
+                      -- HASH_PARTITION_EXCHANGE [$$10]  |PARTITIONED|
                         -- ASSIGN  |PARTITIONED|
                           -- STREAM_PROJECT  |PARTITIONED|
-                            -- ASSIGN  |PARTITIONED|
-                              -- STREAM_PROJECT  |PARTITIONED|
-                                -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                  -- HYBRID_HASH_JOIN [$$15][$$13]  |PARTITIONED|
-                                    -- HASH_PARTITION_EXCHANGE [$$15]  |PARTITIONED|
-                                      -- UNNEST  |UNPARTITIONED|
-                                        -- EMPTY_TUPLE_SOURCE  |UNPARTITIONED|
-                                    -- HASH_PARTITION_EXCHANGE [$$13]  |PARTITIONED|
-                                      -- STREAM_PROJECT  |PARTITIONED|
-                                        -- ASSIGN  |PARTITIONED|
+                            -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                              -- HYBRID_HASH_JOIN [$$11][$$9]  |PARTITIONED|
+                                -- HASH_PARTITION_EXCHANGE [$$11]  |PARTITIONED|
+                                  -- UNNEST  |UNPARTITIONED|
+                                    -- EMPTY_TUPLE_SOURCE  |UNPARTITIONED|
+                                -- HASH_PARTITION_EXCHANGE [$$9]  |PARTITIONED|
+                                  -- STREAM_PROJECT  |PARTITIONED|
+                                    -- ASSIGN  |PARTITIONED|
+                                      -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                        -- DATASOURCE_SCAN  |PARTITIONED|
                                           -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                            -- DATASOURCE_SCAN  |PARTITIONED|
-                                              -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
+                                            -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/optimizerts/results/scan-delete-all.plan b/asterix-app/src/test/resources/optimizerts/results/scan-delete-all.plan
index c2173fb..3e031e9 100644
--- a/asterix-app/src/test/resources/optimizerts/results/scan-delete-all.plan
+++ b/asterix-app/src/test/resources/optimizerts/results/scan-delete-all.plan
@@ -7,8 +7,7 @@
             -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
               -- ASSIGN  |PARTITIONED|
                 -- STREAM_PROJECT  |PARTITIONED|
-                  -- ASSIGN  |PARTITIONED|
-                    -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                      -- DATASOURCE_SCAN  |PARTITIONED|
-                        -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                          -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
+                  -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                    -- DATASOURCE_SCAN  |PARTITIONED|
+                      -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                        -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/optimizerts/results/scan-delete-rtree-secondary-index.plan b/asterix-app/src/test/resources/optimizerts/results/scan-delete-rtree-secondary-index.plan
index 691761d..ca4a6c2 100644
--- a/asterix-app/src/test/resources/optimizerts/results/scan-delete-rtree-secondary-index.plan
+++ b/asterix-app/src/test/resources/optimizerts/results/scan-delete-rtree-secondary-index.plan
@@ -25,9 +25,8 @@
                           -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                             -- ASSIGN  |PARTITIONED|
                               -- STREAM_PROJECT  |PARTITIONED|
-                                -- ASSIGN  |PARTITIONED|
-                                  -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                    -- BTREE_SEARCH  |PARTITIONED|
-                                      -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                        -- ASSIGN  |PARTITIONED|
-                                          -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
+                                -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                  -- BTREE_SEARCH  |PARTITIONED|
+                                    -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                      -- ASSIGN  |PARTITIONED|
+                                        -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
diff --git a/asterix-app/src/test/resources/optimizerts/results/scan-delete.plan b/asterix-app/src/test/resources/optimizerts/results/scan-delete.plan
index cfe5d35..790ac4f 100644
--- a/asterix-app/src/test/resources/optimizerts/results/scan-delete.plan
+++ b/asterix-app/src/test/resources/optimizerts/results/scan-delete.plan
@@ -6,11 +6,9 @@
           -- MATERIALIZE  |PARTITIONED|
             -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
               -- ASSIGN  |PARTITIONED|
-                -- STREAM_PROJECT  |PARTITIONED|
-                  -- ASSIGN  |PARTITIONED|
-                    -- STREAM_SELECT  |PARTITIONED|
-                      -- ASSIGN  |PARTITIONED|
+                -- STREAM_SELECT  |PARTITIONED|
+                  -- STREAM_PROJECT  |PARTITIONED|
+                    -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                      -- DATASOURCE_SCAN  |PARTITIONED|
                         -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                          -- DATASOURCE_SCAN  |PARTITIONED|
-                            -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                              -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
+                          -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
diff --git a/asterix-app/src/test/resources/optimizerts/results/skip-index/dont-skip-primary-index-search-in-delete.plan b/asterix-app/src/test/resources/optimizerts/results/skip-index/dont-skip-primary-index-search-in-delete.plan
index e2e6dff..bc9f1d1 100644
--- a/asterix-app/src/test/resources/optimizerts/results/skip-index/dont-skip-primary-index-search-in-delete.plan
+++ b/asterix-app/src/test/resources/optimizerts/results/skip-index/dont-skip-primary-index-search-in-delete.plan
@@ -7,9 +7,8 @@
             -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
               -- ASSIGN  |PARTITIONED|
                 -- STREAM_PROJECT  |PARTITIONED|
-                  -- ASSIGN  |PARTITIONED|
-                    -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                      -- BTREE_SEARCH  |PARTITIONED|
-                        -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                          -- ASSIGN  |PARTITIONED|
-                            -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
+                  -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                    -- BTREE_SEARCH  |PARTITIONED|
+                      -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                        -- ASSIGN  |PARTITIONED|
+                          -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
diff --git a/asterix-app/src/test/resources/optimizerts/results/skip-index/skip-ngram-index-search-in-delete.plan b/asterix-app/src/test/resources/optimizerts/results/skip-index/skip-ngram-index-search-in-delete.plan
index c882d81..31de832 100644
--- a/asterix-app/src/test/resources/optimizerts/results/skip-index/skip-ngram-index-search-in-delete.plan
+++ b/asterix-app/src/test/resources/optimizerts/results/skip-index/skip-ngram-index-search-in-delete.plan
@@ -11,11 +11,9 @@
                     -- MATERIALIZE  |PARTITIONED|
                       -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                         -- ASSIGN  |PARTITIONED|
-                          -- STREAM_PROJECT  |PARTITIONED|
-                            -- ASSIGN  |PARTITIONED|
-                              -- STREAM_SELECT  |PARTITIONED|
-                                -- ASSIGN  |PARTITIONED|
+                          -- STREAM_SELECT  |PARTITIONED|
+                            -- STREAM_PROJECT  |PARTITIONED|
+                              -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                -- DATASOURCE_SCAN  |PARTITIONED|
                                   -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                    -- DATASOURCE_SCAN  |PARTITIONED|
-                                      -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                        -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
+                                    -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
diff --git a/asterix-app/src/test/resources/optimizerts/results/skip-index/skip-rtree-index-search-in-delete.plan b/asterix-app/src/test/resources/optimizerts/results/skip-index/skip-rtree-index-search-in-delete.plan
index b69dfa3..40461a8 100644
--- a/asterix-app/src/test/resources/optimizerts/results/skip-index/skip-rtree-index-search-in-delete.plan
+++ b/asterix-app/src/test/resources/optimizerts/results/skip-index/skip-rtree-index-search-in-delete.plan
@@ -13,11 +13,9 @@
                         -- MATERIALIZE  |PARTITIONED|
                           -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                             -- ASSIGN  |PARTITIONED|
-                              -- STREAM_PROJECT  |PARTITIONED|
-                                -- ASSIGN  |PARTITIONED|
-                                  -- STREAM_SELECT  |PARTITIONED|
-                                    -- ASSIGN  |PARTITIONED|
+                              -- STREAM_SELECT  |PARTITIONED|
+                                -- STREAM_PROJECT  |PARTITIONED|
+                                  -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                    -- DATASOURCE_SCAN  |PARTITIONED|
                                       -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                        -- DATASOURCE_SCAN  |PARTITIONED|
-                                          -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                            -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
\ No newline at end of file
+                                        -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/optimizerts/results/skip-index/skip-secondary-btree-index-search-in-delete.plan b/asterix-app/src/test/resources/optimizerts/results/skip-index/skip-secondary-btree-index-search-in-delete.plan
index c882d81..31de832 100644
--- a/asterix-app/src/test/resources/optimizerts/results/skip-index/skip-secondary-btree-index-search-in-delete.plan
+++ b/asterix-app/src/test/resources/optimizerts/results/skip-index/skip-secondary-btree-index-search-in-delete.plan
@@ -11,11 +11,9 @@
                     -- MATERIALIZE  |PARTITIONED|
                       -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                         -- ASSIGN  |PARTITIONED|
-                          -- STREAM_PROJECT  |PARTITIONED|
-                            -- ASSIGN  |PARTITIONED|
-                              -- STREAM_SELECT  |PARTITIONED|
-                                -- ASSIGN  |PARTITIONED|
+                          -- STREAM_SELECT  |PARTITIONED|
+                            -- STREAM_PROJECT  |PARTITIONED|
+                              -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                -- DATASOURCE_SCAN  |PARTITIONED|
                                   -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                    -- DATASOURCE_SCAN  |PARTITIONED|
-                                      -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                        -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
+                                    -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
diff --git a/asterix-app/src/test/resources/optimizerts/results/skip-index/skip-word-index-search-in-delete.plan b/asterix-app/src/test/resources/optimizerts/results/skip-index/skip-word-index-search-in-delete.plan
index c882d81..31de832 100644
--- a/asterix-app/src/test/resources/optimizerts/results/skip-index/skip-word-index-search-in-delete.plan
+++ b/asterix-app/src/test/resources/optimizerts/results/skip-index/skip-word-index-search-in-delete.plan
@@ -11,11 +11,9 @@
                     -- MATERIALIZE  |PARTITIONED|
                       -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                         -- ASSIGN  |PARTITIONED|
-                          -- STREAM_PROJECT  |PARTITIONED|
-                            -- ASSIGN  |PARTITIONED|
-                              -- STREAM_SELECT  |PARTITIONED|
-                                -- ASSIGN  |PARTITIONED|
+                          -- STREAM_SELECT  |PARTITIONED|
+                            -- STREAM_PROJECT  |PARTITIONED|
+                              -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                -- DATASOURCE_SCAN  |PARTITIONED|
                                   -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                    -- DATASOURCE_SCAN  |PARTITIONED|
-                                      -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                        -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
+                                    -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
diff --git a/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/enforced-field-name-collision/enforced-field-name-collision.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/index-type-collision/index-type-collision.1.ddl.aql
similarity index 87%
rename from asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/enforced-field-name-collision/enforced-field-name-collision.1.ddl.aql
rename to asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/index-type-collision/index-type-collision.1.ddl.aql
index 853386d..84d35b7 100644
--- a/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/enforced-field-name-collision/enforced-field-name-collision.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/index-type-collision/index-type-collision.1.ddl.aql
@@ -21,9 +21,9 @@
 use dataverse test;
 
 create type testType as open {
-   "id": int32,
-   "value": string
+   "id": int32
 }
 
 create dataset testDS(testType) primary key id;
-create index testIdx on testDS(value: string) enforced;
+create index testIdx1 on testDS(value: int32) enforced;
+create index testIdx2 on testDS(value: string) enforced;
diff --git a/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/enforced-field-name-collision/enforced-field-name-collision.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/index-type-promotion-collision/index-type-promotion-collision.1.ddl.aql
similarity index 87%
copy from asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/enforced-field-name-collision/enforced-field-name-collision.1.ddl.aql
copy to asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/index-type-promotion-collision/index-type-promotion-collision.1.ddl.aql
index 853386d..6c47032 100644
--- a/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/enforced-field-name-collision/enforced-field-name-collision.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/index-type-promotion-collision/index-type-promotion-collision.1.ddl.aql
@@ -21,9 +21,9 @@
 use dataverse test;
 
 create type testType as open {
-   "id": int32,
-   "value": string
+   "id": int32
 }
 
 create dataset testDS(testType) primary key id;
-create index testIdx on testDS(value: string) enforced;
+create index testIdx1 on testDS(value: int64) enforced;
+create index testIdx2 on testDS(value: int32) enforced;
diff --git a/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/enforced-field-type-collision/enforced-field-name-collision.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/record-type-collision/record-collision.1.ddl.aql
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/enforced-field-type-collision/enforced-field-name-collision.1.ddl.aql
rename to asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/record-type-collision/record-collision.1.ddl.aql
diff --git a/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.1.ddl.aql
new file mode 100644
index 0000000..10a3530
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.1.ddl.aql
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+/*
+ * Description     : Test that BTree open index is used in query plan
+ *                 : define the BTree open index on a composite key (fname,lanme)
+ *                 : predicate => where $l.fname="Julio" and $l.lname="Isa"
+ * Expected Result : Success
+ * Issue           : Issue 162
+ * Date            : 27th March 2014
+ */
+
+drop dataverse test if exists;
+create dataverse test;
+use dataverse test;
+
+create type Emp as closed {
+id:int64,
+fname:string,
+lname:string,
+age:int64,
+dept:string
+}
+
+create type EmpOpen as open {
+id:int64,
+fname:string,
+age:int64,
+dept:string
+}
+
+create dataset employee(Emp) primary key id;
+
+create dataset employeeOpen(EmpOpen) primary key id;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.2.update.aql
new file mode 100644
index 0000000..d28adff
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.2.update.aql
@@ -0,0 +1,36 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+/*
+ * Description     : Test that BTree enforced open index is used in query plan
+ *                 : define the BTree enforced open index on a composite key (fname,lanme)
+ *                 : predicate => where $l.fname="Julio" and $l.lname="Isa"
+ * Expected Result : Success
+ * Issue           : Issue 162
+ * Date            : 27th March 2014
+ */
+
+use dataverse test;
+
+load dataset employee
+using "org.apache.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/names.adm"),("format"="delimited-text"),("delimiter"="|"));
+
+insert into dataset employeeOpen (
+  for $x in dataset employee return $x
+);
diff --git a/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/enforced-field-name-collision/enforced-field-name-collision.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.3.ddl.aql
similarity index 60%
copy from asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/enforced-field-name-collision/enforced-field-name-collision.1.ddl.aql
copy to asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.3.ddl.aql
index 853386d..11b0baa 100644
--- a/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/enforced-field-name-collision/enforced-field-name-collision.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.3.ddl.aql
@@ -16,14 +16,18 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-drop dataverse test if exists;
-create dataverse test;
+/*
+ * Description     : Test that BTree enforced open index is used in query plan
+ *                 : define the BTree enforced open index on a composite key (fname,lanme)
+ *                 : predicate => where $l.fname="Julio" and $l.lname="Isa"
+ * Expected Result : Success
+ * Issue           : Issue 162
+ * Date            : 27th March 2014
+ */
+
 use dataverse test;
 
-create type testType as open {
-   "id": int32,
-   "value": string
-}
+// create secondary index
 
-create dataset testDS(testType) primary key id;
-create index testIdx on testDS(value: string) enforced;
+create index idx_employee_f_l_name on employeeOpen(fname,lname:string) enforced;
+create index idx_employee_l_f_name on employeeOpen(lname:string, fname) enforced;
diff --git a/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/enforced-field-name-collision/enforced-field-name-collision.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.4.query.aql
similarity index 60%
copy from asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/enforced-field-name-collision/enforced-field-name-collision.1.ddl.aql
copy to asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.4.query.aql
index 853386d..b1f2adf 100644
--- a/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/enforced-field-name-collision/enforced-field-name-collision.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.4.query.aql
@@ -16,14 +16,23 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-drop dataverse test if exists;
-create dataverse test;
+/*
+ * Description     : Test that BTree enforced open index is used in query plan
+ *                 : define the BTree enforced open index on a composite key (fname,lanme)
+ *                 : predicate => where $l.fname="Julio" and $l.lname="Isa"
+ * Expected Result : Success
+ * Issue           : Issue 162
+ * Date            : 27th March 2014
+ */
+
 use dataverse test;
 
-create type testType as open {
-   "id": int32,
-   "value": string
+for $l in dataset('employeeOpen')
+where $l.fname="Julio" and $l.lname="Isa"
+return {
+  "id": $l.id,
+  "fname": $l.fname,
+  "lname": $l.lname,
+  "age": $l.age,
+  "dept": $l.dept
 }
-
-create dataset testDS(testType) primary key id;
-create index testIdx on testDS(value: string) enforced;
diff --git a/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/enforced-field-name-collision/enforced-field-name-collision.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.5.ddl.aql
similarity index 65%
copy from asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/enforced-field-name-collision/enforced-field-name-collision.1.ddl.aql
copy to asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.5.ddl.aql
index 853386d..4eaf8e8 100644
--- a/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/enforced-field-name-collision/enforced-field-name-collision.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.5.ddl.aql
@@ -16,14 +16,17 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-drop dataverse test if exists;
-create dataverse test;
+/*
+ * Description     : Test that BTree enforced open index is used in query plan
+ *                 : define the BTree enforced open index on a composite key (fname,lanme)
+ *                 : predicate => where $l.fname="Julio" and $l.lname="Isa"
+ * Expected Result : Success
+ * Issue           : Issue 162
+ * Date            : 27th March 2014
+ */
+
 use dataverse test;
 
-create type testType as open {
-   "id": int32,
-   "value": string
-}
+// create secondary index
 
-create dataset testDS(testType) primary key id;
-create index testIdx on testDS(value: string) enforced;
+drop index employeeOpen.idx_employee_f_l_name;
diff --git a/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/enforced-field-name-collision/enforced-field-name-collision.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.6.query.aql
similarity index 60%
copy from asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/enforced-field-name-collision/enforced-field-name-collision.1.ddl.aql
copy to asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.6.query.aql
index 853386d..b1f2adf 100644
--- a/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/enforced-field-name-collision/enforced-field-name-collision.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.6.query.aql
@@ -16,14 +16,23 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-drop dataverse test if exists;
-create dataverse test;
+/*
+ * Description     : Test that BTree enforced open index is used in query plan
+ *                 : define the BTree enforced open index on a composite key (fname,lanme)
+ *                 : predicate => where $l.fname="Julio" and $l.lname="Isa"
+ * Expected Result : Success
+ * Issue           : Issue 162
+ * Date            : 27th March 2014
+ */
+
 use dataverse test;
 
-create type testType as open {
-   "id": int32,
-   "value": string
+for $l in dataset('employeeOpen')
+where $l.fname="Julio" and $l.lname="Isa"
+return {
+  "id": $l.id,
+  "fname": $l.fname,
+  "lname": $l.lname,
+  "age": $l.age,
+  "dept": $l.dept
 }
-
-create dataset testDS(testType) primary key id;
-create index testIdx on testDS(value: string) enforced;
diff --git a/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/enforced-field-name-collision/enforced-field-name-collision.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.1.ddl.aql
similarity index 68%
copy from asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/enforced-field-name-collision/enforced-field-name-collision.1.ddl.aql
copy to asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.1.ddl.aql
index 853386d..0efffb2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/enforced-field-name-collision/enforced-field-name-collision.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.1.ddl.aql
@@ -20,10 +20,24 @@
 create dataverse test;
 use dataverse test;
 
-create type testType as open {
-   "id": int32,
-   "value": string
+create type DBLPType as closed {
+  id: int64,
+  dblpid: string,
+  title: string,
+  authors: string,
+  misc: string
 }
 
-create dataset testDS(testType) primary key id;
-create index testIdx on testDS(value: string) enforced;
+create type DBLPOpenType as open {
+  id: int64,
+  dblpid: string,
+  authors: string,
+  misc: string
+}
+
+create nodegroup group1 if not exists on nc1, nc2;
+
+create dataset DBLP(DBLPType)
+  primary key id on group1;
+create dataset DBLPOpen(DBLPOpenType)
+  primary key id on group1;
diff --git a/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/enforced-field-name-collision/enforced-field-name-collision.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.2.update.aql
similarity index 62%
copy from asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/enforced-field-name-collision/enforced-field-name-collision.1.ddl.aql
copy to asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.2.update.aql
index 853386d..3ee5d4e 100644
--- a/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/enforced-field-name-collision/enforced-field-name-collision.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.2.update.aql
@@ -16,14 +16,25 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type testType as open {
-   "id": int32,
-   "value": string
-}
+load dataset DBLP
+using "org.apache.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":")) pre-sorted;
 
-create dataset testDS(testType) primary key id;
-create index testIdx on testDS(value: string) enforced;
+insert into dataset test.DBLPOpen (
+	for $x in dataset test.DBLP
+	where $x.id <= 50
+	return $x
+);
+
+insert into dataset test.DBLPOpen (
+  for $c in dataset test.DBLP
+  where $c.id > 50
+  return {
+    "id": $c.id,
+    "dblpid": $c.dblpid,
+    "authors": $c.authors,
+    "misc": $c.misc
+  }
+);
diff --git a/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/enforced-field-name-collision/enforced-field-name-collision.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.3.ddl.aql
similarity index 78%
copy from asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/enforced-field-name-collision/enforced-field-name-collision.1.ddl.aql
copy to asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.3.ddl.aql
index 853386d..98338b2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/enforced-field-name-collision/enforced-field-name-collision.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.3.ddl.aql
@@ -16,14 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-drop dataverse test if exists;
-create dataverse test;
+
 use dataverse test;
 
-create type testType as open {
-   "id": int32,
-   "value": string
-}
-
-create dataset testDS(testType) primary key id;
-create index testIdx on testDS(value: string) enforced;
+create index ngram_index on DBLPOpen(title:string) type ngram(3) enforced;
+create index keyword_index on DBLPOpen(title:string) type keyword enforced;
+create index btree_index on DBLPOpen(title:string) enforced;
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/enforced-field-name-collision/enforced-field-name-collision.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.4.query.aql
similarity index 78%
copy from asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/enforced-field-name-collision/enforced-field-name-collision.1.ddl.aql
copy to asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.4.query.aql
index 853386d..775e97d 100644
--- a/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/enforced-field-name-collision/enforced-field-name-collision.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.4.query.aql
@@ -16,14 +16,16 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type testType as open {
-   "id": int32,
-   "value": string
+for $o in dataset('DBLPOpen')
+where contains($o.title, "Multimedia")
+order by $o.id
+return {
+  "id": $o.id,
+  "dblpid": $o.dblpid,
+  "title": $o.title,
+  "authors": $o.authors,
+  "misc": $o.misc
 }
 
-create dataset testDS(testType) primary key id;
-create index testIdx on testDS(value: string) enforced;
diff --git a/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/enforced-field-name-collision/enforced-field-name-collision.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.5.query.aql
similarity index 74%
copy from asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/enforced-field-name-collision/enforced-field-name-collision.1.ddl.aql
copy to asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.5.query.aql
index 853386d..b7423e2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/enforced-field-name-collision/enforced-field-name-collision.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.5.query.aql
@@ -16,14 +16,16 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-drop dataverse test if exists;
-create dataverse test;
+
 use dataverse test;
 
-create type testType as open {
-   "id": int32,
-   "value": string
+for $o in dataset('DBLPOpen')
+let $jacc := similarity-jaccard-check(word-tokens($o.title), word-tokens("Transactions for Cooperative Environments"), 0.5f)
+where $jacc[0]
+return {
+  "id": $o.id,
+  "dblpid": $o.dblpid,
+  "title": $o.title,
+  "authors": $o.authors,
+  "misc": $o.misc
 }
-
-create dataset testDS(testType) primary key id;
-create index testIdx on testDS(value: string) enforced;
diff --git a/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/enforced-field-name-collision/enforced-field-name-collision.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.6.query.aql
similarity index 77%
copy from asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/enforced-field-name-collision/enforced-field-name-collision.1.ddl.aql
copy to asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.6.query.aql
index 853386d..0e1ef29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/enforced-field-name-collision/enforced-field-name-collision.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.6.query.aql
@@ -16,14 +16,15 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type testType as open {
-   "id": int32,
-   "value": string
+for $o in dataset('DBLPOpen')
+where $o.title = "Multimedia Information Systems  Issues and Approaches."
+order by $o.title
+return {
+  "id": $o.id,
+  "dblpid": $o.dblpid,
+  "title": $o.title,
+  "authors": $o.authors,
+  "misc": $o.misc
 }
-
-create dataset testDS(testType) primary key id;
-create index testIdx on testDS(value: string) enforced;
diff --git a/asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.1.adm b/asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.1.adm
new file mode 100644
index 0000000..1e19d0d
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.1.adm
@@ -0,0 +1,2 @@
+[ { "id": 881, "fname": "Julio", "age": 38, "dept": "Sales", "lname": "Isa" }
+ ]
diff --git a/asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.2.adm b/asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.2.adm
new file mode 100644
index 0000000..1e19d0d
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.2.adm
@@ -0,0 +1,2 @@
+[ { "id": 881, "fname": "Julio", "age": 38, "dept": "Sales", "lname": "Isa" }
+ ]
diff --git a/asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index/multi-index.1.adm b/asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index/multi-index.1.adm
new file mode 100644
index 0000000..61ee356
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index/multi-index.1.adm
@@ -0,0 +1,2 @@
+[ { "id": 4, "dblpid": "books/acm/kim95/ChristodoulakisK95", "authors": "Stavros Christodoulakis Leonidas Koveos", "misc": "2002-01-03 318-337 1995 Modern Database Systems db/books/collections/kim95.html#ChristodoulakisK95", "title": "Multimedia Information Systems  Issues and Approaches." }
+ ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index/multi-index.2.adm b/asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index/multi-index.2.adm
new file mode 100644
index 0000000..d7647ff
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index/multi-index.2.adm
@@ -0,0 +1,2 @@
+[ { "id": 9, "dblpid": "books/acm/kim95/Kaiser95", "authors": "Gail E. Kaiser", "misc": "2002-01-03 409-433 1995 Modern Database Systems db/books/collections/kim95.html#Kaiser95", "title": "Cooperative Transactions for Multiuser Environments." }
+ ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index/multi-index.3.adm b/asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index/multi-index.3.adm
new file mode 100644
index 0000000..61ee356
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index/multi-index.3.adm
@@ -0,0 +1,2 @@
+[ { "id": 4, "dblpid": "books/acm/kim95/ChristodoulakisK95", "authors": "Stavros Christodoulakis Leonidas Koveos", "misc": "2002-01-03 318-337 1995 Modern Database Systems db/books/collections/kim95.html#ChristodoulakisK95", "title": "Multimedia Information Systems  Issues and Approaches." }
+ ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/testsuite.xml b/asterix-app/src/test/resources/runtimets/testsuite.xml
index d706feb..ce62d38 100644
--- a/asterix-app/src/test/resources/runtimets/testsuite.xml
+++ b/asterix-app/src/test/resources/runtimets/testsuite.xml
@@ -2928,15 +2928,22 @@
     <test-group name="open-index-enforced">
         <test-group FilePath="open-index-enforced/error-checking">
             <test-case FilePath="open-index-enforced/error-checking">
-                <compilation-unit name="enforced-field-name-collision">
-                    <output-dir compare="Text">enforced-field-name-collision</output-dir>
+                <compilation-unit name="index-on-closed-type">
+                    <output-dir compare="Text">index-on-closed-type</output-dir>
                     <expected-error>org.apache.hyracks.algebricks.common.exceptions.AlgebricksException
                     </expected-error>
                 </compilation-unit>
             </test-case>
             <test-case FilePath="open-index-enforced/error-checking">
-                <compilation-unit name="enforced-field-type-collision">
-                    <output-dir compare="Text">enforced-field-type-collision</output-dir>
+                <compilation-unit name="index-type-collision">
+                    <output-dir compare="Text">index-type-collision</output-dir>
+                    <expected-error>org.apache.asterix.common.exceptions.AsterixException
+                    </expected-error>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="open-index-enforced/error-checking">
+                <compilation-unit name="index-type-promotion-collision">
+                    <output-dir compare="Text">index-type-promotion-collision</output-dir>
                     <expected-error>org.apache.asterix.common.exceptions.AsterixException</expected-error>
                 </compilation-unit>
             </test-case>
@@ -2948,10 +2955,9 @@
                 </compilation-unit>
             </test-case>
             <test-case FilePath="open-index-enforced/error-checking">
-                <compilation-unit name="index-on-closed-type">
-                    <output-dir compare="Text">index-on-closed-type</output-dir>
-                    <expected-error>org.apache.hyracks.algebricks.common.exceptions.AlgebricksException
-                    </expected-error>
+                <compilation-unit name="record-type-collision">
+                    <output-dir compare="Text">record-type-collision</output-dir>
+                    <expected-error>org.apache.asterix.common.exceptions.AsterixException</expected-error>
                 </compilation-unit>
             </test-case>
         </test-group>
@@ -3086,6 +3092,16 @@
                 </compilation-unit>
             </test-case>
             <test-case FilePath="open-index-enforced/index-selection">
+                <compilation-unit name="multi-index">
+                    <output-dir compare="Text">multi-index</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="open-index-enforced/index-selection">
+                <compilation-unit name="multi-index-composite-key">
+                    <output-dir compare="Text">multi-index-composite-key</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="open-index-enforced/index-selection">
                 <compilation-unit name="orders-index-custkey">
                     <output-dir compare="Text">orders-index-custkey</output-dir>
                 </compilation-unit>
diff --git a/pom.xml b/pom.xml
index 62a8ce3..c9e26dd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -53,8 +53,8 @@
         <global.test.includes>**/*TestSuite.java,**/*Test.java,${execution.tests}</global.test.includes>
         <global.test.excludes>${optimizer.tests},${metadata.tests},${invalid.tests},${repeated.tests}</global.test.excludes>
     <!-- Versions under dependencymanagement or used in many projects via properties -->
-        <algebricks.version>0.2.16-incubating</algebricks.version>
-        <hyracks.version>0.2.16-incubating</hyracks.version>
+        <algebricks.version>0.2.17-SNAPSHOT</algebricks.version>
+        <hyracks.version>0.2.17-SNAPSHOT</hyracks.version>
         <hadoop.version>2.2.0</hadoop.version>
         <junit.version>4.11</junit.version>
         <commons.io.version>2.4</commons.io.version>

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 12
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Taewoo Kim <wa...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................


Patch Set 8: Verified-1

Build Failed 

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-topic/346/ : FAILURE

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 8
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Taewoo Kim <wa...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Yingyi Bu (Code Review)" <do...@asterixdb.incubator.apache.org>.
Yingyi Bu has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................


Patch Set 4:

1. Equivalent class analysis itself doesn't modify the plan but just to find the variable-variable and variable-expression equivalence relationships so that other rules like EnforceStructuralPropertiesRule can leverage those equivalence relationships.
2. That makes sense to me now.

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 4
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Taewoo Kim <wa...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Ildar Absalyamov (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Ian Maxon, Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/461

to look at the new patch set (#4).

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................

ASTERIXDB-1109: Fixed deletion of records from open secondary index

- Separated InsertDeleteOperator into two distinct operators
- Added a rule, which reuses PK vars, retrieved from datascan\idxLookup
- Changed plan printer for insert\delete\idxInsert\idxDelete operators
- Modified plan printer to skip repeated parts of the plan under replicate operator

Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
---
M asterix-algebra/src/main/java/org/apache/asterix/algebra/base/LogicalOperatorDeepCopyVisitor.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceAutogenerateIDRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceDynamicTypeCastRule.java
R asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceMaterializationForInsertDeleteWithSelfScanRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceSecondaryIndexInsertDeleteRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceStaticTypeCastForInsertRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/RemoveSortInFeedIngestionRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/ReplaceSinkOpWithCommitOpRule.java
A asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SubstitutePKFromDataScanOrUnnestRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/UnnestToDataScanRule.java
M asterix-algebra/src/main/java/org/apache/asterix/translator/AqlExpressionToPlanTranslator.java
M asterix-algebra/src/main/java/org/apache/asterix/translator/CompiledStatements.java
M asterix-app/src/main/java/org/apache/asterix/api/common/AsterixHyracksIntegrationUtil.java
M asterix-app/src/main/java/org/apache/asterix/aql/translator/AqlTranslator.java
A asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-insert-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-insert-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-insert-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-insert-secondary-index-keyword.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-insert-secondary-index-ngram.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-insert-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-insert-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-insert-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-insert-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-insert-secondary-index-btree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-insert-secondary-index-keyword.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-insert-secondary-index-ngram.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-insert-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-insert-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-insert-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-insert-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-insert-secondary-index-keyword.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-insert-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-insert-secondary-index-rtree.aql
M asterix-app/src/test/resources/optimizerts/queries/scan-delete-all.aql
A asterix-app/src/test/resources/optimizerts/queries/scan-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/scan-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/scan-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/scan-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/scan-delete-secondary-index-rtree.aql
M asterix-app/src/test/resources/optimizerts/queries/scan-delete.aql
A asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index-ngram.aql
R asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index-rtree.aql
D asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index.aql
M asterix-app/src/test/resources/optimizerts/queries/scan-insert.aql
A asterix-app/src/test/resources/optimizerts/queries/unnest-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/unnest-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/unnest-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/unnest-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/unnest-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/unnest-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/unnest-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/unnest-insert-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/unnest-insert-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/unnest-insert-secondary-index-rtree.aql
M asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-1.plan
M asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-2.plan
M asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-3.plan
M asterix-app/src/test/resources/optimizerts/results/inlined_q18_large_volume_customer.plan
M asterix-app/src/test/resources/optimizerts/results/insert-and-scan-dataset-with-index.plan
M asterix-app/src/test/resources/optimizerts/results/insert-and-scan-dataset.plan
M asterix-app/src/test/resources/optimizerts/results/insert-and-scan-joined-datasets.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/ngram-edit-distance-inline.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/ngram-edit-distance.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/ngram-fuzzyeq-edit-distance.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/olist-edit-distance-inline.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/olist-edit-distance.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/olist-fuzzyeq-edit-distance.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/leftouterjoin-probe-pidx-with-join-jaccard-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance-check_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance-check_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance-check_04.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance-contains.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-fuzzyeq-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-fuzzyeq-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance-check_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance-check_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance-check_04.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-fuzzyeq-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-fuzzyeq-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/word-jaccard-check-after-btree-access.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-jaccard-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/ngram-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/ngram-edit-distance-contains.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/ngram-edit-distance-inline.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/ngram-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/ngram-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/olist-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/olist-edit-distance-inline.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/olist-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/olist-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/word-jaccard-check-after-btree-access.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-insert-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-insert-secondary-index-rtree.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-check_02.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-check_03.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-check_04.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-contains.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-inline.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-fuzzyeq-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-fuzzyeq-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-fuzzyeq-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/word-jaccard-check-after-btree-access.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-insert-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-insert-secondary-index-rtree.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-check_02.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-check_03.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-check_04.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-check_inline_03.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-contains.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance_inline_03.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-fuzzyeq-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-fuzzyeq-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-fuzzyeq-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/word-jaccard-check-after-btree-access.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-insert-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-insert-secondary-index-rtree.plan
M asterix-app/src/test/resources/optimizerts/results/query-issue827-2.plan
M asterix-app/src/test/resources/optimizerts/results/query_issue849-2.plan
M asterix-app/src/test/resources/optimizerts/results/query_issue849.plan
M asterix-app/src/test/resources/optimizerts/results/scan-delete-all.plan
D asterix-app/src/test/resources/optimizerts/results/scan-delete-rtree-secondary-index.plan
A asterix-app/src/test/resources/optimizerts/results/scan-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/scan-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/scan-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/scan-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/scan-delete-secondary-index-rtree.plan
M asterix-app/src/test/resources/optimizerts/results/scan-delete.plan
A asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index-rtree.plan
D asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index.plan
M asterix-app/src/test/resources/optimizerts/results/scan-insert.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/dont-skip-primary-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/skip-ngram-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/skip-rtree-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/skip-secondary-btree-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/skip-word-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/split-materialization-above-join.plan
M asterix-app/src/test/resources/optimizerts/results/split-materialization.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-insert-secondary-index-rtree.plan
M asterix-app/src/test/resources/runtimets/queries/dml/insert-and-scan-dataset-with-index-on-open-field/insert-and-scan-dataset-with-index-on-open-field.1.ddl.aql
R asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/index-type-collision/index-type-collision.1.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/index-type-promotion-collision/index-type-promotion-collision.1.ddl.aql
R asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/record-type-collision/record-collision.1.ddl.aql
A asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.1.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.2.update.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.3.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.4.query.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.5.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.6.query.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.1.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.2.update.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.3.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.4.query.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.5.query.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.6.query.aql
M asterix-app/src/test/resources/runtimets/results/dml/insert-and-scan-dataset-with-index-on-open-field/insert-and-scan-dataset-with-index-on-open-field.1.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.1.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.2.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index/multi-index.1.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index/multi-index.2.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index/multi-index.3.adm
M asterix-app/src/test/resources/runtimets/testsuite.xml
M asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/AqlIndex.java
M asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/AqlMetadataProvider.java
M asterix-om/src/main/java/org/apache/asterix/om/types/ARecordType.java
M pom.xml
306 files changed, 5,646 insertions(+), 2,355 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/61/461/4
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 4
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Ildar Absalyamov (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Ian Maxon, Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/461

to look at the new patch set (#9).

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index  - Avoided creating calling record constructor in delete pipeline  - Fixed the case when multiple open indexes enforce the type of the   same field & covered it with tests
......................................................................

ASTERIXDB-1109: Fixed deletion of records from open secondary index
 - Avoided creating calling record constructor in delete pipeline
 - Fixed the case when multiple open indexes enforce the type of the
  same field & covered it with tests

Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
---
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceMaterializationForInsertWithSelfScanRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceSecondaryIndexInsertDeleteRule.java
M asterix-algebra/src/main/java/org/apache/asterix/translator/CompiledStatements.java
M asterix-app/src/main/java/org/apache/asterix/aql/translator/AqlTranslator.java
R asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/index-type-collision/index-type-collision.1.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/index-type-promotion-collision/index-type-promotion-collision.1.ddl.aql
R asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/record-type-collision/record-collision.1.ddl.aql
A asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.1.ddl.aql
A asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.2.update.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.3.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.4.query.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.5.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.6.query.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.1.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.2.update.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.3.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.4.query.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.5.query.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.6.query.aql
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.1.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.2.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index/multi-index.1.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index/multi-index.2.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index/multi-index.3.adm
M asterix-app/src/test/resources/runtimets/testsuite.xml
M pom.xml
26 files changed, 655 insertions(+), 492 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/61/461/9
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 9
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Taewoo Kim <wa...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................


Patch Set 7: Verified+1

Build Successful 

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-topic/328/ : SUCCESS

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 7
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Taewoo Kim <wa...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................


Patch Set 1: -Verified

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-topic/297/ (1/2)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................


Patch Set 2: Verified-1

Build Failed 

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-topic/299/ : FAILURE

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Ildar Absalyamov (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Ian Maxon, Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/461

to look at the new patch set (#7).

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................

ASTERIXDB-1109: Fixed deletion of records from open secondary index

- Separated InsertDeleteOperator into two distinct operators
- Added a rule substituting equivalent expressions in assign to reuse PK vars
- Changed plan printer for insert\delete\idxInsert\idxDelete operators
- Modified plan printer to skip repeated parts of the plan under replicate operator

Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
---
M asterix-algebra/src/main/java/org/apache/asterix/algebra/base/LogicalOperatorDeepCopyVisitor.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceAutogenerateIDRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceDynamicTypeCastRule.java
R asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceMaterializationForInsertDeleteWithSelfScanRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceSecondaryIndexInsertDeleteRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceStaticTypeCastForInsertRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/LoadRecordFieldsRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/RemoveSortInFeedIngestionRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/ReplaceSinkOpWithCommitOpRule.java
A asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SubstituteEquivalenceClassAssignRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/UnnestToDataScanRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/BTreeAccessMethod.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/util/EquivalenceClassUtils.java
M asterix-algebra/src/main/java/org/apache/asterix/translator/AqlExpressionToPlanTranslator.java
M asterix-algebra/src/main/java/org/apache/asterix/translator/CompiledStatements.java
M asterix-app/src/main/java/org/apache/asterix/api/common/AsterixHyracksIntegrationUtil.java
M asterix-app/src/main/java/org/apache/asterix/aql/translator/AqlTranslator.java
A asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-insert-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-insert-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-insert-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-insert-secondary-index-keyword.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-insert-secondary-index-ngram.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-insert-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-insert-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-insert-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-insert-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-insert-secondary-index-btree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-insert-secondary-index-keyword.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-insert-secondary-index-ngram.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-insert-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-insert-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-insert-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-insert-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-insert-secondary-index-keyword.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-insert-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-insert-secondary-index-rtree.aql
M asterix-app/src/test/resources/optimizerts/queries/scan-delete-all.aql
A asterix-app/src/test/resources/optimizerts/queries/scan-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/scan-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/scan-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/scan-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/scan-delete-secondary-index-rtree.aql
M asterix-app/src/test/resources/optimizerts/queries/scan-delete.aql
A asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index-ngram.aql
R asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index-rtree.aql
D asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index.aql
M asterix-app/src/test/resources/optimizerts/queries/scan-insert.aql
A asterix-app/src/test/resources/optimizerts/queries/unnest-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/unnest-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/unnest-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/unnest-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/unnest-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/unnest-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/unnest-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/unnest-insert-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/unnest-insert-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/unnest-insert-secondary-index-rtree.aql
M asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-1.plan
M asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-2.plan
M asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-3.plan
M asterix-app/src/test/resources/optimizerts/results/inlined_q18_large_volume_customer.plan
M asterix-app/src/test/resources/optimizerts/results/insert-and-scan-dataset-with-index.plan
M asterix-app/src/test/resources/optimizerts/results/insert-and-scan-dataset.plan
M asterix-app/src/test/resources/optimizerts/results/insert-and-scan-joined-datasets.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/ngram-edit-distance-inline.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/ngram-edit-distance.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/ngram-fuzzyeq-edit-distance.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/olist-edit-distance-inline.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/olist-edit-distance.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/olist-fuzzyeq-edit-distance.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/leftouterjoin-probe-pidx-with-join-jaccard-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance-check_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance-check_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance-check_04.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance-contains.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-fuzzyeq-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-fuzzyeq-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance-check_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance-check_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance-check_04.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-fuzzyeq-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-fuzzyeq-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/word-jaccard-check-after-btree-access.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-jaccard-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/ngram-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/ngram-edit-distance-contains.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/ngram-edit-distance-inline.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/ngram-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/ngram-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/olist-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/olist-edit-distance-inline.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/olist-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/olist-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/word-jaccard-check-after-btree-access.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-insert-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-insert-secondary-index-rtree.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-check_02.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-check_03.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-check_04.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-contains.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-inline.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-fuzzyeq-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-fuzzyeq-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-fuzzyeq-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/word-jaccard-check-after-btree-access.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-insert-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-insert-secondary-index-rtree.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-check_02.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-check_03.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-check_04.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-check_inline_03.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-contains.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance_inline_03.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-fuzzyeq-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-fuzzyeq-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-fuzzyeq-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/word-jaccard-check-after-btree-access.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-insert-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-insert-secondary-index-rtree.plan
M asterix-app/src/test/resources/optimizerts/results/query-issue827-2.plan
M asterix-app/src/test/resources/optimizerts/results/query_issue849-2.plan
M asterix-app/src/test/resources/optimizerts/results/query_issue849.plan
M asterix-app/src/test/resources/optimizerts/results/scan-delete-all.plan
D asterix-app/src/test/resources/optimizerts/results/scan-delete-rtree-secondary-index.plan
A asterix-app/src/test/resources/optimizerts/results/scan-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/scan-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/scan-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/scan-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/scan-delete-secondary-index-rtree.plan
M asterix-app/src/test/resources/optimizerts/results/scan-delete.plan
A asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index-rtree.plan
D asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index.plan
M asterix-app/src/test/resources/optimizerts/results/scan-insert.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/dont-skip-primary-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/skip-ngram-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/skip-rtree-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/skip-secondary-btree-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/skip-word-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/split-materialization-above-join.plan
M asterix-app/src/test/resources/optimizerts/results/split-materialization.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-insert-secondary-index-rtree.plan
M asterix-app/src/test/resources/runtimets/queries/dml/insert-and-scan-dataset-with-index-on-open-field/insert-and-scan-dataset-with-index-on-open-field.1.ddl.aql
R asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/index-type-collision/index-type-collision.1.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/index-type-promotion-collision/index-type-promotion-collision.1.ddl.aql
R asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/record-type-collision/record-collision.1.ddl.aql
A asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.1.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.2.update.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.3.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.4.query.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.5.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.6.query.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.1.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.2.update.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.3.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.4.query.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.5.query.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.6.query.aql
M asterix-app/src/test/resources/runtimets/results/dml/insert-and-scan-dataset-with-index-on-open-field/insert-and-scan-dataset-with-index-on-open-field.1.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.1.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.2.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index/multi-index.1.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index/multi-index.2.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index/multi-index.3.adm
M asterix-app/src/test/resources/runtimets/testsuite.xml
M asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/AqlIndex.java
M asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/AqlMetadataProvider.java
M asterix-om/src/main/java/org/apache/asterix/om/types/ARecordType.java
M pom.xml
309 files changed, 5,670 insertions(+), 2,517 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/61/461/7
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 7
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Taewoo Kim <wa...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................


Patch Set 5: -Verified

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-topic/313/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 5
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Taewoo Kim <wa...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Re: Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by Yingyi Bu <bu...@gmail.com>.
All right, got it!

Best,
Yingyi

On Wed, Nov 18, 2015 at 9:08 PM, Till Westmann <we...@gmail.com> wrote:

> I think that the plan is still to release from the branch …
>
>
> On 18 Nov 2015, at 17:27, Yingyi Bu wrote:
>
> Yingyi, this patch is based on release branch resealse-0.8.8, so any if
>>>>
>>> you had the similar change in master it will be duplicated way until
>> release branch is merged back to master.
>> Ok, got it.
>>
>> I remember Till and Ian recently discussed how to make the release-0.8.8.
>> @Ian, @Till, what's the latest plan for release-0.8.8?  It will still be
>> based on the release branch or will be based on the master?
>> Thanks!
>>
>> Best,
>> Yingyi
>>
>>
>> On Wed, Nov 18, 2015 at 5:15 PM, Ildar Absalyamov (Code Review) <
>> do-not-reply@asterixdb.incubator.apache.org> wrote:
>>
>> Ildar Absalyamov has posted comments on this change.
>>>
>>> Change subject: ASTERIXDB-1109: Fixed deletion of records from open
>>> secondary index  - Avoided creating calling record constructor in delete
>>> pipeline  - Fixed the case when multiple open indexes enforce the type of
>>> the   same field & covered it with tests
>>> ......................................................................
>>>
>>>
>>> Patch Set 10:
>>>
>>> (1 comment)
>>>
>>>
>>>
>>> https://asterix-gerrit.ics.uci.edu/#/c/461/10/asterix-algebra/src/main/java/org/apache/asterix/translator/CompiledStatements.java
>>> File
>>>
>>> asterix-algebra/src/main/java/org/apache/asterix/translator/CompiledStatements.java:
>>>
>>> Line 532:             FLWOGRExpression flowgr = new
>>> FLWOGRExpression(clauseList, var);
>>>
>>>> Can you merge with the latest master and resolve the conflict?
>>>>
>>> Yingyi, this patch is based on release branch resealse-0.8.8, so any if
>>> you had the similar change in master it will be duplicated way until
>>> release branch is merged back to master.
>>>
>>>
>>> --
>>> To view, visit https://asterix-gerrit.ics.uci.edu/461
>>> To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
>>>
>>> Gerrit-MessageType: comment
>>> Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
>>> Gerrit-PatchSet: 10
>>> Gerrit-Project: asterixdb
>>> Gerrit-Branch: release-0.8.8
>>> Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
>>> Gerrit-Reviewer: Ian Maxon <im...@apache.org>
>>> Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
>>> Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
>>> Gerrit-Reviewer: Taewoo Kim <wa...@gmail.com>
>>> Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
>>> Gerrit-HasComments: Yes
>>>
>>>

Re: Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by Till Westmann <we...@gmail.com>.
I think that the plan is still to release from the branch …

On 18 Nov 2015, at 17:27, Yingyi Bu wrote:

>>> Yingyi, this patch is based on release branch resealse-0.8.8, so any 
>>> if
> you had the similar change in master it will be duplicated way until
> release branch is merged back to master.
> Ok, got it.
>
> I remember Till and Ian recently discussed how to make the 
> release-0.8.8.
> @Ian, @Till, what's the latest plan for release-0.8.8?  It will still 
> be
> based on the release branch or will be based on the master?
> Thanks!
>
> Best,
> Yingyi
>
>
> On Wed, Nov 18, 2015 at 5:15 PM, Ildar Absalyamov (Code Review) <
> do-not-reply@asterixdb.incubator.apache.org> wrote:
>
>> Ildar Absalyamov has posted comments on this change.
>>
>> Change subject: ASTERIXDB-1109: Fixed deletion of records from open
>> secondary index  - Avoided creating calling record constructor in 
>> delete
>> pipeline  - Fixed the case when multiple open indexes enforce the 
>> type of
>> the   same field & covered it with tests
>> ......................................................................
>>
>>
>> Patch Set 10:
>>
>> (1 comment)
>>
>>
>> https://asterix-gerrit.ics.uci.edu/#/c/461/10/asterix-algebra/src/main/java/org/apache/asterix/translator/CompiledStatements.java
>> File
>> asterix-algebra/src/main/java/org/apache/asterix/translator/CompiledStatements.java:
>>
>> Line 532:             FLWOGRExpression flowgr = new
>> FLWOGRExpression(clauseList, var);
>>> Can you merge with the latest master and resolve the conflict?
>> Yingyi, this patch is based on release branch resealse-0.8.8, so any 
>> if
>> you had the similar change in master it will be duplicated way until
>> release branch is merged back to master.
>>
>>
>> --
>> To view, visit https://asterix-gerrit.ics.uci.edu/461
>> To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
>>
>> Gerrit-MessageType: comment
>> Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
>> Gerrit-PatchSet: 10
>> Gerrit-Project: asterixdb
>> Gerrit-Branch: release-0.8.8
>> Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
>> Gerrit-Reviewer: Ian Maxon <im...@apache.org>
>> Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
>> Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
>> Gerrit-Reviewer: Taewoo Kim <wa...@gmail.com>
>> Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
>> Gerrit-HasComments: Yes
>>

Re: Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by Yingyi Bu <bu...@gmail.com>.
>> Yingyi, this patch is based on release branch resealse-0.8.8, so any if
you had the similar change in master it will be duplicated way until
release branch is merged back to master.
Ok, got it.

I remember Till and Ian recently discussed how to make the release-0.8.8.
@Ian, @Till, what's the latest plan for release-0.8.8?  It will still be
based on the release branch or will be based on the master?
Thanks!

Best,
Yingyi


On Wed, Nov 18, 2015 at 5:15 PM, Ildar Absalyamov (Code Review) <
do-not-reply@asterixdb.incubator.apache.org> wrote:

> Ildar Absalyamov has posted comments on this change.
>
> Change subject: ASTERIXDB-1109: Fixed deletion of records from open
> secondary index  - Avoided creating calling record constructor in delete
> pipeline  - Fixed the case when multiple open indexes enforce the type of
> the   same field & covered it with tests
> ......................................................................
>
>
> Patch Set 10:
>
> (1 comment)
>
>
> https://asterix-gerrit.ics.uci.edu/#/c/461/10/asterix-algebra/src/main/java/org/apache/asterix/translator/CompiledStatements.java
> File
> asterix-algebra/src/main/java/org/apache/asterix/translator/CompiledStatements.java:
>
> Line 532:             FLWOGRExpression flowgr = new
> FLWOGRExpression(clauseList, var);
> > Can you merge with the latest master and resolve the conflict?
> Yingyi, this patch is based on release branch resealse-0.8.8, so any if
> you had the similar change in master it will be duplicated way until
> release branch is merged back to master.
>
>
> --
> To view, visit https://asterix-gerrit.ics.uci.edu/461
> To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
>
> Gerrit-MessageType: comment
> Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
> Gerrit-PatchSet: 10
> Gerrit-Project: asterixdb
> Gerrit-Branch: release-0.8.8
> Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
> Gerrit-Reviewer: Ian Maxon <im...@apache.org>
> Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
> Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
> Gerrit-Reviewer: Taewoo Kim <wa...@gmail.com>
> Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
> Gerrit-HasComments: Yes
>

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Ildar Absalyamov (Code Review)" <do...@asterixdb.incubator.apache.org>.
Ildar Absalyamov has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index  - Avoided creating calling record constructor in delete pipeline  - Fixed the case when multiple open indexes enforce the type of the   same field & covered it with tests
......................................................................


Patch Set 10:

(1 comment)

https://asterix-gerrit.ics.uci.edu/#/c/461/10/asterix-algebra/src/main/java/org/apache/asterix/translator/CompiledStatements.java
File asterix-algebra/src/main/java/org/apache/asterix/translator/CompiledStatements.java:

Line 532:             FLWOGRExpression flowgr = new FLWOGRExpression(clauseList, var);
> Can you merge with the latest master and resolve the conflict?
Yingyi, this patch is based on release branch resealse-0.8.8, so any if you had the similar change in master it will be duplicated way until release branch is merged back to master.


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 10
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Taewoo Kim <wa...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: Yes

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Ildar Absalyamov (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Taewoo Kim, Ian Maxon, Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/461

to look at the new patch set (#11).

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index  - Avoided creating calling record constructor in delete pipeline  - Fixed the case when multiple open indexes enforce the type of the   same field & covered it with tests
......................................................................

ASTERIXDB-1109: Fixed deletion of records from open secondary index
 - Avoided creating calling record constructor in delete pipeline
 - Fixed the case when multiple open indexes enforce the type of the
  same field & covered it with tests

Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
---
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceMaterializationForInsertWithSelfScanRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceSecondaryIndexInsertDeleteRule.java
M asterix-algebra/src/main/java/org/apache/asterix/translator/CompiledStatements.java
M asterix-app/src/main/java/org/apache/asterix/aql/translator/AqlTranslator.java
M asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-1.plan
M asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-2.plan
M asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-3.plan
M asterix-app/src/test/resources/optimizerts/results/scan-delete-all.plan
M asterix-app/src/test/resources/optimizerts/results/scan-delete-rtree-secondary-index.plan
M asterix-app/src/test/resources/optimizerts/results/scan-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/dont-skip-primary-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/skip-ngram-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/skip-rtree-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/skip-secondary-btree-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/skip-word-index-search-in-delete.plan
R asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/index-type-collision/index-type-collision.1.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/index-type-promotion-collision/index-type-promotion-collision.1.ddl.aql
R asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/record-type-collision/record-collision.1.ddl.aql
A asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.1.ddl.aql
A asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.2.update.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.3.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.4.query.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.5.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.6.query.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.1.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.2.update.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.3.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.4.query.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.5.query.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.6.query.aql
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.1.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.2.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index/multi-index.1.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index/multi-index.2.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index/multi-index.3.adm
M asterix-app/src/test/resources/runtimets/testsuite.xml
M pom.xml
37 files changed, 723 insertions(+), 581 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/61/461/11
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 11
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Taewoo Kim <wa...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................


Patch Set 5: Verified-1

Build Failed 

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-topic/312/ : FAILURE

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 5
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Taewoo Kim <wa...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Ildar Absalyamov (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Ian Maxon, Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/461

to look at the new patch set (#8).

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................

ASTERIXDB-1109: Fixed deletion of records from open secondary index

- Separated InsertDeleteOperator into two distinct operators
- Added a rule substituting equivalent expressions in assign to reuse PK vars
- Changed plan printer for insert\delete\idxInsert\idxDelete operators
- Modified plan printer to skip repeated parts of the plan under replicate operator

Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
---
M asterix-algebra/src/main/java/org/apache/asterix/algebra/base/LogicalOperatorDeepCopyVisitor.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceAutogenerateIDRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceDynamicTypeCastRule.java
R asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceMaterializationForInsertDeleteWithSelfScanRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceSecondaryIndexInsertDeleteRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceStaticTypeCastForInsertRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/LoadRecordFieldsRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/RemoveSortInFeedIngestionRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/ReplaceSinkOpWithCommitOpRule.java
A asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SubstituteEquivalenceClassAssignRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/UnnestToDataScanRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/BTreeAccessMethod.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/util/EquivalenceClassUtils.java
M asterix-algebra/src/main/java/org/apache/asterix/translator/AqlExpressionToPlanTranslator.java
M asterix-algebra/src/main/java/org/apache/asterix/translator/CompiledStatements.java
M asterix-app/src/main/java/org/apache/asterix/api/common/AsterixHyracksIntegrationUtil.java
M asterix-app/src/main/java/org/apache/asterix/aql/translator/AqlTranslator.java
A asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-insert-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-insert-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-insert-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-insert-secondary-index-keyword.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-insert-secondary-index-ngram.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-insert-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-insert-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-insert-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-insert-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-insert-secondary-index-btree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-insert-secondary-index-keyword.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-insert-secondary-index-ngram.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-insert-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-insert-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-insert-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-insert-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-insert-secondary-index-keyword.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-insert-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-insert-secondary-index-rtree.aql
M asterix-app/src/test/resources/optimizerts/queries/scan-delete-all.aql
A asterix-app/src/test/resources/optimizerts/queries/scan-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/scan-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/scan-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/scan-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/scan-delete-secondary-index-rtree.aql
M asterix-app/src/test/resources/optimizerts/queries/scan-delete.aql
A asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index-ngram.aql
R asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index-rtree.aql
D asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index.aql
M asterix-app/src/test/resources/optimizerts/queries/scan-insert.aql
A asterix-app/src/test/resources/optimizerts/queries/unnest-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/unnest-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/unnest-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/unnest-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/unnest-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/unnest-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/unnest-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/unnest-insert-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/unnest-insert-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/unnest-insert-secondary-index-rtree.aql
M asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-1.plan
M asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-2.plan
M asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-3.plan
M asterix-app/src/test/resources/optimizerts/results/inlined_q18_large_volume_customer.plan
M asterix-app/src/test/resources/optimizerts/results/insert-and-scan-dataset-with-index.plan
M asterix-app/src/test/resources/optimizerts/results/insert-and-scan-dataset.plan
M asterix-app/src/test/resources/optimizerts/results/insert-and-scan-joined-datasets.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/ngram-edit-distance-inline.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/ngram-edit-distance.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/ngram-fuzzyeq-edit-distance.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/olist-edit-distance-inline.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/olist-edit-distance.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/olist-fuzzyeq-edit-distance.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/leftouterjoin-probe-pidx-with-join-jaccard-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance-check_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance-check_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance-check_04.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance-contains.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-fuzzyeq-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-fuzzyeq-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance-check_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance-check_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance-check_04.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-fuzzyeq-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-fuzzyeq-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/word-jaccard-check-after-btree-access.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-jaccard-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/ngram-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/ngram-edit-distance-contains.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/ngram-edit-distance-inline.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/ngram-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/ngram-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/olist-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/olist-edit-distance-inline.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/olist-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/olist-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/word-jaccard-check-after-btree-access.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-insert-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-insert-secondary-index-rtree.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-check_02.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-check_03.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-check_04.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-contains.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-inline.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-fuzzyeq-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-fuzzyeq-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-fuzzyeq-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/word-jaccard-check-after-btree-access.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-insert-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-insert-secondary-index-rtree.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-check_02.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-check_03.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-check_04.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-check_inline_03.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-contains.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance_inline_03.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-fuzzyeq-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-fuzzyeq-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-fuzzyeq-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/word-jaccard-check-after-btree-access.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-insert-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-insert-secondary-index-rtree.plan
M asterix-app/src/test/resources/optimizerts/results/query-issue827-2.plan
M asterix-app/src/test/resources/optimizerts/results/query_issue849-2.plan
M asterix-app/src/test/resources/optimizerts/results/query_issue849.plan
M asterix-app/src/test/resources/optimizerts/results/scan-delete-all.plan
D asterix-app/src/test/resources/optimizerts/results/scan-delete-rtree-secondary-index.plan
A asterix-app/src/test/resources/optimizerts/results/scan-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/scan-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/scan-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/scan-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/scan-delete-secondary-index-rtree.plan
M asterix-app/src/test/resources/optimizerts/results/scan-delete.plan
A asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index-rtree.plan
D asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index.plan
M asterix-app/src/test/resources/optimizerts/results/scan-insert.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/dont-skip-primary-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/skip-ngram-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/skip-rtree-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/skip-secondary-btree-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/skip-word-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/split-materialization-above-join.plan
M asterix-app/src/test/resources/optimizerts/results/split-materialization.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-insert-secondary-index-rtree.plan
M asterix-app/src/test/resources/runtimets/queries/dml/insert-and-scan-dataset-with-index-on-open-field/insert-and-scan-dataset-with-index-on-open-field.1.ddl.aql
R asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/index-type-collision/index-type-collision.1.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/index-type-promotion-collision/index-type-promotion-collision.1.ddl.aql
R asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/record-type-collision/record-collision.1.ddl.aql
A asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.1.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.2.update.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.3.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.4.query.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.5.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.6.query.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.1.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.2.update.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.3.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.4.query.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.5.query.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.6.query.aql
M asterix-app/src/test/resources/runtimets/results/dml/insert-and-scan-dataset-with-index-on-open-field/insert-and-scan-dataset-with-index-on-open-field.1.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.1.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.2.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index/multi-index.1.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index/multi-index.2.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index/multi-index.3.adm
M asterix-app/src/test/resources/runtimets/testsuite.xml
M asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/AqlIndex.java
M asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/AqlMetadataProvider.java
M asterix-om/src/main/java/org/apache/asterix/om/types/ARecordType.java
M pom.xml
309 files changed, 5,674 insertions(+), 2,517 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/61/461/8
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 8
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Taewoo Kim <wa...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Yingyi Bu (Code Review)" <do...@asterixdb.incubator.apache.org>.
Yingyi Bu has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index  - Avoided creating calling record constructor in delete pipeline  - Fixed the case when multiple open indexes enforce the type of the   same field & covered it with tests
......................................................................


Patch Set 11: Code-Review+2

LGTM.

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 11
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Taewoo Kim <wa...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Taewoo Kim (Code Review)" <do...@asterixdb.incubator.apache.org>.
Taewoo Kim has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................


Patch Set 4:

Yingyi, it would be really nice if you can show us an example implementation of EquivanceClass in this kind of situation. I am not familiar with that code at all. :-)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 4
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Taewoo Kim <wa...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Ildar Absalyamov (Code Review)" <do...@asterixdb.incubator.apache.org>.
Ildar Absalyamov has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................


Patch Set 4:

Yingyi, sure we can chat about it. Just be aware I am in PST+12 timezone for the next couple of weeks.
1. Initially I was thinking using equivalence classes as well, but I was not sure if we allow plan modification during equivalence class analysis. The modification is sometimes needed because there is a project between PK  source and expression that uses the PK variable.
2. Insert requires to carry a record, while delete need only PK/SK. This might sound not so bad, but the logic for insert was also enforcing a type of the record, which in case of delete was incorrect. This lead to initial issue that SK could not be retrieved from the record with enforced type.

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 4
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Ildar Absalyamov (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Ian Maxon, Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/461

to look at the new patch set (#10).

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index  - Avoided creating calling record constructor in delete pipeline  - Fixed the case when multiple open indexes enforce the type of the   same field & covered it with tests
......................................................................

ASTERIXDB-1109: Fixed deletion of records from open secondary index
 - Avoided creating calling record constructor in delete pipeline
 - Fixed the case when multiple open indexes enforce the type of the
  same field & covered it with tests

Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
---
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceMaterializationForInsertWithSelfScanRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceSecondaryIndexInsertDeleteRule.java
M asterix-algebra/src/main/java/org/apache/asterix/translator/CompiledStatements.java
M asterix-app/src/main/java/org/apache/asterix/aql/translator/AqlTranslator.java
M asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-1.plan
M asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-2.plan
M asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-3.plan
M asterix-app/src/test/resources/optimizerts/results/scan-delete-all.plan
M asterix-app/src/test/resources/optimizerts/results/scan-delete-rtree-secondary-index.plan
M asterix-app/src/test/resources/optimizerts/results/scan-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/dont-skip-primary-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/skip-ngram-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/skip-rtree-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/skip-secondary-btree-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/skip-word-index-search-in-delete.plan
R asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/index-type-collision/index-type-collision.1.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/index-type-promotion-collision/index-type-promotion-collision.1.ddl.aql
R asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/record-type-collision/record-collision.1.ddl.aql
A asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.1.ddl.aql
A asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.2.update.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.3.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.4.query.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.5.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.6.query.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.1.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.2.update.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.3.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.4.query.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.5.query.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.6.query.aql
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.1.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.2.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index/multi-index.1.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index/multi-index.2.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index/multi-index.3.adm
M asterix-app/src/test/resources/runtimets/testsuite.xml
M pom.xml
37 files changed, 724 insertions(+), 581 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/61/461/10
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 10
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Taewoo Kim <wa...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Ildar Absalyamov (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Ian Maxon, Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/461

to look at the new patch set (#6).

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................

ASTERIXDB-1109: Fixed deletion of records from open secondary index

- Separated InsertDeleteOperator into two distinct operators
- Added a rule substituting equivalent expressions in assign to reuse PK vars
- Changed plan printer for insert\delete\idxInsert\idxDelete operators
- Modified plan printer to skip repeated parts of the plan under replicate operator

Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
---
M asterix-algebra/src/main/java/org/apache/asterix/algebra/base/LogicalOperatorDeepCopyVisitor.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceAutogenerateIDRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceDynamicTypeCastRule.java
R asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceMaterializationForInsertDeleteWithSelfScanRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceSecondaryIndexInsertDeleteRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceStaticTypeCastForInsertRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/LoadRecordFieldsRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/RemoveSortInFeedIngestionRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/ReplaceSinkOpWithCommitOpRule.java
A asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SubstituteEquivalenceClassAssignRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/UnnestToDataScanRule.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/BTreeAccessMethod.java
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/util/EquivalenceClassUtils.java
M asterix-algebra/src/main/java/org/apache/asterix/translator/AqlExpressionToPlanTranslator.java
M asterix-algebra/src/main/java/org/apache/asterix/translator/CompiledStatements.java
M asterix-app/src/main/java/org/apache/asterix/api/common/AsterixHyracksIntegrationUtil.java
M asterix-app/src/main/java/org/apache/asterix/aql/translator/AqlTranslator.java
A asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-insert-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-insert-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/scan-insert-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-insert-secondary-index-keyword.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-insert-secondary-index-ngram.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-index/unnest-insert-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-insert-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-insert-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/scan-insert-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-insert-secondary-index-btree.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-insert-secondary-index-keyword.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-insert-secondary-index-ngram.aql
A asterix-app/src/test/resources/optimizerts/queries/nested-open-index/unnest-insert-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-insert-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-insert-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/scan-insert-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-insert-secondary-index-keyword.aql
A asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-insert-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/unnest-insert-secondary-index-rtree.aql
M asterix-app/src/test/resources/optimizerts/queries/scan-delete-all.aql
A asterix-app/src/test/resources/optimizerts/queries/scan-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/scan-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/scan-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/scan-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/scan-delete-secondary-index-rtree.aql
M asterix-app/src/test/resources/optimizerts/queries/scan-delete.aql
A asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index-ngram.aql
R asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index-rtree.aql
D asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index.aql
M asterix-app/src/test/resources/optimizerts/queries/scan-insert.aql
A asterix-app/src/test/resources/optimizerts/queries/unnest-delete-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/unnest-delete-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/unnest-delete-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/unnest-delete-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/unnest-delete-secondary-index-rtree.aql
A asterix-app/src/test/resources/optimizerts/queries/unnest-insert-secondary-index-btree-composite.aql
A asterix-app/src/test/resources/optimizerts/queries/unnest-insert-secondary-index-btree.aql
C asterix-app/src/test/resources/optimizerts/queries/unnest-insert-secondary-index-keyword.aql
C asterix-app/src/test/resources/optimizerts/queries/unnest-insert-secondary-index-ngram.aql
C asterix-app/src/test/resources/optimizerts/queries/unnest-insert-secondary-index-rtree.aql
M asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-1.plan
M asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-2.plan
M asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-3.plan
M asterix-app/src/test/resources/optimizerts/results/inlined_q18_large_volume_customer.plan
M asterix-app/src/test/resources/optimizerts/results/insert-and-scan-dataset-with-index.plan
M asterix-app/src/test/resources/optimizerts/results/insert-and-scan-dataset.plan
M asterix-app/src/test/resources/optimizerts/results/insert-and-scan-joined-datasets.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/ngram-edit-distance-inline.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/ngram-edit-distance.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/ngram-fuzzyeq-edit-distance.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/olist-edit-distance-inline.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/olist-edit-distance.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/olist-fuzzyeq-edit-distance.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/leftouterjoin-probe-pidx-with-join-jaccard-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance-check_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance-check_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance-check_04.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance-contains.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-fuzzyeq-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-fuzzyeq-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance-check_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance-check_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance-check_04.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-fuzzyeq-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-fuzzyeq-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/inverted-index-join/word-jaccard-check-after-btree-access.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-jaccard-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/ngram-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/ngram-edit-distance-contains.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/ngram-edit-distance-inline.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/ngram-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/ngram-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/olist-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/olist-edit-distance-inline.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/olist-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/olist-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/word-jaccard-check-after-btree-access.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/scan-insert-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-index/unnest-insert-secondary-index-rtree.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-check_02.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-check_03.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-check_04.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-contains.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance-inline.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-fuzzyeq-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-fuzzyeq-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-fuzzyeq-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/word-jaccard-check-after-btree-access.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/scan-insert-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/nested-open-index/unnest-insert-secondary-index-rtree.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-check_01.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-check_02.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-check_03.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-check_04.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-check_inline_03.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance-contains.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-edit-distance_inline_03.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-fuzzyeq-edit-distance_01.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-fuzzyeq-edit-distance_02.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-fuzzyeq-edit-distance_03.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-fuzzyeq-edit-distance_04.plan
M asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/word-jaccard-check-after-btree-access.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/scan-insert-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/open-index-enforced/unnest-insert-secondary-index-rtree.plan
M asterix-app/src/test/resources/optimizerts/results/query-issue827-2.plan
M asterix-app/src/test/resources/optimizerts/results/query_issue849-2.plan
M asterix-app/src/test/resources/optimizerts/results/query_issue849.plan
M asterix-app/src/test/resources/optimizerts/results/scan-delete-all.plan
D asterix-app/src/test/resources/optimizerts/results/scan-delete-rtree-secondary-index.plan
A asterix-app/src/test/resources/optimizerts/results/scan-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/scan-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/scan-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/scan-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/scan-delete-secondary-index-rtree.plan
M asterix-app/src/test/resources/optimizerts/results/scan-delete.plan
A asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index-rtree.plan
D asterix-app/src/test/resources/optimizerts/results/scan-insert-secondary-index.plan
M asterix-app/src/test/resources/optimizerts/results/scan-insert.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/dont-skip-primary-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/skip-ngram-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/skip-rtree-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/skip-secondary-btree-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/skip-index/skip-word-index-search-in-delete.plan
M asterix-app/src/test/resources/optimizerts/results/split-materialization-above-join.plan
M asterix-app/src/test/resources/optimizerts/results/split-materialization.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-delete-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-delete-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-delete-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-delete-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-delete-secondary-index-rtree.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-insert-secondary-index-btree-composite.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-insert-secondary-index-btree.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-insert-secondary-index-keyword.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-insert-secondary-index-ngram.plan
A asterix-app/src/test/resources/optimizerts/results/unnest-insert-secondary-index-rtree.plan
M asterix-app/src/test/resources/runtimets/queries/dml/insert-and-scan-dataset-with-index-on-open-field/insert-and-scan-dataset-with-index-on-open-field.1.ddl.aql
R asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/index-type-collision/index-type-collision.1.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/index-type-promotion-collision/index-type-promotion-collision.1.ddl.aql
R asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/record-type-collision/record-collision.1.ddl.aql
A asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.1.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.2.update.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.3.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.4.query.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.5.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.6.query.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.1.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.2.update.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.3.ddl.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.4.query.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.5.query.aql
C asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/multi-index/multi-index.6.query.aql
M asterix-app/src/test/resources/runtimets/results/dml/insert-and-scan-dataset-with-index-on-open-field/insert-and-scan-dataset-with-index-on-open-field.1.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.1.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index-composite-key/multi-index-composite-key.2.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index/multi-index.1.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index/multi-index.2.adm
A asterix-app/src/test/resources/runtimets/results/open-index-enforced/index-selection/multi-index/multi-index.3.adm
M asterix-app/src/test/resources/runtimets/testsuite.xml
M asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/AqlIndex.java
M asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/AqlMetadataProvider.java
M asterix-om/src/main/java/org/apache/asterix/om/types/ARecordType.java
M pom.xml
309 files changed, 5,660 insertions(+), 2,510 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/61/461/6
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 6
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Taewoo Kim <wa...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Ildar Absalyamov (Code Review)" <do...@asterixdb.incubator.apache.org>.
Ildar Absalyamov has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................


Patch Set 7:

(3 comments)

https://asterix-gerrit.ics.uci.edu/#/c/461/7/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceSecondaryIndexInsertDeleteRule.java
File asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceSecondaryIndexInsertDeleteRule.java:

Line 268:             // to replicate each <PK,RECORD> pair.
> Is this still true?
Yes, that logic was not changed.


Line 468:     public static ARecordType createEnforcedType(ARecordType initialType, List<Index> indexes)
> Can we put a comment here? What does this function do?
Done


https://asterix-gerrit.ics.uci.edu/#/c/461/7/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SubstituteEquivalenceClassAssignRule.java
File asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SubstituteEquivalenceClassAssignRule.java:

Line 60:  */
> Does this rule only apply to the assign and project? It looks like it can b
I will put additional restrictions, to that the rule will be applied to assign operators only. Project operators are not subject to the equivalence class transformation per se, they rather needed to be adjusted, so that equivalent variable is not projected out by the time the assign[$$var] <- [$$eqVar] get executed


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 7
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Taewoo Kim <wa...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: Yes

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index
......................................................................


Patch Set 7:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-topic/328/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 7
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Taewoo Kim <wa...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[release-0.8.8]: ASTERIXDB-1109: Fixed deletion of records from open secondar...

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: ASTERIXDB-1109: Fixed deletion of records from open secondary index  - Avoided creating calling record constructor in delete pipeline  - Fixed the case when multiple open indexes enforce the type of the   same field & covered it with tests
......................................................................


Patch Set 9:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-topic/372/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/461
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I41bde91401f67918365de7df19dd2f0de20c73d2
Gerrit-PatchSet: 9
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.8.8
Gerrit-Owner: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Taewoo Kim <wa...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No