You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@metamodel.apache.org by "Kasper Sørensen (JIRA)" <ji...@apache.org> on 2016/10/28 22:31:58 UTC

[jira] [Created] (METAMODEL-1127) PostgreSQL error when inserting null MAP (json(b)) value

Kasper Sørensen created METAMODEL-1127:
------------------------------------------

             Summary: PostgreSQL error when inserting null MAP (json(b)) value
                 Key: METAMODEL-1127
                 URL: https://issues.apache.org/jira/browse/METAMODEL-1127
             Project: Apache MetaModel
          Issue Type: Bug
            Reporter: Kasper Sørensen
            Assignee: Kasper Sørensen


In an application we are building I have seen this exception thrown:

{code}
21:48:09.894 [XNIO-1 task-2] WARN  o.a.m.j.d.PostgresqlQueryRewriter - Exception occurred while calling setNull(...) for value index 7. Attempting value-based setter method instead.
java.lang.IllegalStateException: Could not access fields in JdbcTypes
        at org.apache.metamodel.schema.ColumnTypeImpl.getJdbcType(ColumnTypeImpl.java:156)
        at org.apache.metamodel.jdbc.dialects.AbstractQueryRewriter.setStatementParameter(AbstractQueryRewriter.java:320)
        at org.apache.metamodel.jdbc.dialects.PostgresqlQueryRewriter.setStatementParameter(PostgresqlQueryRewriter.java:102)
        at org.apache.metamodel.jdbc.JdbcInsertBuilder.execute(JdbcInsertBuilder.java:79)
        at org.apache.metamodel.insert.InsertInto.run(InsertInto.java:70)
        at org.apache.metamodel.jdbc.JdbcDataContext.executeUpdate(JdbcDataContext.java:846)
...
Caused by: java.lang.IllegalStateException: No JdbcType found with field name: MAP
        at org.apache.metamodel.schema.ColumnTypeImpl.getJdbcType(ColumnTypeImpl.java:154)
        ... 46 common frames omitted
{code}

After debugging it I can see that it is happening because we are trying to insert a null value for a MAP column (of native type 'jsonb').

Looking at PostgresqlQueryRewriter.setStatementParameter(...) it seems this class or JdbcUtils is the culprit.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)