Bug #80358

Wrong dbal instance used for admin_get_tables()

Added by Nicole Cordes about 4 years ago. Updated over 2 years ago.

Status:
Closed
Priority:
Should have
Assignee:
Category:
-
Target version:
-
Start date:
2017-03-20
Due date:
% Done:

100%

Estimated time:
TYPO3 Version:
7
PHP Version:
Tags:
Complexity:
Is Regression:
No
Sprint Focus:

Description

Given:
  • default database configuration in LocalConfiguration
  • separate table mapping in $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['dbal']['handlerCfg'] and $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['dbal']['table2handlerKeys'] to an external database for several tables with native type
  • trying to access Install Tool > Upgrade Wizard throws error "Call to a member function free() on a non-object in typo3\sysext\dbal\Classes\Database\DatabaseConnection.php on line 2748"
Reason:
  • dbal tries to fetch available database tables from the default connection (typo3/sysext/dbal/Classes/Database/DatabaseConnection.php:2742)
  • using $this->query() uses $this->lastHandlerKey to resolve the handler instance
  • $this->lastHandlerKey might not equal the default but any other configured handler configuration, thus the wrong instance is used to resolve the database query
Solution:
  • initialize $this->lastHandlerKey to the right "_DEFAULT" value
#2

Updated by Gerrit Code Review about 4 years ago

  • Status changed from New to Under Review

Patch set 1 for branch TYPO3_7-6 of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/52106

#3

Updated by Nicole Cordes about 4 years ago

  • Status changed from Under Review to Resolved
  • % Done changed from 0 to 100
#4

Updated by Benni Mack over 2 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF