Class CGI::Session::Mysql
In: lib/cgi/session/mysql.rb
Parent: Object

Usage:

 cgi = CGI.new
 session = CGI::Session.new cgi, {
   "database_manager" => CGI::Session::Mysql,
   "db_uri"           => "mysql://user:passwd@hostname:3306/dbname",
   "restore_query"    => "select value from session where id=?",
   "update_query"     => "replace session (id,value) values (?,?)",
   "delete_query"     => "delete from session where id=?",
 }
 session["foo"] = "bar"
 session["hoge"] = 123
 session.update
 session.close

MySQL table is any format but session-id column type must be ‘char(32)’ currently because CGI::Session#session_id is created by MD5.hexdigest.

Methods

close   delete   new   restore   update  

Public Class methods

session:session (CGI::Session).
opt:options (Hash).

options:

db_uri
specify mysql connection. uri format is:

mysql://username:password@hostname:port/dbname

uri scheme must be "mysql".

restore_query
query to retrieve session data from table. it represent session-id as place holder("?").

example:

  "select value from session where id=?"
update_query
query to store session data to table. it represent session-id and data as place holder("?").

example:

  "replace session (id,value) values (?,?)"
delete_query
query to delete session data from table. it represent session-id as place holder("?").

example:

  "delete from session where id=?"

Public Instance methods

close mysql connection.

delete session data from mysql table.

retrieve session data from mysql table.

store session data to mysql table.

[Validate]