Github user selvaganesang commented on a diff in the pull request:
https://github.com/apache/incubator-trafodion/pull/508#discussion_r65473224
--- Diff:
core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/T4DatabaseMetaData.java ---
@@ -3092,27 +3090,40 @@ public boolean
dataDefinitionIgnoredInTransactions() throws SQLException {
// dropped from the search."
procedureNamePattern = "%";
+ }else{
+ procedureNamePattern =
sqlValueFormat(procedureNamePattern);
+ }
+ MetadataHolder mdHolder = this.connection_.mdHolder_;
+ int retryCnt = 0;
+ while(retryCnt < 3 ) {
+ try {
+ PreparedStatement ps =
mdHolder.getPStatement(SQL_API_SQLPROCEDURES, this.connection_);
+ ps.setObject(1, schemaPattern);
+ ps.setObject(2, procedureNamePattern);
+ return ps.executeQuery();
+ } catch (SQLException e) {
+
mdHolder.removePStatement(SQL_API_SQLPROCEDURES);
+ ++retryCnt;
+ if( retryCnt >= 3 ) {
+ throw e;
+ }
+ }
}
- getSQLCatalogsInfo(connection_.getServerHandle(), // Server
Handle
- SQL_API_SQLPROCEDURES, // catalogAPI
- catalogNm, // catalog
- schemaNm, // schema
- procedureNamePattern, // table name
- "", // tableTypeList
- "", // cloumn name
- (int) 0, // cloumnType
- (int) 0, // rowIdScope
- (long) 0, // nullable
- (int) 0, // uniqueness
- (int) 0, // accuracy
- (short) 0, // sqlType
- (int) 0, // metadataId
- "", // fcatalog
- "", // fschema
- "" // ftable
- );
+ return null;
+ }
--- End diff --
I would politely disagree with the statement updating a client driver is
easy especially when it involves hundreds of clients. Also, it not clear to me
why JDBC/ODBC needs to be serviced by the same statement with if and else etc.
Isn't possible to create many different statement like the way it is being done
in the client side on the server side. I would wait for the community to
provide the input before we push through this PR.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---