You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafodion.apache.org by "Roberta Marton (JIRA)" <ji...@apache.org> on 2015/08/21 18:40:45 UTC

[jira] [Commented] (TRAFODION-955) LP Bug: 1415196 - Alter volatile table add column cores sqlci at CmpSeabaseDDL::alterSeabaseTableAddColumn()

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

Roberta Marton commented on TRAFODION-955:
------------------------------------------

Added a check to not allow add or drop column for volatile tables

QA:
Verified on the v0330 build installed on a workstation. This problem is now fixed (3/2015)

>>create schema mytest;

--- SQL operation complete.
>>set schema mytest;

--- SQL operation complete.
>>create volatile table myvt (a int);

--- SQL operation complete.
>>alter volatile table myvt add column b int;

*** ERROR[1280] A regular DDL statement cannot be used on volatile objects.

--- SQL operation failed with errors.
>>drop schema mytest cascade;

--- SQL operation complete.

> LP Bug: 1415196 - Alter volatile table add column cores sqlci at CmpSeabaseDDL::alterSeabaseTableAddColumn()
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: TRAFODION-955
>                 URL: https://issues.apache.org/jira/browse/TRAFODION-955
>             Project: Apache Trafodion
>          Issue Type: Bug
>          Components: sql-cmu
>            Reporter: Weishiun Tsai
>            Assignee: Roberta Marton
>            Priority: Critical
>             Fix For: 1.1 (pre-incubation)
>
>
> In the old days, alter volatile table add column was not allowed.  But in Trafodion, instead of returning a proper error like error 1280 ‘A regular DDL statement cannot be used on volatile objects.’, it crashes sqlci with a core at CmpSeabaseDDL::alterSeabaseTableAddColumn().
> This is seen on the v1.0.0 rc2 build.
> --------------------------------------------------------------
> Here is the entire script to reproduce it:
> create schema mytest;
> set schema mytest;
> create volatile table myvt (a int);
> alter volatile table myvt add column b int;
> drop schema mytest cascade;
> --------------------------------------------------------------
> Here is the execution output:
> >>create schema mytest;
> --- SQL operation complete.
> >>set schema mytest;
> --- SQL operation complete.
> >>create volatile table myvt (a int);
> --- SQL operation complete.
> >>alter volatile table myvt add column b int;
> #
> # A fatal error has been detected by the Java Runtime Environment:
> #
> #  SIGSEGV (0xb) at pc=0x00007fffeffbe85b, pid=5209, tid=140737353873440
> #
> # JRE version: Java(TM) SE Runtime Environment (7.0_67-b01) (build 1.7.0_67-b01)
> # Java VM: Java HotSpot(TM) 64-Bit Server VM (24.65-b04 mixed mode linux-amd64 compressed oops)
> # Problematic frame:
> # C  [libsqlcomp.so+0x11f85b]  CmpSeabaseDDL::alterSeabaseTableAddColumn(StmtDDLAlterTableAddColumn*, NAString&, NAString&)+0x6db
> #
> # Core dump written. Default location: /opt/home/trafodion/v1.0.0rc2/sql/scripts/core or core.5209
> #
> # An error report file with more information is saved as:
> # /opt/home/trafodion/v1.0.0rc2/sql/scripts/hs_err_pid5209.log
> #
> # If you would like to submit a bug report, please visit:
> #   http://bugreport.sun.com/bugreport/crash.jsp
> # The crash happened outside the Java Virtual Machine in native code.
> # See problematic frame for where to report the bug.
> #
> Aborted (core dumped)
> --------------------------------------------------------------
> Here is the stack trace of the sqlci core:
> (gdb) bt
> #0  0x00007ffff57108a5 in raise () from /lib64/libc.so.6
> #1  0x00007ffff571200d in abort () from /lib64/libc.so.6
> #2  0x00007ffff6f04a55 in os::abort(bool) ()
>    from /usr/java/jdk1.7.0_67/jre/lib/amd64/server/libjvm.so
> #3  0x00007ffff7084f87 in VMError::report_and_die() ()
>    from /usr/java/jdk1.7.0_67/jre/lib/amd64/server/libjvm.so
> #4  0x00007ffff6f0996f in JVM_handle_linux_signal ()
>    from /usr/java/jdk1.7.0_67/jre/lib/amd64/server/libjvm.so
> #5  <signal handler called>
> #6  0x00007fffeffbe85b in CmpSeabaseDDL::alterSeabaseTableAddColumn (
>     this=0x7fffffff2db0, alterAddColNode=0x7fffd5532540,
>     currCatName=<value optimized out>, currSchName=<value optimized out>)
>     at ../sqlcomp/CmpSeabaseDDLtable.cpp:3283
> #7  0x00007fffeff768f0 in CmpSeabaseDDL::executeSeabaseDDL (
>     this=0x7fffffff2db0, ddlExpr=0x7fffd5532970, ddlNode=0x7fffd5532540,
>     currCatName=..., currSchName=...)
>     at ../sqlcomp/CmpSeabaseDDLcommon.cpp:6705
> #8  0x00007ffff4abc85c in CmpStatement::process (this=<value optimized out>,
>     statement=<value optimized out>) at ../arkcmp/CmpStatement.cpp:931
> #9  0x00007ffff4ab0546 in CmpContext::compileDirect (this=0x7fffe5eaa090,
>     data=0x7fffe6a61728 "\200", data_len=200, outHeap=0x7ffff7ee2128,
>     charset=15, op=CmpMessageObj::PROCESSDDL, gen_code=@0x7fffffff37b0,
>     gen_code_len=@0x7fffffff37bc, parserFlags=0, diagsArea=0x7fffe6a617f8)
>     at ../arkcmp/CmpContext.cpp:717
> #10 0x00007ffff3e2e0a6 in ExDDLTcb::work (this=0x7fffe6a56cd0)
>     at ../executor/ex_ddl.cpp:265
> #11 0x00007ffff3f5cbb3 in ExScheduler::work (this=0x7fffe6a56838,
>     prevWaitTime=<value optimized out>) at ../executor/ExScheduler.cpp:328
> #12 0x00007ffff3e8a4b2 in ex_root_tcb::execute (this=0x7fffe6a572a8,
>     cliGlobals=0xb7e200, glob=0x7fffe6a610f0, input_desc=0x7fffe6a8c580,
>     diagsArea=@0x7fffffff4ee0, reExecute=0) at ../executor/ex_root.cpp:1055
> #13 0x00007ffff549c554 in CliStatement::execute (this=0x7fffe6a35bd0,
>     cliGlobals=0xb7e200, input_desc=0x7fffe6a8c580,
>     diagsArea=<value optimized out>, execute_state=<value optimized out>,
>     fixupOnly=0, cliflags=0) at ../cli/Statement.cpp:4812
> #14 0x00007ffff5444d0a in SQLCLI_PerformTasks(CliGlobals *, ULng32, SQLSTMT_ID *, SQLDESC_ID *, SQLDESC_ID *, Lng32, Lng32, typedef __va_list_tag __va_list_tag *, SQLCLI_PTR_PAIRS *, SQLCLI_PTR_PAIRS *) (cliGlobals=0xb7e200, tasks=4882,
>     statement_id=0x1fd31c0, input_descriptor=0x1f9f280, output_descriptor=0x0,
>     num_input_ptr_pairs=0, num_output_ptr_pairs=0, ap=0x7fffffff5080,
>     input_ptr_pairs=0x0, output_ptr_pairs=0x0) at ../cli/Cli.cpp:3284
> #15 0x00007ffff5445a32 in SQLCLI_Exec(CliGlobals *, SQLSTMT_ID *, SQLDESC_ID *, Lng32, typedef __va_list_tag __va_list_tag *, SQLCLI_PTR_PAIRS *) (
>     cliGlobals=<value optimized out>, statement_id=<value optimized out>,
>     input_descriptor=<value optimized out>,
>     num_ptr_pairs=<value optimized out>, ap=<value optimized out>,
>     ptr_pairs=<value optimized out>) at ../cli/Cli.cpp:3531
> #16 0x00007ffff54ab10a in SQL_EXEC_Exec (statement_id=0x1fd31c0,
>     input_descriptor=0x1f9f280, num_ptr_pairs=0) at ../cli/CliExtern.cpp:2071
> #17 0x00007ffff77ae39b in SqlCmd::doExec (sqlci_env=0xb7cfb0, stmt=0x1fd31c0,
>     prep_stmt=<value optimized out>, numUnnamedParams=<value optimized out>,
>     unnamedParamArray=<value optimized out>,
>     unnamedParamCharSetArray=<value optimized out>, handleError=1)
>     at ../sqlci/SqlCmd.cpp:1706
> #18 0x00007ffff77aed92 in SqlCmd::do_execute (sqlci_env=0xb7cfb0,
>     prep_stmt=0x1fcc880, numUnnamedParams=0, unnamedParamArray=0x0,
>     unnamedParamCharSetArray=0x0, prepcode=0) at ../sqlci/SqlCmd.cpp:2042
> #19 0x00007ffff77af4bd in DML::process (this=0x1fb3930, sqlci_env=0xb7cfb0)
>     at ../sqlci/SqlCmd.cpp:2816
> #20 0x00007ffff7795ad4 in Obey::process (this=0x1c5e8f0,
>     sqlci_env=<value optimized out>) at ../sqlci/Obey.cpp:264
> #21 0x00007ffff779bff6 in SqlciEnv::executeCommands (this=0xb7cfb0,
>     input_stmt=@0x7fffffff6b08) at ../sqlci/SqlciEnv.cpp:847
> #22 0x00007ffff779e09b in SqlciEnv::run (this=0xb7cfb0)
>     at ../sqlci/SqlciEnv.cpp:656
> #23 0x0000000000401ad9 in main (argc=1, argv=0x7fffffff6cd8)
>     at ../bin/SqlciMain.cpp:328



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