On Wed, Feb 16, 2011 at 10:51 AM, Michael Bayer
<mike...@zzzcomputing.com> wrote:
>
> On Feb 16, 2011, at 10:22 AM, Landreville wrote:
>
>> Hi,
>> I am trying to set a session variable (call a function with a value)
>> in postgres at the beginning of every session that SQLAlchemy starts.
>> I'm using the session variable to specify the currently logged in user
>> for an auditing system (just a trigger on a couple tables). I have
>> tried the before_commit ORM event, but it will set the variable after
>> the other commands so the trigger does not pick it up. I also tried
>> the before_flush event, but it seems to have a simlar problem -- it
>> doesn't always set the variable at the beginning of the session.
>>
>> Is there a way to run a command at the beginning of every session,
>> before anything else is run?
>
> SessionExtension has an after_begin() hook for this purpose.

Is doing the way I suggested (as a ConnectionProxy subclass, via
'proxy' argument to create_engine) better or worse? Can you help me to
understand why?

>> Also, in these cases should I be using Session.execute or
>> Session.connection.execute()?
>
> Session.execute() is a shorthand version of Session.connection.execute().    
> The former also coerces plain textual statements to 
> sqlalchemy.sql.expression.text() so that a single string format may be passed.

Aha! Very nice. What about using instances of Session where 'bind'
arguments are required?

-- 
Jon

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalchemy@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.

Reply via email to