? 575280-key_1.patch
? 946968-cleanup.patch
? 946968-cleanup_0.patch
? head.db
? multiviews-919596-6.patch
? multiviews-919596.patch
? version_check-946968.patch
? sites/.DS_Store
? sites/default/.DS_Store
? sites/default/files
? sites/default/settings.php
Index: includes/bootstrap.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/bootstrap.inc,v
retrieving revision 1.435
diff -u -p -r1.435 bootstrap.inc
--- includes/bootstrap.inc	13 Nov 2010 14:08:47 -0000	1.435
+++ includes/bootstrap.inc	13 Nov 2010 19:01:42 -0000
@@ -27,21 +27,6 @@ define('DRUPAL_MINIMUM_PHP',    '5.2.4')
 define('DRUPAL_MINIMUM_PHP_MEMORY_LIMIT',    '32M');
 
 /**
- * Minimum supported version of MySQL, if it is used.
- */
-define('DRUPAL_MINIMUM_MYSQL',  '5.0.15');
-
-/**
- * Minimum supported version of PostgreSQL, if it is used.
- */
-define('DRUPAL_MINIMUM_PGSQL',  '8.3');
-
-/**
- * Minimum supported version of SQLite, if it is used.
- */
-define('DRUPAL_MINIMUM_SQLITE',  '3.3.7');
-
-/**
  * Indicates that the item should never be removed unless explicitly selected.
  *
  * The item may be removed using cache_clear_all() with a cache ID.
Index: includes/install.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/install.inc,v
retrieving revision 1.143
diff -u -p -r1.143 install.inc
--- includes/install.inc	13 Nov 2010 14:08:47 -0000	1.143
+++ includes/install.inc	13 Nov 2010 19:01:42 -0000
@@ -277,6 +277,10 @@ abstract class DatabaseTasks {
    */
   protected $tasks = array(
     array(
+      'function'    => 'checkEngineVersion',
+      'arguments'   => array(),
+    ),
+    array(
       'arguments'   => array(
         'CREATE TABLE drupal_install_test (id int NULL)',
         'Drupal can use CREATE TABLE database commands.',
@@ -348,8 +352,21 @@ abstract class DatabaseTasks {
     return $this->hasPdoDriver() && empty($this->error);
   }
 
+  /**
+   * Return the human-readable name of the driver.
+   */
   abstract public function name();
-  abstract protected function minimumVersion();
+
+  /**
+   * Return the minimum required version of the engine.
+   *
+   * @return
+   *   A version string. If not NULL, it will be checked against the version
+   *   reported by the Database engine using version_compare().
+   */
+  public function minimumVersion() {
+    return 0;
+  }
 
   /**
    * Run database tasks and tests to see if Drupal can run on the database.
@@ -357,9 +374,6 @@ abstract class DatabaseTasks {
   public function runTasks() {
     // We need to establish a connection before we can run tests.
     if ($this->connect()) {
-      if (version_compare(Database::getConnection()->version(), $this->minimumVersion()) < 0) {
-        throw new DatabaseTaskException(st("The database version %version is less than the minimum required version %minimum_version.", array('%version' => Database::getConnection()->version(), '%minimum_version' => $this->minimumVersion())));
-      }
       foreach ($this->tasks as $task) {
         if (!isset($task['function'])) {
           $task['function'] = 'runTestQuery';
@@ -419,6 +433,15 @@ abstract class DatabaseTasks {
       return !$fatal;
     }
   }
+
+  /**
+   * Check the engine version.
+   */
+  protected function checkEngineVersion() {
+    if (version_compare(Database::getConnection()->version(), $this->minimumVersion()) < 0) {
+      $this->fail(st("The database version %version is less than the minimum required version %minimum_version.", array('%version' => Database::getConnection()->version(), '%minimum_version' => $this->minimumVersion())));
+    }
+  }
 }
 /**
  * @class Exception class used to throw error if the DatabaseInstaller fails.
Index: includes/database/mysql/install.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/database/mysql/install.inc,v
retrieving revision 1.5
diff -u -p -r1.5 install.inc
--- includes/database/mysql/install.inc	13 Nov 2010 14:08:47 -0000	1.5
+++ includes/database/mysql/install.inc	13 Nov 2010 19:01:42 -0000
@@ -10,7 +10,6 @@
  * Specifies installation tasks for MySQL and equivalent databases.
  */
 class DatabaseTasks_mysql extends DatabaseTasks {
-
   /**
    * The PDO driver name for MySQL and equivalent databases.
    *
@@ -26,10 +25,10 @@ class DatabaseTasks_mysql extends Databa
   }
 
   /**
-   * Returns the minimum version for mysql.
+   * Returns the minimum version for MySQL.
    */
-  protected function minimumVersion() {
-    return DRUPAL_MINIMUM_MYSQL;
+  public function minimumVersion() {
+    return '5.0.15';
   }
 }
 
Index: includes/database/pgsql/install.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/database/pgsql/install.inc,v
retrieving revision 1.11
diff -u -p -r1.11 install.inc
--- includes/database/pgsql/install.inc	13 Nov 2010 14:08:47 -0000	1.11
+++ includes/database/pgsql/install.inc	13 Nov 2010 19:01:42 -0000
@@ -31,8 +31,8 @@ class DatabaseTasks_pgsql extends Databa
     return 'PostgreSQL';
   }
 
-  protected function minimumVersion() {
-    return DRUPAL_MINIMUM_PGSQL;
+  public function minimumVersion() {
+    return '8.3';
   }
 
   /**
Index: includes/database/sqlite/install.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/database/sqlite/install.inc,v
retrieving revision 1.3
diff -u -p -r1.3 install.inc
--- includes/database/sqlite/install.inc	13 Nov 2010 14:08:47 -0000	1.3
+++ includes/database/sqlite/install.inc	13 Nov 2010 19:01:42 -0000
@@ -8,11 +8,18 @@
 
 class DatabaseTasks_sqlite extends DatabaseTasks {
   protected $pdoDriver = 'sqlite';
+
   public function name() {
     return 'SQLite';
   }
-  protected function minimumVersion() {
-    return DRUPAL_MINIMUM_SQLITE;
+
+  /**
+   * Minimum engine version.
+   *
+   * @todo: consider upping to 3.6.8 in Drupal 8 to get SAVEPOINT support.
+   */
+  public function minimumVersion() {
+    return '3.3.7';
   }
 }
 
