>From Peeyush Gupta <peeyush.gu...@couchbase.com>:

Peeyush Gupta has submitted this change. ( 
https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20010 )

Change subject: [NO ISSUE][COMP] Remove check-unknown for Insert/Upsert on 
datasets with meta part
......................................................................

[NO ISSUE][COMP] Remove check-unknown for Insert/Upsert on datasets with meta 
part

- user model changes: no
- storage format changes: no
- interface changes: no

Ext-ref: MB-67221
Change-Id: I55766c9a334f40efd996e2b453f7237aec739966
Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20010
Integration-Tests: Jenkins <jenk...@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <jenk...@fulliautomatix.ics.uci.edu>
Reviewed-by: Ali Alsuliman <ali.al.solai...@gmail.com>
---
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceDynamicTypeCastRule.java
1 file changed, 29 insertions(+), 1 deletion(-)

Approvals:
  Ali Alsuliman: Looks good to me, approved
  Jenkins: Verified; Verified
  Anon. E. Moose #1000171:




diff --git 
a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceDynamicTypeCastRule.java
 
b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceDynamicTypeCastRule.java
index a9ad7ce..7121bc0 100644
--- 
a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceDynamicTypeCastRule.java
+++ 
b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceDynamicTypeCastRule.java
@@ -27,6 +27,7 @@
 import org.apache.asterix.common.exceptions.ErrorCode;
 import org.apache.asterix.lang.common.util.FunctionUtil;
 import org.apache.asterix.metadata.declared.DataSource;
+import org.apache.asterix.metadata.declared.DatasetDataSource;
 import org.apache.asterix.om.functions.BuiltinFunctions;
 import org.apache.asterix.om.typecomputer.base.TypeCastUtils;
 import org.apache.asterix.om.types.ARecordType;
@@ -165,6 +166,11 @@
             inputRecordType = ((AUnionType) inputRecordType).getActualType();
             checkUnknown = true;
         }
+        boolean hasMetaPart = op.getOperatorTag() == 
LogicalOperatorTag.INSERT_DELETE_UPSERT
+                && ((DatasetDataSource) ((InsertDeleteUpsertOperator) 
op).getDataSource()).getDataset().hasMetaPart();
+        if (hasMetaPart) {
+            checkUnknown = false;
+        }

         /** see whether the input record type needs to be casted */
         boolean cast = !compatible(requiredRecordType, inputRecordType, op);
@@ -173,7 +179,11 @@
             recordVar = addWrapperFunction(requiredRecordType, recordVar, op, 
context, BuiltinFunctions.CHECK_UNKNOWN);
         }
         if (cast) {
-            addWrapperFunction(requiredRecordType, recordVar, op, context, 
BuiltinFunctions.CAST_TYPE);
+            if (hasMetaPart) {
+                addWrapperFunction(requiredRecordType, recordVar, op, context, 
BuiltinFunctions.CAST_TYPE_LAX);
+            } else {
+                addWrapperFunction(requiredRecordType, recordVar, op, context, 
BuiltinFunctions.CAST_TYPE);
+            }
         }
         return cast || checkUnknown;
     }

--
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20010
To unsubscribe, or for help writing mail filters, visit 
https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: ionic
Gerrit-Change-Id: I55766c9a334f40efd996e2b453f7237aec739966
Gerrit-Change-Number: 20010
Gerrit-PatchSet: 3
Gerrit-Owner: Peeyush Gupta <peeyush.gu...@couchbase.com>
Gerrit-Reviewer: Ali Alsuliman <ali.al.solai...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <jenk...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Peeyush Gupta <peeyush.gu...@couchbase.com>
Gerrit-MessageType: merged

Reply via email to