NAME

Conf::SQL - An SQL backend for Conf

ABSTRACT

Conf::SQL is an SQL backend for Conf. It handles a table $table with identifiers that are assigned values. The identifiers are specified on a per user basis. Conf::SQL tries to get the user account of the user self.

Description

Each call set() will immediately result in a commit to the database.

new(DSN => ...,DBUSER => ..., DBPASS =>, [TABLE => ...]) --> Conf::SQL

Invoked with a valid DSN, DBUSER and DBPASS combination, will return a Conf::SQL object that is connected to the database.

TABLE defaults to conf_table.

This function will try to create a TABLE table in the given DSN, if it does not exist.

Creating the table $table in your database

If it cannot create a table for you, because it doesn't know the database you are using, you can create your own. The table used has following form:

CREATE TABLE $table(uid varchar,var varchar,value varchar)

The form presented here is a PostgreSQL form. You will want at least following specifications for uid, var and value:

uid    varchar(250)
var    varchar(250)
value  text, bigtext, mediumtext, varchar(1000000000), etc.

You may also want an index on $table, like this one:

"CREATE INDEX $table"."_idx ON $table(uid, var)"

DESTROY()

This function will disconnect from the database.

set(var,value) --> void

Sets config key var to value.

get(var) --> string

Reads var from config. Returns undef, if var does not exist. Returns the value of configuration item var, otherwise.

variables() --> list of strings

Returns all variables in the configuraton backend.

SEE ALSO

Conf::String , Conf::SQL , Conf::File .

AUTHOR

Hans Oesterholt-Dijkema, <oesterhol@cpan.org>

COPYRIGHT AND LICENSE

Copyright 2004 by Hans Oesterholt-Dijkema

This library is free software; you can redistribute it and/or modify it under LGPL.