IDEMPIERE-568 Review proper closing of JDBC statements and resultsets
This commit is contained in:
parent
65a9dc9adc
commit
b3ac2521a1
|
@ -138,57 +138,67 @@ public class TableCreateColumns extends SvrProcess
|
||||||
{
|
{
|
||||||
// globalqss 2005-10-25
|
// globalqss 2005-10-25
|
||||||
// ResultSet rs = md.getTables(catalog, schema, null, null);
|
// ResultSet rs = md.getTables(catalog, schema, null, null);
|
||||||
ResultSet rs;
|
ResultSet rs = null;
|
||||||
if (DB.isPostgreSQL())
|
ResultSet rsC = null;
|
||||||
rs = md.getTables(catalog, schema, null, new String [] {"TABLE", "VIEW"});
|
try {
|
||||||
else
|
|
||||||
rs = md.getTables(catalog, schema, null, null);
|
|
||||||
// end globalqss 2005-10-25
|
|
||||||
while (rs.next())
|
|
||||||
{
|
|
||||||
String tableName = rs.getString("TABLE_NAME");
|
|
||||||
String tableType = rs.getString("TABLE_TYPE");
|
|
||||||
|
|
||||||
// Try to find
|
|
||||||
MTable table = MTable.get(getCtx(), tableName);
|
|
||||||
// Create new ?
|
|
||||||
if (table == null)
|
|
||||||
{
|
|
||||||
String tn = tableName.toUpperCase();
|
|
||||||
if (tn.startsWith("T_SELECTION") // temp table
|
|
||||||
|| tn.endsWith("_VT") // print trl views
|
|
||||||
|| tn.endsWith("_V") // views
|
|
||||||
|| tn.endsWith("_V1") // views
|
|
||||||
|| tn.startsWith("A_A") // asset tables not yet
|
|
||||||
|| tn.startsWith("A_D") // asset tables not yet
|
|
||||||
|| tn.indexOf('$') != -1 // oracle system tables
|
|
||||||
|| tn.indexOf("EXPLAIN") != -1 // explain plan
|
|
||||||
)
|
|
||||||
{
|
|
||||||
log.fine("Ignored: " + tableName + " - " + tableType);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
//
|
|
||||||
log.info(tableName + " - " + tableType);
|
|
||||||
|
|
||||||
// Create New
|
|
||||||
table = new MTable(getCtx(), 0, get_TrxName());
|
|
||||||
table.setEntityType (p_EntityType);
|
|
||||||
table.setName (tableName);
|
|
||||||
table.setTableName (tableName);
|
|
||||||
table.setIsView("VIEW".equals(tableType));
|
|
||||||
if (!table.save())
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
// Check Columns
|
|
||||||
if (DB.isOracle())
|
|
||||||
tableName = tableName.toUpperCase();
|
|
||||||
// globalqss 2005-10-24
|
|
||||||
if (DB.isPostgreSQL())
|
if (DB.isPostgreSQL())
|
||||||
tableName = tableName.toLowerCase();
|
rs = md.getTables(catalog, schema, null, new String [] {"TABLE", "VIEW"});
|
||||||
// end globalqss 2005-10-24
|
else
|
||||||
ResultSet rsC = md.getColumns(catalog, schema, tableName, null);
|
rs = md.getTables(catalog, schema, null, null);
|
||||||
addTableColumn(rsC, table);
|
// end globalqss 2005-10-25
|
||||||
|
while (rs.next())
|
||||||
|
{
|
||||||
|
String tableName = rs.getString("TABLE_NAME");
|
||||||
|
String tableType = rs.getString("TABLE_TYPE");
|
||||||
|
|
||||||
|
// Try to find
|
||||||
|
MTable table = MTable.get(getCtx(), tableName);
|
||||||
|
// Create new ?
|
||||||
|
if (table == null)
|
||||||
|
{
|
||||||
|
String tn = tableName.toUpperCase();
|
||||||
|
if (tn.startsWith("T_SELECTION") // temp table
|
||||||
|
|| tn.endsWith("_VT") // print trl views
|
||||||
|
|| tn.endsWith("_V") // views
|
||||||
|
|| tn.endsWith("_V1") // views
|
||||||
|
|| tn.startsWith("A_A") // asset tables not yet
|
||||||
|
|| tn.startsWith("A_D") // asset tables not yet
|
||||||
|
|| tn.indexOf('$') != -1 // oracle system tables
|
||||||
|
|| tn.indexOf("EXPLAIN") != -1 // explain plan
|
||||||
|
)
|
||||||
|
{
|
||||||
|
log.fine("Ignored: " + tableName + " - " + tableType);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
log.info(tableName + " - " + tableType);
|
||||||
|
|
||||||
|
// Create New
|
||||||
|
table = new MTable(getCtx(), 0, get_TrxName());
|
||||||
|
table.setEntityType (p_EntityType);
|
||||||
|
table.setName (tableName);
|
||||||
|
table.setTableName (tableName);
|
||||||
|
table.setIsView("VIEW".equals(tableType));
|
||||||
|
if (!table.save())
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
// Check Columns
|
||||||
|
if (DB.isOracle())
|
||||||
|
tableName = tableName.toUpperCase();
|
||||||
|
// globalqss 2005-10-24
|
||||||
|
if (DB.isPostgreSQL())
|
||||||
|
tableName = tableName.toLowerCase();
|
||||||
|
// end globalqss 2005-10-24
|
||||||
|
rsC = md.getColumns(catalog, schema, tableName, null);
|
||||||
|
addTableColumn(rsC, table);
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw e;
|
||||||
|
} finally {
|
||||||
|
DB.close(rs);
|
||||||
|
rs = null;
|
||||||
|
DB.close(rsC);
|
||||||
|
rsC = null;
|
||||||
}
|
}
|
||||||
} // addTable
|
} // addTable
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue