Uploaded image for project: 'Derby'
  1. Derby
  2. DERBY-365

inplace compress on synonym throws an assert failure. (may be it should not be allowed).

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Duplicate
    • 10.1.1.0
    • None
    • SQL
    • None

    Description

      I think in place compress option should not be allowed on synonyms, currenly engine throws assert on debug build, will throw NPE on insane build.

      repro:
      ij version 10.1
      ij> connect 'jdbc:derby:wombat;create=true';
      ij> create table t1(a int ) ;
      0 rows inserted/updated/deleted
      ij> create synonym s1 for t1 ;
      0 rows inserted/updated/deleted
      ij> call SYSCS_UTIL.SYSCS_INPLACE_COMPRESS_TABLE('APP' , 'S1' , 1 , 1, 1) ;
      ERROR 38000: The exception 'org.apache.derby.iapi.services.sanity.AssertFailure:
      ASSERT FAILED cd is expected to be non-null for S1' was thrown while evaluating
      an expression.
      ERROR XJ001: Java exception: 'ASSERT FAILED cd is expected to be non-null for S1
      : org.apache.derby.iapi.services.sanity.AssertFailure'.
      ij>

      stack::
      org.apache.derby.iapi.services.sanity.AssertFailure: ASSERT FAILED cd is expecte
      d to be non-null for T1
      at org.apache.derby.iapi.services.sanity.SanityManager.THROWASSERT(Sanit
      yManager.java:150)
      at org.apache.derby.iapi.sql.dictionary.TableDescriptor.getHeapConglomer
      ateId(TableDescriptor.java:340)
      at org.apache.derby.iapi.db.OnlineCompress.defragmentRows(OnlineCompress
      .java:228)
      at org.apache.derby.iapi.db.OnlineCompress.compressTable(OnlineCompress.
      java:154)
      at org.apache.derby.catalog.SystemProcedures.SYSCS_INPLACE_COMPRESS_TABL
      E(SystemProcedures.java:745)
      at org.apache.derby.exe.acf81e0010x0104x7d99xc315x0000001688d81.g0(Unkno
      wn Source)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
      java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
      sorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.apache.derby.impl.services.reflect.ReflectMethod.invoke(ReflectMe
      thod.java:45)
      at org.apache.derby.impl.sql.execute.CallStatementResultSet.open(CallSta
      tementResultSet.java:67)
      at org.apache.derby.impl.sql.GenericPreparedStatement.execute(GenericPre
      paredStatement.java:366)
      at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedState
      ment.java:1108)
      at org.apache.derby.impl.jdbcI th.EmbedStatement.execute(EmbedStatement.java
      :517)
      at org.apache.derby.impl.jdbc.EmbedStatement.execute(EmbedStatement.java
      :475)
      at org.apache.derby.impl.tools.ij.ij.executeImmediate(ij.java:299)
      at org.apache.derby.impl.tools.ij.utilMain.doCatch(utilMain.java:433)
      at org.apache.derby.impl.tools.ij.utilMain.go(utilMain.java:310)
      at org.apache.derby.impl.tools.ij.Main.go(Main.java:203)
      at org.apache.derby.impl.tools.ij.Main.mainCore(Main.java:169)
      at org.apache.derby.impl.tools.ij.Main14.main(Main14.java:55)
      at org.apache.derby.tools.ij.main(ij.java:60)
      ============= end nested exception, level (1) ===========

      Attachments

        Activity

          People

            Unassigned Unassigned
            tsuresh Suresh Thalamati
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: