>From Wael Alkowaileet <[email protected]>:

Wael Alkowaileet has posted comments on this change. ( 
https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/12964 )

Change subject: [ASTERIXDB-2933][COMP][EXT] Pushdowns Part2: Pushdown Rule
......................................................................


Patch Set 3:

(2 comments)

https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/12964/3/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushValueAccessToExternalDataScanRule.java
File 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushValueAccessToExternalDataScanRule.java:

https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/12964/3/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushValueAccessToExternalDataScanRule.java@66
PS3, Line 66: public class PushValueAccessToExternalDataScanRule implements 
IAlgebraicRewriteRule {
> This rule is not added to RuleCollections. […]
Yes. It will be added in a follow-up change


https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/12964/3/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/pushdown/ExpressionValueAccessPushdownVisitor.java
File 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/pushdown/ExpressionValueAccessPushdownVisitor.java:

https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/12964/3/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/pushdown/ExpressionValueAccessPushdownVisitor.java@125
PS3, Line 125:      * select (not(is-missing($$18)))
> What if the operator was: select(is-missing($$18))? It looks like your code 
> would allow personInfo. […]
Yes it will be pushed down. The not() function has no effect here.
The intention of this check is to not bring in the entire $$18 just to inspect 
if whether $$18 is-missing or not. The output of $$18 would still be e.g., 
{"name": "John"} instead of e.g., {"name": "John", "age": 27 ... rest of the 
fields}. The output $$18 is still an object, but only with what has been 
requested. Thus, is-missing($$18) will only be true if 
$$p.getField("personInfo") is actually missing.



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

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Change-Id: If0c0d05473be72df6f08dfcbab2d25c36c71368e
Gerrit-Change-Number: 12964
Gerrit-PatchSet: 3
Gerrit-Owner: Wael Alkowaileet <[email protected]>
Gerrit-Reviewer: Ali Alsuliman <[email protected]>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Dmitry Lychagin <[email protected]>
Gerrit-Reviewer: Jenkins <[email protected]>
Gerrit-Reviewer: Wael Alkowaileet <[email protected]>
Gerrit-Comment-Date: Thu, 02 Sep 2021 20:08:25 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Dmitry Lychagin <[email protected]>
Gerrit-MessageType: comment

Reply via email to