diff --git a/phpunit.xml.dist b/phpunit.xml.dist index d04b92aa8..c43f354cc 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -62,6 +62,12 @@ src/lib/doctrine-dbal-bulk/tests/Flow/Doctrine/Bulk/Tests/Integration + + src/lib/dremel/tests/Flow/Dremel/Tests/Unit + + + src/lib/dremel/tests/Flow/Dremel/Tests/Integration + src/lib/filesystem/tests/Flow/Filesystem/Tests/Unit @@ -203,6 +209,9 @@ src/bridge/telemetry/otlp/tests/Flow/Bridge/Telemetry/OTLP/Tests/Integration + + src/adapter/etl-adapter-avro/tests/Flow/ETL/Adapter/Avro/Tests/Integration + src/adapter/etl-adapter-chartjs/tests/Flow/ETL/Adapter/ChartJS/Tests/Unit @@ -262,6 +271,12 @@ src/adapter/etl-adapter-parquet/tests/Flow/ETL/Adapter/Parquet/Tests/Integration + + src/adapter/etl-adapter-postgresql/tests/Flow/ETL/Adapter/PostgreSql/Tests/Unit + + + src/adapter/etl-adapter-postgresql/tests/Flow/ETL/Adapter/PostgreSql/Tests/Integration + src/adapter/etl-adapter-text/tests/Flow/ETL/Adapter/Text/Tests/Integration diff --git a/src/adapter/etl-adapter-postgresql/src/Flow/ETL/Adapter/PostgreSql/PostgreSqlCursorExtractor.php b/src/adapter/etl-adapter-postgresql/src/Flow/ETL/Adapter/PostgreSql/PostgreSqlCursorExtractor.php index 943782a34..699d8edf3 100644 --- a/src/adapter/etl-adapter-postgresql/src/Flow/ETL/Adapter/PostgreSql/PostgreSqlCursorExtractor.php +++ b/src/adapter/etl-adapter-postgresql/src/Flow/ETL/Adapter/PostgreSql/PostgreSqlCursorExtractor.php @@ -32,7 +32,7 @@ final class PostgreSqlCursorExtractor implements Extractor private ?Schema $schema = null; /** - * @param array $parameters + * @param list $parameters */ public function __construct( private readonly Client $client, diff --git a/src/adapter/etl-adapter-postgresql/src/Flow/ETL/Adapter/PostgreSql/PostgreSqlKeySetExtractor.php b/src/adapter/etl-adapter-postgresql/src/Flow/ETL/Adapter/PostgreSql/PostgreSqlKeySetExtractor.php index 304e53601..584985163 100644 --- a/src/adapter/etl-adapter-postgresql/src/Flow/ETL/Adapter/PostgreSql/PostgreSqlKeySetExtractor.php +++ b/src/adapter/etl-adapter-postgresql/src/Flow/ETL/Adapter/PostgreSql/PostgreSqlKeySetExtractor.php @@ -22,7 +22,7 @@ final class PostgreSqlKeySetExtractor implements Extractor private ?Schema $schema = null; /** - * @param array $parameters + * @param list $parameters */ public function __construct( private readonly Client $client, diff --git a/src/adapter/etl-adapter-postgresql/src/Flow/ETL/Adapter/PostgreSql/PostgreSqlLimitOffsetExtractor.php b/src/adapter/etl-adapter-postgresql/src/Flow/ETL/Adapter/PostgreSql/PostgreSqlLimitOffsetExtractor.php index 22422853b..695b98519 100644 --- a/src/adapter/etl-adapter-postgresql/src/Flow/ETL/Adapter/PostgreSql/PostgreSqlLimitOffsetExtractor.php +++ b/src/adapter/etl-adapter-postgresql/src/Flow/ETL/Adapter/PostgreSql/PostgreSqlLimitOffsetExtractor.php @@ -21,7 +21,7 @@ final class PostgreSqlLimitOffsetExtractor implements Extractor private ?Schema $schema = null; /** - * @param array $parameters + * @param list $parameters */ public function __construct( private readonly Client $client, diff --git a/src/adapter/etl-adapter-postgresql/src/Flow/ETL/Adapter/PostgreSql/functions.php b/src/adapter/etl-adapter-postgresql/src/Flow/ETL/Adapter/PostgreSql/functions.php index fe0de1237..20afee61d 100644 --- a/src/adapter/etl-adapter-postgresql/src/Flow/ETL/Adapter/PostgreSql/functions.php +++ b/src/adapter/etl-adapter-postgresql/src/Flow/ETL/Adapter/PostgreSql/functions.php @@ -20,7 +20,7 @@ * * @param Client $client PostgreSQL client * @param Sql|string $query SQL query to execute (wrapped in DECLARE CURSOR) - * @param array $parameters Positional parameters for the query + * @param list $parameters Values bound by position to $1, $2, ... placeholders; wrap with {@see \Flow\PostgreSql\DSL\typed()} to force a specific PostgreSQL type */ #[DocumentationDSL(module: Module::POSTGRESQL, type: DSLType::EXTRACTOR)] function from_pgsql_cursor( @@ -39,7 +39,7 @@ function from_pgsql_cursor( * * @param Client $client PostgreSQL client * @param Sql|string $query SQL query to execute (must have ORDER BY clause) - * @param array $parameters Positional parameters for the query + * @param list $parameters Values bound by position to $1, $2, ... placeholders; wrap with {@see \Flow\PostgreSql\DSL\typed()} to force a specific PostgreSQL type */ #[DocumentationDSL(module: Module::POSTGRESQL, type: DSLType::EXTRACTOR)] function from_pgsql_limit_offset( @@ -59,7 +59,7 @@ function from_pgsql_limit_offset( * @param Client $client PostgreSQL client * @param Sql|string $query SQL query to execute (must have ORDER BY matching keyset columns) * @param KeySet $keySet Columns to use for keyset pagination - * @param array $parameters Positional parameters for the query + * @param list $parameters Values bound by position to $1, $2, ... placeholders; wrap with {@see \Flow\PostgreSql\DSL\typed()} to force a specific PostgreSQL type */ #[DocumentationDSL(module: Module::POSTGRESQL, type: DSLType::EXTRACTOR)] function from_pgsql_key_set( diff --git a/src/lib/postgresql/src/Flow/PostgreSql/Client/Client.php b/src/lib/postgresql/src/Flow/PostgreSql/Client/Client.php index 1559c07e4..1ff97a0d7 100644 --- a/src/lib/postgresql/src/Flow/PostgreSql/Client/Client.php +++ b/src/lib/postgresql/src/Flow/PostgreSql/Client/Client.php @@ -44,7 +44,7 @@ public function converters() : ValueConverters; * Use cursor->map() to map rows to objects. * * @param Sql|string $sql SQL query or query builder with $1, $2, ... placeholders - * @param array $parameters Positional parameters + * @param list $parameters Values bound by position to $1, $2, ... placeholders; wrap with {@see \Flow\PostgreSql\DSL\typed()} to force a specific PostgreSQL type * * @throws QueryException */ @@ -55,7 +55,7 @@ public function cursor(Sql|string $sql, array $parameters = []) : Cursor; * Returns the number of affected rows. * * @param Sql|string $sql SQL statement or query builder with $1, $2, ... placeholders - * @param array $parameters Positional parameters + * @param list $parameters Values bound by position to $1, $2, ... placeholders; wrap with {@see \Flow\PostgreSql\DSL\typed()} to force a specific PostgreSQL type * * @throws QueryException */ @@ -66,7 +66,7 @@ public function execute(Sql|string $sql, array $parameters = []) : int; * Useful for analyzing query performance. * * @param Sql|string $sql SQL query to explain - * @param array $parameters Positional parameters + * @param list $parameters Values bound by position to $1, $2, ... placeholders; wrap with {@see \Flow\PostgreSql\DSL\typed()} to force a specific PostgreSQL type * @param null|ExplainConfig $config EXPLAIN configuration (defaults to forAnalysis()) * * @throws QueryException @@ -78,7 +78,7 @@ public function explain(Sql|string $sql, array $parameters = [], ?ExplainConfig * Returns null if no rows found. * * @param Sql|string $sql SQL query or query builder with $1, $2, ... placeholders - * @param array $parameters Positional parameters + * @param list $parameters Values bound by position to $1, $2, ... placeholders; wrap with {@see \Flow\PostgreSql\DSL\typed()} to force a specific PostgreSQL type * * @throws QueryException * @@ -90,7 +90,7 @@ public function fetch(Sql|string $sql, array $parameters = []) : ?array; * Fetch all rows from query result. * * @param Sql|string $sql SQL query or query builder with $1, $2, ... placeholders - * @param array $parameters Positional parameters + * @param list $parameters Values bound by position to $1, $2, ... placeholders; wrap with {@see \Flow\PostgreSql\DSL\typed()} to force a specific PostgreSQL type * * @throws QueryException * @@ -105,7 +105,7 @@ public function fetchAll(Sql|string $sql, array $parameters = []) : array; * * @param RowMapper $mapper Mapper to apply to each row * @param Sql|string $sql SQL query or query builder with $1, $2, ... placeholders - * @param array $parameters Positional parameters + * @param list $parameters Values bound by position to $1, $2, ... placeholders; wrap with {@see \Flow\PostgreSql\DSL\typed()} to force a specific PostgreSQL type * * @throws QueryException * @@ -125,7 +125,7 @@ public function fetchAllInto( * * @param RowMapper $mapper Mapper to apply to the row * @param Sql|string $sql SQL query or query builder with $1, $2, ... placeholders - * @param array $parameters Positional parameters + * @param list $parameters Values bound by position to $1, $2, ... placeholders; wrap with {@see \Flow\PostgreSql\DSL\typed()} to force a specific PostgreSQL type * * @throws QueryException * @@ -142,7 +142,7 @@ public function fetchInto( * Use when you expect zero or one result (e.g., optional lookup by unique column). * * @param Sql|string $sql SQL query or query builder with $1, $2, ... placeholders - * @param array $parameters Positional parameters + * @param list $parameters Values bound by position to $1, $2, ... placeholders; wrap with {@see \Flow\PostgreSql\DSL\typed()} to force a specific PostgreSQL type * * @throws QueryException * @throws TooManyRowsException When the result contains more than one row @@ -159,7 +159,7 @@ public function fetchOne(Sql|string $sql, array $parameters = []) : ?array; * * @param RowMapper $mapper Mapper to apply to the row * @param Sql|string $sql SQL query or query builder with $1, $2, ... placeholders - * @param array $parameters Positional parameters + * @param list $parameters Values bound by position to $1, $2, ... placeholders; wrap with {@see \Flow\PostgreSql\DSL\typed()} to force a specific PostgreSQL type * * @throws QueryException * @throws TooManyRowsException When the result contains more than one row @@ -177,7 +177,7 @@ public function fetchOneInto( * Ideal for COUNT(*), MAX(), MIN(), etc. * * @param Sql|string $sql SQL query or query builder with $1, $2, ... placeholders - * @param array $parameters Positional parameters + * @param list $parameters Values bound by position to $1, $2, ... placeholders; wrap with {@see \Flow\PostgreSql\DSL\typed()} to force a specific PostgreSQL type * * @throws QueryException */ @@ -187,7 +187,7 @@ public function fetchScalar(Sql|string $sql, array $parameters = []) : mixed; * Fetch a single boolean value from the first column of first row. * * @param Sql|string $sql SQL query or query builder with $1, $2, ... placeholders - * @param array $parameters Positional parameters + * @param list $parameters Values bound by position to $1, $2, ... placeholders; wrap with {@see \Flow\PostgreSql\DSL\typed()} to force a specific PostgreSQL type * * @throws QueryException */ @@ -197,7 +197,7 @@ public function fetchScalarBool(Sql|string $sql, array $parameters = []) : bool; * Fetch a single float value from the first column of first row. * * @param Sql|string $sql SQL query or query builder with $1, $2, ... placeholders - * @param array $parameters Positional parameters + * @param list $parameters Values bound by position to $1, $2, ... placeholders; wrap with {@see \Flow\PostgreSql\DSL\typed()} to force a specific PostgreSQL type * * @throws QueryException */ @@ -208,7 +208,7 @@ public function fetchScalarFloat(Sql|string $sql, array $parameters = []) : floa * Ideal for COUNT(*), MAX(), MIN(), etc. * * @param Sql|string $sql SQL query or query builder with $1, $2, ... placeholders - * @param array $parameters Positional parameters + * @param list $parameters Values bound by position to $1, $2, ... placeholders; wrap with {@see \Flow\PostgreSql\DSL\typed()} to force a specific PostgreSQL type * * @throws QueryException */ @@ -218,7 +218,7 @@ public function fetchScalarInt(Sql|string $sql, array $parameters = []) : int; * Fetch a single string value from the first column of first row. * * @param Sql|string $sql SQL query or query builder with $1, $2, ... placeholders - * @param array $parameters Positional parameters + * @param list $parameters Values bound by position to $1, $2, ... placeholders; wrap with {@see \Flow\PostgreSql\DSL\typed()} to force a specific PostgreSQL type * * @throws QueryException */ @@ -229,7 +229,7 @@ public function fetchScalarString(Sql|string $sql, array $parameters = []) : str * Use when you expect precisely one result (e.g., SELECT by primary key, INSERT ... RETURNING). * * @param Sql|string $sql SQL query or query builder with $1, $2, ... placeholders - * @param array $parameters Positional parameters + * @param list $parameters Values bound by position to $1, $2, ... placeholders; wrap with {@see \Flow\PostgreSql\DSL\typed()} to force a specific PostgreSQL type * * @throws QueryException * @throws NoResultException When the result is empty @@ -247,7 +247,7 @@ public function fetchSingle(Sql|string $sql, array $parameters = []) : array; * * @param RowMapper $mapper Mapper to apply to the row * @param Sql|string $sql SQL query or query builder with $1, $2, ... placeholders - * @param array $parameters Positional parameters + * @param list $parameters Values bound by position to $1, $2, ... placeholders; wrap with {@see \Flow\PostgreSql\DSL\typed()} to force a specific PostgreSQL type * * @throws QueryException * @throws NoResultException When the result is empty diff --git a/src/lib/postgresql/src/Flow/PostgreSql/Client/Infrastructure/PgSql/PgSqlClient.php b/src/lib/postgresql/src/Flow/PostgreSql/Client/Infrastructure/PgSql/PgSqlClient.php index d0e0befec..b5e30e12f 100644 --- a/src/lib/postgresql/src/Flow/PostgreSql/Client/Infrastructure/PgSql/PgSqlClient.php +++ b/src/lib/postgresql/src/Flow/PostgreSql/Client/Infrastructure/PgSql/PgSqlClient.php @@ -530,7 +530,7 @@ private function assertConnected() : void } /** - * @param array $parameters + * @param list $parameters */ private function buildContext(Sql|string $sql, array $parameters) : Context { @@ -542,7 +542,7 @@ private function buildContext(Sql|string $sql, array $parameters) : Context } /** - * @param array $parameters + * @param list $parameters * * @return array */ @@ -643,7 +643,7 @@ private function extractError(Connection $connection, ?Result $result) : Postgre } /** - * @param array $parameters + * @param list $parameters */ private function query(Sql|string $sql, array $parameters) : Result { diff --git a/src/lib/postgresql/src/Flow/PostgreSql/Client/Query.php b/src/lib/postgresql/src/Flow/PostgreSql/Client/Query.php index 4c269693d..57aa4bd7b 100644 --- a/src/lib/postgresql/src/Flow/PostgreSql/Client/Query.php +++ b/src/lib/postgresql/src/Flow/PostgreSql/Client/Query.php @@ -9,7 +9,7 @@ final readonly class Query { /** - * @param array $parameters + * @param list $parameters */ public function __construct( private Sql|string $sql, @@ -18,7 +18,7 @@ public function __construct( } /** - * @return array + * @return list */ public function parameters() : array { diff --git a/src/lib/postgresql/src/Flow/PostgreSql/Client/Telemetry/TraceableClient.php b/src/lib/postgresql/src/Flow/PostgreSql/Client/Telemetry/TraceableClient.php index 08e972183..0b23bd595 100644 --- a/src/lib/postgresql/src/Flow/PostgreSql/Client/Telemetry/TraceableClient.php +++ b/src/lib/postgresql/src/Flow/PostgreSql/Client/Telemetry/TraceableClient.php @@ -498,7 +498,7 @@ public function wait(int $milliseconds) : ?Notification } /** - * @param array $parameters + * @param list $parameters * * @return array|bool|float|int|string> */ @@ -623,7 +623,7 @@ private function completeTransactionSpan(int $nestingLevel, SpanStatus $status, } /** - * @param array $parameters + * @param list $parameters */ private function logQuery(string $query, array $parameters) : void { @@ -688,7 +688,7 @@ private function recordRowCount(int $rowCount, QueryAttributes $queryAttrs) : vo /** * @template T * - * @param array $parameters + * @param list $parameters * @param callable(): T $operation * @param null|callable(T): int $rowCountExtractor * diff --git a/src/lib/postgresql/src/Flow/PostgreSql/Client/Telemetry/TraceableCursor.php b/src/lib/postgresql/src/Flow/PostgreSql/Client/Telemetry/TraceableCursor.php index 74d0c045f..29249cc63 100644 --- a/src/lib/postgresql/src/Flow/PostgreSql/Client/Telemetry/TraceableCursor.php +++ b/src/lib/postgresql/src/Flow/PostgreSql/Client/Telemetry/TraceableCursor.php @@ -35,7 +35,7 @@ final class TraceableCursor implements Cursor private ?Tracer $tracer = null; /** - * @param array $parameters + * @param list $parameters */ public function __construct( private readonly Cursor $cursor, diff --git a/src/lib/telemetry/tests/Flow/Telemetry/Tests/Unit/Propagation/SuperglobalCarrierTest.php b/src/lib/telemetry/tests/Flow/Telemetry/Tests/Unit/Propagation/SuperglobalCarrierTest.php index 384dcbe17..ea14ccd8c 100644 --- a/src/lib/telemetry/tests/Flow/Telemetry/Tests/Unit/Propagation/SuperglobalCarrierTest.php +++ b/src/lib/telemetry/tests/Flow/Telemetry/Tests/Unit/Propagation/SuperglobalCarrierTest.php @@ -40,6 +40,12 @@ protected function setUp() : void $_GET = []; $_POST = []; $_COOKIE = []; + + foreach ($_SERVER as $key => $_) { + if (\is_string($key) && \str_starts_with($key, 'HTTP_')) { + unset($_SERVER[$key]); + } + } } protected function tearDown() : void