[jira] [Commented] (TRAFODION-2832) LOB: Insert hangs with a mutli-row insertion that requires internal stringtolob() conversion
[ https://issues.apache.org/jira/browse/TRAFODION-2832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16324399#comment-16324399 ] Sandhya Sundaresan commented on TRAFODION-2832: --- WIthout the next fix the query failed in a strange way at runtime. With the generator fix it will get caught and returned at compiletime . > LOB: Insert hangs with a mutli-row insertion that requires internal > stringtolob() conversion > > > Key: TRAFODION-2832 > URL: https://issues.apache.org/jira/browse/TRAFODION-2832 > Project: Apache Trafodion > Issue Type: Bug >Reporter: Sandhya Sundaresan >Assignee: Sandhya Sundaresan > > The LOB feature allows the user to specify a char string as the insert value. > EsgynDB will automatically convert it into a LOB datatype, just as if the > user has specified stringtolob() explicitly. The following execution output > shows that both insert..values('1') and insert..values(stringtolob('2')) work > fine. > The design has prohibited the user from using stringtolob() to insert > multiple rows at the same time. It's a 4483 error as shown by insert..values > (stringtolob('3')),(stringtolob('4')). However, if the user doesn't specify > stringtolob(), the multi-row insertion insert..values('5'),('6') doesn't > return such an error. It simply hangs, presumably because it tries to invoke > stringtolob() underneath and has run into the situation that the 4483 error > is designed to prevent. It probably needs to return the same error to avoid > such a hang problem. > >>cqd TRAF_BLOB_AS_VARCHAR 'OFF'; > --- SQL operation complete. > >>cqd TRAF_CLOB_AS_VARCHAR 'OFF'; > --- SQL operation complete. > >> > >>drop table if exists t cascade; > --- SQL operation complete. > >> > >>create table t (a clob); > --- SQL operation complete. > >>insert into t values ('1'); > --- 1 row(s) inserted. > >>insert into t values (stringtolob('2')); > --- 1 row(s) inserted. > >>select cast(lobtostring(a) as char(5)) from t; > (EXPR) > -- > 1 > 2 > --- 2 row(s) selected. > >>insert into t values (stringtolob('3')),(stringtolob('4')); > *** ERROR[4483] This LOB conversion function is not allowed in the VALUES > clause with multiple input value rows. Use it with a single value row. > *** ERROR[8822] The statement was not prepared. > >>insert into t values ('5'),('6'); > > To reproduce : > cqd TRAF_BLOB_AS_VARCHAR 'OFF'; > cqd TRAF_CLOB_AS_VARCHAR 'OFF'; > drop table if exists t cascade; > create table t (a clob); > insert into t values ('1'); > insert into t values (stringtolob('2')); > select cast(lobtostring(a) as char(5)) from t; > insert into t values (stringtolob('3')),(stringtolob('4')); > insert into t values ('5'),('6'); > drop table t cascade; -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (TRAFODION-2881) Multiple node failures occur during HA testing
[ https://issues.apache.org/jira/browse/TRAFODION-2881?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16324361#comment-16324361 ] ASF GitHub Bot commented on TRAFODION-2881: --- Github user zcorrea commented on a diff in the pull request: https://github.com/apache/trafodion/pull/1392#discussion_r161296519 --- Diff: core/sqf/monitor/linux/cmsh.cxx --- @@ -128,31 +168,97 @@ int CCmsh::GetClusterState( PhysicalNodeNameMap_t ) if (it != physicalNodeMap.end()) { // TEST_POINT and Exclude List : to force state down on node name - const char *downNodeName = getenv( TP001_NODE_DOWN ); - const char *downNodeList = getenv( TRAF_EXCLUDE_LIST ); - string downNodeString = " "; - if (downNodeList) - { -downNodeString += downNodeList; -downNodeString += " "; - } - string downNodeToFind = " "; - downNodeToFind += nodeName.c_str(); - downNodeToFind += " "; - if (((downNodeList != NULL) && - strstr(downNodeString.c_str(),downNodeToFind.c_str())) || - ( (downNodeName != NULL) && - !strcmp( downNodeName, nodeName.c_str()) )) - { - nodeState = StateDown; - } - +const char *downNodeName = getenv( TP001_NODE_DOWN ); +const char *downNodeList = getenv( TRAF_EXCLUDE_LIST ); +string downNodeString = " "; +if (downNodeList) +{ +downNodeString += downNodeList; +downNodeString += " "; +} +string downNodeToFind = " "; +downNodeToFind += nodeName.c_str(); +downNodeToFind += " "; +if (((downNodeList != NULL) && + strstr(downNodeString.c_str(),downNodeToFind.c_str())) || +((downNodeName != NULL) && + !strcmp(downNodeName, nodeName.c_str( +{ +nodeState = StateDown; +} + // Set physical node state physicalNode = it->second; physicalNode->SetState( nodeState ); } } -} +} + +TRACE_EXIT; +return( rc ); +} + +/// +// +// Function/Method: CCmsh::GetNodeState +// +// Description: Updates the state of the nodeName in the physicalNode passed in +// as a parameter. Caller should ensure that the node names are already +// present in the physicalNodeMap. +// +// Return: +//0 - success +// -1 - failure +// +/// +int CCmsh::GetNodeState( char *name ,CPhysicalNode *physicalNode ) +{ +const char method_name[] = "CCmsh::GetNodeState"; +TRACE_ENTRY; + +int rc; + +rc = PopulateNodeState( name ); + +if ( rc != -1 ) +{ +// Parse each line extracting name and state +string nodeName; +NodeState_t nodeState; +PhysicalNodeNameMap_t::iterator it; + +StringList_t::iteratoralit; +for ( alit = nodeStateList_.begin(); alit != nodeStateList_.end() ; alit++ ) +{ +ParseNodeStatus( *alit, nodeName, nodeState ); + +// TEST_POINT and Exclude List : to force state down on node name +const char *downNodeName = getenv( TP001_NODE_DOWN ); +const char *downNodeList = getenv( TRAF_EXCLUDE_LIST ); --- End diff -- Created JIRA (TRAFODION-2907) to clean up the use of TRAF_EXCLUDE_LIST in the monitor code. > Multiple node failures occur during HA testing > -- > > Key: TRAFODION-2881 > URL: https://issues.apache.org/jira/browse/TRAFODION-2881 > Project: Apache Trafodion > Issue Type: Bug > Components: foundation >Affects Versions: 2.3 >Reporter: Gonzalo E Correa >Assignee: Gonzalo E Correa > Fix For: 2.3 > > > Inflicting server failure in certain modes will cause multiple monitor > process to also bring their nodes down along with the intended target of the > test. > Server down modes: > init 6 > reboot -f > shutdown -r now > shell node down command > In
[jira] [Commented] (TRAFODION-2832) LOB: Insert hangs with a mutli-row insertion that requires internal stringtolob() conversion
[ https://issues.apache.org/jira/browse/TRAFODION-2832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16324358#comment-16324358 ] Sandhya Sundaresan commented on TRAFODION-2832: --- Adding another fix to this. In case of certain plans wehre the binder didn't get a chance to bind the tuple list values, the check added in binder didn't work. We need an additional check in the generator where we bind the Assign nodes again. The case that didn't work : cqd TRAF_BLOB_AS_VARCHAR 'OFF'; cqd TRAF_CLOB_AS_VARCHAR 'OFF'; drop table if exists t cascade; create table t (a clob); insert into t values ('1'); insert into t values (stringtolob('2')); select cast(lobtostring(a) as char(5)) from t; insert into t values (stringtolob('3')),(stringtolob('4')); insert into t values ('5'),('6'); So it happens if there is a syskey and a lob column. The binding of the assign nodes gets pushed to the codegen phase. > LOB: Insert hangs with a mutli-row insertion that requires internal > stringtolob() conversion > > > Key: TRAFODION-2832 > URL: https://issues.apache.org/jira/browse/TRAFODION-2832 > Project: Apache Trafodion > Issue Type: Bug >Reporter: Sandhya Sundaresan >Assignee: Sandhya Sundaresan > > The LOB feature allows the user to specify a char string as the insert value. > EsgynDB will automatically convert it into a LOB datatype, just as if the > user has specified stringtolob() explicitly. The following execution output > shows that both insert..values('1') and insert..values(stringtolob('2')) work > fine. > The design has prohibited the user from using stringtolob() to insert > multiple rows at the same time. It's a 4483 error as shown by insert..values > (stringtolob('3')),(stringtolob('4')). However, if the user doesn't specify > stringtolob(), the multi-row insertion insert..values('5'),('6') doesn't > return such an error. It simply hangs, presumably because it tries to invoke > stringtolob() underneath and has run into the situation that the 4483 error > is designed to prevent. It probably needs to return the same error to avoid > such a hang problem. > >>cqd TRAF_BLOB_AS_VARCHAR 'OFF'; > --- SQL operation complete. > >>cqd TRAF_CLOB_AS_VARCHAR 'OFF'; > --- SQL operation complete. > >> > >>drop table if exists t cascade; > --- SQL operation complete. > >> > >>create table t (a clob); > --- SQL operation complete. > >>insert into t values ('1'); > --- 1 row(s) inserted. > >>insert into t values (stringtolob('2')); > --- 1 row(s) inserted. > >>select cast(lobtostring(a) as char(5)) from t; > (EXPR) > -- > 1 > 2 > --- 2 row(s) selected. > >>insert into t values (stringtolob('3')),(stringtolob('4')); > *** ERROR[4483] This LOB conversion function is not allowed in the VALUES > clause with multiple input value rows. Use it with a single value row. > *** ERROR[8822] The statement was not prepared. > >>insert into t values ('5'),('6'); > > To reproduce : > cqd TRAF_BLOB_AS_VARCHAR 'OFF'; > cqd TRAF_CLOB_AS_VARCHAR 'OFF'; > drop table if exists t cascade; > create table t (a clob); > insert into t values ('1'); > insert into t values (stringtolob('2')); > select cast(lobtostring(a) as char(5)) from t; > insert into t values (stringtolob('3')),(stringtolob('4')); > insert into t values ('5'),('6'); > drop table t cascade; -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (TRAFODION-2907) Remove usage of TRAF_EXCLUDE_LIST
Gonzalo E Correa created TRAFODION-2907: --- Summary: Remove usage of TRAF_EXCLUDE_LIST Key: TRAFODION-2907 URL: https://issues.apache.org/jira/browse/TRAFODION-2907 Project: Apache Trafodion Issue Type: Task Components: foundation Affects Versions: 2.3 Reporter: Gonzalo E Correa Assignee: Gonzalo E Correa Priority: Minor Fix For: 2.3 The usage of TRAF_EXCLUDE_LIST nodes is obsolete since the introduction of TRAFODION-2001. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (TRAFODION-2881) Multiple node failures occur during HA testing
[ https://issues.apache.org/jira/browse/TRAFODION-2881?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16324353#comment-16324353 ] ASF GitHub Bot commented on TRAFODION-2881: --- Github user zcorrea commented on a diff in the pull request: https://github.com/apache/trafodion/pull/1392#discussion_r161294809 --- Diff: core/sqf/monitor/linux/cmsh.cxx --- @@ -128,31 +168,97 @@ int CCmsh::GetClusterState( PhysicalNodeNameMap_t ) if (it != physicalNodeMap.end()) { // TEST_POINT and Exclude List : to force state down on node name - const char *downNodeName = getenv( TP001_NODE_DOWN ); - const char *downNodeList = getenv( TRAF_EXCLUDE_LIST ); - string downNodeString = " "; - if (downNodeList) - { -downNodeString += downNodeList; -downNodeString += " "; - } - string downNodeToFind = " "; - downNodeToFind += nodeName.c_str(); - downNodeToFind += " "; - if (((downNodeList != NULL) && - strstr(downNodeString.c_str(),downNodeToFind.c_str())) || - ( (downNodeName != NULL) && - !strcmp( downNodeName, nodeName.c_str()) )) - { - nodeState = StateDown; - } - +const char *downNodeName = getenv( TP001_NODE_DOWN ); +const char *downNodeList = getenv( TRAF_EXCLUDE_LIST ); +string downNodeString = " "; +if (downNodeList) +{ +downNodeString += downNodeList; +downNodeString += " "; +} +string downNodeToFind = " "; +downNodeToFind += nodeName.c_str(); +downNodeToFind += " "; +if (((downNodeList != NULL) && + strstr(downNodeString.c_str(),downNodeToFind.c_str())) || +((downNodeName != NULL) && + !strcmp(downNodeName, nodeName.c_str( +{ +nodeState = StateDown; +} + // Set physical node state physicalNode = it->second; physicalNode->SetState( nodeState ); } } -} +} + +TRACE_EXIT; +return( rc ); +} + +/// +// +// Function/Method: CCmsh::GetNodeState +// +// Description: Updates the state of the nodeName in the physicalNode passed in +// as a parameter. Caller should ensure that the node names are already +// present in the physicalNodeMap. +// +// Return: +//0 - success +// -1 - failure +// +/// +int CCmsh::GetNodeState( char *name ,CPhysicalNode *physicalNode ) +{ +const char method_name[] = "CCmsh::GetNodeState"; +TRACE_ENTRY; + +int rc; + +rc = PopulateNodeState( name ); + +if ( rc != -1 ) +{ +// Parse each line extracting name and state +string nodeName; +NodeState_t nodeState; +PhysicalNodeNameMap_t::iterator it; + +StringList_t::iteratoralit; +for ( alit = nodeStateList_.begin(); alit != nodeStateList_.end() ; alit++ ) +{ +ParseNodeStatus( *alit, nodeName, nodeState ); + +// TEST_POINT and Exclude List : to force state down on node name +const char *downNodeName = getenv( TP001_NODE_DOWN ); +const char *downNodeList = getenv( TRAF_EXCLUDE_LIST ); --- End diff -- Yes, it is! Good catch! > Multiple node failures occur during HA testing > -- > > Key: TRAFODION-2881 > URL: https://issues.apache.org/jira/browse/TRAFODION-2881 > Project: Apache Trafodion > Issue Type: Bug > Components: foundation >Affects Versions: 2.3 >Reporter: Gonzalo E Correa >Assignee: Gonzalo E Correa > Fix For: 2.3 > > > Inflicting server failure in certain modes will cause multiple monitor > process to also bring their nodes down along with the intended target of the > test. > Server down modes: > init 6 > reboot -f > shutdown -r now > shell node down command > In addition, after a server down, the shell 'node up' command will also
[jira] [Commented] (TRAFODION-2881) Multiple node failures occur during HA testing
[ https://issues.apache.org/jira/browse/TRAFODION-2881?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16324252#comment-16324252 ] ASF GitHub Bot commented on TRAFODION-2881: --- Github user trinakrug commented on a diff in the pull request: https://github.com/apache/trafodion/pull/1392#discussion_r161276162 --- Diff: core/sqf/monitor/linux/cmsh.cxx --- @@ -128,31 +168,97 @@ int CCmsh::GetClusterState( PhysicalNodeNameMap_t ) if (it != physicalNodeMap.end()) { // TEST_POINT and Exclude List : to force state down on node name - const char *downNodeName = getenv( TP001_NODE_DOWN ); - const char *downNodeList = getenv( TRAF_EXCLUDE_LIST ); - string downNodeString = " "; - if (downNodeList) - { -downNodeString += downNodeList; -downNodeString += " "; - } - string downNodeToFind = " "; - downNodeToFind += nodeName.c_str(); - downNodeToFind += " "; - if (((downNodeList != NULL) && - strstr(downNodeString.c_str(),downNodeToFind.c_str())) || - ( (downNodeName != NULL) && - !strcmp( downNodeName, nodeName.c_str()) )) - { - nodeState = StateDown; - } - +const char *downNodeName = getenv( TP001_NODE_DOWN ); +const char *downNodeList = getenv( TRAF_EXCLUDE_LIST ); +string downNodeString = " "; +if (downNodeList) +{ +downNodeString += downNodeList; +downNodeString += " "; +} +string downNodeToFind = " "; +downNodeToFind += nodeName.c_str(); +downNodeToFind += " "; +if (((downNodeList != NULL) && + strstr(downNodeString.c_str(),downNodeToFind.c_str())) || +((downNodeName != NULL) && + !strcmp(downNodeName, nodeName.c_str( +{ +nodeState = StateDown; +} + // Set physical node state physicalNode = it->second; physicalNode->SetState( nodeState ); } } -} +} + +TRACE_EXIT; +return( rc ); +} + +/// +// +// Function/Method: CCmsh::GetNodeState +// +// Description: Updates the state of the nodeName in the physicalNode passed in +// as a parameter. Caller should ensure that the node names are already +// present in the physicalNodeMap. +// +// Return: +//0 - success +// -1 - failure +// +/// +int CCmsh::GetNodeState( char *name ,CPhysicalNode *physicalNode ) +{ +const char method_name[] = "CCmsh::GetNodeState"; +TRACE_ENTRY; + +int rc; + +rc = PopulateNodeState( name ); + +if ( rc != -1 ) +{ +// Parse each line extracting name and state +string nodeName; +NodeState_t nodeState; +PhysicalNodeNameMap_t::iterator it; + +StringList_t::iteratoralit; +for ( alit = nodeStateList_.begin(); alit != nodeStateList_.end() ; alit++ ) +{ +ParseNodeStatus( *alit, nodeName, nodeState ); + +// TEST_POINT and Exclude List : to force state down on node name +const char *downNodeName = getenv( TP001_NODE_DOWN ); +const char *downNodeList = getenv( TRAF_EXCLUDE_LIST ); --- End diff -- Is TRAF_EXCLUDE_LIST obsolete? > Multiple node failures occur during HA testing > -- > > Key: TRAFODION-2881 > URL: https://issues.apache.org/jira/browse/TRAFODION-2881 > Project: Apache Trafodion > Issue Type: Bug > Components: foundation >Affects Versions: 2.3 >Reporter: Gonzalo E Correa >Assignee: Gonzalo E Correa > Fix For: 2.3 > > > Inflicting server failure in certain modes will cause multiple monitor > process to also bring their nodes down along with the intended target of the > test. > Server down modes: > init 6 > reboot -f > shutdown -r now > shell node down command > In addition, after a server down, the shell 'node up' command
[jira] [Commented] (TRAFODION-2886) fix the null pointer Critical error checked by TScanCode
[ https://issues.apache.org/jira/browse/TRAFODION-2886?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16324239#comment-16324239 ] ASF GitHub Bot commented on TRAFODION-2886: --- Github user xiaozhongwang commented on a diff in the pull request: https://github.com/apache/trafodion/pull/1380#discussion_r161273985 --- Diff: core/sql/executor/cluster.cpp --- @@ -2395,7 +2395,7 @@ NABoolean Cluster::checkAndSplit(ExeErrorCode * rc) rc); if ( !next_ || *rc ) { --- End diff -- OK, I see. > fix the null pointer Critical error checked by TScanCode > > > Key: TRAFODION-2886 > URL: https://issues.apache.org/jira/browse/TRAFODION-2886 > Project: Apache Trafodion > Issue Type: Bug >Reporter: xiaozhong.wang >Priority: Critical > Attachments: Critical_trafodion_tscancode_codecheck.xml > > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (TRAFODION-2886) fix the null pointer Critical error checked by TScanCode
[ https://issues.apache.org/jira/browse/TRAFODION-2886?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16324226#comment-16324226 ] ASF GitHub Bot commented on TRAFODION-2886: --- Github user selvaganesang commented on a diff in the pull request: https://github.com/apache/trafodion/pull/1380#discussion_r161272011 --- Diff: core/sql/executor/cluster.cpp --- @@ -2395,7 +2395,7 @@ NABoolean Cluster::checkAndSplit(ExeErrorCode * rc) rc); if ( !next_ || *rc ) { --- End diff -- You are correct, In that case you can change it if *(!next) || (*rc != EXE_OK)). I wish we got this right this time. > fix the null pointer Critical error checked by TScanCode > > > Key: TRAFODION-2886 > URL: https://issues.apache.org/jira/browse/TRAFODION-2886 > Project: Apache Trafodion > Issue Type: Bug >Reporter: xiaozhong.wang >Priority: Critical > Attachments: Critical_trafodion_tscancode_codecheck.xml > > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (TRAFODION-2886) fix the null pointer Critical error checked by TScanCode
[ https://issues.apache.org/jira/browse/TRAFODION-2886?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16324148#comment-16324148 ] ASF GitHub Bot commented on TRAFODION-2886: --- Github user xiaozhongwang commented on a diff in the pull request: https://github.com/apache/trafodion/pull/1380#discussion_r161255440 --- Diff: core/sql/executor/cluster.cpp --- @@ -2395,7 +2395,7 @@ NABoolean Cluster::checkAndSplit(ExeErrorCode * rc) rc); if ( !next_ || *rc ) { --- End diff -- I cann't understand. Why remove the || *rc, I think there are two type results: 1、 First, if there are no memory, next_ will get NULL value. 2、 Second, there are some wrong happened in Cluster::Cluster In the second case, next_ will get a value, but *rc will is not EXE_OK. If we remove the || *rc, this check will pass, but there was an error happened. My understanding is wrong? > fix the null pointer Critical error checked by TScanCode > > > Key: TRAFODION-2886 > URL: https://issues.apache.org/jira/browse/TRAFODION-2886 > Project: Apache Trafodion > Issue Type: Bug >Reporter: xiaozhong.wang >Priority: Critical > Attachments: Critical_trafodion_tscancode_codecheck.xml > > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (TRAFODION-2886) fix the null pointer Critical error checked by TScanCode
[ https://issues.apache.org/jira/browse/TRAFODION-2886?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16324132#comment-16324132 ] ASF GitHub Bot commented on TRAFODION-2886: --- Github user selvaganesang commented on a diff in the pull request: https://github.com/apache/trafodion/pull/1380#discussion_r161252479 --- Diff: core/sql/executor/cluster.cpp --- @@ -2395,7 +2395,7 @@ NABoolean Cluster::checkAndSplit(ExeErrorCode * rc) rc); if ( !next_ || *rc ) { --- End diff -- Oops. Please remove the || *rc, > fix the null pointer Critical error checked by TScanCode > > > Key: TRAFODION-2886 > URL: https://issues.apache.org/jira/browse/TRAFODION-2886 > Project: Apache Trafodion > Issue Type: Bug >Reporter: xiaozhong.wang >Priority: Critical > Attachments: Critical_trafodion_tscancode_codecheck.xml > > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (TRAFODION-2903) The COLUMN_SIZE fetched from mxosrvr is wrong
[ https://issues.apache.org/jira/browse/TRAFODION-2903?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16323686#comment-16323686 ] ASF GitHub Bot commented on TRAFODION-2903: --- GitHub user Weixin-Xu opened a pull request: https://github.com/apache/trafodion/pull/1395 [TRAFODION-2903] correct Column_Size fetched from mxosrvr DATE precision expect: 10 and actual: 11 TIME precision expect: 8 and actual: 9 TIMESTAMP precision expect: 19 and actual: 20 You can merge this pull request into a Git repository by running: $ git pull https://github.com/Weixin-Xu/incubator-trafodion T2903 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/trafodion/pull/1395.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1395 commit bb306026bdcec65050c364596a52d6c4bedb7837 Author: Weixin-XuDate: 2018-01-12T07:28:46Z correct Column_Size fetched from mxosrvr > The COLUMN_SIZE fetched from mxosrvr is wrong > - > > Key: TRAFODION-2903 > URL: https://issues.apache.org/jira/browse/TRAFODION-2903 > Project: Apache Trafodion > Issue Type: Bug > Components: connectivity-mxosrvr >Affects Versions: any >Reporter: XuWeixin >Assignee: XuWeixin > Fix For: 2.2-incubating > > > 1. DDL: create table TEST (C1 L4PKE date,C2 time,C3 timestamp) > 2. > SQLColumns(hstmt,(SQLTCHAR*)"TRAFODION",SQL_NTS,(SQLTCHAR*)"SEABASE",SQL_NTS,(SQLTCHAR*)"TEST",SQL_NTS,(SQLTCHAR*)"%",SQL_NTS); > 3. SQLBindCol(hstmt,7,SQL_C_LONG,,0,) > 4. SQLFetch(hstmt) > return DATE ColPrec expect: 10 and actual: 11 >TIME ColPrec expect: 8 and actual: 9 >TIMESTAMP ColPrec expect: 19 and actual: 20 -- This message was sent by Atlassian JIRA (v6.4.14#64029)