[ 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