buildrelease
[openafs-wiki.git] / TWiki / CGISessionDriverMysqlDotPm.mdwn
diff --git a/TWiki/CGISessionDriverMysqlDotPm.mdwn b/TWiki/CGISessionDriverMysqlDotPm.mdwn
new file mode 100644 (file)
index 0000000..f7c4158
--- /dev/null
@@ -0,0 +1,41 @@
+# <a name="Package &lt;code&gt;="></a> Package =
+
+**extends** `CGI::Session::Driver::DBI `
+
+<div>
+  <ul>
+    <li><a href="#Package =="> Package ==</a></li>
+  </ul>
+</div>
+
+=head1 NAME
+
+CGI::Session::Driver::mysql - CGI::Session driver for [[MySQL]] database
+
+=head1 SYNOPSIS
+
+$s = new CGI::Session( "driver:mysql", $sid); $s = new CGI::Session( "driver:mysql", $sid, \{ [[DataSource]] =&gt; 'dbi:mysql:test', User =&gt; 'sherzodr', Password =&gt; 'hello' \}); $s = new CGI::Session( "driver:mysql", $sid, \{ Handle =&gt; $dbh \} );
+
+=head1 DESCRIPTION
+
+B stores session records in a [[MySQL]] table. For details see L&lt;CGI::Session::Driver::DBI|CGI::Session::Driver::DBI&gt;, its parent class.
+
+It's especially important for the [[MySQL]] driver that the session ID column be defined as a primary key, or at least "unique", like this:
+
+CREATE TABLE sessions ( id CHAR(32) NOT NULL PRIMARY KEY, a\_session TEXT NOT NULL );
+
+=head2 DRIVER ARGUMENTS
+
+B driver supports all the arguments documented in L&lt;CGI::Session::Driver::DBI|CGI::Session::Driver::DBI&gt;. In addition, I argument can optionally leave leading "dbi:mysql:" string out:
+
+$s = new CGI::Session( "driver:mysql", $sid, \{DataSource=&gt;'shopping\_cart'\}); # is the same as: $s = new CGI::Session( "driver:mysql", $sid, \{DataSource=&gt;'dbi:mysql:shopping\_cart'\});
+
+=head2 BACKWARDS COMPATIBILITY
+
+For backwards compatibility, you can also set the table like this before calling C&lt;new()&gt;. However, it is not recommended because it can cause conflicts in a persistent environment.
+
+$CGI::Session::MySQL::TABLE\_NAME = 'my\_sessions';
+
+=head1 LICENSING
+
+For support and licensing see L&lt;CGI::Session|CGI::Session&gt;.