[ https://issues.apache.org/jira/browse/IGNITE-2906?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Krome Plasma updated IGNITE-2906: --------------------------------- Description: I've had discussion about this on Apache Ignite Users. http://apache-ignite-users.70518.x6.nabble.com/Indexing-Querying-of-child-element-fields-td1704.html#a1734 The problem occurs when you want to index a non-primitive type that have same names of variables as the enclosing type, better described on forum above. As a short example: Let's say we want to index: public class Person { @QuerySqlField long id; @QuerySqlField PersonData personData; } public class PersonData { @QuerySqlField long id; } This will not work as it will detect indexes/query fields with same names for index Person.id and PersonData.id because the names are flattened to simply 'id'. I am attaching a simple patch that resolves this issue. We've been running this for (3 months now) and found no problems. However we are using annotations and not XML. I am not sure the patch completely solves the problem for XML based configuration. was: I've had discussion about this on Apache Ignite Users. http://apache-ignite-users.70518.x6.nabble.com/Indexing-Querying-of-child-element-fields-td1704.html#a1734 The problem occurs when you want to index a non-primitive type that have same names of variables as the encloding type, better described on forum above. As a short example: Let's say we want to index: public class Person { @QuerySqlField long id; @QuerySqlField PersonData personData; } public class PersonData { @QuerySqlField long id; } This will not work as it will detect indexes/query fields with same names for index Person.id and PersonData.id because the names are flattened to simply 'id'. I am attaching a simple patch that resolves this issue. We've been running this for (3 months now) and found no problems. However we are using annotations and not XML. I am not sure the patch completely solves the problem for XML based configuration. > Embedded / child element types indexing/queryfields (non-flat) > -------------------------------------------------------------- > > Key: IGNITE-2906 > URL: https://issues.apache.org/jira/browse/IGNITE-2906 > Project: Ignite > Issue Type: Improvement > Components: cache, data structures, general, SQL > Reporter: Krome Plasma > Attachments: indexing.patch > > > I've had discussion about this on Apache Ignite Users. > http://apache-ignite-users.70518.x6.nabble.com/Indexing-Querying-of-child-element-fields-td1704.html#a1734 > The problem occurs when you want to index a non-primitive type that have same > names of variables as the enclosing type, better described on forum above. As > a short example: > Let's say we want to index: > public class Person > { > @QuerySqlField > long id; > @QuerySqlField > PersonData personData; > } > public class PersonData > { > @QuerySqlField > long id; > } > This will not work as it will detect indexes/query fields with same names for > index Person.id and PersonData.id because the names are flattened to simply > 'id'. > I am attaching a simple patch that resolves this issue. We've been running > this for (3 months now) and found no problems. However we are using > annotations and not XML. I am not sure the patch completely solves the > problem for XML based configuration. -- This message was sent by Atlassian JIRA (v6.3.4#6332)