mirror of
https://github.com/moodle/moodle.git
synced 2025-08-04 08:26:37 +02:00
db sessions are now using the newer session handler adodb-session2.php
This commit is contained in:
parent
2af2711f79
commit
647a256616
7 changed files with 83 additions and 29 deletions
|
@ -1,5 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<XMLDB PATH="lib/db" VERSION="20060821" COMMENT="XMLDB file for core Moodle tables">
|
||||
<XMLDB PATH="lib/db" VERSION="20060829" COMMENT="XMLDB file for core Moodle tables"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:noNamespaceSchemaLocation="../../lib/xmldb/xmldb.xsd"
|
||||
>
|
||||
<TABLES>
|
||||
<TABLE NAME="config" COMMENT="Moodle configuration variables" NEXT="config_plugins">
|
||||
<FIELDS>
|
||||
|
@ -478,7 +481,7 @@
|
|||
<INDEX NAME="name" UNIQUE="false" FIELDS="name"/>
|
||||
</INDEXES>
|
||||
</TABLE>
|
||||
<TABLE NAME="scale" COMMENT="Defines grading scales" PREVIOUS="modules" NEXT="sessions">
|
||||
<TABLE NAME="scale" COMMENT="Defines grading scales" PREVIOUS="modules" NEXT="sessions2">
|
||||
<FIELDS>
|
||||
<FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="true" ENUM="false" NEXT="courseid"/>
|
||||
<FIELD NAME="courseid" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" ENUM="false" PREVIOUS="id" NEXT="userid"/>
|
||||
|
@ -495,21 +498,24 @@
|
|||
<INDEX NAME="courseid" UNIQUE="false" FIELDS="courseid"/>
|
||||
</INDEXES>
|
||||
</TABLE>
|
||||
<TABLE NAME="sessions" COMMENT="Optional database session storage, not used by default" PREVIOUS="scale" NEXT="timezone">
|
||||
<TABLE NAME="sessions2" COMMENT="Optional database session storage in new format, not used by default" PREVIOUS="scale" NEXT="timezone">
|
||||
<FIELDS>
|
||||
<FIELD NAME="sesskey" TYPE="char" LENGTH="32" NOTNULL="true" SEQUENCE="false" ENUM="false" NEXT="expiry"/>
|
||||
<FIELD NAME="expiry" TYPE="int" LENGTH="11" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" ENUM="false" PREVIOUS="sesskey" NEXT="expireref"/>
|
||||
<FIELD NAME="expireref" TYPE="char" LENGTH="64" NOTNULL="false" SEQUENCE="false" ENUM="false" PREVIOUS="expiry" NEXT="data"/>
|
||||
<FIELD NAME="data" TYPE="text" LENGTH="medium" NOTNULL="true" SEQUENCE="false" ENUM="false" PREVIOUS="expireref"/>
|
||||
<FIELD NAME="sesskey" TYPE="char" LENGTH="64" NOTNULL="true" SEQUENCE="false" ENUM="false" NEXT="expiry"/>
|
||||
<FIELD NAME="expiry" TYPE="datetime" NOTNULL="true" SEQUENCE="false" ENUM="false" PREVIOUS="sesskey" NEXT="expireref"/>
|
||||
<FIELD NAME="expireref" TYPE="char" LENGTH="250" NOTNULL="false" DEFAULT="" SEQUENCE="false" ENUM="false" PREVIOUS="expiry" NEXT="created"/>
|
||||
<FIELD NAME="created" TYPE="datetime" NOTNULL="true" SEQUENCE="false" ENUM="false" PREVIOUS="expireref" NEXT="modified"/>
|
||||
<FIELD NAME="modified" TYPE="datetime" NOTNULL="true" SEQUENCE="false" ENUM="false" PREVIOUS="created" NEXT="sessdata"/>
|
||||
<FIELD NAME="sessdata" TYPE="text" LENGTH="big" NOTNULL="false" DEFAULT="" SEQUENCE="false" ENUM="false" PREVIOUS="modified"/>
|
||||
</FIELDS>
|
||||
<KEYS>
|
||||
<KEY NAME="primary" TYPE="primary" FIELDS="sesskey" COMMENT="Primary key for sessions"/>
|
||||
</KEYS>
|
||||
<INDEXES>
|
||||
<INDEX NAME="expiry" UNIQUE="false" FIELDS="expiry"/>
|
||||
<INDEX NAME="sess2_expiry" UNIQUE="false" FIELDS="expiry" NEXT="sess2_expireref"/>
|
||||
<INDEX NAME="sess2_expireref" UNIQUE="false" FIELDS="expireref" PREVIOUS="sess2_expiry"/>
|
||||
</INDEXES>
|
||||
</TABLE>
|
||||
<TABLE NAME="timezone" COMMENT="Rules for calculating local wall clock time for users" PREVIOUS="sessions" NEXT="user">
|
||||
<TABLE NAME="timezone" COMMENT="Rules for calculating local wall clock time for users" PREVIOUS="sessions2" NEXT="user">
|
||||
<FIELDS>
|
||||
<FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="false" SEQUENCE="true" ENUM="false" NEXT="name"/>
|
||||
<FIELD NAME="name" TYPE="char" LENGTH="100" NOTNULL="true" SEQUENCE="false" ENUM="false" PREVIOUS="id" NEXT="year"/>
|
||||
|
@ -1031,4 +1037,4 @@
|
|||
</SENTENCES>
|
||||
</STATEMENT>
|
||||
</STATEMENTS>
|
||||
</XMLDB>
|
||||
</XMLDB>
|
|
@ -2141,6 +2141,25 @@ function main_upgrade($oldversion=0) {
|
|||
if ($oldversion < 2006082800) {
|
||||
table_column('user', '', 'ajax', 'integer', '1', 'unsigned', '1', '', 'htmleditor');
|
||||
}
|
||||
|
||||
if ($oldversion < 2006082900) {
|
||||
execute_sql("DROP TABLE {$CFG->prefix}sessions", false);
|
||||
execute_sql("
|
||||
CREATE TABLE {$CFG->prefix}sessions2 (
|
||||
sesskey VARCHAR(64) NOT NULL default '',
|
||||
expiry DATETIME NOT NULL,
|
||||
expireref VARCHAR(250),
|
||||
created DATETIME NOT NULL,
|
||||
modified DATETIME NOT NULL,
|
||||
sessdata TEXT,
|
||||
CONSTRAINT PRIMARY KEY (sesskey)
|
||||
) COMMENT='Optional database session storage in new format, not used by default';", true);
|
||||
|
||||
execute_sql("
|
||||
CREATE INDEX {$CFG->prefix}sess_exp_ix ON {$CFG->prefix}sessions2 (expiry);", true);
|
||||
execute_sql("
|
||||
CREATE INDEX {$CFG->prefix}sess_exp2_ix ON {$CFG->prefix}sessions2 (expireref);", true);
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
|
|
@ -532,20 +532,22 @@ CREATE TABLE `prefix_scale` (
|
|||
|
||||
|
||||
#
|
||||
# Table structure for table `sessions`
|
||||
# Table structure for table `sessions2`
|
||||
#
|
||||
CREATE TABLE prefix_sessions2 (
|
||||
sesskey VARCHAR(64) NOT NULL default '',
|
||||
expiry DATETIME NOT NULL,
|
||||
expireref VARCHAR(250),
|
||||
created DATETIME NOT NULL,
|
||||
modified DATETIME NOT NULL,
|
||||
sessdata TEXT,
|
||||
CONSTRAINT PRIMARY KEY (sesskey)
|
||||
) COMMENT='Optional database session storage in new format, not used by default';
|
||||
|
||||
CREATE TABLE `prefix_sessions` (
|
||||
`sesskey` char(32) NOT null default '',
|
||||
`expiry` int(11) unsigned NOT null default '0',
|
||||
`expireref` varchar(64) default '',
|
||||
`data` mediumtext NOT null default '',
|
||||
PRIMARY KEY (`sesskey`),
|
||||
KEY (`expiry`)
|
||||
) TYPE=MyISAM COMMENT='Optional database session storage, not used by default';
|
||||
CREATE INDEX prefix_sess_exp_ix ON prefix_sessions2 (expiry);
|
||||
CREATE INDEX prefix_sess_exp2_ix ON prefix_sessions2 (expireref);
|
||||
# --------------------------------------------------------
|
||||
|
||||
|
||||
#
|
||||
# Table structure for table `timezone`
|
||||
#
|
||||
|
|
|
@ -1741,6 +1741,25 @@ function main_upgrade($oldversion=0) {
|
|||
table_column('user', '', 'ajax', 'integer', '1', 'unsigned', '1', '', 'htmleditor');
|
||||
}
|
||||
|
||||
if ($oldversion < 2006082900) {
|
||||
execute_sql("DROP TABLE {$CFG->prefix}sessions", false);
|
||||
execute_sql("
|
||||
CREATE TABLE {$CFG->prefix}sessions2 (
|
||||
sesskey VARCHAR(255) NOT NULL default '',
|
||||
expiry TIMESTAMP NOT NULL,
|
||||
expireref VARCHAR(255),
|
||||
created TIMESTAMP NOT NULL,
|
||||
modified TIMESTAMP NOT NULL,
|
||||
sessdata TEXT,
|
||||
CONSTRAINT {$CFG->prefix}sess_ses_pk PRIMARY KEY (sesskey)
|
||||
);", true);
|
||||
|
||||
execute_sql("
|
||||
CREATE INDEX {$CFG->prefix}sess_exp_ix ON {$CFG->prefix}sessions2 (expiry);", true);
|
||||
execute_sql("
|
||||
CREATE INDEX {$CFG->prefix}sess_exp2_ix ON {$CFG->prefix}sessions2 (expireref);", true);
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
|
|
@ -338,14 +338,19 @@ CREATE TABLE prefix_scale (
|
|||
timemodified integer NOT NULL default '0'
|
||||
);
|
||||
|
||||
CREATE TABLE prefix_sessions (
|
||||
sesskey char(32) PRIMARY KEY,
|
||||
expiry integer NOT null,
|
||||
expireref varchar(64),
|
||||
data text NOT null
|
||||
CREATE TABLE prefix_sessions2 (
|
||||
sesskey VARCHAR(255) NOT NULL default '',
|
||||
expiry TIMESTAMP NOT NULL,
|
||||
expireref VARCHAR(255),
|
||||
created TIMESTAMP NOT NULL,
|
||||
modified TIMESTAMP NOT NULL,
|
||||
sessdata TEXT,
|
||||
CONSTRAINT prefix_sess_ses_pk PRIMARY KEY (sesskey)
|
||||
);
|
||||
|
||||
CREATE INDEX prefix_sessions_expiry_idx ON prefix_sessions (expiry);
|
||||
CREATE INDEX prefix_sess_exp_ix ON prefix_sessions2 (expiry);
|
||||
|
||||
CREATE INDEX prefix_sess_exp2_ix ON prefix_sessions2 (expireref);
|
||||
|
||||
CREATE TABLE prefix_timezone (
|
||||
id SERIAL PRIMARY KEY,
|
||||
|
|
|
@ -314,9 +314,12 @@ $CFG->os = PHP_OS;
|
|||
$ADODB_SESSION_USER = $CFG->dbuser;
|
||||
$ADODB_SESSION_PWD = $CFG->dbpass;
|
||||
$ADODB_SESSION_DB = $CFG->dbname;
|
||||
$ADODB_SESSION_TBL = $CFG->prefix.'sessions';
|
||||
$ADODB_SESSION_TBL = $CFG->prefix.'sessions2';
|
||||
if (!empty($CFG->sessiontimeout)) {
|
||||
$ADODB_SESS_LIFE = $CFG->sessiontimeout;
|
||||
}
|
||||
|
||||
require_once($CFG->libdir. '/adodb/session/adodb-session.php');
|
||||
require_once($CFG->libdir. '/adodb/session/adodb-session2.php');
|
||||
}
|
||||
}
|
||||
/// Set sessioncookie variable if it isn't already
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
// This is compared against the values stored in the database to determine
|
||||
// whether upgrades should be performed (see lib/db/*.php)
|
||||
|
||||
$version = 2006082800; // YYYYMMDD = date
|
||||
$version = 2006082900; // YYYYMMDD = date
|
||||
// XY = increments within a single day
|
||||
|
||||
$release = '1.7 dev'; // Human-friendly version name
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue