[ 
https://issues.apache.org/jira/browse/IGNITE-6265?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alexandr Fedotov updated IGNITE-6265:
-------------------------------------
    Description: 
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}

Corresponding SQL CRUD tests should be added for the nested BinaryObjects.

  was:
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}


> 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}
> Corresponding SQL CRUD tests should be added for the nested BinaryObjects.



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

Reply via email to