/** * Change the connection to the specified database, optionally creating the * database if it doesn't exist in the current schema. * * @param string $name Name of the database * @param boolean $create Flag indicating whether the database should be created * if it doesn't exist. If $create is false and the database doesn't exist * then an error will be raised * @param int|boolean $errorLevel The level of error reporting to enable for the query, or false if no error * should be raised * @return boolean Flag indicating success */ public function selectDatabase($name, $create = false, $errorLevel = E_USER_ERROR) { if (!$this->schemaManager->databaseExists($name)) { // Check DB creation permisson if (!$create) { if ($errorLevel !== false) { user_error("Attempted to connect to non-existing database \"{$name}\"", $errorLevel); } // Unselect database $this->connector->unloadDatabase(); return false; } $this->schemaManager->createDatabase($name); } return $this->connector->selectDatabase($name); }