Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-6265

BinaryObject fields nested deeper than one level cannot be updated via SQL

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Won't Fix
    • 2.1
    • None
    • sql
    • None

    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

      if (!ctx.cacheObjects().isBinaryObject(obj))
          throw new IgniteCheckedException("Non-binary object received as a result of property extraction " + "[parent=" + parent + ", propName=" + propName + ", obj=" + obj + ']');
      

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

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              asfedotov Alexandr Fedotov
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: