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 mind**** 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.