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
