[ https://issues.apache.org/jira/browse/IGNITE-15547?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17424359#comment-17424359 ]
Maksim Timonin edited comment on IGNITE-15547 at 10/5/21, 8:40 AM: ------------------------------------------------------------------- [~andrian.boscanean] hi! This patch looks good to me, I've put some minor comments on the PR page, please have a look. [~andrian.boscanean] , changes your suggest will work. But I do have concerns about performance of using enums in indexes. Using POJO (enum will be considered as POJO) in indexes is possible, but there are tread offs, and the main one is speed of comparison of equal elements (yes, comparison of non-equal elements is pretty fast, but in case of equality of POJO items in index there are additional checks and they aren't optimal). As I understand there are a lot of equal elements in your case, as you want use enum. So, I'd suggest you to test performance of your case. If results won't be OK, it may be faster to use INT instead of ENUM. was (Author: timonin.maksim): [~andrian.boscanean] hi! This patch looks good to me, I've put some minor comments on the PR page, please have a look. [~andrian.boscanean] , changes your suggest will work. But I do have concerns about performance of using enums in indexes. Using POJO (enum will be considered as POJO) in indexes is possible, but there are tread offs, and the main one is speed of comparison of equal elements (yes, comparison of non-equal elements is pretty fast, but in case of equality of POJO items in index there are additional checks and they aren't optimal). As I understand there are a lot of equal elements in your case, as you want use enum. So, I'd suggest you to test performance of your case. If results won't be OK, it will be much faster to store INT instead of ENUM. > QueryTypeDescriptorImpl: Accept Classes/Enums extending an Interface which is > used as cache indexed field > --------------------------------------------------------------------------------------------------------- > > Key: IGNITE-15547 > URL: https://issues.apache.org/jira/browse/IGNITE-15547 > Project: Ignite > Issue Type: Improvement > Affects Versions: 2.10 > Reporter: Andrian Boscanean > Assignee: Andrian Boscanean > Priority: Major > Fix For: 2.12 > > Time Spent: 50m > Remaining Estimate: 0h > > Currently Classes/Enums that extend an interface which is used as Indexed > field are not allowed. > Example > @QuerySqlField(index = true) > private TestInterface testInterface; > ------ > enum TestEnum1 implements TestInterface > { VALUE_1, VALUE_2, VALUE_3 } > -- This message was sent by Atlassian Jira (v8.3.4#803005)