Errata

High Performance MySQL

Errata for High Performance MySQL

Submit your own errata for this product.

The errata list is a list of errors and their corrections that were found after the product was released.

The following errata were submitted by our customers and have not yet been approved or disproved by the author or editor. They solely represent the opinion of the customer.

Color Key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update

Version Location Description Submitted by Date submitted
Printed Page 7
Second to last paragraph

The second to last paragraph on page seven instructs Windows users setting up MySQL
to copy the MySQL configuration file (my.cnf) to systemdir/win.ini.

Under Windows, the MySQL configuration file should be copied to %WINDIR%/my.ini or
C:my.cnf. Anyone following the above procedure and copying the file to
systemdir/win.ini will be overwriting a Widows configuration file, which I am sure is
not what the authors intended.

Anonymous   
Printed Page 42
bullet list 3/4 of the way down the page

The 2nd bullet states, "AUTO_INCREMENT columns aren't updated on insert. They are
updated if you insert into one of the underlying tables"

I've found this to be untrue as I think the following example illustrates:

CREATE TABLE table1 (
a int auto_increment not null primary key,
b varchar(10) not null
);

CREATE TABLE merge123 (
a int auto_increment not null primary key,
b varchar(10) not null
) TYPE=MERGE UNION=(table1) INSERT_METHOD=LAST;

INSERT INTO merge123 (b) VALUES('hello');
INSERT INTO merge123 (b) VALUES('hola');

CREATE TABLE table2 (
a int auto_increment not null primary key,
b varchar(10) not null
);

ALTER TABLE merge123 TYPE=MERGE UNION=(table1,table2) INSERT_METHOD=LAST;

INSERT INTO merge123 (b) VALUES('bonjour');

CREATE TABLE table3 (
a int auto_increment not null primary key,
b varchar(10) not null
);

ALTER TABLE merge123 TYPE=MERGE UNION=(table1,table2,table3) INSERT_METHOD=LAST;

INSERT INTO merge123 (b) VALUES('guten tag');

mysql> select * from merge123;
+---+-----------+
| a | b |
+---+-----------+
| 1 | hello |
| 2 | hola |
| 3 | bonjour |
| 4 | guten tag |
+---+-----------+

The only reason this works is because of the auto_increment attribute on the
merge123.a column, so the statement in the book seems misleading.

Anonymous   
Printed Page 68
2nd paragraph

Due to MySQL bug #390, As of MySQL 4.0.13 "PRIMARY KEY" implies "NOT NULL", so this paragraph requires re-work.

Anonymous   
Printed Page 70
example at bottom

To make this example work on MySQL 4.1.9, the loc column must be NOT NULL.
Attempting to create the table as described in the book generates an error:

ERROR 1252 (42000): All parts of a SPATIAL index must be NOT NULL

Anonymous   
Printed Page 139
Last paragraph of "Online table copies"

The sentence, "It then reconstructs... for which large amounts..." should read, "It then reconstructs... which for large amounts..."

Anonymous   
PDF Page 180
first query in the page

WHERE actor='SEAN CARREY' AND title LIKE '%APOLLO%'

it should be:
WHERE actor='SEAN CARREY' AND title LIKE 'APOLLO%'

so it matches the case for the prefix-matching.

Dr. Osama Abbas Hussein   Jan 07, 2019 
Printed Page 230
2nd sentence in the bottom paragraph

In the 2nd sentence,

The mysqladmin flush_hosts command simply executes a
FLUSH HOSTS SQL command, which empties MySQL's host cache tables.

the command "mysqladmin flush_hosts" should be
"mysqladmin flush-hosts" as in the 1st sentence

Anonymous