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

[jira] [Commented] (TRAFODION-203) LP Bug: 1296925 - Column defaulted to SESSION_USER causes sqlci to crash

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

Atanu Mishra commented on TRAFODION-203:
----------------------------------------

Anoop Sharma (anoop-sharma) wrote on 2014-04-08:	#1
default value of user, current_user or session_user not yet supported. An error will be returned for now.

>>create table t3 (a char(10) default session_user);

*** ERROR[1084] An invalid default value was specified for column A.

--- SQL operation failed with errors.
>>

Changed in trafodion:
status:	New → Fix Committed
Weishiun Tsai (wei-shiun-tsai) on 2014-04-09
tags:	added: sql-exe
removed: sql
Weishiun Tsai (wei-shiun-tsai) wrote on 2014-04-22:	#2
Tried on the datalake v39549 build /designs/seaquest/builds/ci/trafodion-ci-project-datalake_64_1-20140422-v39549_debug.tgz. The fix is NOT in datalake yet. It still generates a core:

[trafodion@rhel-cdh1 scripts]$ sqlci | cat
Trafodion Conversational Interface 0.7.0
(c) Copyright 2014 Hewlett-Packard Development Company, LP.
>>create table t (a int);

--- SQL operation complete.
>>insert into t values (1);

--- 1 row(s) inserted.
>>alter table t add column b char(20) default session_user;

--- SQL operation complete.
>>select * from t;
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007f6cead0236b, pid=23874, tid=140105627728032
#
# JRE version: OpenJDK Runtime Environment (7.0_55-b13) (build 1.7.0_55-mockbuild_2014_04_09_11_51-b00)
# Java VM: OpenJDK 64-Bit Server VM (24.51-b03 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C [libexecutor.so+0x2a036b] ExHbaseAccessTcb::createSQRow(apache::hadoop::hbase::thrift::TRowResult&)+0x521
#
# Core dump written. Default location: /home/trafodion/dlv39549d/sql/scripts/core or core.23874
#
# An error report file with more information is saved as:
# /tmp/jvm-23874/hs_error.log
#
# If you would like to submit a bug report, please include
# instructions on how to reproduce the bug and visit:
# http://icedtea.classpath.org/bugzilla
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

Anoop Sharma (anoop-sharma) on 2014-04-22
Changed in trafodion:
status:	Fix Committed → In Progress
Anoop Sharma (anoop-sharma) on 2014-05-05
Changed in trafodion:
status:	In Progress → Fix Committed
Weishiun Tsai (wei-shiun-tsai) wrote on 2014-05-09:	#3
Verified on the datalake v40174 build. This problem has been fixed by returning an error. If session_user needs to be supported as the default value of a char/varchar column, another case should be filed. This case will be closed.

>>create table t (a int);

--- SQL operation complete.
>>insert into t values (1);

--- 1 row(s) inserted.
>>alter table t add column b char(20) default session_user;

*** ERROR[1084] An invalid default value was specified for column B.

Changed in trafodion:
status:	Fix Committed → Fix Released


> LP Bug: 1296925 - Column defaulted to SESSION_USER causes sqlci to crash
> ------------------------------------------------------------------------
>
>                 Key: TRAFODION-203
>                 URL: https://issues.apache.org/jira/browse/TRAFODION-203
>             Project: Apache Trafodion
>          Issue Type: Bug
>          Components: sql-exe
>            Reporter: Weishiun Tsai
>            Assignee: Anoop Sharma
>             Fix For: 0.8 (pre-incubation)
>
>
> SESSION_USER might not have been supported in the current release.  But even so, it should have been handled more gracefully than for sqlci to core.
> In the following output, a new column is added to use SESSION_USER as its default value.  Select * from that table then crashes sqlci with a core.  The stack trace is shown at the end.
> This is seen on the beta 0.7.0 RC1 build.
> >>create table t (a int);
> --- SQL operation complete.
> >>insert into t values (1);
> --- 1 row(s) inserted.
> >>alter table t add column b char(20) default session_user;
> --- SQL operation complete.
> >>select * from t;
> #
> # A fatal error has been detected by the Java Runtime Environment:
> #
> #  SIGSEGV (0xb) at pc=0x00007f67dcb6c839, pid=12723, tid=140083937492800
> #
> # JRE version: OpenJDK Runtime Environment (7.0_51-b02) (build 1.7.0_51-mockbuild_2014_01_15_01_39-b00)
> # Java VM: OpenJDK 64-Bit Server VM (24.45-b08 mixed mode linux-amd64 compressed oops)
> # Problematic frame:
> # C  [libexecutor.so+0x1a0839]  ExHbaseAccessTcb::createSQRow(apache::hadoop::hbase::thrift::TRowResult&)+0x379
> #
> # Core dump written. Default location: /home/trafodion/beta070RC1/sql/scripts/core or core.12723
> #
> # An error report file with more information is saved as:
> # /tmp/jvm-12723/hs_error.log
> #
> # If you would like to submit a bug report, please include
> # instructions on how to reproduce the bug and visit:
> #   http://icedtea.classpath.org/bugzilla
> # The crash happened outside the Java Virtual Machine in native code.
> # See problematic frame for where to report the bug.
> #
> Aborted (core dumped)
> (gdb) bt
> #0  0x0000003ba5e328e5 in raise () from /lib64/libc.so.6
> #1  0x0000003ba5e340c5 in abort () from /lib64/libc.so.6
> #2  0x00007f67de9388b5 in ?? ()
>    from /usr/lib/jvm/java/jre/lib/amd64/server/libjvm.so
> #3  0x00007f67deaa678f in ?? ()
>    from /usr/lib/jvm/java/jre/lib/amd64/server/libjvm.so
> #4  0x00007f67de93da82 in JVM_handle_linux_signal ()
>    from /usr/lib/jvm/java/jre/lib/amd64/server/libjvm.so
> #5  <signal handler called>
> #6  ExHbaseAccessTcb::createSQRow (this=0x7f67d0ae5e98, rowResult=...)
>     at ../executor/ExHbaseAccess.cpp:974
> #7  0x00007f67dcb73864 in ExHbaseScanSQTaskTcb::work (this=0x7f67d0af25b8,
>     rc=@0x7fff20a2063e) at ../executor/ExHbaseSelect.cpp:437
> #8  0x00007f67dcb72f6f in ExHbaseAccessSelectTcb::work (this=0x7f67d0ae5e98)
>     at ../executor/ExHbaseSelect.cpp:1221
> #9  0x00007f67dcb87523 in ExScheduler::work (this=0x7f67d0ae5a00,
>     prevWaitTime=<value optimized out>) at ../executor/ExScheduler.cpp:316
> #10 0x00007f67dcb009b2 in ex_root_tcb::execute (this=0x7f67d0ae6a40,
>     cliGlobals=0x1afa050, glob=0x7f67d0af12d0, input_desc=0x7f67d0b4e740,
>     diagsArea=@0x7fff20a21d10, reExecute=0) at ../executor/ex_root.cpp:1014
> #11 0x00007f67ddcae5e4 in CliStatement::execute (this=0x7f67d0b04970,
>     cliGlobals=0x1afa050, input_desc=0x7f67d0b4e740,
>     diagsArea=<value optimized out>, execute_state=<value optimized out>,
>     fixupOnly=0, cliflags=0) at ../cli/Statement.cpp:4738
> #12 0x00007f67ddc72e4a 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=0x1afa050, tasks=4882,
>     statement_id=0x328a530, input_descriptor=0x29b6940, output_descriptor=0x0,
>     num_input_ptr_pairs=0, num_output_ptr_pairs=0, ap=0x7fff20a21eb0,
>     input_ptr_pairs=0x0, output_ptr_pairs=0x0) at ../cli/Cli.cpp:3315
> #13 0x00007f67ddc73b72 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:3562
> #14 0x00007f67ddcb9f7a in SQL_EXEC_Exec (statement_id=0x328a530,
>     input_descriptor=0x29b6940, num_ptr_pairs=0) at ../cli/CliExtern.cpp:1998
> #15 0x00007f67df802fdb in SqlCmd::doExec (sqlci_env=0x1af89c0, stmt=0x328a530,
>     prep_stmt=<value optimized out>, numUnnamedParams=<value optimized out>,
>     unnamedParamArray=<value optimized out>,
>     unnamedParamCharSetArray=<value optimized out>, handleError=1)
>     at ../sqlci/SqlCmd.cpp:1692
> #16 0x00007f67df803949 in SqlCmd::do_execute (sqlci_env=0x1af89c0,
>     prep_stmt=0x2d66c90, numUnnamedParams=0, unnamedParamArray=0x0,
>     unnamedParamCharSetArray=0x0, prepcode=0) at ../sqlci/SqlCmd.cpp:2023
> #17 0x00007f67df80407d in DML::process (this=0x213e770, sqlci_env=0x1af89c0)
>     at ../sqlci/SqlCmd.cpp:2794
> #18 0x00007f67df7f0cd6 in SqlciEnv::executeCommands (this=0x1af89c0,
>     input_stmt=@0x7fff20a23888) at ../sqlci/SqlciEnv.cpp:837
> #19 0x00007f67df7f2d7b in SqlciEnv::run (this=0x1af89c0)
>     at ../sqlci/SqlciEnv.cpp:646
> #20 0x0000000000401a76 in main (argc=1, argv=0x7fff20a23a58)
>     at ../bin/SqlciMain.cpp:303



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