Bug #33404 Falcon ignores partition-level TABLESPACE option
Submitted: 20 Dec 2007 14:34 Modified: 18 Oct 2008 15:02
Reporter: Philip Stoev Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Falcon storage engine Severity:S3 (Non-critical)
Version:6.0.5-alpha-debug-log OS:Any
Assigned to: Sergey Vojtovich CPU Architecture:Any

[20 Dec 2007 14:34] Philip Stoev
Description:
If a CREATE TABLE specifies a TABLESPACE at the partition level, Falcon will ignore this option and only honor a TABLESPACE option at the table level (if any).

This is in contrast with the behavoir of MyISAM and to the manual, which says:

"Beginning with MySQL 6.0.4, table-level DATA DIRECTORY and INDEX DIRECTORY are ignored for partitioned tables. "

and

"The optional TABLESPACE clause may be used to designate a tablespace for the partition. Used for MySQL Cluster and Falcon only."

If different tablespaces are ignored for partitions, Falcon will not be able to take advantage of multiple parallel hard drives, when this feature becomes available.

How to repeat:
mysql> create table t2 (f1 integer) engine=falcon PARTITION BY HASH(f1) PARTITIONS 2 ( PARTITION p1 TABLESPACE foo, PARTITION p2 TABLESPACE bar);
Query OK, 0 rows affected (0.02 sec)

mysql> select * FROM information_schema.FALCON_TABLES WHERE TABLE_NAME = 't2';
+-------------+------------+-----------+-------------+---------------+
| SCHEMA_NAME | TABLE_NAME | PARTITION | TABLESPACE  | INTERNAL_NAME |
+-------------+------------+-----------+-------------+---------------+
| TEST        | T2         | P1        | FALCON_USER | T2#P#P1       |
| TEST        | T2         | P2        | FALCON_USER | T2#P#P2       |
+-------------+------------+-----------+-------------+---------------+
[22 Apr 2008 13:15] 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/45822

ChangeSet@1.2629, 2008-04-22 17:12:12+05:00, svoj@mysql.com +4 -0
  BUG#33404 - Falcon ignores partition-level TABLESPACE option
  
  Creating partitioned table that supports tablespaces, ignores
  [sub]partition level tablespace option. It was only possible
  to specify table level tablespace option.
  
  With this fix tablespace option is handled as following:
  - If tablespace option was specified for subpartition, use it;
    otherwise inherit partition level tablespace option.
  - If tablespace option was specified for partition, use it;
    otherwise inherit table level tablespace option.
  - If tablespace option was specified for table, use it;
    otherwise use default tablespace.
[22 Apr 2008 14:08] 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/45824

ChangeSet@1.2629, 2008-04-22 18:05:23+05:00, svoj@mysql.com +4 -0
  BUG#33404 - Falcon ignores partition-level TABLESPACE option
  
  Creating partitioned table that supports tablespaces, ignores
  [sub]partition level tablespace option. It was only possible
  to specify table level tablespace option.
  
  With this fix tablespace option is handled as following:
  - If tablespace option was specified for subpartition, use it;
    otherwise inherit partition level tablespace option.
  - If tablespace option was specified for partition, use it;
    otherwise inherit table level tablespace option.
  - If tablespace option was specified for table, use it;
    otherwise use default tablespace.
[23 Apr 2008 7:56] 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/45865

ChangeSet@1.2629, 2008-04-23 11:54:13+05:00, svoj@mysql.com +4 -0
  BUG#33404 - Falcon ignores partition-level TABLESPACE option
  
  Creating partitioned table that supports tablespaces, ignores
  [sub]partition level tablespace option. It was only possible
  to specify table level tablespace option.
  
  With this fix tablespace option is handled as following:
  - If tablespace option was specified for subpartition, use it;
    otherwise inherit partition level tablespace option.
  - If tablespace option was specified for partition, use it;
    otherwise inherit table level tablespace option.
  - If tablespace option was specified for table, use it;
    otherwise use default tablespace.
[29 Apr 2008 8:13] Mattias Jonsson
OK to push.
[29 Apr 2008 12:26] 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/46183

ChangeSet@1.2656, 2008-04-29 16:22:19+05:00, svoj@mysql.com +1 -0
  BUG#33404 - Falcon ignores partition-level TABLESPACE option
  
  This is an addition to fix for the bug. Updated
  rpl_ndb_dd_partitions test result.
[5 Aug 2008 16:36] Sergey Vojtovich
Was pushed to 6.0.6.
[18 Oct 2008 15:02] Jon Stephens
Documented in the 6.0.6 changelog as follows:

        Partition-level TABLESPACE options were ignored for Falcon tables.