longitude-one/doctrine-spatial

[PostgreSQL] SpTransform function: Optional SRID is detected as a string

Alexandre-T opened this issue · 0 comments

When I dump the query, I got :

"SELECT p0_.id AS id_0, ST_AsEWKB(p0_.polygon) AS polygon_1, ST_AsText(ST_Transform(p0_.polygon, ?)) AS sclr_2 FROM PolygonEntity p0_"

The dump of PHPUnit:

docker exec spatial-php8 vendor/bin/phpunit --configuration=phpunit.pgsql.xml  --filter=Transfo
PHPUnit 10.5.20 by Sebastian Bergmann and contributors.

Runtime:       PHP 8.1.27 with PCOV 1.0.11
Configuration: /var/www/phpunit.pgsql.xml

.E.                                                                 3 / 3 (100%)

Time: 00:00.887, Memory: 22.00 MB

There was 1 error:

1) LongitudeOne\Spatial\Tests\ORM\Query\AST\Functions\PostgreSql\SpTransformTest::testFunctionInSelectWithSrid
Doctrine\DBAL\Exception\DriverException: An exception occurred while executing a query: SQLSTATE[XX000]: Internal error: 7 ERROR:  could not parse proj string '4326'
CONTEXT:  SQL function "st_transform" statement 1

/var/www/vendor/doctrine/dbal/src/Driver/API/PostgreSQL/ExceptionConverter.php:80
/var/www/vendor/doctrine/dbal/src/Connection.php:1364
/var/www/vendor/doctrine/dbal/src/Connection.php:1306
/var/www/vendor/doctrine/dbal/src/Connection.php:777
/var/www/vendor/doctrine/orm/src/Query/Exec/SingleSelectExecutor.php:29
/var/www/vendor/doctrine/orm/src/Query.php:284
/var/www/vendor/doctrine/orm/src/AbstractQuery.php:935
/var/www/vendor/doctrine/orm/src/AbstractQuery.php:891
/var/www/vendor/doctrine/orm/src/AbstractQuery.php:689
/var/www/tests/LongitudeOne/Spatial/Tests/ORM/Query/AST/Functions/PostgreSql/SpTransformTest.php:119

Caused by
Doctrine\DBAL\Driver\PDO\Exception: SQLSTATE[XX000]: Internal error: 7 ERROR:  could not parse proj string '4326'
CONTEXT:  SQL function "st_transform" statement 1

/var/www/vendor/doctrine/dbal/src/Driver/PDO/Exception.php:28
/var/www/vendor/doctrine/dbal/src/Driver/PDO/Statement.php:57
/var/www/vendor/doctrine/dbal/src/Driver/Middleware/AbstractStatementMiddleware.php:24
/var/www/vendor/doctrine/dbal/src/Logging/Statement.php:46
/var/www/vendor/doctrine/dbal/src/Connection.php:770
/var/www/vendor/doctrine/orm/src/Query/Exec/SingleSelectExecutor.php:29
/var/www/vendor/doctrine/orm/src/Query.php:284
/var/www/vendor/doctrine/orm/src/AbstractQuery.php:935
/var/www/vendor/doctrine/orm/src/AbstractQuery.php:891
/var/www/vendor/doctrine/orm/src/AbstractQuery.php:689
/var/www/tests/LongitudeOne/Spatial/Tests/ORM/Query/AST/Functions/PostgreSql/SpTransformTest.php:119

Caused by
PDOException: SQLSTATE[XX000]: Internal error: 7 ERROR:  could not parse proj string '4326'
CONTEXT:  SQL function "st_transform" statement 1

/var/www/vendor/doctrine/dbal/src/Driver/PDO/Statement.php:55
/var/www/vendor/doctrine/dbal/src/Driver/Middleware/AbstractStatementMiddleware.php:24
/var/www/vendor/doctrine/dbal/src/Logging/Statement.php:46
/var/www/vendor/doctrine/dbal/src/Connection.php:770
/var/www/vendor/doctrine/orm/src/Query/Exec/SingleSelectExecutor.php:29
/var/www/vendor/doctrine/orm/src/Query.php:284
/var/www/vendor/doctrine/orm/src/AbstractQuery.php:935
/var/www/vendor/doctrine/orm/src/AbstractQuery.php:891
/var/www/vendor/doctrine/orm/src/AbstractQuery.php:689
/var/www/tests/LongitudeOne/Spatial/Tests/ORM/Query/AST/Functions/PostgreSql/SpTransformTest.php:119

ERRORS!
Tests: 3, Assertions: 7, Errors: 1.