> YMMV. it is actualy you who break things. e.g. if u dont rely much on 
> specific SQldialect notions, or better, on specific SQL notions, 
> you'r settled.
> i've made dbcook over SA and ever since the team have forgotten about 
> what SQL is, except some veeeeery tricky things which has to be SQL 
> aware, as they rely on DB-structure being what it is. But dialects... 
> only come to play when something is not supported, and my way of 
> handling this so far is to avoid using any stuff that is not 
> supported everywhere - workaround on lowe or higher level, including 
> model refactoring
I don't think that is a very workable strategy in the long run :( There 
are far to many bogus restrictions in some databases, e.g. Oracle, for 
any meaningful program to
be written to work on all platforms w/o support/wrapping/hiding of ugly 
details by SA.

I and a coworker are currently working on a patch-set to the oracle 
driver for SA for this very reason, fixing issues like:

* broken mangling of forbidden/to long table/column names
* missing support for the BOOL data type
* missing support for boolean expressions in the column list ( 
select([tbl.c.col1 == tbl.c.col2]) ) (related to the last one above)

You might think that you could easily get around the name-length barrier 
using the shortnames-option. But SA combines table names with column 
names to form aliases in select column lists, and the length quickly 
exceeds 32 characters (Oracles limit). In addition, do _you_ know which 
words are forbidden as column names in Oracle? I can assure you that 
there is at least a few you don't remember (and I wouldn't remember 
either :P)...

Just a point of measurement (ok, oracle is the worst one...)

Best regards,
Egil


Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to