Apache-Session-Browseable

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN


1.3.16
    - Optimize deleteIfLowerThan for Redis

1.3.15
    - Improve Redis driver performance
    - Implement searchOn/deleteIfLowerThan into Redis
    - Prefer Redis::Fast

1.3.14
    - restrict mysql_enable_utf8 to DBD::mysql
    - PgJSON: Fix GKFAS when called with a column list

1.3.13
    - Fix versions
    - Update Cassandra doc

1.3.12
    - Add Cassandra support via DBD::Cassandra

1.3.11

lib/Apache/Session/Browseable.pm  view on Meta::CPAN


=back

=head1 SEE ALSO

L<Apache::Session>, L<http://lemonldap-ng.org>,
L<https://lemonldap-ng.org/documentation/2.0/performances#performance_test>

=head1 COPYRIGHT AND LICENSE

=encoding utf8

Copyright (C):

=over

=item 2009-2025 by Xavier Guimard

=item 2013-2025 by Clément Oudot

=item 2019-2025 by Maxime Besson

lib/Apache/Session/Browseable/Cassandra.pm  view on Meta::CPAN

 tie %hash, 'Apache::Session::Cassandra', $id, {
     Handle => $dbh
 };

=head1 SEE ALSO

L<Apache::Session>, L<Apache::Session::DBI>

=head1 COPYRIGHT AND LICENSE

=encoding utf8

Copyright (C):

=over

=item 2009-2025 by Xavier Guimard

=item 2013-2025 by Clément Oudot

=item 2019-2025 by Maxime Besson

lib/Apache/Session/Browseable/DBI.pm  view on Meta::CPAN

    my $username   = $args->{UserName};
    my $password   = $args->{Password};
    my $dbh =
      DBI->connect_cached( $datasource, $username, $password,
        { RaiseError => 1, AutoCommit => 1 } )
      || die $DBI::errstr;
    if ( $datasource =~ /^dbi:sqlite/i ) {
        $dbh->{sqlite_unicode} = 1;
    }
    elsif ( $datasource =~ /^dbi:mysql/i ) {
        $dbh->{mysql_enable_utf8} = 1;
    }
    elsif ( $datasource =~ /^dbi:pg/i ) {
        $dbh->{pg_enable_utf8} = 1;
    }
    return $dbh;
}

1;

lib/Apache/Session/Browseable/LDAP.pm  view on Meta::CPAN

    ldapCAFile           => '/etc/ssl/certs/ca-certificates.crt',
  };

=head1 DESCRIPTION

This module is an implementation of Apache::Session. It uses an LDAP directory
to store datas.

=head1 COPYRIGHT AND LICENSE

=encoding utf8

=over

=item 2009-2025 by Xavier Guimard

=item 2013-2025 by Clément Oudot

=item 2019-2025 by Maxime Besson

=item 2013-2025 by Worteks

lib/Apache/Session/Browseable/MySQL.pm  view on Meta::CPAN


Apache::Session::browseable provides some class methods to manipulate all
sessions and add the capability to index some fields to make research faster.

=head1 SEE ALSO

L<Apache::Session>

=head1 COPYRIGHT AND LICENSE

=encoding utf8

=over

=item 2009-2025 by Xavier Guimard

=item 2013-2025 by Clément Oudot

=item 2019-2025 by Maxime Besson

=item 2013-2025 by Worteks

lib/Apache/Session/Browseable/MySQLJSON.pm  view on Meta::CPAN

sub _classDbh {
    my ( $class, $args ) = @_;

    my $datasource = $args->{DataSource} or die "No datasource given !";
    my $username   = $args->{UserName};
    my $password   = $args->{Password};
    my $dbh =
      DBI->connect_cached( $datasource, $username, $password,
        { RaiseError => 1, AutoCommit => 1 } )
      || die $DBI::errstr;
    $dbh->{mysql_enable_utf8} = 1;
    return $dbh;
}

1;
__END__

=head1 NAME

Apache::Session::Browseable::MySQL - Add index and search methods to
Apache::Session::MySQL

lib/Apache/Session/Browseable/MySQLJSON.pm  view on Meta::CPAN


THIS MODULE ISN'T USABLE WITH MARIADB FOR NOW.

=head1 SEE ALSO

L<Apache::Session>, L<Apache::Session::Browseable::MySQL>,
L<http://lemonldap-ng.org>

=head1 COPYRIGHT AND LICENSE

=encoding utf8

=over

=item 2009-2025 by Xavier Guimard

=item 2013-2025 by Clément Oudot

=item 2019-2025 by Maxime Besson

=item 2013-2025 by Worteks

lib/Apache/Session/Browseable/Patroni.pm  view on Meta::CPAN

using "json" or "jsonb" type to be able to browse sessions and is able to dial
directly with Patroni API to find the master node of PostgreSQL cluster in
case of error.

=head1 SEE ALSO

L<http://lemonldap-ng.org>, L<Apache::Session::Postgres>

=head1 COPYRIGHT AND LICENSE

=encoding utf8

=over

=item 2009-2025 by Xavier Guimard

=item 2013-2025 by Clément Oudot

=item 2019-2025 by Maxime Besson

=item 2013-2025 by Worteks

lib/Apache/Session/Browseable/PgHstore.pm  view on Meta::CPAN

sub _classDbh {
    my ( $class, $args ) = @_;

    my $datasource = $args->{DataSource} or die "No datasource given !";
    my $username   = $args->{UserName};
    my $password   = $args->{Password};
    my $dbh =
      DBI->connect_cached( $datasource, $username, $password,
        { RaiseError => 1, AutoCommit => 1 } )
      || die $DBI::errstr;
    $dbh->{pg_enable_utf8} = 1;
    return $dbh;
}

1;
__END__

=head1 NAME

Apache::Session::Browseable::PgHstore - Hstore type support for
L<Apache::Session::Browseable::Postgres>

lib/Apache/Session/Browseable/PgHstore.pm  view on Meta::CPAN


Apache::Session::Browseable::PgHstore implements it for PosqtgreSQL databases
using "hstore" extension to be able to browse sessions.

=head1 SEE ALSO

L<http://lemonldap-ng.org>, L<Apache::Session::Postgres>

=head1 COPYRIGHT AND LICENSE

=encoding utf8

=over

=item 2009-2025 by Xavier Guimard

=item 2013-2025 by Clément Oudot

=item 2019-2025 by Maxime Besson

=item 2013-2025 by Worteks

lib/Apache/Session/Browseable/PgJSON.pm  view on Meta::CPAN

sub _classDbh {
    my ( $class, $args ) = @_;

    my $datasource = $args->{DataSource} or die "No datasource given !";
    my $username   = $args->{UserName};
    my $password   = $args->{Password};
    my $dbh =
      DBI->connect_cached( $datasource, $username, $password,
        { RaiseError => 1, AutoCommit => 1 } )
      || die $DBI::errstr;
    $dbh->{pg_enable_utf8} = 1;
    return $dbh;
}

1;
__END__

=head1 NAME

Apache::Session::Browseable::PgJSON - Hstore type support for
L<Apache::Session::Browseable::Postgres>

lib/Apache/Session/Browseable/PgJSON.pm  view on Meta::CPAN


Apache::Session::Browseable::PgJSON implements it for PosqtgreSQL databases
using "json" or "jsonb" type to be able to browse sessions.

=head1 SEE ALSO

L<http://lemonldap-ng.org>, L<Apache::Session::Postgres>

=head1 COPYRIGHT AND LICENSE

=encoding utf8

=over

=item 2009-2025 by Xavier Guimard

=item 2013-2025 by Clément Oudot

=item 2019-2025 by Maxime Besson

=item 2013-2025 by Worteks

lib/Apache/Session/Browseable/Postgres.pm  view on Meta::CPAN

sessions and add the capability to index some fields to make research faster.

Apache::Session::Browseable::Postgres implements it for PosqtgreSQL databases.

=head1 SEE ALSO

L<http://lemonldap-ng.org>, L<Apache::Session::Postgres>

=head1 COPYRIGHT AND LICENSE

=encoding utf8

=over

=item 2009-2025 by Xavier Guimard

=item 2013-2025 by Clément Oudot

=item 2019-2025 by Maxime Besson

=item 2013-2025 by Worteks

lib/Apache/Session/Browseable/Store/Cassandra.pm  view on Meta::CPAN

 tie %hash, 'Apache::Session::Cassandra', $id, {
     Handle => $dbh
 };

=head1 SEE ALSO

L<Apache::Session>, L<Apache::Session::Store::DBI>

=head1 COPYRIGHT AND LICENSE

=encoding utf8

Copyright (C):

=over

=item 2009-2025 by Xavier Guimard

=item 2013-2025 by Clément Oudot

=item 2019-2025 by Maxime Besson

lib/Apache/Session/Browseable/Store/MySQL.pm  view on Meta::CPAN

use Apache::Session::Store::MySQL;

our @ISA =
  qw(Apache::Session::Browseable::Store::DBI Apache::Session::Store::MySQL);
our $VERSION = '1.2.2';

sub connection {
    my($self,$session)=@_;
    $self->SUPER::connection($session);
    if ( $self->{dbh}->{Driver}->{Name} eq "mysql" ) {
        $self->{dbh}->{mysql_enable_utf8} = 1;
    }
}

1;

lib/Apache/Session/Browseable/Store/Postgres.pm  view on Meta::CPAN

use Apache::Session::Browseable::Store::DBI;
use Apache::Session::Store::Postgres;

our @ISA =
  qw(Apache::Session::Browseable::Store::DBI Apache::Session::Store::Postgres);
our $VERSION = '1.2.2';

sub connection {
    my($self,$session)=@_;
    $self->SUPER::connection($session);
    $self->{dbh}->{pg_enable_utf8} = 1;
}

1;

lib/Apache/Session/Serialize/Hstore.pm  view on Meta::CPAN

    }
    return $res;
}

1;

=pod

=head1 NAME

=encoding utf8

Apache::Session::Serialize::Hstore - Serialize/unserialize datas for PostgreSQL
"hstore" storage.

=head1 SYNOPSIS

 use Apache::Session::Serialize::Hstore;

 $zipped = Apache::Session::Serialize::Hstore::serialize($ref);
 $ref = Apache::Session::Serialize::Hstore::unserialize($zipped);

lib/Apache/Session/Serialize/JSON.pm  view on Meta::CPAN

    }
    return $tmp;
}

1;

=pod

=head1 NAME

=encoding utf8

Apache::Session::Serialize::JSON - Use JSON to zip up data

=head1 SYNOPSIS

 use Apache::Session::Serialize::JSON;

 $zipped = Apache::Session::Serialize::JSON::serialize($ref);
 $ref = Apache::Session::Serialize::JSON::unserialize($zipped);

t/Apache-Session-Browseable-Redis.t  view on Meta::CPAN

use Test::More;
use JSON qw/from_json/;
use utf8;

our $test_dburl = $ENV{REDIS_URL}   || 'localhost:6379';
our $test_dbnum = $ENV{REDIS_DBNUM} || 15;
our $r;    # Redis handle used for asserts

plan skip_all => "Optional modules (Redis) not installed"
  unless eval { require Redis; };

plan skip_all => "Redis error : $@"
  unless eval {



( run in 0.303 second using v1.01-cache-2.11-cpan-beeb90c9504 )