*
* PS: Do you know how difficult it is to type on a train? ;-)
*
- * $Id: DatabaseMetaDataTest.java,v 1.4 2001/11/19 22:33:39 momjian Exp $
+ * $Id: DatabaseMetaDataTest.java,v 1.5 2002/04/16 15:25:17 davec Exp $
*/
public class DatabaseMetaDataTest extends TestCase
{
+ private Connection con;
/*
* Constructor
*/
super(name);
}
+ protected void setUp() throws Exception
+ {
+ con = JDBC2Tests.openDB();
+ JDBC2Tests.createTable( con, "testmetadata", "id int4, name text, updated timestamp" );
+ }
+ protected void tearDown() throws Exception
+ {
+ JDBC2Tests.dropTable( con, "testmetadata" );
+
+ JDBC2Tests.closeDB( con );
+ }
/*
* The spec says this may return null, but we always do!
*/
{
try
{
- Connection con = JDBC2Tests.openDB();
DatabaseMetaData dbmd = con.getMetaData();
assertNotNull(dbmd);
- JDBC2Tests.closeDB(con);
+ ResultSet rs = dbmd.getTables( null, null, "test%", new String[] {"TABLE"});
+ assertTrue( rs.next() );
+ assertTrue( rs.getString("TABLE_NAME").equals("testmetadata") );
+
+ rs.close();
+
+ rs = dbmd.getColumns("", "", "test%", "%" );
+ assertTrue( rs.next() );
+ assertTrue( rs.getString("TABLE_NAME").equals("testmetadata") );
+ assertTrue( rs.getString("COLUMN_NAME").equals("id") );
+ assertTrue( rs.getInt("DATA_TYPE") == java.sql.Types.INTEGER );
+
+ assertTrue( rs.next() );
+ assertTrue( rs.getString("TABLE_NAME").equals("testmetadata") );
+ assertTrue( rs.getString("COLUMN_NAME").equals("name") );
+ assertTrue( rs.getInt("DATA_TYPE") == java.sql.Types.VARCHAR );
+
+ assertTrue( rs.next() );
+ assertTrue( rs.getString("TABLE_NAME").equals("testmetadata") );
+ assertTrue( rs.getString("COLUMN_NAME").equals("updated") );
+ assertTrue( rs.getInt("DATA_TYPE") == java.sql.Types.TIMESTAMP );
+
}
catch (SQLException ex)
{
{
try
{
- Connection con = JDBC2Tests.openDB();
DatabaseMetaData dbmd = con.getMetaData();
assertNotNull(dbmd);
assertTrue(!dbmd.supportsIntegrityEnhancementFacility());
- JDBC2Tests.closeDB(con);
}
catch (SQLException ex)
{
{
try
{
- Connection con = JDBC2Tests.openDB();
DatabaseMetaData dbmd = con.getMetaData();
assertNotNull(dbmd);
assertTrue(dbmd.supportsFullOuterJoins());
assertTrue(dbmd.supportsLimitedOuterJoins());
- JDBC2Tests.closeDB(con);
}
catch (SQLException ex)
{
{
try
{
- Connection con = JDBC2Tests.openDB();
DatabaseMetaData dbmd = con.getMetaData();
assertNotNull(dbmd);
assertTrue(!dbmd.supportsPositionedDelete());
assertTrue(!dbmd.supportsPositionedUpdate());
- JDBC2Tests.closeDB(con);
}
catch (SQLException ex)
{
{
try
{
- Connection con = JDBC2Tests.openDB();
DatabaseMetaData dbmd = con.getMetaData();
assertNotNull(dbmd);
assertTrue(dbmd.supportsNonNullableColumns());
- JDBC2Tests.closeDB(con);
}
catch (SQLException ex)
{
{
try
{
- Connection con = JDBC2Tests.openDB();
DatabaseMetaData dbmd = con.getMetaData();
assertNotNull(dbmd);
assertTrue(!dbmd.usesLocalFilePerTable());
assertTrue(!dbmd.usesLocalFiles());
- JDBC2Tests.closeDB(con);
}
catch (SQLException ex)
{
{
try
{
- Connection con = JDBC2Tests.openDB();
DatabaseMetaData dbmd = con.getMetaData();
assertNotNull(dbmd);
assertTrue(dbmd.getIdentifierQuoteString().equals("\""));
- JDBC2Tests.closeDB(con);
}
catch (SQLException ex)
{
{
try
{
- Connection con = JDBC2Tests.openDB();
DatabaseMetaData dbmd = con.getMetaData();
assertNotNull(dbmd);
// we can't drop columns (yet)
assertTrue(!dbmd.supportsAlterTableWithDropColumn());
- JDBC2Tests.closeDB(con);
}
catch (SQLException ex)
{
{
try
{
- Connection con = JDBC2Tests.openDB();
DatabaseMetaData dbmd = con.getMetaData();
assertNotNull(dbmd);
assertTrue(dbmd.supportsGroupByUnrelated());
assertTrue(dbmd.supportsGroupByBeyondSelect()); // needs checking
- JDBC2Tests.closeDB(con);
}
catch (SQLException ex)
{
{
try
{
- Connection con = JDBC2Tests.openDB();
DatabaseMetaData dbmd = con.getMetaData();
assertNotNull(dbmd);
assertTrue(dbmd.getURL().equals(JDBC2Tests.getURL()));
assertTrue(dbmd.getUserName().equals(JDBC2Tests.getUser()));
- JDBC2Tests.closeDB(con);
}
catch (SQLException ex)
{
{
try
{
- Connection con = JDBC2Tests.openDB();
assertTrue(con instanceof org.postgresql.Connection);
org.postgresql.Connection pc = (org.postgresql.Connection) con;
assertTrue(dbmd.getDatabaseProductVersion().startsWith(Integer.toString(pc.this_driver.getMajorVersion()) + "." + Integer.toString(pc.this_driver.getMinorVersion())));
assertTrue(dbmd.getDriverName().equals("PostgreSQL Native Driver"));
- JDBC2Tests.closeDB(con);
}
catch (SQLException ex)
{
{
try
{
- Connection con = JDBC2Tests.openDB();
assertTrue(con instanceof org.postgresql.Connection);
org.postgresql.Connection pc = (org.postgresql.Connection) con;
assertTrue(dbmd.getDriverMinorVersion() == pc.this_driver.getMinorVersion());
- JDBC2Tests.closeDB(con);
}
catch (SQLException ex)
{