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

Caleb Rackliffe updated CASSANDRA-18590:
----------------------------------------
    Change Category: Code Clarity
         Complexity: Normal
      Fix Version/s: 5.0-beta
                     5.1
          Reviewers: Caleb Rackliffe
             Status: Open  (was: Triage Needed)

> Introduce IndexTermType to replace TypeUtils in SAI
> ---------------------------------------------------
>
>                 Key: CASSANDRA-18590
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-18590
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Feature/SAI
>            Reporter: Mike Adamson
>            Assignee: Mike Adamson
>            Priority: Normal
>             Fix For: 5.0-beta, 5.1
>
>
> From a review comment by [~adelapena] on the 
> [CASSANDRA-18067|https://issues.apache.org/jira/browse/CASSANDRA-18067] PR
> {quote}Not directly related to this ticket, but it seems to me that the 
> methods on TypeUtil do a lot of repeated work in the hot path just to 
> determine the data type of the caller. These operations include finding the 
> base type of reversed multiple times, multiple instanceof calls, etc. All 
> these operations on each index are called with the same 
> IndexContext#getValidator argument, needlessly repeating work for every 
> column value.
> I understand that most of the methods on TypeUtil are things that would 
> normally be part of AbstractType, so each particular data type can provide 
> its own implementation. But we don't want to couple the generic data types 
> with SAI, so we have this class instead.
> I think that we could add a kind of TermType class decorating AbstractType, 
> and subclass it for every data type that gets special treatment (LONG, 
> VARINT, DECIMAL and INET). Then, IndexContext would hold the adequate 
> instance of TermType. This instance would be able to provide the same 
> operations as the current TypeUtil, but without the type checks.{quote}



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

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to