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)