Bug #17082 Client hangs when creating tables with partition
Submitted: 2 Feb 2006 20:28 Modified: 14 Feb 2006 11:37
Reporter: Miguel Solorzano Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Partitions Severity:S2 (Serious)
Version:5.1.7 BK source OS:Microsoft Windows (Windows)
Assigned to: Reggie Burnett CPU Architecture:Any

[2 Feb 2006 20: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 17: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 15: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 15: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 11: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.