backtraceでみるパーティショニング機能のON/OFF
結論からいうと、handler API呼出し時に、各ストレージエンジンのサブクラスのメソッド呼出しに行く1つ前にpartitionテーブルハンドラのメソッド呼出しが入るだけのようです。
パーティショニング機能を使っていないMyISAM型テーブルへのINSERT時。
Breakpoint 1, mi_write (info=0x8b90420, record=0x8b8fd88 "ý\n") at mi_write.c:46 (gdb) bt #0 mi_write (info=0x8b90420, record=0x8b8fd88 "ý\n") at mi_write.c:46 #1 0x0841c6d2 in ha_myisam::write_row (this=0x8b8fc78, buf=0x8b8fd88 "ý\n") at ha_myisam.cc:353 #2 0x082b26ad in handler::ha_write_row (this=0x8b8fc78, buf=0x8b8fd88 "ý\n") at handler.cc:3652 #3 0x082534ba in write_record (thd=0x8b63e90, table=0x8b8ee00, info=0xa4f794d0) at sql_insert.cc:1242 #4 0x08256070 in mysql_insert (thd=0x8b63e90, table_list=0x8b88878, fields=@0x8b643dc, values_list=@0x8b64400, update_fields=@0x8b643f4, update_values=@0x8b643e8, duplic=DUP_ERROR, ignore=false) at sql_insert.cc:569 #5 0x081f1a94 in mysql_execute_command (thd=0x8b63e90) at sql_parse.cc:3457 #6 0x081f782d in mysql_parse (thd=0x8b63e90, inBuf=0x8b887f8 "insert into t2 values (10)", length=26) at sql_parse.cc:6103 #7 0x081f8183 in dispatch_command (command=COM_QUERY, thd=0x8b63e90, packet=0x8b807c9 "insert into t2 values (10)", packet_length=27) at sql_parse.cc:1862 #8 0x081f90e9 in do_command (thd=0x8b63e90) at sql_parse.cc:1631 #9 0x081f9565 in handle_one_connection (arg=0x8b63e90) at sql_parse.cc:1237 #10 0xa7f4a240 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #11 0xa7d8532e in clone () from /lib/tls/i686/cmov/libc.so.6
パーティショニング機能を使っているMyISAM型テーブルへのINSERT時。
Breakpoint 1, mi_write (info=0x8b8e538, record=0x8b8ca78 "ý\n") at mi_write.c:46 Current language: auto; currently c (gdb) bt #0 mi_write (info=0x8b8e538, record=0x8b8ca78 "ý\n") at mi_write.c:46 #1 0x0841c6d2 in ha_myisam::write_row (this=0x8b8cc78, buf=0x8b8ca78 "ý\n") at ha_myisam.cc:353 #2 0x082bbe10 in ha_partition::write_row (this=0x8b8c780, buf=0x8b8ca78 "ý\n") at ha_partition.cc:2681 #3 0x082b26ad in handler::ha_write_row (this=0x8b8c780, buf=0x8b8ca78 "ý\n") at handler.cc:3652 #4 0x082534ba in write_record (thd=0x8b63e90, table=0x8b44148, info=0xa4f794d0) at sql_insert.cc:1242 #5 0x08256070 in mysql_insert (thd=0x8b63e90, table_list=0x8b88878, fields=@0x8b643dc, values_list=@0x8b64400, update_fields=@0x8b643f4, update_values=@0x8b643e8, duplic=DUP_ERROR, ignore=false) at sql_insert.cc:569 #6 0x081f1a94 in mysql_execute_command (thd=0x8b63e90) at sql_parse.cc:3457 #7 0x081f782d in mysql_parse (thd=0x8b63e90, inBuf=0x8b887f8 "insert into t1 values (10)", length=26) at sql_parse.cc:6103 #8 0x081f8183 in dispatch_command (command=COM_QUERY, thd=0x8b63e90, packet=0x8b807c9 "insert into t1 values (10)", packet_length=27) at sql_parse.cc:1862 #9 0x081f90e9 in do_command (thd=0x8b63e90) at sql_parse.cc:1631 #10 0x081f9565 in handle_one_connection (arg=0x8b63e90) at sql_parse.cc:1237 #11 0xa7f4a240 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #12 0xa7d8532e in clone () from /lib/tls/i686/cmov/libc.so.6
要するに、ha_parition.ccを嫁と。--with-plugins=partitionの通りですよということみたいです。