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.
---

Reply via email to