You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafodion.apache.org by "Sandhya Sundaresan (JIRA)" <ji...@apache.org> on 2017/07/14 18:11:00 UTC

[jira] [Commented] (TRAFODION-1597) LOB: create index on LOB columns crashes tdm_arkcmp

    [ https://issues.apache.org/jira/browse/TRAFODION-1597?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16087720#comment-16087720 ] 

Sandhya Sundaresan commented on TRAFODION-1597:
-----------------------------------------------

This issue is fixed and now returns a good error.
>>create index idx on t (c1);

*** ERROR[1541] Use of BLOB/CLOB datatype as a key of the base table or an index is not allowed.

--- SQL operation failed with errors.


> LOB: create index on LOB columns crashes tdm_arkcmp
> ---------------------------------------------------
>
>                 Key: TRAFODION-1597
>                 URL: https://issues.apache.org/jira/browse/TRAFODION-1597
>             Project: Apache Trafodion
>          Issue Type: Bug
>          Components: sql-exe
>    Affects Versions: 1.2-incubating
>            Reporter: Sandhya Sundaresan
>             Fix For: 2.1-incubating
>
>
> Creating index on LOB columns is probably not supported. But it should return a proper error. It currently crashes tdm_arkcmp at HbaseInsert::preCodeGen().
> Here is the execution output:
> >>control query default TRAF_BLOB_AS_VARCHAR 'OFF';
> --- SQL operation complete.
> >>control query default TRAF_CLOB_AS_VARCHAR 'OFF';
> --- SQL operation complete.
> >>
> >>create schema mytest9;
> --- SQL operation complete.
> >>set schema mytest9;
> --- SQL operation complete.
> >>
> >>create table t (c1 blob, c2 clob);
> --- SQL operation complete.
> >>insert into table t values (stringtolob('column 1'), stringtolob('column 2'));
> --- 1 row(s) inserted.
> >>create index idx on t (c1);
> *** ERROR[8838] Unable to receive reply from Compiler, possibly caused by internal errors when compiling SQL statements, processing DDL statements, or executing the builtin stored procedures.
> *** ERROR[2005] Internal error: from compilation, no errors in diagnostics yet for statement: LOAD TRANSFORM into table(index_table TRAFODION.MYTEST9.IDX ) select "C1","SYSKEY" from TRAFODION.MYTEST9.T for read uncommitted access;
> *** ERROR[8822] The statement was not prepared.
> *** ERROR[1081] Loading of index TRAFODION.MYTEST9.IDX failed unexpectedly.
> --- SQL operation failed with errors.
> >>drop table t cascade;
> --- SQL operation complete.
> >>
> >>drop schema mytest9 cascade;
> --- SQL operation complete.
> >>
> >>
> >>exit;
> Here is the back trace of the sqlci core:
> (gdb) bt
> #0 0x0000003889a32625 in raise () from /lib64/libc.so.6
> 0000001 0x0000003889a33e05 in abort () from /lib64/libc.so.6
> 0000002 0x00007ffff1858585 in ?? ()
>    from /usr/lib/jvm/java-1.7.0-openjdk.x86_64/jre/lib/amd64/server/libjvm.so
> 0000003 0x00007ffff19cbb9f in ?? ()
>    from /usr/lib/jvm/java-1.7.0-openjdk.x86_64/jre/lib/amd64/server/libjvm.so
> 0000004 0x00007ffff185d122 in JVM_handle_linux_signal ()
>    from /usr/lib/jvm/java-1.7.0-openjdk.x86_64/jre/lib/amd64/server/libjvm.so
> 0000005 <signal handler called>
> 0000006 0x0000003889b3372f in __strlen_sse42 () from /lib64/libc.so.6
> 0000007 0x00007ffff657106a in length (this=<value optimized out>, cs=0x0)
>     at /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/char_traits.h:263
> 0000008 assign (this=<value optimized out>, cs=0x0) at ../export/FBString.h:1598
> 0000009 operator= (this=<value optimized out>, cs=0x0) at ../export/FBString.h:1310
> 0000010 NAString::operator= (this=<value optimized out>, cs=0x0)
>     at ../export/NAStringDef.cpp:141
> 0000011 0x00007ffff43875f2 in HbaseInsert::preCodeGen (this=0x7fffdc5cc100,
>     generator=0x7fffffff4080, externalInputs=<value optimized out>,
>     pulledNewInputs=<value optimized out>) at ../generator/GenPreCode.cpp:5433
> 0000012 0x00007ffff43713ae in Join::preCodeGen (this=0x7fffdc5c3be0,
>     generator=0x7fffffff4080, externalInputs=..., pulledNewInputs=...)
>     at ../generator/GenPreCode.cpp:2550
> 0000013 0x00007ffff4374381 in NestedJoin::preCodeGen (this=0x7fffdc5c3be0,
>     generator=0x7fffffff4080, externalInputs=..., pulledNewInputs=...)
>     at ../generator/GenPreCode.cpp:3055
> 0000014 0x00007ffff4384d38 in RelRoot::preCodeGen (this=0x7fffdc5be4b0,
>     generator=0x7fffffff4080, pulledNewInputs=...)
>     at ../generator/GenPreCode.cpp:1984
> 0000015 0x00007ffff430a71f in Generator::preGenCode (this=0x7fffffff4080,
>     expr_node=0x7fffdc5be4b0) at ../generator/Generator.cpp:542
> 0000016 0x00007ffff7a20866 in CmpMain::compile (this=0x7fffffff77c0,
>     input_str=0x7fffdd636b08 "LOAD TRANSFORM into table(index_table TRAFODION.MYTEST9.IDX ) select \"C1\",\"SYSKEY\" from TRAFODION.MYTEST9.T for read uncommitted access;", charset=15, queryExpr=@0x7fffffff76f8, gen_code=0x7fffdd668a78,
>     gen_code_len=0x7fffdd668a70, heap=0x7fffe90cdeb0, phase=CmpMain::END,
>     fragmentDir=0x7fffffff7918, op=3004, useQueryCache=1,
>     cacheable=0x7fffffff7708, begTime=0x7fffffff76e0, shouldLog=0)
>     at ../sqlcomp/CmpMain.cpp:2331
> 0000017 0x00007ffff7a223bc in CmpMain::sqlcomp (this=0x7fffffff77c0,
>     input_str=0x7fffdd636b08 "LOAD TRANSFORM into table(index_table TRAFODION.MYTEST9.IDX ) select \"C1\",\"SYSKEY\" from TRAFODION.MYTEST9.T for read uncommitted access;", charset=15, queryExpr=@0x7fffffff76f8, gen_code=0x7fffdd668a78,
>     gen_code_len=0x7fffdd668a70, heap=0x7fffe90cdeb0, phase=CmpMain::END,
>     fragmentDir=0x7fffffff7918, op=3004, useQueryCache=1,
>     cacheable=0x7fffffff7708, begTime=0x7fffffff76e0, shouldLog=0)
>     at ../sqlcomp/CmpMain.cpp:1684
> 0000018 0x00007ffff7a236c8 in CmpMain::sqlcomp (this=0x7fffffff77c0, input=...,
>     gen_code=0x7fffdd668a78, gen_code_len=0x7fffdd668a70, heap=0x7fffe90cdeb0,
>     phase=CmpMain::END, fragmentDir=0x7fffffff7918, op=3004)
>     at ../sqlcomp/CmpMain.cpp:819
> 0000019 0x00007ffff407fa18 in CmpStatement::process (this=0x7fffdd61dd20,
>     sqltext=<value optimized out>) at ../arkcmp/CmpStatement.cpp:499
> 0000020 0x00007ffff406b5d9 in ExCmpMessage::actOnReceive (this=0x7fffffff8680)
>     at ../arkcmp/CmpConnection.cpp:370
> 0000021 0x00007ffff7077a06 in IpcMessageStream::internalActOnReceive (
>     this=0x7fffffff8680, buffer=<value optimized out>, connection=0xbaaac0)
>     at ../common/Ipc.cpp:3549
> 0000022 0x00007ffff70924db in GuaConnectionToClient::acceptBuffer (this=0xbaaac0,
>     buffer=<value optimized out>, receivedDataLength=<value optimized out>)
>     at ../common/IpcGuardian.cpp:2545
> 0000023 0x00007ffff70931ef in GuaReceiveControlConnection::wait (this=0xb9a170,
>     timeout=-1, eventConsumed=<value optimized out>,
>     ipcAwaitiox=0x7fffffff8000) at ../common/IpcGuardian.cpp:3254
> 0000024 0x00007ffff7094592 in GuaConnectionToClient::wait (this=0xbaaac0,
>     timeout=<value optimized out>, eventConsumed=0x0, ipcAwaitiox=0x0)
>     at ../common/IpcGuardian.cpp:2214
> 0000025 0x00007ffff708847a in IpcSetOfConnections::waitOnSet (this=0x7fffffff8820,
>     timeout=-1, calledByESP=0, timedout=0x0) at ../common/Ipc.cpp:1705
> 0000026 0x00007ffff708930d in IpcMessageStream::waitOnMsgStream (
>     this=0x7fffffff8680, timeout=-1) at ../common/Ipc.cpp:3268
> 0000027 0x00007ffff7089662 in IpcMessageStream::receive (this=0x7fffffff8680,
>     waited=1) at ../common/Ipc.cpp:3250
> 0000028 0x00000000004064be in main (argc=2, argv=0x7fffffff8df8)
>     at ../bin/arkcmp.cpp:308



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)