Thanks for the info about the case sensitivity of MySql. In order to maintain code portability Empire-db must ensure that table, view and column names are treated case-insensitive. For some databases this could mean automatically converting names to lower or upper case.
Regards, Rainer Francis De Brabandere wrote: > re: Re: DBCommandExpr.orderBy(), why auto UPPER CASE, adding twice > the same column > > On Mon, Jan 11, 2010 at 9:25 PM, Rainer Döbele <[email protected]> > wrote: > > Hi Exxos, > > > > here are my (personal) comments to your questions: > > > >> If you allow >>> DBColumnExpr.as(<String>) > >> then please add the following signature >> > DBCommandExpr.orderBy(<String>); > >> otherwise there is a gap. > > > > Not quite. In Empire-db we always work with objects not strings. The > "as" method creates a new column object and initializes the name > property of that object to the string provided. You should then use > this object rather than continue working with things. > > In your case this means: > > DBColumnExpr ALIAS_COL = SOME_COL.as("alias_col"); > > cmd.select(ALIAS_COL); > > cmd.orderBy(ALIAS_COL); > > Otherwise we would have to provide string overloads for many more > methods and we would loose give up compile time safety completely. > > > >> db.album.title.as("title") will generates the following SQL column > name >>> "TITLE" in upper case in the SQL command... > >> Is there any reason? > > > > Long time ago we decided to make it all upper case. We could have > gone for all lower case or left casing completely - but it does not > matter. All column, table, view etc. names are case-insensitive and > should be treated that way. Hence this is only an issue for debugging > and logging. But of course this is something we could talk about. > > This is not the case in MySQL: > http://dev.mysql.com/doc/refman/5.0/en/identifier-case-sensitivity.html > > Cheers, > Francis
