Trafodion

Clone Tools
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
TRAFODION-2784 trafci help has no description for jline

[TRAFODION-2783] jdbc_test_cdh fails at times with type 2 JDBC driver

Reworked the code as per the comment in the git

Merge [TRAFODION-2782] PR 1275 Reverse UDR classloader sequence

Merge [TRAFODION-2714] PR 1270 odb does not load data correctly

Merge [TRAFODION-2773] PR 1272 Fix odb hang when timeout is set

Merge pr 1274 miscellaneous authorization changes

[TRAFODION-2783] jdbc_test_cdh fails at times with type 2 JDBC driver dumping core

Removed recursive inclusion of charinfo.h

[TRAFODION-2783] jdbc_test_cdh fails at times with type 2 JDBC driver dumping core

In case of Type 2 JDBC driver, the Trafodion SQL engine is a library that is dynamic

loaded into the process. Initialization of C++ static objects in the dynamic loaded libraries

are supposed to be done before dlopen returns. But the behavior seems to be nondeterministic when

there are multiple threads or when there are dependent static objects (An static object expects

another to be initialized before it). I think, the order of the initialization is not guaranteed

by the standard.

Refactored the code to initialize static object CharInfo::builtinCollationDB_ as part of the first

CLI call in a thread safe manner.

Merge [TRAFODION-2781] PR 1276 Omit LOB cols from update stats sample tables

[TRAFODION-2781] Omit LOB columns from update stats sample tables

    • -0
    • +26
    /core/sql/parser/ElemDDLLikeOptions.cpp
    • -0
    • +28
    /core/sql/parser/ElemDDLLikeOptions.h
    • -0
    • +16
    /core/sql/parser/ParDDLLikeOpts.cpp
    • -0
    • +14
    /core/sql/parser/ParDDLLikeOptsCreateTable.h
    • -25
    • +25
    /core/sql/regress/compGeneral/EXPECTED023
    • -0
    • +3
    /core/sql/sqlcomp/CmpSeabaseDDLtable.cpp
TRAFODION-2782 reserve UDRs classloader sequence

original code is valid

Merge PR1273 [TRAFODION-2780] The mxosrvr dumps core when connection idle timer expires

[TRAFODION-2780] The mxosrvr dumps core when connection idle timer expires

Changes as per review

Miscellaneous authorization changes:

- Unregister user does not remove component privileges

- Reuse unused entries from the authID ranges

- Add "changeuser" command to update user credentials in place instead of

requiring a new sqlci session to be started. Changed privs1/TEST132 to use

this change and cut about 5 minutes off the test time.

    • -673
    • +268
    /core/sql/regress/privs1/EXPECTED132
    • -59
    • +86
    /core/sql/regress/privs1/TEST132
    • -1
    • +1
    /core/sql/sqlcomp/CmpDDLCatErrorCodes.h
    • -126
    • +225
    /core/sql/sqlcomp/CmpSeabaseDDLauth.cpp
    • -4
    • +14
    /core/sql/sqlcomp/CmpSeabaseDDLauth.h
    • -9
    • +6
    /core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp
    • -0
    • +284
    /core/sql/sqlcomp/PrivMgrComponentDefs.h
  1. … 4 more files in changeset.
[TRAFODION-2780] The mxosrvr dumps core when connection idle timer expires at times

This core is accompanied by mxssmp process core.

Got rid of both connection idle timer and server idle timer, instead use the timeout

mechanism provided by the socket API select. More code removed.

Tested the connection idle timeout mechanism via a sample JDBC T4 program just to ensure

that the mxosrvr is put into available pool after the connection idle timer expires.

Trafci seems to be resetting the connection idle timer periodically from the client.

It looks like even the connection idle timer is Trafodion specific concept because of

a dedicated process for every database connection to Trafodion SQL engine. From JDBC specification,

the connection inactive timeout needs to be implemented in the connection pooling infrastructure.

The default connection idle timer in Trafodion is 10 mins.

    • -2
    • +0
    /core/conn/odbc/src/odbc/Common/Global.h
    • -254
    • +14
    /core/conn/odbc/src/odbc/nsksrvr/SrvrConnect.cpp
    • -6
    • +0
    /core/conn/odbc/src/odbc/nsksrvr/SrvrSMD.cpp
Merge [TRAFODION-2777] PR 1269 Fix latent bug unmasked by TRAF-2765 fix

Merge remote branch 'origin/pr/1271/head' into merge_1271

Updating failing regress tests

    • -0
    • +12
    /core/sql/regress/seabase/DIFF003.KNOWN
    • -400
    • +544
    /core/sql/regress/seabase/EXPECTED010
    • -4
    • +227
    /core/sql/regress/seabase/TEST010
change str_sprintf to snprintf

fix TRAFODION-2773

Fixes to datamodcheck

    • -14
    • +14
    /core/sql/regress/hive/EXPECTED007
fix TRAFODION-2714

Merge [TRAFODION-2776] PR-1268 Mdam plans with more than one disjunct sometimes cause either a compiler core or have an incorrect predicate

Rework to address compGeneral/TEST006 failure (cherry picked from commit 6320b901b6f123da9697dc8a898785168958dc10)

    • -0
    • +87
    /core/sql/optimizer/ScanOptimizer.cpp
[TRAFODION-2776] Mdam plans with more than one disjunct sometimes cause either a compiler core or have an incorrect predicate

The problem is that during MdamKey::preCodegen we regenerate the disjuncts and expect to get the same number as we saw during optimize phase. This is mostly true, but in some cases not. There is some defensive code to handle this case, but it does not trigger when there is a partKey predicate. The fix removes the partKey predicate check for the defensive code.

Merge [TRAFODION-2775] PR-1267 Insert does not raise duplicate row error for hbase format table with defaulted first column

[TRAFODION-2775] Insert does not raise duplicate row error for hbase format table with defaulted first column

There was a problem with column being checked during CheckAndPut call for such tables. We were always checking the first column in the row, which may not have existed in the previous version of this rowid. Please see JIRA for a complete explanation.

    • -0
    • +2
    /core/sql/comexe/ComTdbHbaseAccess.cpp
    • -1
    • +11
    /core/sql/comexe/ComTdbHbaseAccess.h
    • -3
    • +4
    /core/sql/executor/HBaseClient_JNI.cpp
    • -0
    • +10
    /core/sql/generator/GenRelUpdate.cpp
Merge PR 1209 [TRAFODION-2717] odbc give wrong data and dcsmaster hang

Merge remote branch 'origin/master' into traf_misc

    • -17
    • +17
    /core/sql/executor/ExExeUtilLoad.cpp