aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/interfaces/jdbc/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java164
1 files changed, 86 insertions, 78 deletions
diff --git a/src/interfaces/jdbc/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java b/src/interfaces/jdbc/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java
index ab56b701938..ad643fe82a5 100644
--- a/src/interfaces/jdbc/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java
+++ b/src/interfaces/jdbc/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java
@@ -9,7 +9,7 @@ import java.sql.*;
*
* PS: Do you know how difficult it is to type on a train? ;-)
*
- * $Id: DatabaseMetaDataTest.java,v 1.1 2001/02/13 16:39:05 peter Exp $
+ * $Id: DatabaseMetaDataTest.java,v 1.2 2001/09/10 15:07:58 momjian Exp $
*/
public class DatabaseMetaDataTest extends TestCase {
@@ -29,11 +29,11 @@ public class DatabaseMetaDataTest extends TestCase {
Connection con = JDBC2Tests.openDB();
DatabaseMetaData dbmd = con.getMetaData();
- assert(dbmd!=null);
+ assertNotNull(dbmd);
JDBC2Tests.closeDB(con);
} catch(SQLException ex) {
- assert(ex.getMessage(),false);
+ fail(ex.getMessage());
}
}
@@ -45,32 +45,32 @@ public class DatabaseMetaDataTest extends TestCase {
Connection con = JDBC2Tests.openDB();
DatabaseMetaData dbmd = con.getMetaData();
- assert(dbmd!=null);
+ assertNotNull(dbmd);
- assert(dbmd.allProceduresAreCallable()==true);
- assert(dbmd.allTablesAreSelectable()==true); // not true all the time
+ assertTrue(dbmd.allProceduresAreCallable());
+ assertTrue(dbmd.allTablesAreSelectable()); // not true all the time
// This should always be false for postgresql (at least for 7.x)
- assert(!dbmd.isReadOnly());
+ assertTrue(!dbmd.isReadOnly());
// does the backend support this yet? The protocol does...
- assert(!dbmd.supportsMultipleResultSets());
+ assertTrue(!dbmd.supportsMultipleResultSets());
// yes, as multiple backends can have transactions open
- assert(dbmd.supportsMultipleTransactions());
+ assertTrue(dbmd.supportsMultipleTransactions());
- assert(dbmd.supportsMinimumSQLGrammar());
- assert(!dbmd.supportsCoreSQLGrammar());
- assert(!dbmd.supportsExtendedSQLGrammar());
- assert(!dbmd.supportsANSI92EntryLevelSQL());
- assert(!dbmd.supportsANSI92IntermediateSQL());
- assert(!dbmd.supportsANSI92FullSQL());
+ assertTrue(dbmd.supportsMinimumSQLGrammar());
+ assertTrue(!dbmd.supportsCoreSQLGrammar());
+ assertTrue(!dbmd.supportsExtendedSQLGrammar());
+ assertTrue(!dbmd.supportsANSI92EntryLevelSQL());
+ assertTrue(!dbmd.supportsANSI92IntermediateSQL());
+ assertTrue(!dbmd.supportsANSI92FullSQL());
- assert(!dbmd.supportsIntegrityEnhancementFacility());
+ assertTrue(!dbmd.supportsIntegrityEnhancementFacility());
JDBC2Tests.closeDB(con);
} catch(SQLException ex) {
- assert(ex.getMessage(),false);
+ fail(ex.getMessage());
}
}
@@ -80,15 +80,15 @@ public class DatabaseMetaDataTest extends TestCase {
Connection con = JDBC2Tests.openDB();
DatabaseMetaData dbmd = con.getMetaData();
- assert(dbmd!=null);
+ assertNotNull(dbmd);
- assert(dbmd.supportsOuterJoins());
- assert(dbmd.supportsFullOuterJoins());
- assert(dbmd.supportsLimitedOuterJoins());
+ assertTrue(dbmd.supportsOuterJoins());
+ assertTrue(dbmd.supportsFullOuterJoins());
+ assertTrue(dbmd.supportsLimitedOuterJoins());
JDBC2Tests.closeDB(con);
} catch(SQLException ex) {
- assert(ex.getMessage(),false);
+ fail(ex.getMessage());
}
}
@@ -97,14 +97,14 @@ public class DatabaseMetaDataTest extends TestCase {
Connection con = JDBC2Tests.openDB();
DatabaseMetaData dbmd = con.getMetaData();
- assert(dbmd!=null);
+ assertNotNull(dbmd);
- assert(!dbmd.supportsPositionedDelete());
- assert(!dbmd.supportsPositionedUpdate());
+ assertTrue(!dbmd.supportsPositionedDelete());
+ assertTrue(!dbmd.supportsPositionedUpdate());
JDBC2Tests.closeDB(con);
} catch(SQLException ex) {
- assert(ex.getMessage(),false);
+ fail(ex.getMessage());
}
}
@@ -113,21 +113,27 @@ public class DatabaseMetaDataTest extends TestCase {
Connection con = JDBC2Tests.openDB();
DatabaseMetaData dbmd = con.getMetaData();
- assert(dbmd!=null);
+ assertNotNull(dbmd);
- // these need double checking
- assert(!dbmd.nullsAreSortedAtStart());
- assert(dbmd.nullsAreSortedAtEnd());
- assert(!dbmd.nullsAreSortedHigh());
- assert(!dbmd.nullsAreSortedLow());
+ // We need to type cast the connection to get access to the
+ // PostgreSQL-specific method haveMinimumServerVersion().
+ // This is not available through the java.sql.Connection interface.
+ assertTrue( con instanceof org.postgresql.Connection );
- assert(dbmd.nullPlusNonNullIsNull());
+ assertTrue(!dbmd.nullsAreSortedAtStart());
+ assertTrue( dbmd.nullsAreSortedAtEnd() !=
+ ((org.postgresql.Connection)con).haveMinimumServerVersion("7.2"));
+ assertTrue( dbmd.nullsAreSortedHigh() ==
+ ((org.postgresql.Connection)con).haveMinimumServerVersion("7.2"));
+ assertTrue(!dbmd.nullsAreSortedLow());
- assert(dbmd.supportsNonNullableColumns());
+ assertTrue(dbmd.nullPlusNonNullIsNull());
+
+ assertTrue(dbmd.supportsNonNullableColumns());
JDBC2Tests.closeDB(con);
} catch(SQLException ex) {
- assert(ex.getMessage(),false);
+ fail(ex.getMessage());
}
}
@@ -136,14 +142,14 @@ public class DatabaseMetaDataTest extends TestCase {
Connection con = JDBC2Tests.openDB();
DatabaseMetaData dbmd = con.getMetaData();
- assert(dbmd!=null);
+ assertNotNull(dbmd);
- assert(!dbmd.usesLocalFilePerTable());
- assert(!dbmd.usesLocalFiles());
+ assertTrue(!dbmd.usesLocalFilePerTable());
+ assertTrue(!dbmd.usesLocalFiles());
JDBC2Tests.closeDB(con);
} catch(SQLException ex) {
- assert(ex.getMessage(),false);
+ fail(ex.getMessage());
}
}
@@ -152,23 +158,23 @@ public class DatabaseMetaDataTest extends TestCase {
Connection con = JDBC2Tests.openDB();
DatabaseMetaData dbmd = con.getMetaData();
- assert(dbmd!=null);
+ assertNotNull(dbmd);
- assert(!dbmd.supportsMixedCaseIdentifiers()); // always false
- assert(dbmd.supportsMixedCaseQuotedIdentifiers()); // always true
+ assertTrue(!dbmd.supportsMixedCaseIdentifiers()); // always false
+ assertTrue(dbmd.supportsMixedCaseQuotedIdentifiers()); // always true
- assert(!dbmd.storesUpperCaseIdentifiers()); // always false
- assert(dbmd.storesLowerCaseIdentifiers()); // always true
- assert(!dbmd.storesUpperCaseQuotedIdentifiers()); // always false
- assert(!dbmd.storesLowerCaseQuotedIdentifiers()); // always false
- assert(!dbmd.storesMixedCaseQuotedIdentifiers()); // always false
+ assertTrue(!dbmd.storesUpperCaseIdentifiers()); // always false
+ assertTrue(dbmd.storesLowerCaseIdentifiers()); // always true
+ assertTrue(!dbmd.storesUpperCaseQuotedIdentifiers()); // always false
+ assertTrue(!dbmd.storesLowerCaseQuotedIdentifiers()); // always false
+ assertTrue(!dbmd.storesMixedCaseQuotedIdentifiers()); // always false
- assert(dbmd.getIdentifierQuoteString().equals("\""));
+ assertTrue(dbmd.getIdentifierQuoteString().equals("\""));
JDBC2Tests.closeDB(con);
} catch(SQLException ex) {
- assert(ex.getMessage(),false);
+ fail(ex.getMessage());
}
}
@@ -177,17 +183,17 @@ public class DatabaseMetaDataTest extends TestCase {
Connection con = JDBC2Tests.openDB();
DatabaseMetaData dbmd = con.getMetaData();
- assert(dbmd!=null);
+ assertNotNull(dbmd);
// we can add columns
- assert(dbmd.supportsAlterTableWithAddColumn());
+ assertTrue(dbmd.supportsAlterTableWithAddColumn());
// we can't drop columns (yet)
- assert(!dbmd.supportsAlterTableWithDropColumn());
+ assertTrue(!dbmd.supportsAlterTableWithDropColumn());
JDBC2Tests.closeDB(con);
} catch(SQLException ex) {
- assert(ex.getMessage(),false);
+ fail(ex.getMessage());
}
}
@@ -196,23 +202,25 @@ public class DatabaseMetaDataTest extends TestCase {
Connection con = JDBC2Tests.openDB();
DatabaseMetaData dbmd = con.getMetaData();
- assert(dbmd!=null);
+ assertNotNull(dbmd);
// yes we can?: SELECT col a FROM a;
- assert(dbmd.supportsColumnAliasing());
+ assertTrue(dbmd.supportsColumnAliasing());
// yes we can have expressions in ORDERBY
- assert(dbmd.supportsExpressionsInOrderBy());
+ assertTrue(dbmd.supportsExpressionsInOrderBy());
- assert(!dbmd.supportsOrderByUnrelated());
+ // Yes, an ORDER BY clause can contain columns that are not in the
+ // SELECT clause.
+ assertTrue(dbmd.supportsOrderByUnrelated());
- assert(dbmd.supportsGroupBy());
- assert(dbmd.supportsGroupByUnrelated());
- assert(dbmd.supportsGroupByBeyondSelect()); // needs checking
+ assertTrue(dbmd.supportsGroupBy());
+ assertTrue(dbmd.supportsGroupByUnrelated());
+ assertTrue(dbmd.supportsGroupByBeyondSelect()); // needs checking
JDBC2Tests.closeDB(con);
} catch(SQLException ex) {
- assert(ex.getMessage(),false);
+ fail(ex.getMessage());
}
}
@@ -221,53 +229,53 @@ public class DatabaseMetaDataTest extends TestCase {
Connection con = JDBC2Tests.openDB();
DatabaseMetaData dbmd = con.getMetaData();
- assert(dbmd!=null);
+ assertNotNull(dbmd);
- assert(dbmd.getURL().equals(JDBC2Tests.getURL()));
- assert(dbmd.getUserName().equals(JDBC2Tests.getUser()));
+ assertTrue(dbmd.getURL().equals(JDBC2Tests.getURL()));
+ assertTrue(dbmd.getUserName().equals(JDBC2Tests.getUser()));
JDBC2Tests.closeDB(con);
} catch(SQLException ex) {
- assert(ex.getMessage(),false);
+ fail(ex.getMessage());
}
}
public void testDbProductDetails() {
try {
Connection con = JDBC2Tests.openDB();
- assert(con instanceof org.postgresql.Connection);
+ assertTrue(con instanceof org.postgresql.Connection);
org.postgresql.Connection pc = (org.postgresql.Connection) con;
DatabaseMetaData dbmd = con.getMetaData();
- assert(dbmd!=null);
+ assertNotNull(dbmd);
- assert(dbmd.getDatabaseProductName().equals("PostgreSQL"));
- assert(dbmd.getDatabaseProductVersion().startsWith(Integer.toString(pc.this_driver.getMajorVersion())+"."+Integer.toString(pc.this_driver.getMinorVersion())));
- assert(dbmd.getDriverName().equals("PostgreSQL Native Driver"));
+ assertTrue(dbmd.getDatabaseProductName().equals("PostgreSQL"));
+ 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) {
- assert(ex.getMessage(),false);
+ fail(ex.getMessage());
}
}
public void testDriverVersioning() {
try {
Connection con = JDBC2Tests.openDB();
- assert(con instanceof org.postgresql.Connection);
+ assertTrue(con instanceof org.postgresql.Connection);
org.postgresql.Connection pc = (org.postgresql.Connection) con;
DatabaseMetaData dbmd = con.getMetaData();
- assert(dbmd!=null);
+ assertNotNull(dbmd);
- assert(dbmd.getDriverVersion().equals(pc.this_driver.getVersion()));
- assert(dbmd.getDriverMajorVersion()==pc.this_driver.getMajorVersion());
- assert(dbmd.getDriverMinorVersion()==pc.this_driver.getMinorVersion());
+ assertTrue(dbmd.getDriverVersion().equals(pc.this_driver.getVersion()));
+ assertTrue(dbmd.getDriverMajorVersion()==pc.this_driver.getMajorVersion());
+ assertTrue(dbmd.getDriverMinorVersion()==pc.this_driver.getMinorVersion());
JDBC2Tests.closeDB(con);
} catch(SQLException ex) {
- assert(ex.getMessage(),false);
+ fail(ex.getMessage());
}
}
-} \ No newline at end of file
+}