>From Dmitry Lychagin <[email protected]>:

Dmitry Lychagin has posted comments on this change. ( 
https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/14043 )

Change subject: [NO ISSUE][COMP] Make views utilize secondary indexes
......................................................................


Patch Set 2:

(6 comments)

https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/14043/2/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java
File 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java:

https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/14043/2/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java@a2966
PS2, Line 2966:         if (!funcIDSetThatRetainFieldName.contains(funcIdent)) {
are we not using funcIDSetThatRetainFieldName set anymore? If not then can we 
remove it?


https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/14043/2/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java@3187
PS2, Line 3187:         return funId == FIELD_ACCESS_BY_NAME || funId == 
FIELD_ACCESS_BY_INDEX || funId == FIELD_ACCESS_NESTED;
let's use FunctionIdentifier.equals() instead of ==


https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/14043/2/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/ArrayBTreeAccessMethod.java
File 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/ArrayBTreeAccessMethod.java:

https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/14043/2/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/ArrayBTreeAccessMethod.java@258
PS2, Line 258:             return !defaultNull;
We don't support CAST DEFAULT NULL for Array indexes, right? May be we should 
fail with COMPILATION_ILLEGAL_STATE if we get it here.


https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/14043/2/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/BTreeAccessMethod.java
File 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/BTreeAccessMethod.java:

https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/14043/2/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/BTreeAccessMethod.java@1043
PS2, Line 1043:     public boolean 
acceptsFunction(AbstractFunctionCallExpression functionExpr, IAType 
indexedFieldType,
May be we should change this method to accept a boolean 'finalStep'. This way 
we might be able to simplify  AbstractIntroduceAccessMethodRule.acceptSteps() 
method. It'll always call this method acceptsFunction() with a flag specifying 
whether it's a final step or not. For intermediate steps we only allow 
AccessMethodUtils.isFieldAccess() functions, for a final step we also allow 
CAST_NULL_TYPE_CONSTRUCTORS functions. The requirement is that we have a least 
one field access step, so the final step is allowed to be a cast function if 
there was a field access step before it. What do you think?


https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/14043/2/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/BTreeAccessMethod.java@1048
PS2, Line 1048:         } else if (CAST_NULL_TYPE_CONSTRUCTORS.contains(funId)) 
{
Can move default null check here? : else if (defaultNull && 
CAST_NULL_TYPE_CONSTRUCTORS.contains(funId)) { ... }


https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/14043/2/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java
File 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java:

https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/14043/2/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java@1359
PS2, Line 1359:             return !defaultNull;
We don't support defaultNull for this index type. Should we just fail with 
COMPILATION_ILLEGAL_STATE error here?



--
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/14043
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: I7ae50a7ccad9dc4dd2df221c4c643a4af04367b9
Gerrit-Change-Number: 14043
Gerrit-PatchSet: 2
Gerrit-Owner: Ali Alsuliman <[email protected]>
Gerrit-Reviewer: Ali Alsuliman <[email protected]>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Dmitry Lychagin <[email protected]>
Gerrit-Reviewer: Glenn Galvizo <[email protected]>
Gerrit-Reviewer: Jenkins <[email protected]>
Gerrit-Reviewer: Michael Blow <[email protected]>
Gerrit-Reviewer: Murtadha Hubail <[email protected]>
Gerrit-Reviewer: Till Westmann <[email protected]>
Gerrit-Comment-Date: Mon, 15 Nov 2021 20:05:32 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Gerrit-MessageType: comment

Reply via email to