>From Ali Alsuliman <[email protected]>:

Attention is currently required from: Shahrzad Shirazi.

Ali Alsuliman has posted comments on this change by Shahrzad Shirazi. ( 
https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20268?usp=email )

Change subject: [ASTERIXDB-3516][COMP] Adding UPDATE statement
......................................................................


Patch Set 46:

(6 comments)

File 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RecordMergeTypeComputer.java:

https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20268/comment/4e323f9f_c40f349d?usp=email
 :
PS46, Line 134:                         || (fieldTypes[i].getTypeTag() == 
ATypeTag.OBJECT && mergeOnTransformRecords && !isTransform)) {
I don't see that this condition can ever be true (mergeOnTransformRecords && 
!isTransform). Based on the flags in the constructor, if 
mergeOnTransformRecords=true, then it must be the case that isTransform=true 
also which makes the condition always false


File 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RecordRemoveRecursiveTypeComputer.java:

https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20268/comment/ff03bcc8_07a3d6ae?usp=email
 :
PS46, Line 37: public class RecordRemoveRecursiveTypeComputer implements 
IResultTypeComputer {
Study/debug this type computer and the other one with different UPDATE 
examples, then let me know what they are supposed to do. I read the code 
multiple times, but I could not follow the behavior.


File 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/records/RecordMergeEvaluator.java:

https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20268/comment/7318f999_f6e3d5b6?usp=email
 :
PS46, Line 65: public class RecordMergeEvaluator extends AbstractScalarEval {
I could not follow the behavior change in this class. Study/debug with 
different UPDATE examples, then let me know what the behavior is and what the 
new code is doing (and also what it is doing for the normal record-merge if 
there is any change).


https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20268/comment/18b67024_b94f9768?usp=email
 :
PS46, Line 125:         if (!isRecordPointablesSet) {
Not sure what I am missing, but isn't 'isRecordPointablesSet' always false 
making this condition always true?


https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20268/comment/60f85aab_e99c9f0f?usp=email
 :
PS46, Line 157:         leftRecordTypeInfo.reset(leftRecType);
You have a single 'leftRecordTypeInfo'. The second time you come to this method 
via recursion through addFieldToSubRecord(), it is going to reset(leftRecType) 
and you will lose the information you set in the first call. You need to use a 
stack keeping multiple entires similar to rbStack.


File 
hyracks-fullstack/algebricks/algebricks-runtime/src/main/java/org/apache/hyracks/algebricks/runtime/operators/meta/SubplanRuntimeFactory.java:

https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20268/comment/5a84bb2f_6a6f4808?usp=email
 :
PS46, Line 317:                     noTupleOnFailure = true;
Remove extra line before



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

Gerrit-MessageType: comment
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Change-Id: Ib2d531b7b172b75b9756c7cc9b15dc636641f827
Gerrit-Change-Number: 20268
Gerrit-PatchSet: 46
Gerrit-Owner: Shahrzad Shirazi <[email protected]>
Gerrit-Reviewer: Ali Alsuliman <[email protected]>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <[email protected]>
Gerrit-Attention: Shahrzad Shirazi <[email protected]>
Gerrit-Comment-Date: Sun, 23 Nov 2025 16:53:02 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No

Reply via email to