Bug #367 'mysql.proc does not exist' on CREATE TABLE
Submitted: 4 May 2003 9:10 Modified: 1 Jul 2003 6:19
Reporter: Guilhem Bichot
Status: Not a Bug
Category:Server Severity:S3 (Non-critical)
Version:5.0 OS:Linux (linux)
Assigned to: Bugs System Target Version:

[4 May 2003 9:10] Guilhem Bichot
Description:
Hi,

SLAVE> create table tt (a int);
Query OK, 0 rows affected (0.00 sec)

SLAVE> create table uu(a int);
ERROR 1146: Table 'mysql.proc' doesn't exist

Such a CREATE TABLE without the space between table name and (
used to work in earlier versions (4.0 for example).

Possibly this is not a bug but just a necessary change, I don't know...
(still it will break existing apps).

How to repeat:
create table uu(a int);
[12 Jun 2003 11:07] Per-Erik Martin
This can't be repeated if the system database is properly
installed. The only way it can happen is when using an old
(pre-5.0) system database, or if the mysql.proc table has been
dropped.

It is however a misfeature that this happens if any of the above is
the case, but it's probably not worth the effort to fix this, as the
real reason for the problem is the way functions (and UDFs) are
detected in the lexer. This will have to be reworked for other reasons
anyway.
[29 Jun 2003 16:34] Guilhem Bichot
Feel free to close it again if you think so, but I wanted to add that I did nothing really
wrong on my 5.0 installation.
Simply, I have no 'mysql' database, and I run with --skip-grant-tables. Things go fine,
except this mysql.proc thing.
Maybe we need a change, or an option, so that mysql.proc is not required (just a
suggestion) ??
[1 Jul 2003 6:19] Per-Erik Martin
Alghough this problem ultimately does occur because of a bug, it's not the
primary issue, but merely a side effect that happens when running without
a 'mysql' database. Running without a 'mysql' database will cause other things
to fail as well and is not encouraged.
So I still prefer to close this, and treat the actual bug separately.
(It has to do with the way the lexer looks up UDFs, and therefore stored
functions, which has other, more serious implications.)