[ 
https://issues.apache.org/jira/browse/IGNITE-20478?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pavel Pereslegin updated IGNITE-20478:
--------------------------------------
    Description: 
Currently, when scanning an index, we set a special value called 
"UNSPECIFIED_VALUE_PLACEHOLDER" to row. Which means that any value matches the 
bound (more details in IGNITE-16443).

To be able to complete the transition to using a binary tuple, we need to 
rework this approach and try to avoid storing non-conforming schema values in 
row.

Currently, this placeholder is set to row when the search bound is open (that 
is, when the RexNode is null in the list when creating a scalar).
{{ExpressionFactoryImpl#expandBounds}} needs to be reworked and there should be 
no open bounds (see {{ExpressionFactoryImpl#compile}} all nodes elements must 
not be null).

After reworking {{expandBounds}} the {{searchRow}} that comes to 
{{RowConverter#toBinaryTuplePrefix}} should already contain a prefix only.

In {{ExpressionFactoryImpl#comparator}} this placeholder does not seem to be 
used and this code can be removed.

  was:
Currently, when scanning an index, we set a special value called 
"UNSPECIFIED_VALUE_PLACEHOLDER" to row. Which means that any value matches the 
bound (more details in IGNITE-16443).

To be able to complete the transition to using a binary tuple, we need to 
rework this approach and try to avoid storing non-conforming schema values in 
row.


> Sql. Rework use of UNSPECIFIED_VALUE_PLACEHOLDER in row.
> --------------------------------------------------------
>
>                 Key: IGNITE-20478
>                 URL: https://issues.apache.org/jira/browse/IGNITE-20478
>             Project: Ignite
>          Issue Type: Improvement
>          Components: sql
>            Reporter: Pavel Pereslegin
>            Priority: Major
>              Labels: ignite-3
>
> Currently, when scanning an index, we set a special value called 
> "UNSPECIFIED_VALUE_PLACEHOLDER" to row. Which means that any value matches 
> the bound (more details in IGNITE-16443).
> To be able to complete the transition to using a binary tuple, we need to 
> rework this approach and try to avoid storing non-conforming schema values in 
> row.
> Currently, this placeholder is set to row when the search bound is open (that 
> is, when the RexNode is null in the list when creating a scalar).
> {{ExpressionFactoryImpl#expandBounds}} needs to be reworked and there should 
> be no open bounds (see {{ExpressionFactoryImpl#compile}} all nodes elements 
> must not be null).
> After reworking {{expandBounds}} the {{searchRow}} that comes to 
> {{RowConverter#toBinaryTuplePrefix}} should already contain a prefix only.
> In {{ExpressionFactoryImpl#comparator}} this placeholder does not seem to be 
> used and this code can be removed.



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

Reply via email to