You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Alexandr Fedotov (JIRA)" <ji...@apache.org> on 2017/09/05 09:29:01 UTC

[jira] [Commented] (IGNITE-6265) BinaryObject fields nested deeper than one level cannot be updated via SQL

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

Alexandr Fedotov commented on IGNITE-6265:
------------------------------------------

Allowing {{BinaryObjectBuilder}} in the condition resolves the issue, but it should be checked thoroughly.

> BinaryObject fields nested deeper than one level cannot be updated via SQL
> --------------------------------------------------------------------------
>
>                 Key: IGNITE-6265
>                 URL: https://issues.apache.org/jira/browse/IGNITE-6265
>             Project: Ignite
>          Issue Type: Bug
>          Components: sql
>    Affects Versions: 2.1
>            Reporter: Alexandr Fedotov
>             Fix For: 2.3
>
>         Attachments: BinaryObjectNestedFieldsQueryTest.java
>
>
> SQL update of a BinaryObject field nested deeper than one level throws an exception
> Caused by: class org.apache.ignite.IgniteCheckedException: Non-binary object received as a result of property extraction [parent=org.apache.ignite.internal.processors.query.property.QueryBinaryProperty@1e86486b, propName=nestedObj, obj=org.apache.ignite.internal.binary.builder.BinaryObjectBuilderImpl@1fc7875]
> 	at org.apache.ignite.internal.processors.query.property.QueryBinaryProperty.value(QueryBinaryProperty.java:105)
> 	at org.apache.ignite.internal.processors.query.property.QueryBinaryProperty.setValue(QueryBinaryProperty.java:159)
> 	at org.apache.ignite.internal.processors.query.h2.H2RowDescriptor.setColumnValue(H2RowDescriptor.java:348)
> The problem is that only a BinaryObject is expected in the following part of the {{QueryBinaryProperty.value}} method
> {code:java}
> if (!ctx.cacheObjects().isBinaryObject(obj))
>     throw new IgniteCheckedException("Non-binary object received as a result of property extraction " + "[parent=" + parent + ", propName=" + propName + ", obj=" + obj + ']');
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)