[ 
https://issues.apache.org/jira/browse/IGNITE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17749475#comment-17749475
 ] 

Evgeny Stanilovsky edited comment on IGNITE-19893 at 8/1/23 6:24 AM:
---------------------------------------------------------------------

ItVarBinaryIndexTest.testKeyLookUp failed with mentioned index usage check.
RexUtils#buildHashSearchBounds -> RexUtils#mapPredicatesToFields

varbinary(N) need to be casted to varbinary, thus furthed logic with index 
usage is not applicable

{noformat}
        if (op instanceof RexSlot) {
            RelDataType operandType = 
call.getOperands().get(operandNum).getType();
            if (!TypeUtils.needCastInSearchBounds(Commons.typeFactory(), 
op.getType(), operandType)) {
                return (RexSlot) op;
            }
        }
{noformat}

Fast fix IgniteTypeSystem#getMaxPrecision and getDefaultPrecision into 
PRECISION_NOT_SPECIFIED for varbinary helps to return index usage.

check also:

SqlTypeFactoryImpl#createSqlType
SqlTypeUtil#convertTypeToSpec





was (Author: zstan):
ItVarBinaryIndexTest.testKeyLookUp failed with mentioned index usage check.
RexUtils#buildHashSearchBounds -> RexUtils#mapPredicatesToFields

varbinary(N) need to be casted to varbinary, thus furthed logic with index 
usage is not applicable

{noformat}
        if (op instanceof RexSlot) {
            RelDataType operandType = 
call.getOperands().get(operandNum).getType();
            if (!TypeUtils.needCastInSearchBounds(Commons.typeFactory(), 
op.getType(), operandType)) {
                return (RexSlot) op;
            }
        }
{noformat}

Fast fix IgniteTypeSystem#getMaxPrecision and getDefaultPrecision for varbinary 
helps to return index usage.

check also:

SqlTypeFactoryImpl#createSqlType
SqlTypeUtil#convertTypeToSpec




> Sql. Add plan checks to BaseIndexDataTypeTest
> ---------------------------------------------
>
>                 Key: IGNITE-19893
>                 URL: https://issues.apache.org/jira/browse/IGNITE-19893
>             Project: Ignite
>          Issue Type: Improvement
>          Components: sql
>    Affects Versions: 3.0.0-beta1
>            Reporter: Maksim Zhuravkov
>            Assignee: Maksim Zhuravkov
>            Priority: Minor
>              Labels: ignite-3
>
> Add checks to BaseIndexDataTypeTest to ensure that index lookups/scans are 
> used where they are necessary.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to