[Seaside] ROE - Public Store

Brett Taylor brett.taylor at healthauditors.com
Wed Mar 31 23:04:06 CEST 2004


On Wed, 2004-03-31 at 10:58, Avi Bryant wrote:
> 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?
Well - it seemed reasonable to add the Dialect specific classes at the
time, but you are right, there was no need for them at this point.  I
refactored the code to use the concreteRelation for all of this
behavior.  All of the test cases run as before.  I've published this to
the public store.
Brett
> 
> Avi
> 
> _______________________________________________
> Seaside mailing list
> Seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/listinfo/seaside
> 



More information about the Seaside mailing list