| Bug #17501 | TYPE= no longer works in CREATE/ALTER TABLE | ||
|---|---|---|---|
| Submitted: | 17 Feb 2006 5:18 | Modified: | 5 Feb 0:44 |
| Reporter: | Arjen Lentz | ||
| Status: | Open | ||
| Category: | Server | Severity: | S3 (Non-critical) |
| Version: | 5.1.7-BK,6.0.9 | OS: | Any (any) |
| Assigned to: | Sergei Golubchik | Target Version: | |
| Tags: | type, engine, ALTER TABLE, CREATE TABLE | ||
[17 Feb 2006 5:18]
Arjen Lentz
[17 Feb 2006 15:42]
Valeriy Kravchuk
Verified just as described: openxs@suse:~/dbs/5.1> bin/mysql -uroot test Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 to server version: 5.1.7-beta Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> CREATE TABLE t1 ( a INT ) TYPE=MyISAM; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TYPE=MyISAM' at line 1
[18 Feb 2006 4:18]
Brian Aker
We need to get this in the manual that it has been removed.
[18 Feb 2006 4:32]
Peter Laursen
However it works in 5.1.6 here. I suggest that it should stay that way. People are using all sorts of third-party clients that for historical reason use TYPE and not ENGINE.
[21 Feb 2006 2:06]
Paul DuBois
I've added a note to the 5.1.7 changelog and the 5.1 upgrading sections that TYPE support has been removed, and removed other mentions of TYPE in the 5.1 manual as well.
[21 Feb 2006 6:29]
Jeremy Cole
Is there a good reason to drop support for TYPE completely? This makes application support really difficult. ENGINE wasn't even introduced all that long ago.
[2 Mar 2006 11:25]
Sergei Golubchik
Ok, TYPE= was restored. A warning for all deprecated features now specifies in what precisely version this feature will be removed. For all features that were marked as deprecate in 5.1.7 it is 5.2
[2 Mar 2006 12:05]
Jon Stephens
Thank you for your bug report. This issue has been addressed in the documentation. The updated documentation will appear on our website shortly, and will be included in the next release of the relevant product(s). Additional info: I've updated the 5.1.8 changelog and related documentation pursuant to the latest developer notes above.
[2 Mar 2006 12:37]
Arjen Lentz
Thanks - but this just moves the same problem forward so we'll be back her later. Please specify WHY it needs to be removed, rather than keeping it around deprecated? I believe others have asked this also and I think it is a relevant question. It's not extra "old" code we need to keep around, it's just a few extra chars in the parser.
[2 Mar 2006 13:41]
Jon Stephens
Due to a lost packet or somesuch thing, I only saw the first half of the last developer comment when I viewed this bug previously, so to clarify what I've done: 1. I updated ONLY the material relevant to TYPE/ENGINE. 2. Before this proceeds any farther, I'm asking for an internal discussion/ruling. 3. I've changed this bug's status to In Progress pending resolution of this issue.
[11 May 2006 22:26]
jurgen DEBO
using 5.1.7-beta
Well Joomla (Mambo) 1.0.8 use many 3th party extensions.
And I can imagine some people do want to have backwards
compatibility too. And what to do with encrypted scripts ?
Most source does rely on:
create table.....TYPE=MyISAM
Some solutions:
a) Warnings should be generated, no fatal errors.
b) a setting in Mysql to be less strict.
c) a setting in Mysq to auto correct, with warning
d) a grep/sed/awk based pre-parser to auto correct queries
which can be defined in an ini file (like preparse.ini)
[4 Feb 17:45]
Anton Anikin
Same problem again with latest MySQL 6.0.9
[5 Feb 0:44]
Arjen Lentz
Here we go again. There's legacy foo out there that can't be changed. The advantage of removing the TYPE keyword from the parser is really irrelevant compared to the amount of hassle this causes in the dozens of millions of deployments that MySQL has! So please just leave it in - yes, do keep noting it's deprecated, that's good. But please don't remove it.
