Hello,
it seems to me like a bug. If i simply use
*array( PDO::MYSQL_ATTR_INIT_COMMAND => ' SET NAMES UTF8',)*
as driver option, it works like a charm, but if i switch to
*array( PDO::MYSQL_ATTR_INIT_COMMAND => 'SET
sql_mode="STRICT_ALL_TABLES"; SET NAMES UTF8',)*
it will cause an Exception:
Doctrine\DBAL\DBALException File:
/srv/http/www/vendor/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php:91
Message:
An exception occurred while executing 'SELECT t0.id AS id1, t0.type AS type2,
t0.name AS name3 FROM demo t0':
SQLSTATE[HY000]: General error: 2014 Cannot execute queries while other
unbuffered queries are active. Consider using PDOStatement::fetchAll().
Alternatively, if your code is only ever going to run against mysql, you may
enable query buffering by setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY
attribute.
Stack trace:
#0 /srv/http/www/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(701):
Doctrine\DBAL\DBALException::driverExceptionDuringQuery(Object(PDOException),
'SELECT t0.id AS...', Array)
#1
/srv/http/www/vendor/doctrine/orm/lib/Doctrine/ORM/Persisters/BasicEntityPersister.php(930):
Doctrine\DBAL\Connection->executeQuery('SELECT t0.id AS...', Array, Array)
#2
/srv/http/www/vendor/doctrine/orm/lib/Doctrine/ORM/EntityRepository.php(181):
Doctrine\ORM\Persisters\BasicEntityPersister->loadAll(Array, NULL, NULL, NULL)
#3
/srv/http/www/vendor/doctrine/orm/lib/Doctrine/ORM/EntityRepository.php(164):
Doctrine\ORM\EntityRepository->findBy(Array)
#4 /srv/http/www/module/Core/src/Core/Importer/Demo.php(85):
Doctrine\ORM\EntityRepository->findAll()
#5 /srv/http/www/module/Core/src/Core/Importer/Demo.php(45):
Core\Importer\Demo->loadDemos()
#6 /srv/http/www/module/Backend/src/Backend/Controller/IndexController.php(13):
Core\Importer\Demo->import()
#7
/srv/http/www/vendor/zendframework/zendframework/library/Zend/Mvc/Controller/AbstractActionController.php(83):
Backend\Controller\IndexController->indexAction()
#8 [internal function]:
Zend\Mvc\Controller\AbstractActionController->onDispatch(Object(Zend\Mvc\MvcEvent))
#9
/srv/http/www/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php(468):
call_user_func(Array, Object(Zend\Mvc\MvcEvent))
#10
/srv/http/www/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php(207):
Zend\EventManager\EventManager->triggerListeners('dispatch',
Object(Zend\Mvc\MvcEvent), Object(Closure))
#11
/srv/http/www/vendor/zendframework/zendframework/library/Zend/Mvc/Controller/AbstractController.php(117):
Zend\EventManager\EventManager->trigger('dispatch', Object(Zend\Mvc\MvcEvent),
Object(Closure))
#12
/srv/http/www/vendor/zendframework/zendframework/library/Zend/Mvc/DispatchListener.php(114):
Zend\Mvc\Controller\AbstractController->dispatch(Object(Zend\Http\PhpEnvironment\Request),
Object(Zend\Http\PhpEnvironment\Response))
#13 [internal function]:
Zend\Mvc\DispatchListener->onDispatch(Object(Zend\Mvc\MvcEvent))
#14
/srv/http/www/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php(468):
call_user_func(Array, Object(Zend\Mvc\MvcEvent))
#15
/srv/http/www/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php(207):
Zend\EventManager\EventManager->triggerListeners('dispatch',
Object(Zend\Mvc\MvcEvent), Object(Closure))
#16
/srv/http/www/vendor/zendframework/zendframework/library/Zend/Mvc/Application.php(309):
Zend\EventManager\EventManager->trigger('dispatch', Object(Zend\Mvc\MvcEvent),
Object(Closure))
#17 /srv/http/www/public/index.php(17): Zend\Mvc\Application->run()
#18 {main}
Even if i add PDO::MYSQL_ATTR_USE_BUFFERED_QUERY it doesn't change anything
*array( PDO::MYSQL_ATTR_INIT_COMMAND => 'SET
sql_mode="STRICT_ALL_TABLES"; SET NAMES UTF8',
PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true,)*
And here some connection details:
*private* '_isConnected' => boolean true
*private* '_transactionNestingLevel' => int 0
*private* '_transactionIsolationLevel' => int 2
*private* '_nestTransactionsWithSavepoints' => null
*private* '_params' =>
*array* *(size=10)*
'driverClass' => string 'Doctrine\DBAL\Driver\PDOMySql\Driver'
*(length=36)*
'wrapperClass' => null
'pdo' => null
'host' => string 'host' *(length=14)*
'port' => string '3306' *(length=4)*
'user' => string 'user' *(length=13)*
'password' => string 'password' *(length=13)*
'dbname' => string 'dbname' *(length=13)*
'charset' => string 'utf8' *(length=4)*
'driverOptions' =>
*array* *(size=4)*
1002 => string 'SET sql_mode="STRICT_ALL_TABLES"; SET NAMES UTF8'
*(length=48)*
1000 => int 1
1003 => int 0
1004 => int 1
*protected* '_platform' =>
*object*(*Doctrine\DBAL\Platforms\MySqlPlatform*)[*314*]
*protected* 'doctrineTypeMapping' =>
*array* *(size=31)*
'tinyint' => string 'boolean' *(length=7)*
'smallint' => string 'smallint' *(length=8)*
'mediumint' => string 'integer' *(length=7)*
'int' => string 'integer' *(length=7)*
'integer' => string 'integer' *(length=7)*
'bigint' => string 'bigint' *(length=6)*
'tinytext' => string 'text' *(length=4)*
'mediumtext' => string 'text' *(length=4)*
'longtext' => string 'text' *(length=4)*
'text' => string 'text' *(length=4)*
'varchar' => string 'string' *(length=6)*
'string' => string 'string' *(length=6)*
'char' => string 'string' *(length=6)*
'date' => string 'date' *(length=4)*
'datetime' => string 'datetime' *(length=8)*
'timestamp' => string 'datetime' *(length=8)*
'time' => string 'time' *(length=4)*
'float' => string 'float' *(length=5)*
'double' => string 'float' *(length=5)*
'real' => string 'float' *(length=5)*
'decimal' => string 'decimal' *(length=7)*
'numeric' => string 'decimal' *(length=7)*
'year' => string 'date' *(length=4)*
'longblob' => string 'blob' *(length=4)*
'blob' => string 'blob' *(length=4)*
'mediumblob' => string 'blob' *(length=4)*
'tinyblob' => string 'blob' *(length=4)*
'binary' => string 'blob' *(length=4)*
'varbinary' => string 'blob' *(length=4)*
'set' => string 'simple_array' *(length=12)*
'enum' => string 'string' *(length=6)*
*protected* 'doctrineTypeComments' => null
*protected* '_eventManager' =>
*object*(*Doctrine\Common\EventManager*)[*285*]
*private* '_listeners' =>
*array* *(size=1)*
'loadClassMetadata' =>
*array* *(size=1)*
'00000000633ca8ba000000007337b92a' =>
*object*(*Doctrine\ORM\Tools\ResolveTargetEntityListener*)[*284*]
*private* 'resolveTargetEntities' =>
*array* *(size=0)*
*empty*
*protected* '_keywords' => null
*protected* '_schemaManager' => null
*protected* '_driver' =>
*object*(*Doctrine\DBAL\Driver\PDOMySql\Driver*)[*311*]
*private* '_isRollbackOnly' => boolean false
*protected* 'defaultFetchMode' => int 2
--
You received this message because you are subscribed to the Google Groups
"doctrine-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/doctrine-user.
For more options, visit https://groups.google.com/groups/opt_out.