Bug #30862

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

Added by Loek Hilgersom over 8 years ago. Updated over 2 years ago.

Status:
Closed
Priority:
Must have
Assignee:
-
Category:
Install Tool
Target version:
Start date:
2011-10-12
Due date:
% Done:

0%

TYPO3 Version:
4.6
PHP Version:
Tags:
Complexity:
Is Regression:
Sprint Focus:

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 TYPO3 Core - Bug #31246: Internal extension information is not updated properly Closed 2011-10-24

Associated revisions

Revision cc0643f2 (diff)
Added by Christian Kuhn over 8 years 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

#1 Updated by Chris topher over 8 years 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

#2 Updated by Björn Pedersen over 8 years 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.

#3 Updated by Björn Pedersen over 8 years ago

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

#4 Updated by Mr. Hudson over 8 years 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

#5 Updated by Christian Kuhn over 8 years 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.

#6 Updated by Mr. Hudson over 8 years ago

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

#7 Updated by Tolleiv Nietsch over 8 years ago

  • Status changed from Under Review to Resolved

#8 Updated by Riccardo De Contardi over 2 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF