Trafodion

Clone Tools
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Merge pull request #1827 from liuyu000/without_lob_columns

[TRAFODION-3295] Add syntax descriptions and examples of *WITHOUT LOB COLUMNS* for CREATE TABLE LIKE Statement in Trafodion SQL Reference Manual

Incorporate Comments 1

[TRAFODION-3296] Fix handling of [first n] + ORDER BY subqueries

    • -0
    • +133
    /core/sql/optimizer/BindRelExpr.cpp
    • -18
    • +152
    /core/sql/regress/core/EXPECTED002.LINUX
Merge pull request #1825 from liuyu000/aes_encrypt

[TRAFODION-3293] Add the AES_ENCRYPT Function in the Trafodion SQL Reference Manual

Correct a mistake in TRANSPOSE Clause

Merge pull request #1824 from selvaganesang/trafodion-3280_3

[TRAFODION-3280] Reduce path length in Trafodion for improved performance and scalability

Merge pull request #1826 from DaveBirdsall/Trafodion3294

[TRAFODION-3294] Updated Messages Guide for some binder messages

Incorporate Comments 1

[TRAFODION-3295] Add syntax descriptions and examples of *WITHOUT LOB COLUMNS* for CREATE TABLE LIKE Statement in Trafodion SQL Reference Manual

[TRAFODION-3294] Updated Messages Guide for some binder messages

Merge pull request #1821 from DaveBirdsall/UpdateStatsBugs

[TRAFODION-3291] Fix core when multi-column stats are done on lots of columns

[TRAFODION-3293] Add the AES_ENCRYPT Function in the Trafodion SQL Reference Manual

[TRAFODION-3280] Reduce path length in Trafodion for improved performance and scalability

There are many places in Trafodion code getenv is called repeatedly. Cleaned up code so that

repeated getenv calls are avoided during prepare and execute operations.

    • -3
    • +1
    /core/sql/exp/ExpPCodeOptsNativeExpr.cpp
Merge pull request #1823 from selvaganesang/trafodio_3280_2

Fix for cores seen with T2 JDBC applications caused by PR 1820

Merge pull request #1822 from DaveBirdsall/master

[TRAFODION-3290] Give better errors for case where table is all LOB columns

Fix for phoenix T2 tests in FunkyNamesTest

FunkyNamesTest has been removed temporarily

EsgynDB is not able to support delimited column names correctly. It has always been returning incorrect results.

We have modified FunkyNamesTest to suit our behavior. With the change to move from Array to HashMap for performance

reasons in both T4 and T2 driver code. However, the incorrect results differ between T2 and T4 when there are

more than one delimited column name matches due to uppercasing the column name always. This needs some change

in the descriptor information sent from SQL engine to denote that column names are delimited to preserve case.

We need to use the case preserving key String for delimited column names and case insensitive key String for

regular column names in the HashMap to convert from column names to column index.

    • -2
    • +3
    /core/sqf/sql/scripts/install_traf_components
Fix for the failure of testLTrimFunction, testTrimFunction and testRTrimFunction of VariableLengthPKTest in phoenix T4 tests.

When the statement type is TYPE_UNKNOWN, mxosrvr was executing the extra code

to load controls, GetHashInfo etc. GetHashInfo was corrupting the sqlString by

truncating spaces in between the literals.

Removed these code from mxosrvr because it is specific to QueryStatsServer as part of

NeoView and WMS.

    • -1038
    • +21
    /core/conn/odbc/src/odbc/nsksrvr/SrvrConnect.cpp
Fix to ensure infostats command from trafci works as expected.

Fix to ensure that trafci returns the correct status message of the recent sql command instead of returning "--- SQL operation complete" always.

Optimizing and avoiding unnecessary function calls shown as hot spots in jprofile - part-IIa

Removed ununsed code

Fix for cores seen with T2 JDBC applications caused by PR 1820

New member variables were not initialized in the CliGlobals constructor

Optimizing and avoiding unnecessary function calls shown as hot spots in jprofile - part-II

Changed Hashtable to HashMap where possible with the assumption that the JDBC connection

shouldn't be used from different threads. TrafT4Connection object needs be made thread-safe.

Optimized org.trafodion.jdbc.t4.TrafT4ResultSet.findColumn by using HashMap of columnName to

columnIndex. This should avoid excessive calls to java.lang.String.equalsIgnoreCase.

Removed excessive calls to java.lang.Class.getMethod from TrafT4ResultSet

Rework addressing Qifan's suggestions

Cleaned up and ensured that JDBC driver conforms to transaction handling via Connection.commit and Connection.rollback. The transaction is always started by the database engine when it needs the transaction.

However, begin work and commit work is still supported via SQL command but

there is no transaction state is maintained in the driver for these commands.

Optimizing and avoiding unnecessary function calls shown as hot spots in jprofile - part-II

java.lang.String.split and javal.lang.String.replaceAll

JDBC driver was parsing the sql string passed to it by the application to determine the type of

SQL statement and to check if the sql string has parameters. It doesn't parse the sql string anymore

and passes the sql string to SQL engine via mxosrvr. In case of PreparedStatement, the JDBC driver will

set the sqlStmtType based on the query type returned. In case of Statement, the JDBC driver will set the

sqlStmtType as SQL_TYPE_UNKNOWN.

Now, the PreparedStatement is always prepared for setting array values for parameter for all

statement types such as IUD and select. SQL engine will report an error if the array values are

not supported for any statement type.

Optimizing and avoiding unnecessary function calls shown as hot spots in jprofile

java.net.Socket.setSoTimeout

org.trafodion.jdbc.t4.T4LoggingUtilities.log

java.net.Socket.getLocalSocketAddress

Now socket.read waits for the network timeout. It can be configured via a property networkTimeout or

call to connection.setNetworkTimeout. If the networkTimeout is not configured, a default value of 10 secs

is assumed.

The caller is expected to set the timeout depending upon the operation being performed like loginTimeout,

queryTimeout. Socket.read will wake up for every networkTimeout expiration and check if the timeout for the

operation hasn't exceeded. When it exceeds, SocketTimeoutException is thrown.

Changed the T4Statement and T4Restult classes to have "has a" relationship with T4Connection for

better understanding of the code. Earlier, it had "is a" relationship with T4Connection.

[TRAFODION-3290] Give better errors for case where table is all LOB columns

    • -25
    • +84
    /core/sql/regress/compGeneral/EXPECTED023
    • -0
    • +15
    /core/sql/regress/compGeneral/TEST023
Merge pull request #1820 from selvaganesang/trafodio_3280_2

[TRAFODION-3280] Reduce path length in Trafodion for improved performance and scalability

Changes as per review comments of PR 1820

[TRAFODION-3291] Fix core when multi-column stats are done on lots of columns