Bug #17082 Client hangs when creating tables with partition
Submitted: 2 Feb 2006 21:28 Modified: 14 Feb 2006 12:37
Reporter: Miguel Solorzano
Status: Closed
Category:Server: Partition Severity:S2 (Serious)
Version:5.1.7 BK source OS:Microsoft Windows (Windows)
Assigned to: Reggie Burnett Target Version:

[2 Feb 2006 21:28] Miguel Solorzano
Description:
The mysql client hangs when trying to create the below table. It was
necessary to abort with CTRL+C:

c:\mysql\bin>mysql -uroot test
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 5.1.7-beta-nt-max

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> show variables like "%have%";
+----------------------------+-------+
| Variable_name              | Value |
+----------------------------+-------+
| have_archive               | YES   |
| have_bdb                   | YES   |
| have_blackhole_engine      | YES   |
| have_compress              | YES   |
| have_crypt                 | NO    |
| have_csv                   | NO    |
| have_example_engine        | YES   |
| have_federated_engine      | YES   |
| have_geometry              | YES   |
| have_innodb                | YES   |
| have_isam                  | NO    |
| have_ndbcluster            | NO    |
| have_openssl               | NO    |
| have_partitioning          | YES   |
| have_query_cache           | YES   |
| have_raid                  | NO    |
| have_row_based_replication | YES   |
| have_rtree_keys            | YES   |
| have_symlink               | YES   |
+----------------------------+-------+
19 rows in set (0.11 sec)

mysql> CREATE TABLE employees2 (
    -> id INT NOT NULL,
    -> fname VARCHAR(50) NOT NULL,
    -> lname VARCHAR(50) NOT NULL,
    ->  hired DATE NOT NULL
    -> )
    -> PARTITION BY RANGE( YEAR(hired) ) (
    -> PARTITION p1 VALUES LESS THAN (1991),
    -> PARTITION p2 VALUES LESS THAN (1996),
    -> PARTITION p3 VALUES LESS THAN (2001),
    -> PARTITION p4 VALUES LESS THAN (2005),
    -> PARTITION p5 VALUES LESS THAN MAXVALUE
    -> );
ERROR 2013 (HY000): AbortedLost connection to MySQL server during query

mysql>
c:\mysql\bin>

On Linux works fine:

miguel@hegel:~/dbs/5.1> bin/mysql -uroot test
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2 to server version: 5.1.7-beta-debug

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> CREATE TABLE employees2 (
    -> id INT NOT NULL,
    -> fname VARCHAR(50) NOT NULL,
    -> lname VARCHAR(50) NOT NULL,
    ->  hired DATE NOT NULL
    -> )
    -> PARTITION BY RANGE( YEAR(hired) ) (
    -> PARTITION p1 VALUES LESS THAN (1991),
    -> PARTITION p2 VALUES LESS THAN (1996),
    -> PARTITION p3 VALUES LESS THAN (2001),
    -> PARTITION p4 VALUES LESS THAN (2005),
    -> PARTITION p5 VALUES LESS THAN MAXVALUE
    -> );
Query OK, 0 rows affected (0.02 sec)

mysql> 

How to repeat:
Compile 5.1.7 on Windows and try to create the table mentioned.
[7 Feb 2006 18:18] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/2257
[8 Feb 2006 16:39] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/2322
[8 Feb 2006 16:53] Reggie Burnett
Reviewed by Mikael Ronstrom.

The problem was that an attempt to create a temporary file was not using the right mode
and therefore created a file on Windows that could not be written to.  The fix was to
correct the access mode used.
[14 Feb 2006 12:37] Jon Stephens
Thank you for your bug report. This issue has been committed to our
source repository of that product and will be incorporated into the
next release.

If necessary, you can access the source repository and build the latest
available version, including the bugfix, yourself. More information 
about accessing the source trees is available at
    http://www.mysql.com/doc/en/Installing_source_tree.html

Additional info:

Documented fix in 5.1.7 changelog; closed.