>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