mirror of
https://github.com/typecho/typecho.git
synced 2025-01-29 10:21:11 +01:00
fix #1187
This commit is contained in:
parent
b33a9c4d02
commit
c66b6e20ec
@ -129,6 +129,14 @@ class Db
|
||||
$this->adapter = new $adapterName();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Adapter
|
||||
*/
|
||||
public function getAdapter(): Adapter
|
||||
{
|
||||
return $this->adapter;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取适配器名称
|
||||
*
|
||||
|
@ -37,6 +37,13 @@ interface Adapter
|
||||
*/
|
||||
public function getVersion($handle): string;
|
||||
|
||||
/**
|
||||
* 获取数据库类型
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getDriver(): string;
|
||||
|
||||
/**
|
||||
* 清空数据表
|
||||
*
|
||||
|
@ -29,4 +29,12 @@ trait MysqlTrait
|
||||
{
|
||||
return $this->buildQuery($sql);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getDriver(): string
|
||||
{
|
||||
return 'mysql';
|
||||
}
|
||||
}
|
||||
|
@ -75,7 +75,7 @@ class Mysqli implements Adapter
|
||||
*/
|
||||
public function getVersion($handle): string
|
||||
{
|
||||
return 'mysqli:mysql ' . $this->dbLink->server_version;
|
||||
return $this->dbLink->server_version;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -81,8 +81,7 @@ abstract class Pdo implements Adapter
|
||||
*/
|
||||
public function getVersion($handle): string
|
||||
{
|
||||
return 'pdo:' . $handle->getAttribute(\PDO::ATTR_DRIVER_NAME)
|
||||
. ' ' . $handle->getAttribute(\PDO::ATTR_SERVER_VERSION);
|
||||
return $handle->getAttribute(\PDO::ATTR_SERVER_VERSION);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -63,7 +63,7 @@ class Pgsql implements Adapter
|
||||
public function getVersion($handle): string
|
||||
{
|
||||
$version = pg_version($handle);
|
||||
return 'pgsql:pgsql ' . $version['server'];
|
||||
return $version['server'];
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -153,6 +153,14 @@ WHERE
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getDriver(): string
|
||||
{
|
||||
return 'pgsql';
|
||||
}
|
||||
|
||||
abstract public function query(
|
||||
string $query,
|
||||
$handle,
|
||||
|
@ -57,7 +57,7 @@ class SQLite implements Adapter
|
||||
*/
|
||||
public function getVersion($handle): string
|
||||
{
|
||||
return 'sqlite:sqlite ' . \SQLite3::version()['versionString'];
|
||||
return \SQLite3::version()['versionString'];
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -99,4 +99,12 @@ trait SQLiteTrait
|
||||
|
||||
return $query;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getDriver(): string
|
||||
{
|
||||
return 'sqlite';
|
||||
}
|
||||
}
|
||||
|
@ -2175,7 +2175,9 @@ class Archive extends Contents
|
||||
$select->where("table.contents.password IS NULL OR table.contents.password = ''");
|
||||
}
|
||||
|
||||
$select->where('table.contents.title LIKE ? OR table.contents.text LIKE ?', $searchQuery, $searchQuery)
|
||||
$op = $this->db->getAdapter()->getDriver() == 'pgsql' ? 'ILIKE' : 'LIKE';
|
||||
|
||||
$select->where("table.contents.title {$op} ? OR table.contents.text {$op} ?", $searchQuery, $searchQuery)
|
||||
->where('table.contents.type = ?', 'post');
|
||||
}
|
||||
|
||||
|
@ -4,7 +4,6 @@ namespace Widget;
|
||||
|
||||
use Typecho\Config;
|
||||
use Typecho\Db;
|
||||
use Typecho\Plugin;
|
||||
use Typecho\Widget;
|
||||
|
||||
if (!defined('__TYPECHO_ROOT_DIR__')) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user