}
/** Generate an SQL string for the node - which may no tbe legal SQL (e.g. no outer SELECT).*/
public String generatePartSQL(SqlNode sqlNode)
{
IndentedLineBuffer buff = new IndentedLineBuffer() ;
// Step one - rewrite the SQL node tree to have SelectBlocks, not the various SqlNodes
// that contribute to a SELECT statement.
// XXX Temp - the nodes this tranforms should not be generated now
//sqlNode = SqlTransformer.transform(sqlNode, new TransformSelectBlock()) ;
// Step two - turn the SqlNode tree, with SqlSelectBlocks in it,
// in an SQL string.
SqlNodeVisitor v = makeVisitor(buff) ;
sqlNode.visit(v) ;
return buff.asString() ;
}