Kent wrote: > Any chance SQLAlchemy has a mechanism to switch to or from sysdate vs. > current_date based on the database dialect (and maybe use_ansi)? > > It would be really nice if I could program in sqla not knowing which > database type I am connected to and still could select the current > date from the database... can I?
func.now() does do this (well, it returns CURRENT_TIMESTAMP, is CURRENT_DATE different?). it doesn't take use_ansi into account though (though that would be an easy patch to the Oracle dialect). Aside from all that, this is also easy enough to roll yourself: from sqlalchemy.sql.expression import ColumnElement from sqlalchemy.ext.compiler import compiles class current_date(ColumnElement): type = sa.DateTime() @compiler.compiles(current_date) def _compiler_dispatch(element, compiler, **kw): if compiler.dialect.name == 'oracle': if not compiler.dialect.use_ansi: return "sysdate" else: return "current_date" else: # etc ... then just say current_date() to get the expression. you could also throw @compiles onto "sqlalchemy.sql.functions.now" if you wanted to augment what func.now() returns. > > -- > You received this message because you are subscribed to the Google Groups > "sqlalchemy" group. > To post to this group, send email to sqlalch...@googlegroups.com. > To unsubscribe from this group, send email to > sqlalchemy+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/sqlalchemy?hl=en. > > -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalch...@googlegroups.com. To unsubscribe from this group, send email to sqlalchemy+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en.