[Seaside] ROE - Public Store

Avi Bryant avi at beta4.com
Wed Mar 31 20:58:12 CEST 2004


On Mar 31, 2004, at 8:48 AM, Brett Taylor wrote:

> I resolved these problems by adding a couple of classes.  First of all 
> -
> I created a class called the SqlDialect with subclasses OracleDialect &
> PostgresDialect.  These classes handle dialect specific name resolution
> (through double dispatching) and determining which Printer class to use
> for generating SQL code.  I also created a new SQL printer class
> RAOracleSqlPrinter which handles the differences in SQL code between 
> the
> dialects.

I'll look at your code, but it sounds reasonable.  I've known I would 
have to at least have multiple SqlPrinter classes.  This may make more 
sense when I actually look at it, but my initial response is to wonder 
why you need three classes (Relation, Dialect, Printer) for each - 
wouldn't just Relation and Printer be enough, with some methods on 
Relation like #printerClass that got overridden?

Avi



More information about the Seaside mailing list