[ https://issues.apache.org/jira/browse/IGNITE-10645?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16717438#comment-16717438 ]
Pavel Kuznetsov commented on IGNITE-10645: ------------------------------------------ Now there are some thests that have configuration: {noformat} LinkedHashMap<String, String> fields = new LinkedHashMap<>(); fields.put("keyStr", String.class.getName()); fields.put("keyLong", Long.class.getName()); fields.put("keyPojo", Pojo.class.getName()); fields.put("valStr", String.class.getName()); fields.put("valLong", Long.class.getName()); fields.put("valPojo", Pojo.class.getName()); ent = new QueryEntiry (Key.class.getName(), Value.class.getName()) .setFields(fields) {noformat} It's expected that engine somehow understands that field "keyStr" belongs to a key, which is wrong. Updating such tests. > SQL properties ownership flag should be set at configuration parsing, not > query execution. > ------------------------------------------------------------------------------------------ > > Key: IGNITE-10645 > URL: https://issues.apache.org/jira/browse/IGNITE-10645 > Project: Ignite > Issue Type: Bug > Components: sql > Reporter: Pavel Kuznetsov > Assignee: Pavel Kuznetsov > Priority: Major > > At processing time, query entities are transformed and validated, table > descriptors with properties are created. > Now in some case (thre's no keyFields and key is of complex non-sql type), > ownership flag of query property is calculated at execution time (for example > at first put()): > https://github.com/apache/ignite/blob/dcdb27a24a450f63487290360b265e1570534629/modules/core/src/main/java/org/apache/ignite/internal/processors/query/property/QueryBinaryProperty.java#L132 > So we can't access metadata, that uses this not-yet-initialized field before > we put the data. > But we already have all necessary info to set this field at processing time. -- This message was sent by Atlassian JIRA (v7.6.3#76005)