Project

General

Profile

Actions

Bug #37124

closed

db-compare should check for available storage-engines

Added by Stefan Neufeind over 12 years ago. Updated about 6 years ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
Database API (Doctrine DBAL)
Start date:
2012-05-12
Due date:
% Done:

100%

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

Description

Currently if you have MySQL with, for example, disabled InnoDB (for reasons out of scope of this ticket) db-compare will insist that db-changes are needed. But that storage-engine can't be set since it is not available. So for the easy case TYPO3 might still want to leave it as is (MyISAM in the usual case).

Example:
ALTER TABLE tx_realurl_pathcache ENGINE=InnoDB;
Current value: ENGINE=MyISAM
ALTER TABLE tx_realurl_chashcache ENGINE=InnoDB;
Current value: ENGINE=MyISAM
ALTER TABLE tx_realurl_urldecodecache ENGINE=InnoDB;
Current value: ENGINE=MyISAM
ALTER TABLE tx_realurl_urlencodecache ENGINE=InnoDB;
Current value: ENGINE=MyISAM


Related issues 1 (0 open1 closed)

Related to TYPO3 Core - Feature #61132: Allow overriding database-storage-engineRejected2014-08-21

Actions
Actions #1

Updated by Markus Klein over 12 years ago

Also applies to all other branches. Also tested with 4.7.

Actions #2

Updated by Susanne Moog over 12 years ago

In my opinion we should write a note in INSTALL.txt about usage of InnoDB in the core. Something like: Be aware that TYPO3 uses the InnoDB storage engine on certain tables. Please make sure to have InnoDB available. If you for some reason have no InnoDB available TYPO3 will probably still work, but there could be some side effects.

(Also because making it optional would mean we should test performance, locking etc with both storage engines all the time, and that does not make sense).

What do you think?

Actions #3

Updated by Stefan Neufeind over 12 years ago

I think we could add a warning in install-tool and/or db-analyser that expresses TYPO3 might still work but it's recommended to enable InnoDB.

For performance I don't think we should really care, if we give that "warning".

Do we do much locking anyway? (I just don't know.) I was under the impression that due to being SQL-portable as possible (DBAL, ...) we don't do much in that department yet. How would MySQL behave if you tell it to lock but MyISAM can't do that (missing support for transactions)?

My intention was just that I think the thing about "oh, I've found an update - you should turn on InnoDB" and if you do it it comes back with "and how about InnoDB" is ... suboptimal.

Actions #4

Updated by Markus Klein over 12 years ago

Please keep in mind that on some hosting providers you're simply not able to turn on InnoDB or you have to pay extra money.
For small sites it doesn't make much of a difference if InnoDB is not available, but the storage engine warnings are quite annoying.

I think placing a textual warning in the install tool would suffice and by adding the check for available storage engine we get much more usability.
(Just to write it here once: These warnings also show up, whenever one uses the Database Update tab of extensions, which is also really annoying.)

Actions #5

Updated by Mathias Schreiber almost 10 years ago

  • Status changed from New to Needs Feedback
  • Is Regression set to No

Is this still an issue?
I never had the case that InnoDB was disabled, so I need to ask ;-)

Actions #6

Updated by Markus Klein almost 10 years ago

A big hoster in Austria has InnoDB disabled by default. Extra money to pay to get it.

Actions #7

Updated by Stefan Neufeind almost 10 years ago

Still an issue, of course. Also happens if you setup a small dev-system and disable InnoDB to save diskspace or so.

Actions #8

Updated by Stefan Neufeind almost 10 years ago

Related there is a review in #61132 to allow overriding storage-engines. Should we assume that InnoDB is "usually" available, so abandon this here, and continue in the other issue whether we want to have a "expert-setting" to override storage-engines?

Another thought: If we really demand InnoDB, maybe installer/environment-check should try to find out if InnoDB is available. We could add such a check as part of this issue here imho, if the resolution is that InnoDB is mandatory.

Actions #9

Updated by Stefan Neufeind almost 10 years ago

Lolli just confirmed that we should have (add?) InnoDB as a hard requirement today. So maybe we just need to add that to the requirements and environment-checks.

Actions #10

Updated by Alexander Opitz over 9 years ago

What is the state of this issue?

Actions #11

Updated by Tomasz Krawczyk over 9 years ago

Guys. Did something changed in this topic? My hosting provider disabled InnoDB because of some CPanel related issues. Now I can't finish TYPO3 update to 6.2.12.

Actions #12

Updated by Markus Klein over 9 years ago

@Tomasz:
  • From which version do you upgrade from?
  • Where does it stop/break/fail?
Actions #13

Updated by Alexander Opitz about 9 years ago

@Stefan: So we should add a test for available storage engines on MySQL?

Actions #14

Updated by Alexander Opitz almost 9 years ago

  • Category set to Database API (Doctrine DBAL)
  • Status changed from Needs Feedback to New
  • Target version set to Candidate for patchlevel
Actions #15

Updated by Gerrit Code Review about 8 years ago

  • Status changed from New to Under Review

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

Actions #16

Updated by Gerrit Code Review about 8 years ago

Patch set 2 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/49769

Actions #17

Updated by Morton Jonuschat about 8 years ago

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

Updated by Benni Mack about 6 years ago

  • Status changed from Resolved to Closed
Actions

Also available in: Atom PDF