[MDEV-4808] Error installing help tables Created: 2013-07-22  Updated: 2019-04-03  Resolved: 2019-04-03

Status: Closed
Project: MariaDB Server
Component/s: OTHER
Affects Version/s: 5.5.32
Fix Version/s: N/A

Type: Bug Priority: Major
Reporter: Terry Roy Assignee: Sergei Golubchik
Resolution: Won't Fix Votes: 0
Labels: upstream-fixed
Environment:

Debian Wheezy using mariadb.org repository



 Description   

Help files don't completely install. Logs show this:

Jul 19 07:11:40 mail1 mysqld_safe[3617]: WARNING: HELP FILES ARE NOT COMPLETELY INSTALLED!
Jul 19 07:11:40 mail1 mysqld_safe[3617]: The "HELP" command might not work properly.

Manually trying to add the help tables results in this:

mysql -u root mysql < /usr/share/mysql/fill_help_tables.sql
ERROR 1406 (22001) at line 75: Data too long for column 'url' at row 1

MariaDB [mysql]> desc help_topic;
--------------
desc help_topic
--------------
 
+------------------+----------------------+------+-----+---------+-------+
| Field            | Type                 | Null | Key | Default | Extra |
+------------------+----------------------+------+-----+---------+-------+
| help_topic_id    | int(10) unsigned     | NO   | PRI | NULL    |       |
| name             | char(64)             | NO   | UNI | NULL    |       |
| help_category_id | smallint(5) unsigned | NO   |     | NULL    |       |
| description      | text                 | NO   |     | NULL    |       |
| example          | text                 | NO   |     | NULL    |       |
| url              | char(128)            | NO   |     | NULL    |       |
+------------------+----------------------+------+-----+---------+-------+
6 rows in set (0.01 sec)

These urls exceed the 128 length:
==> grep 'insert into help_topic ' /usr/share/mysql/fill_help_tables.sql | perl -ne " m/.,'(.)'/; print \$1.\"\n\" if (length(\$1) > 128) "
http://dev.mysql.com/doc/refman/5.5/en/functions-for-testing-spatial-relations-between-geometric-objects.html#functions-that-test-spatial-relationships-between-geometries
http://dev.mysql.com/doc/refman/5.5/en/functions-for-testing-spatial-relations-between-geometric-objects.html#functions-that-test-spatial-relationships-between-geometries
http://dev.mysql.com/doc/refman/5.5/en/functions-for-testing-spatial-relations-between-geometric-objects.html#functions-that-test-spatial-relationships-between-geometries
http://dev.mysql.com/doc/refman/5.5/en/functions-for-testing-spatial-relations-between-geometric-objects.html#functions-that-test-spatial-relationships-between-geometries
http://dev.mysql.com/doc/refman/5.5/en/functions-for-testing-spatial-relations-between-geometric-objects.html#relations-on-geometry-mbr
http://dev.mysql.com/doc/refman/5.5/en/functions-for-testing-spatial-relations-between-geometric-objects.html#relations-on-geometry-mbr
http://dev.mysql.com/doc/refman/5.5/en/functions-for-testing-spatial-relations-between-geometric-objects.html#functions-that-test-spatial-relationships-between-geometries
http://dev.mysql.com/doc/refman/5.5/en/functions-for-testing-spatial-relations-between-geometric-objects.html#relations-on-geometry-mbr
http://dev.mysql.com/doc/refman/5.5/en/functions-for-testing-spatial-relations-between-geometric-objects.html#relations-on-geometry-mbr
http://dev.mysql.com/doc/refman/5.5/en/functions-for-testing-spatial-relations-between-geometric-objects.html#functions-that-test-spatial-relationships-between-geometries
http://dev.mysql.com/doc/refman/5.5/en/functions-for-testing-spatial-relations-between-geometric-objects.html#functions-that-test-spatial-relationships-between-geometries
http://dev.mysql.com/doc/refman/5.5/en/functions-for-testing-spatial-relations-between-geometric-objects.html#relations-on-geometry-mbr
http://dev.mysql.com/doc/refman/5.5/en/functions-for-testing-spatial-relations-between-geometric-objects.html#relations-on-geometry-mbr
http://dev.mysql.com/doc/refman/5.5/en/functions-for-testing-spatial-relations-between-geometric-objects.html#relations-on-geometry-mbr
http://dev.mysql.com/doc/refman/5.5/en/functions-for-testing-spatial-relations-between-geometric-objects.html#functions-that-test-spatial-relationships-between-geometries

See this discussion http://bugs.mysql.com/bug.php?id=61520 where a solution was implemented.

"The url columns in the mysql datatbase help tables were too short to
hold some of the URLs in the help content. These columns are now type
TEXT to accommodate longer URLs."



 Comments   
Comment by Elena Stepanova [ 2013-07-25 ]

Hi Terry,

Did you run mysql_upgrade after installing 5.5.32?
Here is what I see for help_topic newly created by 5.5.32:

+------------------+----------------------+------+-----+---------+-------+
| Field            | Type                 | Null | Key | Default | Extra |
+------------------+----------------------+------+-----+---------+-------+
| help_topic_id    | int(10) unsigned     | NO   | PRI | NULL    |       |
| name             | char(64)             | NO   | UNI | NULL    |       |
| help_category_id | smallint(5) unsigned | NO   |     | NULL    |       |
| description      | text                 | NO   |     | NULL    |       |
| example          | text                 | NO   |     | NULL    |       |
| url              | text                 | NO   |     | NULL    |       |
+------------------+----------------------+------+-----+---------+-------+

url is of type text already, so no errors on filling the table for me.

Comment by Terry Roy [ 2013-07-26 ]

I ran mysql_update. Received this message.

This installation of MySQL is already upgraded to 5.5.32-MariaDB, use --force if you still need to run mysql_upgrade

So I ran mysql_update --force. Script ran but url stays as type char.

MariaDB [mysql]> desc help_topic;
+------------------+----------------------+------+-----+---------+-------+
| Field            | Type                 | Null | Key | Default | Extra |
+------------------+----------------------+------+-----+---------+-------+
| help_topic_id    | int(10) unsigned     | NO   | PRI | NULL    |       |
| name             | char(64)             | NO   | UNI | NULL    |       |
| help_category_id | smallint(5) unsigned | NO   |     | NULL    |       |
| description      | text                 | NO   |     | NULL    |       |
| example          | text                 | NO   |     | NULL    |       |
| url              | char(128)            | NO   |     | NULL    |       |
+------------------+----------------------+------+-----+---------+-------+

Comment by Elena Stepanova [ 2013-07-26 ]

Which version did you upgrade from?

Upd: nevermind, I see that mysql_upgrade doesn't change the structure of the table. I suppose it's a side-effect of mysql_upgrade not updating the contents of help tables – probably it doesn't look at them at all and thus doesn't check the structure either...

MySQL behaves the same way (upgrade from 5.5.30 to 5.5.32 doesn't change the structure of the table)

Comment by Elena Stepanova [ 2013-07-26 ]

Terry,

Are you planning to file an upstream bug about it (about upgrade not changing the structure of the table), or maybe you have already?

Comment by Terry Roy [ 2013-07-26 ]

On one server, I installed 5.5.30, upgraded when 5.5.31 came out then to 5.5.32. On another server, I have been running mariadb since 5.3.x and gone through the series of upgrades to 5.5.32. Have the problem on both servers.

Comment by Elena Stepanova [ 2013-07-26 ]

Hi Terry,

Right, I get it.
We usually file such universal problems in the upstream (MySQL, in this case) bug base and wait to see if MySQL wants to fix them; if not, we fix ourselves. Are you willing to file a bug at bugs.mysql.com? Being an author will let you watch it easier. If not, I'll file one on your behalf..

Thanks.

Comment by Terry Roy [ 2013-07-26 ]

I hadn't planned on it since someone else had already filed a bug report and the bug was marked as closed. From the mysql bug report http://bugs.mysql.com/bug.php?id=61520:

Noted in 5.1.70, 5.5.32, 5.6.12, 5.7.2 changelogs.

The url columns in the mysql datatbase help tables were too short to
hold some of the URLs in the help content. These columns are now type
TEXT to accommodate longer URLs.

Comment by Terry Roy [ 2013-07-26 ]

Hi Elena,

Is this a different bug than the one described in 61520? Sorry for being dense, but I am happy to file one if 61520 doesn't cover it. I'm relatively new to the filing of bug reports.

Comment by Elena Stepanova [ 2013-07-26 ]

Yes, I think it's a slightly different problem, although of course MySQL verification team might judge differently.
I mean, the bugs are obviously related, but what they have fixed is that the contents of the table didn't fit the existing structure. So, now newly created help tables have the field of the type TEXT, and the problem doesn't exist.
But it can still occur upon upgrade (as opposed to a clean installation), because mysql_upgrade doesn't fix the structure of the existing help table.

Coincidentally enough though, fill_help_tables.sql in MySQL 5.5.32 doesn't contain links longer than 128 symbols anymore, so the error on filling the table doesn't occur, even although the structure remains old.

Comment by Terry Roy [ 2013-07-27 ]

Hi Elena,

Thanks for your explanation. I went over to MySQL to file a bug report and cannot login. Have tried asking for my password multiple times and even my username but I'm not getting anything back from Oracle. Even tried setting up a new account with Oracle and nothing there either. If you have the ability to file the report, I would appreciate it. Thanks,

Terry

Comment by Elena Stepanova [ 2013-07-27 ]

Filed as http://bugs.mysql.com/bug.php?id=69853

Comment by Daniel Black [ 2017-12-30 ]

upstream fix https://github.com/mysql/mysql-server/commit/924b64dec1e3fa58da2de286869153842914a123

MDEV-6779 - 10.0 branch was fixed with f7c50bf10f2738a633d8399b8fd97d7cfc665bef

Generated at Thu Feb 08 06:59:19 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.