databasemetadatatest.java
来自「PostgreSQL7.4.6 for Linux」· Java 代码 · 共 498 行 · 第 1/2 页
JAVA
498 行
} assertTrue ( j == 2 ); rs = dbmd.getExportedKeys( null, "", "people" ); // this is hacky, but it will serve the purpose assertTrue ( rs.next() ); assertEquals( "people", rs.getString( "PKTABLE_NAME" ) ); assertEquals( "id", rs.getString( "PKCOLUMN_NAME" ) ); assertEquals( "users", rs.getString( "FKTABLE_NAME" ) ); assertEquals( "people_id", rs.getString( "FKCOLUMN_NAME" ) ); assertTrue( rs.getString( "FK_NAME" ).startsWith( "people" ) ); TestUtil.dropTable( con1, "users" ); TestUtil.dropTable( con1, "people" ); TestUtil.dropTable( con1, "policy" ); } catch (SQLException ex) { fail(ex.getMessage()); } } public void testColumns() { // At the moment just test that no exceptions are thrown KJ try { DatabaseMetaData dbmd = con.getMetaData(); assertNotNull(dbmd); ResultSet rs = dbmd.getColumns(null,null,"pg_class",null); rs.close(); } catch (SQLException sqle) { sqle.printStackTrace(); fail(sqle.getMessage()); } } public void testColumnPrivileges() { // At the moment just test that no exceptions are thrown KJ try { DatabaseMetaData dbmd = con.getMetaData(); assertNotNull(dbmd); ResultSet rs = dbmd.getColumnPrivileges(null,null,"pg_statistic",null); rs.close(); } catch (SQLException sqle) { sqle.printStackTrace(); fail(sqle.getMessage()); } } public void testTablePrivileges() { try { DatabaseMetaData dbmd = con.getMetaData(); assertNotNull(dbmd); ResultSet rs = dbmd.getTablePrivileges(null,null,"testmetadata"); boolean l_foundSelect = false; while (rs.next()) { if (rs.getString("GRANTEE").equals(TestUtil.getUser()) && rs.getString("PRIVILEGE").equals("SELECT")) l_foundSelect = true; } rs.close(); //Test that the table owner has select priv assertTrue("Couldn't find SELECT priv on table testmetadata for " + TestUtil.getUser(),l_foundSelect); } catch (SQLException sqle) { sqle.printStackTrace(); fail(sqle.getMessage()); } } public void testPrimaryKeys() { // At the moment just test that no exceptions are thrown KJ try { DatabaseMetaData dbmd = con.getMetaData(); assertNotNull(dbmd); ResultSet rs = dbmd.getPrimaryKeys(null,null,"pg_class"); rs.close(); } catch (SQLException sqle) { sqle.printStackTrace(); fail(sqle.getMessage()); } } public void testIndexInfo() { // At the moment just test that no exceptions are thrown KJ try { DatabaseMetaData dbmd = con.getMetaData(); assertNotNull(dbmd); ResultSet rs = dbmd.getIndexInfo(null,null,"pg_class",false,false); rs.close(); } catch (SQLException sqle) { sqle.printStackTrace(); fail(sqle.getMessage()); } } public void testTableTypes() { // At the moment just test that no exceptions are thrown KJ try { DatabaseMetaData dbmd = con.getMetaData(); assertNotNull(dbmd); ResultSet rs = dbmd.getTableTypes(); rs.close(); } catch (SQLException sqle) { sqle.printStackTrace(); fail(sqle.getMessage()); } } public void testProcedureColumns() { // At the moment just test that no exceptions are thrown KJ try { DatabaseMetaData dbmd = con.getMetaData(); assertNotNull(dbmd); ResultSet rs = dbmd.getProcedureColumns(null,null,null,null); rs.close(); } catch (SQLException sqle) { sqle.printStackTrace(); fail(sqle.getMessage()); } } public void testVersionColumns() { // At the moment just test that no exceptions are thrown KJ try { DatabaseMetaData dbmd = con.getMetaData(); assertNotNull(dbmd); ResultSet rs = dbmd.getVersionColumns(null,null,"pg_class"); rs.close(); } catch (SQLException sqle) { fail(sqle.getMessage()); } } public void testBestRowIdentifier() { // At the moment just test that no exceptions are thrown KJ try { DatabaseMetaData dbmd = con.getMetaData(); assertNotNull(dbmd); ResultSet rs = dbmd.getBestRowIdentifier(null,null,"pg_type",DatabaseMetaData.bestRowSession,false); rs.close(); } catch (SQLException sqle) { fail(sqle.getMessage()); } } public void testProcedures() { // At the moment just test that no exceptions are thrown KJ try { DatabaseMetaData dbmd = con.getMetaData(); assertNotNull(dbmd); ResultSet rs = dbmd.getProcedures(null,null,null); rs.close(); } catch (SQLException sqle) { fail(sqle.getMessage()); } } public void testCatalogs() { try { DatabaseMetaData dbmd = con.getMetaData(); assertNotNull(dbmd); ResultSet rs = dbmd.getCatalogs(); boolean foundTemplate0 = false; boolean foundTemplate1 = false; while(rs.next()) { String database = rs.getString("TABLE_CAT"); if ("template0".equals(database)) { foundTemplate0 = true; } else if ("template1".equals(database)) { foundTemplate1 = true; } } rs.close(); assertTrue(foundTemplate0); assertTrue(foundTemplate1); } catch(SQLException sqle) { fail(sqle.getMessage()); } } public void testSchemas() { try { DatabaseMetaData dbmd = con.getMetaData(); assertNotNull(dbmd); ResultSet rs = dbmd.getSchemas(); boolean foundPublic = false; boolean foundEmpty = false; boolean foundPGCatalog = false; int count; for(count=0; rs.next(); count++) { String schema = rs.getString("TABLE_SCHEM"); if ("public".equals(schema)) { foundPublic = true; } else if ("".equals(schema)) { foundEmpty = true; } else if ("pg_catalog".equals(schema)) { foundPGCatalog = true; } } rs.close(); if (TestUtil.haveMinimumServerVersion(con,"7.3")) { assertTrue(count >= 2); assertTrue(foundPublic); assertTrue(foundPGCatalog); assertTrue(!foundEmpty); } else { assertEquals(count,1); assertTrue(foundEmpty); assertTrue(!foundPublic); assertTrue(!foundPGCatalog); } } catch (SQLException sqle) { fail(sqle.getMessage()); } }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?