From 1d5afdf9501623d03985a5d77cacc8356f84dcfe Mon Sep 17 00:00:00 2001 From: zajca Date: Fri, 3 Oct 2025 13:33:25 +0200 Subject: [PATCH] drop php-utils dep --- composer.json | 13 +++++--- .../tests/Functional/BaseProjectTestCase.php | 1 - .../php-table-backend-utils/composer.json | 1 - .../src/Table/SynapseTableReflection.php | 32 ++++++++++++++++--- 4 files changed, 37 insertions(+), 10 deletions(-) diff --git a/composer.json b/composer.json index 257c622cf..804b4aa48 100755 --- a/composer.json +++ b/composer.json @@ -7,9 +7,9 @@ } ], "require": { - "php": "^8.2", "aws/aws-sdk-php": "^3", "doctrine/dbal": "^3.3", + "ext-bcmath": "*", "ext-json": "*", "ext-odbc": "*", "ext-pdo": "*", @@ -18,17 +18,21 @@ "google/protobuf": "^3.21", "keboola/common-exceptions": "^1", "keboola/csv-options": "^1", + "keboola/key-generator": "^1.0", "keboola/php-csv-db-import": "^6", "keboola/php-file-storage-utils": "^0.2.2", "keboola/php-temp": "^2.0", - "keboola/php-utils": "^4.1", "keboola/retry": "^0.5.0", "microsoft/azure-storage-blob": "^1.4", + "php": "^8.2", "symfony/console": "^5.2|^6", "symfony/filesystem": "^5.2|^6", "symfony/process": "^4.4|^5.0|^6.0" }, "require-dev": { + "flow-php/filesystem": "^0.21.0", + "flow-php/parquet": "^0.21.0", + "flow-php/types": "^0.21.0", "keboola/coding-standard": "^15", "keboola/phpunit-retry-annotations": "^0.3.0", "php-parallel-lint/php-parallel-lint": "^1.3", @@ -62,13 +66,14 @@ "GPBMetadata\\Tests\\": "packages/php-storage-driver-common/tests/generated/GPBMetadata/Tests", "Keboola\\DatatypeTest\\": "packages/php-datatypes/tests/", "Keboola\\StorageDriver\\GeneratedTests\\": "packages/php-storage-driver-common/tests/generated/Keboola/StorageDriver/GeneratedTests", + "Keboola\\StorageDriver\\Snowflake\\Tests\\": "packages/php-storage-driver-snowflake/tests/", + "Keboola\\StorageDriver\\Snowflake\\Tests\\Functional\\": "packages/php-storage-driver-snowflake/tests/Functional", "Keboola\\StorageDriver\\TestsStubLoader\\": "packages/php-storage-driver-common/tests/StubLoader", "Keboola\\StorageDriver\\UnitTests\\": "packages/php-storage-driver-common/tests/unit", "Tests\\Keboola\\Db\\ImportExportCommon\\": "packages/php-db-import-export/tests/Common", "Tests\\Keboola\\Db\\ImportExportFunctional\\": "packages/php-db-import-export/tests/functional/", "Tests\\Keboola\\Db\\ImportExportUnit\\": "packages/php-db-import-export/tests/unit", - "Tests\\Keboola\\TableBackendUtils\\": "packages/php-table-backend-utils/tests", - "Keboola\\StorageDriver\\Snowflake\\Tests\\Functional\\": "packages/php-storage-driver-snowflake/tests/Functional" + "Tests\\Keboola\\TableBackendUtils\\": "packages/php-table-backend-utils/tests" } }, "replace": { diff --git a/packages/php-storage-driver-snowflake/tests/Functional/BaseProjectTestCase.php b/packages/php-storage-driver-snowflake/tests/Functional/BaseProjectTestCase.php index 843a585cd..01d888241 100644 --- a/packages/php-storage-driver-snowflake/tests/Functional/BaseProjectTestCase.php +++ b/packages/php-storage-driver-snowflake/tests/Functional/BaseProjectTestCase.php @@ -16,7 +16,6 @@ use Keboola\StorageDriver\Snowflake\Handler\Project\CreateDevBranchHandler; use Keboola\StorageDriver\Snowflake\NameGenerator; use Keboola\TableBackendUtils\Escaping\Snowflake\SnowflakeQuote; -use function Keboola\Utils\returnBytes; abstract class BaseProjectTestCase extends BaseCase { diff --git a/packages/php-table-backend-utils/composer.json b/packages/php-table-backend-utils/composer.json index 05836a775..e39267818 100644 --- a/packages/php-table-backend-utils/composer.json +++ b/packages/php-table-backend-utils/composer.json @@ -17,7 +17,6 @@ "google/cloud-bigquery": "^1.23", "keboola/common-exceptions": "^1", "keboola/php-datatypes": ">=8", - "keboola/php-utils": "^4.1", "keboola/retry": "^0.5.0" }, "require-dev": { diff --git a/packages/php-table-backend-utils/src/Table/SynapseTableReflection.php b/packages/php-table-backend-utils/src/Table/SynapseTableReflection.php index e929ff49d..368cef13e 100644 --- a/packages/php-table-backend-utils/src/Table/SynapseTableReflection.php +++ b/packages/php-table-backend-utils/src/Table/SynapseTableReflection.php @@ -13,7 +13,6 @@ use Keboola\TableBackendUtils\Table\Synapse\TableIndexDefinition; use Keboola\TableBackendUtils\TableNotExistsReflectionException; use LogicException; -use function Keboola\Utils\returnBytes; final class SynapseTableReflection implements TableReflectionInterface { @@ -200,15 +199,40 @@ public function getTableStats(): TableStatsInterface SynapseQuote::quoteSingleIdentifier($this->tableName), )); + $data = preg_replace('/[B\s]+/ui', '', $info['data']); + assert($data !== null); return new TableStats( - (int) returnBytes( - // removes all whitespaces and unit(bytes) - preg_replace('/[B\s]+/ui', '', $info['data']), + (int) $this->returnBytes( + // removes all whitespaces and unit(bytes) + $data, ), (int) $info['rows'], ); } + private function returnBytes(string $val): int|string + { + $val = trim($val); + $last = strtolower($val[strlen($val) - 1]); + $val = substr($val, 0, -1); + switch ($last) { + // The 'G' modifier is available since PHP 5.1.0 + case 'g': + //@phpstan-ignore-next-line + $val *= 1024; + // passthrough + case 'm': + $val *= 1024; + // passthrough + case 'k': + //@phpstan-ignore-next-line + $val *= 1024; + // passthrough + } + + return $val; + } + public function isTemporary(): bool { return $this->isTemporary;