mirror of
https://code.mensbeam.com/MensBeam/Arsse.git
synced 2024-12-22 13:12:41 +00:00
Adjustments for MySQL 8
The prototype had been tested against MariaDB
This commit is contained in:
parent
4ef36643a4
commit
393b4e95ad
4 changed files with 20 additions and 18 deletions
|
@ -13,7 +13,7 @@ use JKingWeb\Arsse\Db\ExceptionInput;
|
||||||
use JKingWeb\Arsse\Db\ExceptionTimeout;
|
use JKingWeb\Arsse\Db\ExceptionTimeout;
|
||||||
|
|
||||||
class Driver extends \JKingWeb\Arsse\Db\AbstractDriver {
|
class Driver extends \JKingWeb\Arsse\Db\AbstractDriver {
|
||||||
const SQL_MODE = "ANSI_QUOTES,HIGH_NOT_PRECEDENCE,NO_BACKSLASH_ESCAPES,NO_ENGINE_SUBSTITUTION,ONLY_FULL_GROUP_BY,PIPES_AS_CONCAT,STRICT_ALL_TABLES";
|
const SQL_MODE = "ANSI_QUOTES,HIGH_NOT_PRECEDENCE,NO_BACKSLASH_ESCAPES,NO_ENGINE_SUBSTITUTION,PIPES_AS_CONCAT,STRICT_ALL_TABLES";
|
||||||
const TRANSACTIONAL_LOCKS = false;
|
const TRANSACTIONAL_LOCKS = false;
|
||||||
|
|
||||||
protected $db;
|
protected $db;
|
||||||
|
@ -72,7 +72,7 @@ class Driver extends \JKingWeb\Arsse\Db\AbstractDriver {
|
||||||
public function sqlToken(string $token): string {
|
public function sqlToken(string $token): string {
|
||||||
switch (strtolower($token)) {
|
switch (strtolower($token)) {
|
||||||
case "nocase":
|
case "nocase":
|
||||||
return '"utf8mb4_unicode_nopad_ci"';
|
return '"utf8mb4_unicode_ci"';
|
||||||
default:
|
default:
|
||||||
return $token;
|
return $token;
|
||||||
}
|
}
|
||||||
|
@ -120,7 +120,7 @@ class Driver extends \JKingWeb\Arsse\Db\AbstractDriver {
|
||||||
try {
|
try {
|
||||||
$this->exec("SET lock_wait_timeout = 1; LOCK TABLES $tables");
|
$this->exec("SET lock_wait_timeout = 1; LOCK TABLES $tables");
|
||||||
} finally {
|
} finally {
|
||||||
$this->exec("SET lock_wait_timeout = 0");
|
$this->exec("SET lock_wait_timeout = 60");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -44,6 +44,8 @@ trait PDOError {
|
||||||
return [ExceptionTimeout::class, 'general', $err[2]];
|
return [ExceptionTimeout::class, 'general', $err[2]];
|
||||||
case 1364:
|
case 1364:
|
||||||
return [ExceptionInput::class, "constraintViolation", $err[2]];
|
return [ExceptionInput::class, "constraintViolation", $err[2]];
|
||||||
|
case 1366:
|
||||||
|
return [ExceptionInput::class, 'engineTypeViolation', $err[2]];
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,6 +28,6 @@ create table arsse_label_members (
|
||||||
primary key(label,article)
|
primary key(label,article)
|
||||||
) character set utf8mb4;
|
) character set utf8mb4;
|
||||||
|
|
||||||
alter table arsse_marks add column note longtext not null default '';
|
alter table arsse_marks add column note longtext;
|
||||||
|
|
||||||
update arsse_meta set value = '2' where `key` = 'schema_version';
|
update arsse_meta set value = '2' where `key` = 'schema_version';
|
||||||
|
|
|
@ -4,20 +4,20 @@
|
||||||
|
|
||||||
-- Please consult the SQLite 3 schemata for commented version
|
-- Please consult the SQLite 3 schemata for commented version
|
||||||
|
|
||||||
alter table arsse_users default character set utf8mb4 collate utf8mb4_unicode_nopad_ci;
|
alter table arsse_users default character set utf8mb4 collate utf8mb4_unicode_ci;
|
||||||
alter table arsse_folders default character set utf8mb4 collate utf8mb4_unicode_nopad_ci;
|
alter table arsse_folders default character set utf8mb4 collate utf8mb4_unicode_ci;
|
||||||
alter table arsse_feeds default character set utf8mb4 collate utf8mb4_unicode_nopad_ci;
|
alter table arsse_feeds default character set utf8mb4 collate utf8mb4_unicode_ci;
|
||||||
alter table arsse_subscriptions default character set utf8mb4 collate utf8mb4_unicode_nopad_ci;
|
alter table arsse_subscriptions default character set utf8mb4 collate utf8mb4_unicode_ci;
|
||||||
alter table arsse_articles default character set utf8mb4 collate utf8mb4_unicode_nopad_ci;
|
alter table arsse_articles default character set utf8mb4 collate utf8mb4_unicode_ci;
|
||||||
alter table arsse_categories default character set utf8mb4 collate utf8mb4_unicode_nopad_ci;
|
alter table arsse_categories default character set utf8mb4 collate utf8mb4_unicode_ci;
|
||||||
alter table arsse_labels default character set utf8mb4 collate utf8mb4_unicode_nopad_ci;
|
alter table arsse_labels default character set utf8mb4 collate utf8mb4_unicode_ci;
|
||||||
|
|
||||||
alter table arsse_users convert to character set utf8mb4 collate utf8mb4_unicode_nopad_ci;
|
alter table arsse_users convert to character set utf8mb4 collate utf8mb4_unicode_ci;
|
||||||
alter table arsse_folders convert to character set utf8mb4 collate utf8mb4_unicode_nopad_ci;
|
alter table arsse_folders convert to character set utf8mb4 collate utf8mb4_unicode_ci;
|
||||||
alter table arsse_feeds convert to character set utf8mb4 collate utf8mb4_unicode_nopad_ci;
|
alter table arsse_feeds convert to character set utf8mb4 collate utf8mb4_unicode_ci;
|
||||||
alter table arsse_subscriptions convert to character set utf8mb4 collate utf8mb4_unicode_nopad_ci;
|
alter table arsse_subscriptions convert to character set utf8mb4 collate utf8mb4_unicode_ci;
|
||||||
alter table arsse_articles convert to character set utf8mb4 collate utf8mb4_unicode_nopad_ci;
|
alter table arsse_articles convert to character set utf8mb4 collate utf8mb4_unicode_ci;
|
||||||
alter table arsse_categories convert to character set utf8mb4 collate utf8mb4_unicode_nopad_ci;
|
alter table arsse_categories convert to character set utf8mb4 collate utf8mb4_unicode_ci;
|
||||||
alter table arsse_labels convert to character set utf8mb4 collate utf8mb4_unicode_nopad_ci;
|
alter table arsse_labels convert to character set utf8mb4 collate utf8mb4_unicode_ci;
|
||||||
|
|
||||||
update arsse_meta set value = '3' where `key` = 'schema_version';
|
update arsse_meta set value = '3' where `key` = 'schema_version';
|
||||||
|
|
Loading…
Reference in a new issue