[ASTERIXDB-3522][COMP] Invalid sample query generated
- user model changes: no
- storage format changes: no
- interface changes: no
Ext-ref: MB-64066
Change-Id: I5504e494c72dab692607f26d33839b280c4a3fcc
Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19025
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Peeyush Gupta <peeyush.gupta@couchbase.com>
Reviewed-by: Vijay Sarathy <vijay.sarathy@couchbase.com>
Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
diff --git a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/JoinNode.java b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/JoinNode.java
index d6ea457..2c430b1 100644
--- a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/JoinNode.java
+++ b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/JoinNode.java
@@ -613,14 +613,14 @@
if (selectivityAnnotation != null) {
sel = selectivityAnnotation.getSelectivity();
} else {
- if (leafInput.getOperatorTag().equals(LogicalOperatorTag.SELECT)) {
- selOp = (SelectOperator) joinEnum.getStatsHandle().findSelectOpWithExpr(leafInput, afce);
- if (selOp == null) {
+ selOp = (SelectOperator) joinEnum.getStatsHandle().findSelectOpWithExpr(leafInput, afce);
+ if (selOp == null) {
+ if (leafInput.getOperatorTag().equals(LogicalOperatorTag.SELECT)) {
selOp = (SelectOperator) leafInput;
+ } else {
+ selOp = new SelectOperator(new MutableObject<>(afce));
+ selOp.getInputs().add(new MutableObject<>(leafInput));
}
- } else {
- selOp = new SelectOperator(new MutableObject<>(afce));
- selOp.getInputs().add(new MutableObject<>(leafInput));
}
sel = joinEnum.getStatsHandle().findSelectivityForThisPredicate(selOp, afce,
chosenIndex.getIndexType().equals(DatasetConfig.IndexType.ARRAY)
diff --git a/asterixdb/asterix-app/src/test/resources/cc-analyze.conf b/asterixdb/asterix-app/src/test/resources/cc-analyze.conf
index 16fa0ae..93a4d15 100644
--- a/asterixdb/asterix-app/src/test/resources/cc-analyze.conf
+++ b/asterixdb/asterix-app/src/test/resources/cc-analyze.conf
@@ -54,3 +54,4 @@
log.level = INFO
compiler.groupmemory=64MB
storage.buffercache.pagesize=32KB
+compiler.internal.sanitycheck=true
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/objects/object_add/object_add.7.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/objects/object_add/object_add.7.query.sqlpp
index 71f6974..c593461 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/objects/object_add/object_add.7.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/objects/object_add/object_add.7.query.sqlpp
@@ -18,7 +18,10 @@
*/
// For OBJECT_ADD.
+// ASTERIXDB-3522 disable parallel sort. enable when fixed
+
USE TestDataverse;
+set `compiler.sort.parallel` "false";
LET openUValues = (
FROM UsersOpen U2
WHERE U2._id = 4
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/objects/object_put/object_put.7.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/objects/object_put/object_put.7.query.sqlpp
index 52943a0..8525e24 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/objects/object_put/object_put.7.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/objects/object_put/object_put.7.query.sqlpp
@@ -18,7 +18,10 @@
*/
// For OBJECT_PUT.
+// ASTERIXDB-3522 disable parallel sort. enable when fixed
+
USE TestDataverse;
+set `compiler.sort.parallel` "false";
LET openUValues = (
FROM UsersOpen U2
WHERE U2._id = 4