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 to
"EX". "-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 in "SH" 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 are "EX",
"SH" and "UN". 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 <
[email protected]>, 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.
SEE ALSO
Search::InvertedIndex