From 358388ae47e4800fd51ee7d95c8e5668c9da88d7 Mon Sep 17 00:00:00 2001 From: David Grudl Date: Wed, 4 Sep 2024 03:49:25 +0200 Subject: [PATCH] cs --- src/Database/Drivers/Engine.php | 14 +++++++------ src/Database/Drivers/Engines/MSSQLEngine.php | 12 +++++------ src/Database/Drivers/Engines/MySQLEngine.php | 20 +++++++++---------- src/Database/Drivers/Engines/ODBCEngine.php | 12 +++++------ src/Database/Drivers/Engines/OracleEngine.php | 12 +++++------ .../Drivers/Engines/PostgreSQLEngine.php | 12 +++++------ .../Drivers/Engines/SQLServerEngine.php | 12 +++++------ src/Database/Drivers/Engines/SQLiteEngine.php | 12 +++++------ 8 files changed, 54 insertions(+), 52 deletions(-) diff --git a/src/Database/Drivers/Engine.php b/src/Database/Drivers/Engine.php index 5d632ae95..04c0540de 100644 --- a/src/Database/Drivers/Engine.php +++ b/src/Database/Drivers/Engine.php @@ -26,11 +26,19 @@ interface Engine SupportSubselect = 'subselect', SupportSchema = 'schema'; + /** + * Cheks if driver supports specific property + * @param self::Support* $item + */ + function isSupported(string $item): bool; + /** * Suggests an appropriate class for the exception. */ function determineExceptionClass(DriverException $e): ?string; + /********************* SQL ****************d*g**/ + /** * Delimites identifier for use in a SQL statement. */ @@ -66,10 +74,4 @@ function getIndexes(string $table): array; function getForeignKeys(string $table): array; function resolveColumnConverter(array $meta, TypeConverter $converter): ?\Closure; - - /** - * Cheks if driver supports specific property - * @param self::Support* $item - */ - function isSupported(string $item): bool; } diff --git a/src/Database/Drivers/Engines/MSSQLEngine.php b/src/Database/Drivers/Engines/MSSQLEngine.php index 9ecb939db..3440e667f 100644 --- a/src/Database/Drivers/Engines/MSSQLEngine.php +++ b/src/Database/Drivers/Engines/MSSQLEngine.php @@ -26,6 +26,12 @@ public function __construct( } + public function isSupported(string $item): bool + { + return $item === self::SupportSubselect; + } + + public function determineExceptionClass(Nette\Database\DriverException $e): ?string { return null; @@ -213,10 +219,4 @@ public function resolveColumnConverter(array $meta, TypeConverter $converter): ? { return $converter->resolve($meta); } - - - public function isSupported(string $item): bool - { - return $item === self::SupportSubselect; - } } diff --git a/src/Database/Drivers/Engines/MySQLEngine.php b/src/Database/Drivers/Engines/MySQLEngine.php index 2651f2e46..dfd6b3371 100644 --- a/src/Database/Drivers/Engines/MySQLEngine.php +++ b/src/Database/Drivers/Engines/MySQLEngine.php @@ -26,6 +26,16 @@ public function __construct( } + public function isSupported(string $item): bool + { + // MULTI_COLUMN_AS_OR_COND due to mysql bugs: + // - http://bugs.mysql.com/bug.php?id=31188 + // - http://bugs.mysql.com/bug.php?id=35819 + // and more. + return $item === self::SupportSelectUngroupedColumns || $item === self::SupportMultiColumnAsOrCond; + } + + public function determineExceptionClass(Nette\Database\DriverException $e): ?string { $code = $e->getCode(); @@ -172,14 +182,4 @@ public function resolveColumnConverter(array $meta, TypeConverter $converter): ? default => $converter->resolve($meta), }; } - - - public function isSupported(string $item): bool - { - // MULTI_COLUMN_AS_OR_COND due to mysql bugs: - // - http://bugs.mysql.com/bug.php?id=31188 - // - http://bugs.mysql.com/bug.php?id=35819 - // and more. - return $item === self::SupportSelectUngroupedColumns || $item === self::SupportMultiColumnAsOrCond; - } } diff --git a/src/Database/Drivers/Engines/ODBCEngine.php b/src/Database/Drivers/Engines/ODBCEngine.php index 171b1dc77..7a11e09ba 100644 --- a/src/Database/Drivers/Engines/ODBCEngine.php +++ b/src/Database/Drivers/Engines/ODBCEngine.php @@ -19,6 +19,12 @@ */ class ODBCEngine implements Engine { + public function isSupported(string $item): bool + { + return $item === self::SupportSubselect; + } + + public function determineExceptionClass(Nette\Database\DriverException $e): ?string { return null; @@ -96,10 +102,4 @@ public function resolveColumnConverter(array $meta, TypeConverter $converter): ? { return $converter->resolve($meta); } - - - public function isSupported(string $item): bool - { - return $item === self::SupportSubselect; - } } diff --git a/src/Database/Drivers/Engines/OracleEngine.php b/src/Database/Drivers/Engines/OracleEngine.php index 58faba9a3..afedcbcbd 100644 --- a/src/Database/Drivers/Engines/OracleEngine.php +++ b/src/Database/Drivers/Engines/OracleEngine.php @@ -29,6 +29,12 @@ public function __construct( } + public function isSupported(string $item): bool + { + return $item === self::SupportSequence || $item === self::SupportSubselect; + } + + public function determineExceptionClass(Nette\Database\DriverException $e): ?string { $code = $e->getCode(); @@ -125,10 +131,4 @@ public function resolveColumnConverter(array $meta, TypeConverter $converter): ? { return $converter->resolve($meta); } - - - public function isSupported(string $item): bool - { - return $item === self::SupportSequence || $item === self::SupportSubselect; - } } diff --git a/src/Database/Drivers/Engines/PostgreSQLEngine.php b/src/Database/Drivers/Engines/PostgreSQLEngine.php index 2bc2741ac..bb858e0c3 100644 --- a/src/Database/Drivers/Engines/PostgreSQLEngine.php +++ b/src/Database/Drivers/Engines/PostgreSQLEngine.php @@ -26,6 +26,12 @@ public function __construct( } + public function isSupported(string $item): bool + { + return $item === self::SupportSequence || $item === self::SupportSubselect || $item === self::SupportSchema; + } + + public function determineExceptionClass(Nette\Database\DriverException $e): ?string { return match ($e->getSqlState()) { @@ -234,12 +240,6 @@ public function resolveColumnConverter(array $meta, TypeConverter $converter): ? } - public function isSupported(string $item): bool - { - return $item === self::SupportSequence || $item === self::SupportSubselect || $item === self::SupportSchema; - } - - /** * Converts: schema.name => "schema"."name" */ diff --git a/src/Database/Drivers/Engines/SQLServerEngine.php b/src/Database/Drivers/Engines/SQLServerEngine.php index 45e43a335..aec92d257 100644 --- a/src/Database/Drivers/Engines/SQLServerEngine.php +++ b/src/Database/Drivers/Engines/SQLServerEngine.php @@ -26,6 +26,12 @@ public function __construct( } + public function isSupported(string $item): bool + { + return $item === self::SupportSubselect; + } + + public function determineExceptionClass(Nette\Database\DriverException $e): ?string { return null; @@ -224,10 +230,4 @@ public function resolveColumnConverter(array $meta, TypeConverter $converter): ? default => $converter->resolve($meta), }; } - - - public function isSupported(string $item): bool - { - return $item === self::SupportSubselect; - } } diff --git a/src/Database/Drivers/Engines/SQLiteEngine.php b/src/Database/Drivers/Engines/SQLiteEngine.php index c4e0b49d5..3ab8033fe 100644 --- a/src/Database/Drivers/Engines/SQLiteEngine.php +++ b/src/Database/Drivers/Engines/SQLiteEngine.php @@ -30,6 +30,12 @@ public function __construct( } + public function isSupported(string $item): bool + { + return $item === self::SupportMultiInsertAsSelect || $item === self::SupportSubselect || $item === self::SupportMultiColumnAsOrCond; + } + + public function determineExceptionClass(Nette\Database\DriverException $e): ?string { $message = $e->getMessage(); @@ -232,10 +238,4 @@ public function resolveColumnConverter(array $meta, TypeConverter $converter): ? ? (fn($value): \DateTimeInterface => is_int($value) ? (new DateTime)->setTimestamp($value) : new DateTime($value)) : $converter->resolve($meta); } - - - public function isSupported(string $item): bool - { - return $item === self::SupportMultiInsertAsSelect || $item === self::SupportSubselect || $item === self::SupportMultiColumnAsOrCond; - } }