Bug #30862

Install Tool throws database errors in Upgrade Wizard, because caching framework tables are still missing

Added by Loek Hilgersom over 1 year ago. Updated over 1 year ago.

Status:Resolved Start date:2011-10-12
Priority:Must have Due date:
Assignee:- % Done:

0%

Category:Install Tool
Target version:4.6.0
TYPO3 Version:4.6 Complexity:
PHP Version:
Votes: 0

Description

Hi,

On upgrading a site from v4.5.6 to v4.6.0RC1 or the latest development version from git I get pages full of debug statements as soon as I enter the Upgrade Wizard in the Install Tool. It complains about a missing table cf_cache_hash.

This should not happen because the Upgrade Wizard is the first step one should take when upgrading - you do the Database Compare only after finishing all steps in the wizard.

Loek

Just a some of the debug output:

exec_SELECTquery
caller t3lib_DB::exec_SELECTquery
ERROR Table 'database.cf_cache_hash' doesn't exist
lastBuiltQuery SELECT content FROM cf_cache_hash WHERE identifier = 'd4c4bdb32f0021489bfb4b23c7431065' AND cf_cache_hash.expires >= 1318446717 LIMIT 1
debug_backtrace require#141 // tx_install->init#347 // tx_install->updateWizard#508 // tx_install->updateWizard_parts#6350 // Tx_Install_Updates_Base->shouldRenderWizard#6391 // tx_coreupdates_addflexformstoacl->checkForUpdate#171 // tx_coreupdates_addflexformstoacl->getGroupAddFields#51 // t3lib_BEfunc::getRegisteredFlexForms#116 // t3lib_div::xml2array#1025 // t3lib_pageSelect::getHash#2313 // t3lib_cache_frontend_VariableFrontend->get#932 // t3lib_cache_backend_DbBackend->get#108 // t3lib_DB->exec_SELECTgetSingleRow#208 // t3lib_DB->exec_SELECTquery#310 // t3lib_DB->debug#191

exec_SELECTquery
caller t3lib_DB::exec_SELECTquery
ERROR Table 'database.cf_cache_hash' doesn't exist
lastBuiltQuery SELECT content FROM cf_cache_hash WHERE identifier = 'd4c4bdb32f0021489bfb4b23c7431065' AND cf_cache_hash.expires >= 1318446717 LIMIT 1
debug_backtrace require#141 // tx_install->init#347 // tx_install->updateWizard#508 // tx_install->updateWizard_parts#6350 // Tx_Install_Updates_Base->shouldRenderWizard#6391 // tx_coreupdates_addflexformstoacl->checkForUpdate#171 // tx_coreupdates_addflexformstoacl->getGroupAddFields#51 // t3lib_BEfunc::getRegisteredFlexForms#116 // t3lib_div::xml2array#1025 // t3lib_pageSelect::getHash#2313 // t3lib_cache_frontend_VariableFrontend->get#932 // t3lib_cache_backend_DbBackend->get#108 // t3lib_DB->exec_SELECTgetSingleRow#208 // t3lib_DB->debug#312

exec_DELETEquery
caller t3lib_DB::exec_DELETEquery
ERROR Table 'database.cf_cache_hash' doesn't exist
lastBuiltQuery DELETE FROM cf_cache_hash WHERE identifier = 'd4c4bdb32f0021489bfb4b23c7431065'
debug_backtrace require#141 // tx_install->init#347 // tx_install->updateWizard#508 // tx_install->updateWizard_parts#6350 // Tx_Install_Updates_Base->shouldRenderWizard#6391 // tx_coreupdates_addflexformstoacl->checkForUpdate#171 // tx_coreupdates_addflexformstoacl->getGroupAddFields#51 // t3lib_BEfunc::getRegisteredFlexForms#116 // t3lib_div::xml2array#1025 // t3lib_pageSelect::storeHash#2318 // t3lib_cache_frontend_VariableFrontend->set#961 // t3lib_cache_backend_DbBackend->set#88 // t3lib_cache_backend_DbBackend->remove#156 // t3lib_DB->exec_DELETEquery#260 // t3lib_DB->debug#166


Related issues

related to Core - Bug #31246: Internal extension information is not updated properly Resolved 2011-10-24
related to TYPO3 Console Interface - Feature #31247: Port caching framework table handling for Upgrade Wizards New 2011-10-25

Associated revisions

Revision cc0643f2
Added by Christian Kuhn over 1 year ago

[BUGFIX] Install tool throws database errors in upgrade wizard

Some upgrade wizards like addflexformstoacl need working cache tables.
Those might not exist already. The patch forces creation of those tables
if calling the upgrade wizard.

Change-Id: I5d831bb819389cd2bf90854bb300408b4e6ed823
Resolves: #30862
Reviewed-on: http://review.typo3.org/6262
Reviewed-by: Susanne Moog
Tested-by: Susanne Moog
Reviewed-by: Oliver Hader
Reviewed-by: Wouter Wolters
Reviewed-by: Tolleiv Nietsch
Tested-by: Tolleiv Nietsch

History

Updated by Chris topher over 1 year ago

  • Subject changed from Install Tool throws database errors in Upgrade Wizard to Install Tool throws database errors in Upgrade Wizard, because caching framework tables are still missing

Updated by Björn Pedersen over 1 year ago

Looking at the code,
it seems using xml2array (via t3lib_BEfunc::getRegisteredFlexForm) is no good idea for the install tool.
xml2arrayProcess would be suited better here, as it does not do caching.

But just replacing getRegisteredFlexForm will not be enough, as t3lib_div::resolveSheetDefInDS also used xml2array.

Updated by Björn Pedersen over 1 year ago

One idea: force the cf setup to use the nocache backend if in install tool.

Updated by Mr. Hudson over 1 year ago

  • Status changed from New to Under Review

Patch set 1 of change I5d831bb819389cd2bf90854bb300408b4e6ed823 has been pushed to the review server.
It is available at http://review.typo3.org/6262

Updated by Christian Kuhn over 1 year ago

Pushed a patch to fix this.

How to reproduce: Just create a broken cf table structure and call the upgrade wizard. For example drop table cf_cache_hash, change a field of some other cf_ table, and drop one field of another cf_ table.

Call upgrade wizard in install tool without patch -> see some failing SQL, apply patch and they are gone.

Updated by Mr. Hudson over 1 year ago

Patch set 2 of change I5d831bb819389cd2bf90854bb300408b4e6ed823 has been pushed to the review server.
It is available at http://review.typo3.org/6262

Updated by Tolleiv Nietsch over 1 year ago

  • Status changed from Under Review to Resolved

Also available in: Atom PDF