From: SVN by r. <sv...@ca...> - 2007-09-20 12:51:45
|
Author: roy Date: 2007-09-20 14:51:38 +0200 (Thu, 20 Sep 2007) New Revision: 153 Modified: src/main/java/nl/improved/sqlclient/commands/DescCommand.java Log: show primary key Modified: src/main/java/nl/improved/sqlclient/commands/DescCommand.java =================================================================== --- src/main/java/nl/improved/sqlclient/commands/DescCommand.java 2007-09-19 09:04:54 UTC (rev 152) +++ src/main/java/nl/improved/sqlclient/commands/DescCommand.java 2007-09-20 12:51:38 UTC (rev 153) @@ -65,6 +65,26 @@ if (!rs.next()) { return "Failed to find table '"+tableName+"'"; } + } else { + rs = conn.getMetaData().getPrimaryKeys(conn.getCatalog(), DBConnector.getInstance().getSchema(), tableName); + StringBuffer footer = new StringBuffer(); + String indent = " "; + while (rs.next()) { + if (footer.length() > 0) { + footer.append(",\n"); + } else { + footer.append("PRIMARY KEY"); + String pkName = rs.getString("PK_NAME"); + if (pkName != null && pkName.length() > 0) { + footer.append(' '); + footer.append(pkName); + } + footer.append(":\n"); + } + footer.append(indent); + footer.append(rs.getString("COLUMN_NAME")); + } + result.setFooter(footer); } } catch (SQLException ex) { throw new IllegalStateException("Failed to find columnnames for table: "+ tableName, ex); |