[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