Project

General

Profile

Actions

Bug #59567

closed

Upgrade Wizard stops at ALTER TABLE index_fulltext ENGINE=InnoDB;

Added by Jürgen König over 10 years ago. Updated about 9 years ago.

Status:
Closed
Priority:
Must have
Assignee:
-
Category:
-
Target version:
-
Start date:
2014-06-13
Due date:
% Done:

0%

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

Description

Using MySQL 5.5, the Upgrade Wizard stops at ALTER TABLE index_fulltext ENGINE=InnoDB; giving the error message: SQL-ERROR: The used table type doesn't support FULLTEXT indexes;

The same does Database Analyser.

FULLTEXT index with InnoBD is only possible from MySQL Version 5.6.

Is this a bug or is Typo3 6.2 only working with MySQL Version 5.6?

See also: http://www.typo3forum.net/forum/typo3-installation-updates/74805-typo3-6-2-3-upgrade-wizard-scheitert-db-tabelle-index_fulltext.html

Actions #1

Updated by Frans Saris over 10 years ago

Please try to un-install indexed_search and try then again the upgrade wizard.

Because strange thing is that these table definitions haven't changed in years...

Did you have indexed_search installed before upgrading?

Actions #2

Updated by Markus Klein over 10 years ago

Looks like index_search_mysql comes into the game, as the FULLTEXT index comes from this extension, but it has MyISAM engine defined.

Actions #3

Updated by Frans Saris over 10 years ago

If un-installing doesn't help maybe you can try to run the CREATE TABLE statement manualy

#
# Table structure for table 'index_fulltext'
#
CREATE TABLE index_fulltext (
  phash int(11) DEFAULT '0' NOT NULL,
  fulltextdata mediumtext,
  metaphonedata mediumtext NOT NULL,
  PRIMARY KEY (phash)
) ENGINE=InnoDB;
Actions #4

Updated by Markus Klein over 10 years ago

Frans, I guess the _mysql version of the ext is in the DB, hence the index is already present and the migration to InnoDB (the normal ext version) fails.

Actions #5

Updated by Paul Kamma over 10 years ago

So are there any plans to fix this Bug? I ran into it yesterday after trying to Upgrade from 6.1.7 to the latest Version.

Actions #6

Updated by Markus Klein over 10 years ago

Hi Paula, I honestly have no idea currently, how we could fix that properly nor do I have time to investigate this closer. Sorry from my side.

Actions #7

Updated by Paul Kamma over 10 years ago

Too bad, are there maybe some workarounds like removing the extension?
Regards .. Paul

Actions #8

Updated by Markus Klein over 10 years ago

Workaround would be to remove the indexed_search_mysql extension, update the DB with the analyzer and then run the wizard

Actions #9

Updated by Jürgen König over 10 years ago

Uninstalling indexed_search and indexed_search_mysql worked for me. Thank you!!

Actions #10

Updated by Jochen Schultz about 10 years ago

For me it looks like some developer tries to change the database storage engine from myisam to innodb which doesn't really make sence to me.

The table name is "index_fulltext" and only MyIsam has a fulltext index.

If there might be some sort of logic behind that other than using innodb everywhere because yolo,

you may change to innodb by truncating the table index_fulltext in order to remove the index,

TRUNCATE TABLE index_fulltext;

then remove the index by

ALTER TABLE index_fulltext DROP KEY fulltextdata; 

and change storage engine with:

ALTER TABLE index_fulltext engine=innodb;

Altering the upgrade wizzard might be the better way though.

Actions #11

Updated by Markus Klein about 10 years ago

Hi Jochen,

it is almost impossible to fix the upgrade wizard here due to dependencies and so on.
index_search_mysql requires index_search. When evaluating the DB state and necessary changes it is by far not trivial to determine which action needs to be taken in which order.
Generally the indexed_search hassle is special with the changing storage engine.
You also have to consider DBs where InnoDB is not available, this will cause other issues then in terms of correct upgrade.

If you find the time to get that perfect, please do so, I'll happily review the patch.
Thanks.

Actions #12

Updated by Jochen Schultz about 10 years ago

May i suggest to use MyIsam as standard then in typo3\sysext\indexed_search\ext_tables.sql:


CREATE TABLE index_fulltext (
  phash int(11) DEFAULT '0' NOT NULL,
  fulltextdata mediumtext,
  metaphonedata mediumtext,
  PRIMARY KEY (phash)
  FULLTEXT fulltextdata (fulltextdata)
  FULLTEXT metaphonedata (metaphonedata)
) ENGINE=MyISAM;

instead of


CREATE TABLE index_fulltext (
  phash int(11) DEFAULT '0' NOT NULL,
  fulltextdata mediumtext,
  metaphonedata mediumtext NOT NULL,
  PRIMARY KEY (phash)
) ENGINE=InnoDB;

I am actually new inside the typo3 community and i don't know about the common ways to fix it yet.
So could you please be so kind and actually do the changes inside the extension in what ever kind of concurrent versioning system the core is inside?
I am not lazy, but just got many new tickets i have to work on with higher priorities...

Actions #13

Updated by Riccardo De Contardi about 9 years ago

looking at TYPO3 6.2.15 and 7.6-dev (latest master), I've seen that in both:
- the file ext_tables.sql of the extension "indexed_search_mysql" defines:

CREATE TABLE index_fulltext (
  phash int(11) DEFAULT '0' NOT NULL,
  fulltextdata mediumtext,
  metaphonedata mediumtext,
  PRIMARY KEY (phash)
  FULLTEXT fulltextdata (fulltextdata)
  FULLTEXT metaphonedata (metaphonedata)
) ENGINE=MyISAM;

- while on "indexed_search" the ext_tables.sql says:

CREATE TABLE index_fulltext (
  phash int(11) DEFAULT '0' NOT NULL,
  fulltextdata mediumtext,
  metaphonedata mediumtext NOT NULL,
  PRIMARY KEY (phash)
) ENGINE=InnoDB;
Actions #14

Updated by Markus Klein about 9 years ago

  • Status changed from New to Closed

I'm closing this report as this is extra-complicated to fix and a workaround does exist.

Actions

Also available in: Atom PDF