On Aug 8, 2006, at 1:46 PM, Perrin Harkins wrote:

Meaning what?  That the args don't match what you use elsewhere?  You
were already assuming the sessions would use their own handle, so I
don't see how it matters.

Based on this documentation:

 tie %hash, 'Apache::Session::Postgres', $id, {
    DataSource => 'dbi:Pg:dbname=sessions',
    UserName   => $db_user,
    Password   => $db_pass,
    Commit     => 1
 };

one would think that Commit is related to the AutoCommit flag, its not

going through all of the sources for different modules, I've noticed how the stores deviate from one another in terms of connection args they hard code into it:

        Informix
                { RaiseError => 1, AutoCommit => 0 }
        MySQL
                { RaiseError => 1, AutoCommit => 1 }
        Oracle
                { RaiseError => 1, AutoCommit => 0 }
        Postgres
                { RaiseError => 1, AutoCommit => 0 }

That being said, my personal issue stemmed from that fact that I would connect_on_init expecting the Postgres module to behave one way, but it works entirely differently So I was effectively creating a ton of handles via connect_on_init that were never used, as I had no reason to expect RaiseError to be set, and the word 'Commit' suggests an AutoCommit setting (neither are in the docs, just the source)

Its kind of a mindfuck with Pg...

        Commit must be set to 1
        AutoCommit is hardcoded to 0

The only way to figure out the hardcode is to go through source.

I wrote the author with a documentation suggestion.

Reply via email to