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

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

Alexandr Fedotov created IGNITE-6265:
----------------------------------------

             Summary: 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


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)