You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by "Jeffrey W. Baker" <jw...@acm.org> on 2000/04/29 00:25:18 UTC

What's next for Apache::Session

The next version of Apache::Session is almost ready.  This version is
dubbed 1.50 because of it's significant-but-not-outrageous changes.  The
changes from 1.03 are:

1) New backing stores can stash data in Berkeley DB via the BerkeleyDB
module, or any dbm format via AnyDBM_File.

2) The ID generator and the data serializer are no longer hard-wired into
the Session superclass.  They are pluggable and interchangeable in the
same way that the backing store and locking manager are in 1.03.  This was
done mainly for people who implement non-jwb session ID policies and to
increase compatibility with non-mysql databases.  Users of postgres can
now create ASCII serialized sessions by using the Base64
serializer.  FreezeThaw serialization is also supported.

3) The new interface class Apache::Session::Flex allows the runtime
specification of the backing store, lock manager, serializer, and ID
generator.  This was by popular demand, and should benefit rapid
development as well as other systems like Embperl and ASP.

4) The DBI interface class has been modified to accept an already-open DBI
handler as an argument.

5) New interface classes have been added for Apache::Session::Postgres,
::Sybase, and ::Oracle.  These are special cases of ::Flex.

That is all.  I'm working on it this weekend if anyone has any more
suggestions.

Regards,
Jeffrey


Re: What's next for Apache::Session

Posted by "Jeffrey W. Baker" <jw...@acm.org>.
On Fri, 28 Apr 2000, Ajit Deshpande wrote:

> On Fri, Apr 28, 2000 at 03:25:18PM -0700, Jeffrey W. Baker wrote:
> > The next version of Apache::Session is almost ready.  This version is
> > dubbed 1.50 because of it's significant-but-not-outrageous changes.  The
> > changes from 1.03 are:
>  
>   <...>
> 
> > 4) The DBI interface class has been modified to accept an already-open DBI
> > handler as an argument.
> 
> Excellent!
> 
> > 5) New interface classes have been added for Apache::Session::Postgres,
> > ::Sybase, and ::Oracle.  These are special cases of ::Flex.
> 
> I currently modify the connection sub in DBIStore.pm  as follows:
> 
> sub connection {
>     my $self    = shift;
>     my $session = shift;
>     
>     return if (defined $self->{dbh});
> 
>     $self->{dbh} = DBI->connect($session->{args}->{DataSource},
>         $session->{args}->{UserName}, $session->{args}->{Password},
>         { RaiseError => 1, AutoCommit => 1, 
>           LongReadLen => $session->{args}->{LongReadLen} 
>         }) || die $DBI::errstr;
> }
> 
> i.e. I pass the LongReadLen parameter for Oracle. Would something like 
> this be a part of the new ::Oracle interface class?

Yes.  Alternately, you could open the $dbh and pass it to the
constructor.  Either way, the new version should end people's complaints
about Apache::Session not getting along with their DBI/Apache::DBI setups.

-jwb


Re: What's next for Apache::Session

Posted by Ajit Deshpande <aj...@sky.skycorp.net>.
On Fri, Apr 28, 2000 at 03:25:18PM -0700, Jeffrey W. Baker wrote:
> The next version of Apache::Session is almost ready.  This version is
> dubbed 1.50 because of it's significant-but-not-outrageous changes.  The
> changes from 1.03 are:
 
  <...>

> 4) The DBI interface class has been modified to accept an already-open DBI
> handler as an argument.

Excellent!

> 5) New interface classes have been added for Apache::Session::Postgres,
> ::Sybase, and ::Oracle.  These are special cases of ::Flex.

I currently modify the connection sub in DBIStore.pm  as follows:

sub connection {
    my $self    = shift;
    my $session = shift;
    
    return if (defined $self->{dbh});

    $self->{dbh} = DBI->connect($session->{args}->{DataSource},
        $session->{args}->{UserName}, $session->{args}->{Password},
        { RaiseError => 1, AutoCommit => 1, 
          LongReadLen => $session->{args}->{LongReadLen} 
        }) || die $DBI::errstr;
}

i.e. I pass the LongReadLen parameter for Oracle. Would something like 
this be a part of the new ::Oracle interface class?

Ajit

Re: What's next for Apache::Session

Posted by Autarch <au...@urth.org>.
On Fri, 28 Apr 2000, Jeffrey W. Baker wrote:

> That is all.  I'm working on it this weekend if anyone has any more
> suggestions.

If you could make the name of the session table (and perhaps the columns
as well) user configurable via some method other than editing the code
that would be great.

-dave


/*==================
www.urth.org
We await the New Sun
==================*/