Uploaded image for project: 'JBoss Enterprise Application Platform'
  1. JBoss Enterprise Application Platform
  2. JBEAP-3717

(7.0.z) ORA-00932: inconsistent datatypes: expected - got BLOB after HHH-10345 with Oracle12cDialect

    XMLWordPrintable

Details

    • Bug
    • Resolution: Obsolete
    • Minor
    • None
    • None
    • Hibernate
    • None

    Description

      FooBarTest.testLimit
      FooBarTest.testPersistCollections
      ParameterTest.testNonPrimitiveArrayParameterBinding
      ParameterTest.testPrimitiveArrayParameterBinding
      PredicateTest.testByteArray
      ImplicitJoinTest.testImplicitJoinFromExplicitCollectionJoin

      These tests fail on Oracle12c with Oracle12cDialect because Hibernate tries to compare blob with blob1=blob2 but Oracle requires function dbms_lob.compare

      f.ex.

      where dbms_lob.compare(data,:var2) = 0}}
      

      Failing sql:

          create table ENT_W_MANY_COLS (
              id number(19,0) not null,
              someBytes blob,
              someWrappedBytes blob,
              primary key (id)
          )
          select
              multityped0_.id as id1_0_,
              multityped0_.someBytes as someBytes2_0_,
              multityped0_.someWrappedBytes as someWrappedBytes3_0_ 
          from
              ENT_W_MANY_COLS multityped0_ 
          where
              multityped0_.someBytes=?
      

      fails with

      java.sql.SQLSyntaxErrorException: ORA-00932: inconsistent datatypes: expected - got BLOB
      
      	at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:450)
      	at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:399)
      	at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1059)
      	at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:522)
      	at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:257)
      	at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:587)
      	at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:225)
      	at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:53)
      	at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:774)
      	at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:925)
      	at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1111)
      	at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:4798)
      	at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:4845)
      	at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1501)
      	at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:70)
      	at org.hibernate.loader.Loader.getResultSet(Loader.java:2116)
      	at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1899)
      	at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1875)
      	at org.hibernate.loader.Loader.doQuery(Loader.java:919)
      	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:336)
      	at org.hibernate.loader.Loader.doList(Loader.java:2611)
      	at org.hibernate.loader.Loader.doList(Loader.java:2594)
      	at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2423)
      	at org.hibernate.loader.Loader.list(Loader.java:2418)
      	at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:501)
      	at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:371)
      	at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:216)
      	at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1326)
      	at org.hibernate.internal.QueryImpl.list(QueryImpl.java:87)
      	at org.hibernate.jpa.internal.QueryImpl.list(QueryImpl.java:606)
      	at org.hibernate.jpa.internal.QueryImpl.getResultList(QueryImpl.java:483)
      	at org.hibernate.jpa.criteria.compile.CriteriaQueryTypeQueryAdapter.getResultList(CriteriaQueryTypeQueryAdapter.java:50)
      	at org.hibernate.jpa.test.criteria.ParameterTest.testPrimitiveArrayParameterBinding(ParameterTest.java:43)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:497)
      	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
      	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
      	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
      	at org.hibernate.testing.junit4.ExtendedFrameworkMethod.invokeExplosively(ExtendedFrameworkMethod.java:45)
      	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
      	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
      	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
      	at org.junit.internal.runners.statements.FailOnTimeout$StatementThread.run(FailOnTimeout.java:74)
      

      Attachments

        Issue Links

          Activity

            People

              gbadner@redhat.com Gail Badner (Inactive)
              msimka@redhat.com Martin Simka
              Martin Simka Martin Simka
              Martin Simka Martin Simka
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: