*/
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());
String sql = SQL;
if (isOS400) {
sql = OS_400_SQL;
}
final PreparedStatement pstmt = conn.prepareStatement(sql);
ResultSet rs = null;
try
{
pstmt.setString(1, schemaName);
pstmt.setString(2, filterMatcher.getSqlLikeMatchString());
rs = pstmt.executeQuery();
while (rs.next())
{
IDatabaseObjectInfo si = new DatabaseObjectInfo(catalogName,
schemaName, rs.getString(1),
DatabaseObjectType.UDF, md);
if(filterMatcher.matches(si.getSimpleName()))
{
childNodes.add(new ObjectTreeNode(session, si));
}
}
}