*/
public List<ObjectTreeNode> createChildren(ISession session, ObjectTreeNode parentNode)
throws SQLException
{
final List<ObjectTreeNode> childNodes = new ArrayList<ObjectTreeNode>();
final IDatabaseObjectInfo parentDbinfo = parentNode.getDatabaseObjectInfo();
final ISQLConnection conn = session.getSQLConnection();
final SQLDatabaseMetaData md = session.getSQLConnection().getSQLMetaData();
final String catalogName = parentDbinfo.getCatalogName();
final String schemaName = parentDbinfo.getSchemaName();
final ObjFilterMatcher filterMatcher = new ObjFilterMatcher(session.getProperties());
PreparedStatement pstmt = null;
ResultSet rs = null;
try
{
if (s_log.isDebugEnabled()) {
s_log.debug("createChildren: running SQL - "+SQL);
s_log.debug("createChildren: with SYNONYM_NAME = "+filterMatcher.getSqlLikeMatchString());
s_log.debug("createChildren: with schema = "+schemaName);
s_log.debug("createChildren: with catalog = "+catalogName);
}
pstmt = conn.prepareStatement(SQL);
pstmt.setString(1, filterMatcher.getSqlLikeMatchString());
pstmt.setString(2, schemaName);
pstmt.setString(3, catalogName);
rs = pstmt.executeQuery();
while (rs.next())
{
IDatabaseObjectInfo si = new DatabaseObjectInfo(
catalogName, schemaName, rs.getString(1), DatabaseObjectType.SYNONYM, md);
if (filterMatcher.matches(si.getSimpleName()))
{
childNodes.add(new ObjectTreeNode(session, si));
}
}
} finally