本文整理汇总了PHP中DatabaseBase::getType方法的典型用法代码示例。如果您正苦于以下问题:PHP DatabaseBase::getType方法的具体用法?PHP DatabaseBase::getType怎么用?PHP DatabaseBase::getType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DatabaseBase
的用法示例。
在下文中一共展示了DatabaseBase::getType方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: execute
public function execute()
{
// Shouldn't be needed for Postgres
$this->db = $this->getDB(DB_MASTER);
if ($this->db->getType() == 'postgres') {
$this->error("This script is not needed when using Postgres.\n", true);
}
if ($this->db->getType() == 'sqlite') {
if (!DatabaseSqlite::getFulltextSearchModule()) {
$this->error("Your version of SQLite module for PHP doesn't " . "support full-text search (FTS3).\n", true);
}
if (!$this->db->checkForEnabledSearch()) {
$this->error("Your database schema is not configured for " . "full-text search support. Run update.php.\n", true);
}
}
if ($this->db->getType() == 'mysql') {
$this->dropMysqlTextIndex();
$this->clearSearchIndex();
$this->populateSearchIndex();
$this->createMysqlTextIndex();
} else {
$this->clearSearchIndex();
$this->populateSearchIndex();
}
$this->output("Done.\n");
}
示例2: newForDB
/**
* @param DatabaseBase $db
* @param bool $shared
* @param Maintenance $maintenance
*
* @throws MWException
* @return DatabaseUpdater
*/
public static function newForDB(&$db, $shared = false, $maintenance = null)
{
$type = $db->getType();
if (in_array($type, Installer::getDBTypes())) {
$class = ucfirst($type) . 'Updater';
return new $class($db, $shared, $maintenance);
} else {
throw new MWException(__METHOD__ . ' called for unsupported $wgDBtype');
}
}
示例3: checkDbIsSupported
/**
* @throws MWException
* @since 1.18
*/
protected function checkDbIsSupported()
{
if (!in_array($this->db->getType(), $this->supportedDBs)) {
throw new MWException($this->db->getType() . " is not currently supported for unit testing.");
}
}
示例4: array
/**
* @param $params array
*/
function __construct($params)
{
$this->db = $params['connection'];
parent::__construct(array('servers' => array(array('type' => $this->db->getType(), 'host' => $this->db->getServer(), 'dbname' => $this->db->getDBname(), 'load' => 1))));
}
示例5: __construct
/**
* @param array $params
*/
public function __construct(array $params)
{
$this->db = $params['connection'];
parent::__construct(['servers' => [['type' => $this->db->getType(), 'host' => $this->db->getServer(), 'dbname' => $this->db->getDBname(), 'load' => 1]], 'trxProfiler' => $this->trxProfiler]);
if (isset($params['readOnlyReason'])) {
$this->db->setLBInfo('readOnlyReason', $params['readOnlyReason']);
}
}
示例6: dropFunctions
private function dropFunctions()
{
$this->db->query('DROP FUNCTION IF EXISTS mw_test_function' . ($this->db->getType() == 'postgres' ? '()' : ''));
}
示例7: getBatchCondition
/**
* Return an SQL expression selecting rows which sort above the given row,
* assuming an ordering of cl_collation, cl_to, cl_type, cl_from
* @param stdClass $row
* @param DatabaseBase $dbw
* @return string
*/
function getBatchCondition($row, $dbw)
{
if ($this->hasOption('previous-collation')) {
$fields = ['cl_to', 'cl_type', 'cl_from'];
} else {
$fields = ['cl_collation', 'cl_to', 'cl_type', 'cl_from'];
}
$first = true;
$cond = false;
$prefix = false;
foreach ($fields as $field) {
if ($dbw->getType() === 'mysql' && $field === 'cl_type') {
// Range conditions with enums are weird in mysql
// This must be a numeric literal, or it won't work.
$encValue = intval($row->cl_type_numeric);
} else {
$encValue = $dbw->addQuotes($row->{$field});
}
$inequality = "{$field} > {$encValue}";
$equality = "{$field} = {$encValue}";
if ($first) {
$cond = $inequality;
$prefix = $equality;
$first = false;
} else {
$cond .= " OR ({$prefix} AND {$inequality})";
$prefix .= " AND {$equality}";
}
}
return $cond;
}