Skip to content

An exception occurred while executing a query: SQLSTATE[22003]: Numeric value out of range #7193

@abdounikarim

Description

@abdounikarim

Bug Report

Hey, on a fresh symfony application, when I tried to see a specific entity with a big value id (here, I used the value 1280187389103) and I got this error:

An exception occurred while executing a query: SQLSTATE[22003]: Numeric value out of range: 7 ERROR: value "1280187389103" is out of range for type integer CONTEXT: unnamed portal parameter $1 = '..'

Q A
Version 3.10.3
Previous Version if the bug is a regression x.y.z

Summary

I just tried to look for an unexisting entity with a big value, and expected to have something like : "Entity not found"

Current behavior

I put there the stack trace:

Doctrine\DBAL\Exception\DriverException:
An exception occurred while executing a query: SQLSTATE[22003]: Numeric value out of range: 7 ERROR:  value "172901872891038" is out of range for type integer
CONTEXT:  unnamed portal parameter $1 = '...'

  at vendor/doctrine/dbal/src/Driver/API/PostgreSQL/ExceptionConverter.php:87
  at Doctrine\DBAL\Driver\API\PostgreSQL\ExceptionConverter->convert(object(Exception), object(Query))
     (vendor/doctrine/dbal/src/Connection.php:1976)
  at Doctrine\DBAL\Connection->handleDriverException(object(Exception), object(Query))
     (vendor/doctrine/dbal/src/Connection.php:1918)
  at Doctrine\DBAL\Connection->convertExceptionDuringQuery(object(Exception), 'SELECT t0.id AS id_1 FROM foo t0 WHERE t0.id = ?', array('172901872891038'), array('integer'))
     (vendor/doctrine/dbal/src/Connection.php:1111)
  at Doctrine\DBAL\Connection->executeQuery('SELECT t0.id AS id_1 FROM foo t0 WHERE t0.id = ?', array('172901872891038'), array('integer'))
     (vendor/doctrine/orm/src/Persisters/Entity/BasicEntityPersister.php:740)
  at Doctrine\ORM\Persisters\Entity\BasicEntityPersister->load(array('id' => '172901872891038'), null)
     (vendor/doctrine/orm/src/Persisters/Entity/BasicEntityPersister.php:758)
  at Doctrine\ORM\Persisters\Entity\BasicEntityPersister->loadById(array('id' => '172901872891038'))
     (vendor/doctrine/orm/src/EntityManager.php:366)
  at Doctrine\ORM\EntityManager->find('App\\Entity\\Foo', array(), null, null)
     (vendor/doctrine/orm/src/EntityRepository.php:86)
  at Doctrine\ORM\EntityRepository->find('172901872891038', null, null)
     (vendor/doctrine/doctrine-bundle/src/Repository/ServiceEntityRepositoryProxy.php:61)
  at Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepositoryProxy->find('172901872891038')
     (vendor/symfony/doctrine-bridge/ArgumentResolver/EntityValueResolver.php:129)
  at Symfony\Bridge\Doctrine\ArgumentResolver\EntityValueResolver->find(object(EntityManager), object(Request), object(MapEntity), object(ArgumentMetadata))
     (vendor/symfony/doctrine-bridge/ArgumentResolver/EntityValueResolver.php:69)
  at Symfony\Bridge\Doctrine\ArgumentResolver\EntityValueResolver->resolve(object(Request), object(ArgumentMetadata))
     (vendor/symfony/http-kernel/Controller/ArgumentResolver/TraceableValueResolver.php:37)
  at Symfony\Component\HttpKernel\Controller\ArgumentResolver\TraceableValueResolver->resolve(object(Request), object(ArgumentMetadata))
     (vendor/symfony/http-kernel/Controller/ArgumentResolver.php:91)
  at Symfony\Component\HttpKernel\Controller\ArgumentResolver->getArguments(object(Request), array(object(FooController), 'show'), object(ReflectionMethod))
     (vendor/symfony/http-kernel/Controller/TraceableArgumentResolver.php:33)
  at Symfony\Component\HttpKernel\Controller\TraceableArgumentResolver->getArguments(object(Request), array(object(FooController), 'show'), object(ReflectionMethod))
     (vendor/symfony/http-kernel/HttpKernel.php:175)
  at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1)
     (vendor/symfony/http-kernel/HttpKernel.php:76)
  at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true)
     (vendor/symfony/http-kernel/Kernel.php:182)
  at Symfony\Component\HttpKernel\Kernel->handle(object(Request))
     (vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:35)
  at Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run()
     (vendor/autoload_runtime.php:29)
  at require_once('/Users/abdounikarim/test/22003-doctrine-numeric-value-reproducer/vendor/autoload_runtime.php')
     (public/index.php:5)

Expected behavior

I think we must have an error message saying this entity was not found.

How to reproduce

I created a reproducer here: https://github.com/abdounikarim/22003-doctrine-numeric-value-reproducer, it's just a fresh symfony application with nothing fancy, you can read the README.md to see the steps to reproduce the issue.

Hope this helps 🙏

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions