diff --git a/src/Client/Http/RequestFactory.php b/src/Client/Http/RequestFactory.php index a5d6088..8334a10 100644 --- a/src/Client/Http/RequestFactory.php +++ b/src/Client/Http/RequestFactory.php @@ -24,7 +24,7 @@ use const PHP_QUERY_RFC3986; -final class RequestFactory +final readonly class RequestFactory { private UriInterface|null $uri; diff --git a/src/Client/Http/RequestOptions.php b/src/Client/Http/RequestOptions.php index 772ffd5..7f04e25 100644 --- a/src/Client/Http/RequestOptions.php +++ b/src/Client/Http/RequestOptions.php @@ -4,7 +4,7 @@ namespace SimPod\ClickHouseClient\Client\Http; -final class RequestOptions +final readonly class RequestOptions { /** @param array $params */ public function __construct( diff --git a/src/Client/Http/RequestSettings.php b/src/Client/Http/RequestSettings.php index 0f99893..96d9b15 100644 --- a/src/Client/Http/RequestSettings.php +++ b/src/Client/Http/RequestSettings.php @@ -4,7 +4,7 @@ namespace SimPod\ClickHouseClient\Client\Http; -final class RequestSettings +final readonly class RequestSettings { /** @var array */ public array $settings; diff --git a/src/Client/PsrClickHouseAsyncClient.php b/src/Client/PsrClickHouseAsyncClient.php index 356c2bc..35ffc5d 100644 --- a/src/Client/PsrClickHouseAsyncClient.php +++ b/src/Client/PsrClickHouseAsyncClient.php @@ -21,7 +21,7 @@ use function uniqid; -class PsrClickHouseAsyncClient implements ClickHouseAsyncClient +readonly class PsrClickHouseAsyncClient implements ClickHouseAsyncClient { private SqlFactory $sqlFactory; diff --git a/src/Client/PsrClickHouseClient.php b/src/Client/PsrClickHouseClient.php index b5bb102..8eb08b9 100644 --- a/src/Client/PsrClickHouseClient.php +++ b/src/Client/PsrClickHouseClient.php @@ -36,7 +36,7 @@ use function sprintf; use function uniqid; -class PsrClickHouseClient implements ClickHouseClient +readonly class PsrClickHouseClient implements ClickHouseClient { private ValueFormatter $valueFormatter; diff --git a/src/Format/Json.php b/src/Format/Json.php index ebc42ae..f715d20 100644 --- a/src/Format/Json.php +++ b/src/Format/Json.php @@ -11,7 +11,7 @@ * @template T * @implements Format<\SimPod\ClickHouseClient\Output\Json> */ -final class Json implements Format +final readonly class Json implements Format { /** @throws JsonException */ public static function output(string $contents): Output diff --git a/src/Format/JsonCompact.php b/src/Format/JsonCompact.php index 9f986ea..6921ca7 100644 --- a/src/Format/JsonCompact.php +++ b/src/Format/JsonCompact.php @@ -11,7 +11,7 @@ * @template T * @implements Format<\SimPod\ClickHouseClient\Output\JsonCompact> */ -final class JsonCompact implements Format +final readonly class JsonCompact implements Format { /** @throws JsonException */ public static function output(string $contents): Output diff --git a/src/Format/JsonEachRow.php b/src/Format/JsonEachRow.php index 819d35a..2856261 100644 --- a/src/Format/JsonEachRow.php +++ b/src/Format/JsonEachRow.php @@ -11,7 +11,7 @@ * @template T * @implements Format<\SimPod\ClickHouseClient\Output\JsonEachRow> */ -final class JsonEachRow implements Format +final readonly class JsonEachRow implements Format { /** @throws JsonException */ public static function output(string $contents): Output diff --git a/src/Format/Null_.php b/src/Format/Null_.php index 5766ccb..28df85f 100644 --- a/src/Format/Null_.php +++ b/src/Format/Null_.php @@ -12,7 +12,7 @@ * @template T * @implements Format<\SimPod\ClickHouseClient\Output\Null_> */ -final class Null_ implements Format +final readonly class Null_ implements Format { public static function output(string $contents): Output { diff --git a/src/Format/Pretty.php b/src/Format/Pretty.php index 3978bb0..f94a6eb 100644 --- a/src/Format/Pretty.php +++ b/src/Format/Pretty.php @@ -11,7 +11,7 @@ * @template T * @implements Format> */ -final class Pretty implements Format +final readonly class Pretty implements Format { public static function output(string $contents): Output { diff --git a/src/Format/PrettySpace.php b/src/Format/PrettySpace.php index c0da02d..99686de 100644 --- a/src/Format/PrettySpace.php +++ b/src/Format/PrettySpace.php @@ -11,7 +11,7 @@ * @template T * @implements Format> */ -final class PrettySpace implements Format +final readonly class PrettySpace implements Format { public static function output(string $contents): Output { diff --git a/src/Format/RowBinary.php b/src/Format/RowBinary.php index ff3eb55..58ca45e 100644 --- a/src/Format/RowBinary.php +++ b/src/Format/RowBinary.php @@ -11,7 +11,7 @@ * @template T * @implements Format> */ -final class RowBinary implements Format +final readonly class RowBinary implements Format { public static function output(string $contents): Output { diff --git a/src/Format/TabSeparated.php b/src/Format/TabSeparated.php index 5944855..c67d472 100644 --- a/src/Format/TabSeparated.php +++ b/src/Format/TabSeparated.php @@ -11,7 +11,7 @@ * @template T * @implements Format> */ -final class TabSeparated implements Format +final readonly class TabSeparated implements Format { public static function output(string $contents): Output { diff --git a/src/Logger/LoggerChain.php b/src/Logger/LoggerChain.php index 6c97721..b05cf47 100644 --- a/src/Logger/LoggerChain.php +++ b/src/Logger/LoggerChain.php @@ -4,7 +4,7 @@ namespace SimPod\ClickHouseClient\Logger; -final class LoggerChain implements SqlLogger +final readonly class LoggerChain implements SqlLogger { /** @param SqlLogger[] $loggers */ public function __construct(private array $loggers = []) diff --git a/src/Logger/PsrLogger.php b/src/Logger/PsrLogger.php index e6ad7d7..40bcf6c 100644 --- a/src/Logger/PsrLogger.php +++ b/src/Logger/PsrLogger.php @@ -6,7 +6,7 @@ use Psr\Log\LoggerInterface; -final class PsrLogger implements SqlLogger +final readonly class PsrLogger implements SqlLogger { public function __construct(private LoggerInterface $logger) { diff --git a/src/Output/Basic.php b/src/Output/Basic.php index f2a608a..0ecfe05 100644 --- a/src/Output/Basic.php +++ b/src/Output/Basic.php @@ -9,7 +9,7 @@ * @template T * @implements Output */ -final class Basic implements Output +final readonly class Basic implements Output { public function __construct(public string $contents) { diff --git a/src/Output/Json.php b/src/Output/Json.php index 4a96cab..553f087 100644 --- a/src/Output/Json.php +++ b/src/Output/Json.php @@ -15,7 +15,7 @@ * @template T * @implements Output */ -final class Json implements Output +final readonly class Json implements Output { /** @var list */ public array $data; diff --git a/src/Output/JsonCompact.php b/src/Output/JsonCompact.php index 782f3fe..a844c9b 100644 --- a/src/Output/JsonCompact.php +++ b/src/Output/JsonCompact.php @@ -15,7 +15,7 @@ * @template T * @implements Output */ -final class JsonCompact implements Output +final readonly class JsonCompact implements Output { /** @var list */ public array $data; diff --git a/src/Output/JsonEachRow.php b/src/Output/JsonEachRow.php index a54d146..6be4118 100644 --- a/src/Output/JsonEachRow.php +++ b/src/Output/JsonEachRow.php @@ -17,7 +17,7 @@ * @template T * @implements Output */ -final class JsonEachRow implements Output +final readonly class JsonEachRow implements Output { /** @var list */ public array $data; diff --git a/src/Output/Null_.php b/src/Output/Null_.php index ae4f8b1..6ff92d3 100644 --- a/src/Output/Null_.php +++ b/src/Output/Null_.php @@ -11,7 +11,7 @@ * @template T * @implements Output */ -final class Null_ implements Output +final readonly class Null_ implements Output { public function __construct(string $_) { diff --git a/src/Param/ParamValueConverterRegistry.php b/src/Param/ParamValueConverterRegistry.php index 286c3df..148ce72 100644 --- a/src/Param/ParamValueConverterRegistry.php +++ b/src/Param/ParamValueConverterRegistry.php @@ -32,9 +32,9 @@ * @phpstan-type Converter Closure(mixed, Type|string|null, bool):(StreamInterface|string) * @phpstan-type ConverterRegistry array */ -final class ParamValueConverterRegistry +final readonly class ParamValueConverterRegistry { - private const CaseInsensitiveTypes = [ + private const array CaseInsensitiveTypes = [ 'bool', 'date', 'date32', diff --git a/src/Snippet/CurrentDatabase.php b/src/Snippet/CurrentDatabase.php index ab7d641..47eed32 100644 --- a/src/Snippet/CurrentDatabase.php +++ b/src/Snippet/CurrentDatabase.php @@ -9,7 +9,7 @@ use SimPod\ClickHouseClient\Exception\ServerError; use SimPod\ClickHouseClient\Format\JsonEachRow; -final class CurrentDatabase +final readonly class CurrentDatabase { /** * @throws ClientExceptionInterface diff --git a/src/Snippet/DatabaseSize.php b/src/Snippet/DatabaseSize.php index 0354c00..40cfc62 100644 --- a/src/Snippet/DatabaseSize.php +++ b/src/Snippet/DatabaseSize.php @@ -12,7 +12,7 @@ use SimPod\ClickHouseClient\Format\JsonEachRow; use SimPod\ClickHouseClient\Sql\Expression; -final class DatabaseSize +final readonly class DatabaseSize { /** * @throws ClientExceptionInterface diff --git a/src/Snippet/Parts.php b/src/Snippet/Parts.php index 065b631..78a1ce4 100644 --- a/src/Snippet/Parts.php +++ b/src/Snippet/Parts.php @@ -13,7 +13,7 @@ use function sprintf; -final class Parts +final readonly class Parts { /** * @return array> diff --git a/src/Snippet/ShowCreateTable.php b/src/Snippet/ShowCreateTable.php index f1bde5a..60891fb 100644 --- a/src/Snippet/ShowCreateTable.php +++ b/src/Snippet/ShowCreateTable.php @@ -9,7 +9,7 @@ use SimPod\ClickHouseClient\Exception\ServerError; use SimPod\ClickHouseClient\Format\JsonEachRow; -final class ShowCreateTable +final readonly class ShowCreateTable { /** * @throws ClientExceptionInterface diff --git a/src/Snippet/ShowDatabases.php b/src/Snippet/ShowDatabases.php index 042c680..468d842 100644 --- a/src/Snippet/ShowDatabases.php +++ b/src/Snippet/ShowDatabases.php @@ -11,7 +11,7 @@ use function array_map; -final class ShowDatabases +final readonly class ShowDatabases { /** * @return list diff --git a/src/Snippet/TableSizes.php b/src/Snippet/TableSizes.php index 054b0c0..daad74c 100644 --- a/src/Snippet/TableSizes.php +++ b/src/Snippet/TableSizes.php @@ -13,7 +13,7 @@ use SimPod\ClickHouseClient\Sql\Expression; /** @phpstan-type Entry array{table: string, database: string, size: string, min_date: string, max_date: string} */ -final class TableSizes +final readonly class TableSizes { /** * @return array diff --git a/src/Snippet/Version.php b/src/Snippet/Version.php index a78944f..a482d47 100644 --- a/src/Snippet/Version.php +++ b/src/Snippet/Version.php @@ -9,7 +9,7 @@ use SimPod\ClickHouseClient\Exception\ServerError; use SimPod\ClickHouseClient\Format\JsonEachRow; -final class Version +final readonly class Version { /** * @throws ClientExceptionInterface diff --git a/src/Sql/Escaper.php b/src/Sql/Escaper.php index 04b2da0..f963cf8 100644 --- a/src/Sql/Escaper.php +++ b/src/Sql/Escaper.php @@ -11,7 +11,7 @@ * * @link https://github.com/ClickHouse/clickhouse-jdbc/blob/8481c1323f5de09bb9dbbf67085e5e1b2585756a/src/main/java/ru/yandex/clickhouse/ClickHouseUtil.java */ -final class Escaper +final readonly class Escaper { public static function escape(string $s): string { diff --git a/src/Sql/Expression.php b/src/Sql/Expression.php index adb289c..50b86f7 100644 --- a/src/Sql/Expression.php +++ b/src/Sql/Expression.php @@ -4,7 +4,7 @@ namespace SimPod\ClickHouseClient\Sql; -final class Expression +final readonly class Expression { public string $innerExpression; diff --git a/src/Sql/SqlFactory.php b/src/Sql/SqlFactory.php index 504915c..6308025 100644 --- a/src/Sql/SqlFactory.php +++ b/src/Sql/SqlFactory.php @@ -13,7 +13,7 @@ use function str_replace; /** @internal */ -final class SqlFactory +final readonly class SqlFactory { public function __construct(private ValueFormatter $valueFormatter) { diff --git a/tests/ClickHouseVersion.php b/tests/ClickHouseVersion.php index ca85ac7..e1095d4 100644 --- a/tests/ClickHouseVersion.php +++ b/tests/ClickHouseVersion.php @@ -15,9 +15,9 @@ use const STR_PAD_LEFT; -final class ClickHouseVersion +final readonly class ClickHouseVersion { - private const EnvName = 'CLICKHOUSE_VERSION'; + private const string EnvName = 'CLICKHOUSE_VERSION'; /** @throws RuntimeException */ public static function get(): int