*/ class TestDriver extends \JKingWeb\Arsse\TestCase\Db\BaseDriver { use \JKingWeb\Arsse\TestCase\DatabaseDrivers\MySQL; protected $create = "CREATE TABLE arsse_test(id bigint auto_increment primary key)"; protected $lock = ["SET lock_wait_timeout = 1", "LOCK TABLES arsse_meta WRITE"]; protected $setVersion = "UPDATE arsse_meta set value = '#' where `key` = 'schema_version'"; protected static $insertDefaultValues = "INSERT INTO arsse_test(id) values(default)"; protected function exec($q): bool { if (is_array($q)) { $q = implode("; ", $q); } static::$interface->multi_query($q); $e = null; do { if (!$e && static::$interface->sqlstate !== "00000") { $e = new \Exception(static::$interface->error); } } while (static::$interface->more_results() && static::$interface->next_result()); if ($e) { throw $e; } return true; } protected function query(string $q) { $r = static::$interface->query($q); if ($r) { $row = $r->fetch_row(); $r->free(); if ($row) { return $row[0]; } else { return null; } } return null; } }