JDBC patch for DatabaseMetaData
От | Ed Yu |
---|---|
Тема | JDBC patch for DatabaseMetaData |
Дата | |
Msg-id | 002101c1965a$f1a303e0$bf00a8c0@sc.rr.com обсуждение исходный текст |
Ответы |
Re: JDBC patch for DatabaseMetaData
|
Список | pgsql-jdbc |
The following patches up the DatabaseMetaData.getTables() method: 1638c1638,1641 < if(tableNamePattern==null) --- > if((schemaPattern==null) || (schemaPattern.length()==0)) > schemaPattern="%"; > > if((tableNamePattern==null) || (tableNamePattern.length()==0)) 1653c1656,1657 < StringBuffer sql = new StringBuffer("select relname,oid,relkind from pg_class where ("); --- > StringBuffer sql = new StringBuffer( > "select relname,pg_class.oid,relkind from pg_class, pg_user where ("); 1665a1670 > // Modified by Ed Yu <ekyu@asgnet.psc.sc.edu> 1667,1669c1672,1678 < sql.append(") and relname like '"); < sql.append(tableNamePattern.toLowerCase()); < sql.append("'"); --- > sql.append(") and relname"); > if ((tableNamePattern.indexOf("%") >= 0) || > (tableNamePattern.indexOf("_") >= 0)) > sql.append(" like "); > else > sql.append(" = "); > sql.append("'" + tableNamePattern.toLowerCase() + "'"); 1670a1680,1690 > // Added by Ed Yu <ekyu@asgnet.psc.sc.edu> > // Now take the schemaPattern into account > sql.append(" and pg_class.relowner = pg_user.usesysid"); > sql.append(" and pg_user.usename"); > if ((schemaPattern.indexOf("%") >= 0) || > (schemaPattern.indexOf("_") >= 0)) > sql.append(" like "); > else > sql.append(" = "); > sql.append("'" + schemaPattern + "'"); > 1688a1709,1710 > // JDBC definition for TABLE_TYPE - "TABLE", "VIEW", "SYSTEM TABLE", > // "GLOBAL TEMPORARY", "LOCAL TEMPORARY", "ALIAS", "SYNONYM". 1699a1722,1724 > case 'v': > relKind = "VIEW"; > break; 1707c1732,1740 < tuple[3] = relKind.getBytes(); // Table type --- > > // Added by Ed Yu <ekyu@asgnet.psc.sc.edu> > // Fix NullPointerException if return type is not handled in the > // above switch statement. > if (relKind==null) > tuple[3] = null; > else > tuple[3] = relKind.getBytes(); // Table type >
В списке pgsql-jdbc по дате отправления: