DDC-368: Bulk-Update on CTI CompanyEmployee raises Note #458

Closed
opened 2026-01-22 12:38:59 +01:00 by admin · 2 comments
Owner

Originally created by @doctrinebot on GitHub (Feb 24, 2010).

Jira issue originally created by user @beberlei:

    public function testUpdateAs()
    {
        $dql = 'UPDATE Doctrine\Tests\Models\Company\CompanyEmployee AS p SET p.salary = 1';
        $this->_em->createQuery($dql)->getResult();

        $this->assertTrue(count($this->_em->createQuery(
            'SELECT count(p) FROM Doctrine\Tests\Models\Company\CompanyEmployee p WHERE p.salary = 1')->getResult()) > 0);
    }

gives the following error:

Doctrine\Tests\ORM\Functional\AdvancedDqlQueryTest::testUpdateAs()
Exception: [PHPUnit*Framework_Error*Notice] Undefined offset: 0
With queries:
22. SQL: 'INSERT INTO company*persons_id_tmp (id) SELECT t0.id FROM company_employees t0 INNER JOIN company_persons c0_ ON t0.id = c0_.id LEFT JOIN company_managers c1_ ON t0.id = c1*.id' Params:
21. SQL: 'CREATE TEMPORARY TABLE company*persons_id*tmp (id INT NOT NULL, PRIMARY KEY(id))' Params:
20. SQL: 'INSERT INTO company*persons_friends (person_id, friend*id) VALUES (?, ?)' Params: '15', '14'
19. SQL: 'INSERT INTO company*persons_friends (person_id, friend*id) VALUES (?, ?)' Params: '15', '13'
18. SQL: 'INSERT INTO company*persons_friends (person_id, friend*id) VALUES (?, ?)' Params: '15', '16'
17. SQL: 'INSERT INTO company*persons_friends (person_id, friend*id) VALUES (?, ?)' Params: '14', '15'
16. SQL: 'INSERT INTO company*persons_friends (person_id, friend*id) VALUES (?, ?)' Params: '14', '13'
15. SQL: 'INSERT INTO company*persons_friends (person_id, friend*id) VALUES (?, ?)' Params: '13', '15'
14. SQL: 'INSERT INTO company*persons_friends (person_id, friend*id) VALUES (?, ?)' Params: '13', '14'
13. SQL: 'INSERT INTO company*persons_friends (person_id, friend*id) VALUES (?, ?)' Params: '16', '15'
12. SQL: 'UPDATE company*persons SET spouse*id = ? WHERE id = ?' Params: '13', '14'
11. SQL: 'UPDATE company*persons SET spouse*id = ? WHERE id = ?' Params: '14', '13'
10. SQL: 'INSERT INTO company_employees (id, salary, department) VALUES (?, ?, ?)' Params: '16', '100000', 'IT'
9. SQL: 'INSERT INTO company*managers (id, title, car*id) VALUES (?, ?, ?)' Params: '16', 'Foo', '4'
8. SQL: 'INSERT INTO company*persons (name, spouse*id, discr) VALUES (?, ?, ?)' Params: 'Roman B.', '', 'manager'
7. SQL: 'INSERT INTO company_cars (brand) VALUES (?)' Params: 'BMW'
6. SQL: 'INSERT INTO company_employees (id, salary, department) VALUES (?, ?, ?)' Params: '15', '800000', 'IT2'
5. SQL: 'INSERT INTO company*persons (name, spouse*id, discr) VALUES (?, ?, ?)' Params: 'Jonathan W.', '', 'employee'
4. SQL: 'INSERT INTO company_employees (id, salary, department) VALUES (?, ?, ?)' Params: '14', '400000', 'IT2'
3. SQL: 'INSERT INTO company*persons (name, spouse*id, discr) VALUES (?, ?, ?)' Params: 'Guilherme B.', '', 'employee'
2. SQL: 'INSERT INTO company_employees (id, salary, department) VALUES (?, ?, ?)' Params: '13', '200000', 'IT'
Trace:
/home/benny/code/php/wsnetbeans/Doctrine/trunk/lib/Doctrine/ORM/Query/Exec/MultiTableUpdateExecutor.php:155
/home/benny/code/php/wsnetbeans/Doctrine/trunk/lib/Doctrine/ORM/Query.php:198
/home/benny/code/php/wsnetbeans/Doctrine/trunk/lib/Doctrine/ORM/AbstractQuery.php:511
/home/benny/code/php/wsnetbeans/Doctrine/trunk/lib/Doctrine/ORM/AbstractQuery.php:349
/home/benny/code/php/wsnetbeans/Doctrine/trunk/tests/Doctrine/Tests/ORM/Functional/AdvancedDqlQueryTest.php:83
/home/benny/code/php/wsnetbeans/Doctrine/trunk/tests/Doctrine/Tests/OrmFunctionalTestCase.php:253
Originally created by @doctrinebot on GitHub (Feb 24, 2010). Jira issue originally created by user @beberlei: ``` public function testUpdateAs() { $dql = 'UPDATE Doctrine\Tests\Models\Company\CompanyEmployee AS p SET p.salary = 1'; $this->_em->createQuery($dql)->getResult(); $this->assertTrue(count($this->_em->createQuery( 'SELECT count(p) FROM Doctrine\Tests\Models\Company\CompanyEmployee p WHERE p.salary = 1')->getResult()) > 0); } ``` gives the following error: ``` Doctrine\Tests\ORM\Functional\AdvancedDqlQueryTest::testUpdateAs() Exception: [PHPUnit*Framework_Error*Notice] Undefined offset: 0 With queries: 22. SQL: 'INSERT INTO company*persons_id_tmp (id) SELECT t0.id FROM company_employees t0 INNER JOIN company_persons c0_ ON t0.id = c0_.id LEFT JOIN company_managers c1_ ON t0.id = c1*.id' Params: 21. SQL: 'CREATE TEMPORARY TABLE company*persons_id*tmp (id INT NOT NULL, PRIMARY KEY(id))' Params: 20. SQL: 'INSERT INTO company*persons_friends (person_id, friend*id) VALUES (?, ?)' Params: '15', '14' 19. SQL: 'INSERT INTO company*persons_friends (person_id, friend*id) VALUES (?, ?)' Params: '15', '13' 18. SQL: 'INSERT INTO company*persons_friends (person_id, friend*id) VALUES (?, ?)' Params: '15', '16' 17. SQL: 'INSERT INTO company*persons_friends (person_id, friend*id) VALUES (?, ?)' Params: '14', '15' 16. SQL: 'INSERT INTO company*persons_friends (person_id, friend*id) VALUES (?, ?)' Params: '14', '13' 15. SQL: 'INSERT INTO company*persons_friends (person_id, friend*id) VALUES (?, ?)' Params: '13', '15' 14. SQL: 'INSERT INTO company*persons_friends (person_id, friend*id) VALUES (?, ?)' Params: '13', '14' 13. SQL: 'INSERT INTO company*persons_friends (person_id, friend*id) VALUES (?, ?)' Params: '16', '15' 12. SQL: 'UPDATE company*persons SET spouse*id = ? WHERE id = ?' Params: '13', '14' 11. SQL: 'UPDATE company*persons SET spouse*id = ? WHERE id = ?' Params: '14', '13' 10. SQL: 'INSERT INTO company_employees (id, salary, department) VALUES (?, ?, ?)' Params: '16', '100000', 'IT' 9. SQL: 'INSERT INTO company*managers (id, title, car*id) VALUES (?, ?, ?)' Params: '16', 'Foo', '4' 8. SQL: 'INSERT INTO company*persons (name, spouse*id, discr) VALUES (?, ?, ?)' Params: 'Roman B.', '', 'manager' 7. SQL: 'INSERT INTO company_cars (brand) VALUES (?)' Params: 'BMW' 6. SQL: 'INSERT INTO company_employees (id, salary, department) VALUES (?, ?, ?)' Params: '15', '800000', 'IT2' 5. SQL: 'INSERT INTO company*persons (name, spouse*id, discr) VALUES (?, ?, ?)' Params: 'Jonathan W.', '', 'employee' 4. SQL: 'INSERT INTO company_employees (id, salary, department) VALUES (?, ?, ?)' Params: '14', '400000', 'IT2' 3. SQL: 'INSERT INTO company*persons (name, spouse*id, discr) VALUES (?, ?, ?)' Params: 'Guilherme B.', '', 'employee' 2. SQL: 'INSERT INTO company_employees (id, salary, department) VALUES (?, ?, ?)' Params: '13', '200000', 'IT' Trace: /home/benny/code/php/wsnetbeans/Doctrine/trunk/lib/Doctrine/ORM/Query/Exec/MultiTableUpdateExecutor.php:155 /home/benny/code/php/wsnetbeans/Doctrine/trunk/lib/Doctrine/ORM/Query.php:198 /home/benny/code/php/wsnetbeans/Doctrine/trunk/lib/Doctrine/ORM/AbstractQuery.php:511 /home/benny/code/php/wsnetbeans/Doctrine/trunk/lib/Doctrine/ORM/AbstractQuery.php:349 /home/benny/code/php/wsnetbeans/Doctrine/trunk/tests/Doctrine/Tests/ORM/Functional/AdvancedDqlQueryTest.php:83 /home/benny/code/php/wsnetbeans/Doctrine/trunk/tests/Doctrine/Tests/OrmFunctionalTestCase.php:253 ```
admin added the Bug label 2026-01-22 12:39:00 +01:00
admin closed this issue 2026-01-22 12:39:01 +01:00
Author
Owner

@doctrinebot commented on GitHub (Feb 24, 2010):

Comment created by romanb:

That should rather be ->executeUpdate() instead of ->getResult() but thats probably not the problem here.

@doctrinebot commented on GitHub (Feb 24, 2010): Comment created by romanb: That should rather be ->executeUpdate() instead of ->getResult() but thats probably not the problem here.
Author
Owner

@doctrinebot commented on GitHub (Feb 24, 2010):

Issue was closed with resolution "Fixed"

@doctrinebot commented on GitHub (Feb 24, 2010): Issue was closed with resolution "Fixed"
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: doctrine/archived-orm#458