NAME
Search::InvertedIndex::DB::Pg - A Postgres backend for Search::InvertedIndex.
SYNOPSIS
use Search::InvertedIndex;
use Search::InvertedIndex::DB::Pg;
my $db = Search::InvertedIndex::DB::Pg->new(
-db_name => "testdb",
-hostname => "test.example.com",
-port => 5432,
-username => "testuser",
-password => "testpass",
-table_name => "siindex",
-lock_mode => "EX",
);
my $map = Search::InvertedIndex->new( -database => $db );
DESCRIPTION
An interface allowing Search::InvertedIndex to store and retrieve data from a PostgreSQL database. All the data is stored in a single table, which will be created automatically if it does not exist when new
is called.
METHODS
- new
-
my $db = Search::InvertedIndex::DB::Pg->new( -db_name => "testdb", -hostname => "test.example.com", -port => 5432, -username => "testuser", -password => "testpass", -table_name => "siindex", -lock_mode => "EX", );
-db_name
and-table_name
are mandatory.-lock_mode
defaults toEX
.-port is optional
and defaults to not being specified.. - open
-
$db->open;
Opens the database in the mode specified when
new
was called. Croaks on error, returns true otherwise. Trying to open a nonexistent database/table combination inSH
mode is considered to be an error. Opening an already-open database/table combination isn't. - lock
-
$db->lock( -lock_mode => "EX" );
The
-lock_mode
parameter is required; allowed values areEX
,SH
andUN
. Returns true on success; croaks on error. - status
-
my $opened = $db->status( "-open" ); my $lock_mode = $db->status( "-lock_mode" );
Allowed requests are
-open
and-lock_mode
.-lock_mode
can only be called on an open database.-lock
is a synonym for-lock_mode
. Croaks if sent an invalid request, or on error. - put
-
$db->put( -key => "foo", -value => "bar" );
Both parameters are mandatory. Any others will be silently ignored. Returns true on success and false on error.
- get
-
my $value = $db->get( -key => "foo" );
Croaks if no
-key
supplied. - delete
-
$db->delete( -key => "foo" );
- close
-
$db->close;
- clear
-
$db->clear;
Clears out all indexing data.
AUTHOR
Kate L Pugh <kake@earth.li>, based on Search::InvertedIndex::DB::Mysql by Michael Cramer and Search::InvertedIndex::DB::DB_File_SplitHash by Benjamin Franz.
COPYRIGHT
Copyright (C) 2003-4 Kake Pugh. All Rights Reserved.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
CREDITS
Module based on work by Michael Cramer and Benjamin Franz. Patch from Cees Hek.