Bug #33404 Falcon ignores partition-level TABLESPACE option
Submitted: 20 Dec 2007 15:34 Modified: 18 Oct 2008 17:02
Reporter: Philip Stoev
Status: Closed
Category:Server: Falcon Severity:S3 (Non-critical)
Version:6.0.5-alpha-debug-log OS:Any
Assigned to: Sergey Vojtovich Target Version:
Triage: D3 (Medium)

[20 Dec 2007 15: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 15: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 16: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 9: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 10:13] Mattias Jonsson
OK to push.
[29 Apr 2008 14: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 18:36] Sergey Vojtovich
Was pushed to 6.0.6.
[18 Oct 2008 17:02] Jon Stephens
Documented in the 6.0.6 changelog as follows:

        Partition-level TABLESPACE options were ignored for Falcon tables.