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

David Capwell commented on CASSANDRA-19890:
-------------------------------------------

I went to use "contain" in another patch and found out its in 
https://github.com/apache/cassandra/pull/3416... I have too many patches 
inflight -_-

That method just makes a slight refactor to the existing UDT methods, making it 
reusable in other contexts...

> type system contains check for duration does not work for hidden types
> ----------------------------------------------------------------------
>
>                 Key: CASSANDRA-19890
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-19890
>             Project: Cassandra
>          Issue Type: Bug
>          Components: CQL/Interpreter
>            Reporter: David Capwell
>            Priority: Normal
>             Fix For: 5.x
>
>         Attachments: image-2024-09-07-22-18-35-109.png, 
> image-2024-09-07-22-20-38-433.png, image-2024-09-07-22-22-00-382.png
>
>
> The function 
> "org.apache.cassandra.db.marshal.AbstractType#referencesDuration” relies on 
> type overriding for detecting if the type contains a duration, but the hidden 
> types like Composite or DynamicComposite don’t override this… this means that 
> we will be able to create a 2i index for these columns (unless we use SAI as 
> it properly detects this)
> {code}
> CREATE TABLE "tbl" (
>     "pk1" int,
>     "with_duration" 'CompositeType(ListType(DurationType))',
>     PRIMARY KEY ("pk1")
> );
> CREATE INDEX ON "tbl"("with_duration");
> {code}
> This is able to create the 2i index even though we shouldn’t be able to due 
> to duration not being allowed in indexes.
> We have a test method that is able to detect if a type exists in complex 
> types:
> {code}
> AbstractTypeGenerators.contains(type, DurationType.instance);
> {code}
> Could leverage the same logic to avoid maintenance burden with inheritance 



--
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