@Signature public Memory getCatalogs(Environment env) throws SQLException { ResultSet catalogs = metaData.getCatalogs(); ArrayMemory r = new ArrayMemory(); while (catalogs.next()) { r.add(new PSqlResult(env, catalogs).toArray(env)); } return r.toConstant(); }
public static void main(String args[]) { Connection connection = null; SQLMXJdbcRowSet jrs = null; Statement stmt = null; ResultSet rs = null; DatabaseMetaData dbMeta = null; ResultSetMetaData rsMD = null; int rowNo; try { Class.forName("org.trafodion.jdbc.t2.T2Driver"); } catch (Exception e) { e.printStackTrace(); System.out.println(e.getMessage()); return; } try { String url = "jdbc:t2jdbc:"; connection = DriverManager.getConnection(url); stmt = connection.createStatement(); try { stmt.executeUpdate("drop table jdbcrsdemo"); } catch (SQLException e) { } stmt.executeUpdate( "create table jdbcrsdemo (c1 char(20), c2 smallint, c3 integer, c4 largeint, c5 varchar(120), c6 numeric(10,2), c7 decimal(10,2),c8 date, c9 time, c10 timestamp, c11 float, c12 double precision)"); stmt.executeUpdate( "insert into jdbcrsdemo values('Doberman Pinscher', 100, 12345678, 123456789012, 'Canine', 100.12, 100.12, {d '2005-12-23'}, {t '10:11:12'}, {ts '2000-12-23 10:11:12'}, 100.12, 100.12)"); stmt.executeUpdate( "insert into jdbcrsdemo values('Rottweiler', 150, -12345678, -123456789012, 'Canine', -100.12, -100.12, {d '2005-12-24'}, {t '10:11:12'}, {ts '2005-12-24 10:11:12'}, -100.12, -100.12)"); stmt.executeUpdate( "insert into jdbcrsdemo values('Tiger', 101, -12345678, 123456789012, 'Feline', -100.12, 100.12, {d '2005-12-25'}, {t '10:11:12'}, {ts '2005-12-25 10:11:12.0'}, -100.12, 100.12)"); System.out.println("Creating JdbcRowSet"); jrs = new SQLMXJdbcRowSet(); jrs.setUrl(url); for (int i = 0; i < 5; i++) { switch (i) { case 0: System.out.println(""); System.out.println("Simple Select "); jrs.setCommand("select * from jdbcrsdemo"); jrs.execute(); break; case 1: System.out.println(""); System.out.println("Parameterized Select - CHAR"); jrs.setCommand("select c1, c2 from jdbcrsdemo where c1 = ?"); jrs.setString(1, "Rottweiler"); jrs.execute(); break; case 2: System.out.println(""); System.out.println("Parameterized Select - INT"); jrs.setCommand("select c1, c2, c3 from jdbcrsdemo where c2 = ? or c2 = ?"); jrs.setInt(1, 100); jrs.setInt(2, 150); jrs.execute(); break; case 3: System.out.println(""); System.out.println("Parameterized Select - TIMESTAMP"); jrs.setCommand("select c1, c2, c3, c10 from jdbcrsdemo where c10 = ?"); jrs.setTimestamp(1, Timestamp.valueOf("2005-12-25 10:11:12.0")); jrs.execute(); break; case 4: System.out.println(""); System.out.println("Parameterized Select - DECIMAL"); jrs.setCommand("select c1, c2, c3, c7 from jdbcrsdemo where c7 = ? or c7 = ?"); jrs.setBigDecimal(1, new BigDecimal("100.12")); jrs.setBigDecimal(2, new BigDecimal("-100.12")); jrs.execute(); break; } rsMD = jrs.getMetaData(); System.out.println(""); System.out.println("Printing JdbcRowSet ResultSetMetaData ..."); System.out.println("No. of Columns " + rsMD.getColumnCount()); for (int j = 1; j <= rsMD.getColumnCount(); j++) { System.out.println( "Column " + j + " Data Type: " + rsMD.getColumnTypeName(j) + " Name: " + rsMD.getColumnName(j)); } System.out.println(""); System.out.println("Fetching JdbcRowSet rows..."); rowNo = 0; while (jrs.next()) { rowNo++; System.out.println(""); System.out.println("Printing Row " + rowNo + " using getString(), getObject()"); for (int j = 1; j <= rsMD.getColumnCount(); j++) { System.out.println("Column " + j + " - " + jrs.getString(j) + "," + jrs.getObject(j)); } } System.out.println(""); } System.out.println("Calling JdbcRowSet.getDatabaseMetaData()"); dbMeta = jrs.getDatabaseMetaData(); for (int k = 0; k < 4; k++) { switch (k) { case 0: System.out.println(""); System.out.println("getTypeInfo() "); rs = dbMeta.getTypeInfo(); break; case 1: System.out.println(""); System.out.println("getCatalogs()"); rs = dbMeta.getCatalogs(); break; case 2: System.out.println(""); System.out.println("getTables() "); rs = dbMeta.getTables(null, null, "JDB%", null); break; case 3: System.out.println(""); System.out.println("getColumns()"); rs = dbMeta.getColumns(null, null, "JDBCRSDEMO", "%"); break; default: rs = null; continue; } if (rs != null) { rsMD = rs.getMetaData(); System.out.println(""); System.out.println("Printing ResultSetMetaData ..."); System.out.println("No. of Columns " + rsMD.getColumnCount()); for (int j = 1; j <= rsMD.getColumnCount(); j++) { System.out.println( "Column " + j + " Data Type: " + rsMD.getColumnTypeName(j) + " Name: " + rsMD.getColumnName(j)); } System.out.println(""); System.out.println("Fetching resultSet rows..."); rowNo = 0; while (rs.next()) { rowNo++; System.out.println(""); System.out.println("Printing Row " + rowNo + " using getString(), getObject()"); for (int j = 1; j <= rsMD.getColumnCount(); j++) { System.out.println("Column " + j + " - " + rs.getString(j) + "," + rs.getObject(j)); } } } System.out.println(""); System.out.println("End of Data"); if (rs != null) rs.close(); } System.out.println("Demo Completed"); } catch (SQLException e) { SQLException nextException; nextException = e; do { System.out.println(nextException.getMessage()); System.out.println("SQLState " + nextException.getSQLState()); System.out.println("Error Code " + nextException.getErrorCode()); } while ((nextException = nextException.getNextException()) != null); } finally { try { if (connection != null) connection.close(); if (jrs != null) jrs.close(); } catch (SQLException sqle) { sqle.printStackTrace(); System.out.println(sqle.getMessage()); } } }