svnno****@sourc*****
svnno****@sourc*****
2008年 12月 1日 (月) 17:11:56 JST
Revision: 170 http://svn.sourceforge.jp/view?root=tritonn&view=rev&rev=170 Author: mir Date: 2008-12-01 17:11:56 +0900 (Mon, 01 Dec 2008) Log Message: ----------- SQL query abort patch. "KILL" command also become to appliy to senna. Thanks to Kazuho Oku san. USE_QUERY_ABORT macro appeared for this patch as well as senna. Modified Paths: -------------- tags/tritonn-1.0.12-mysql-5.0.67/sql/ha_myisam.cc -------------- next part -------------- Modified: tags/tritonn-1.0.12-mysql-5.0.67/sql/ha_myisam.cc =================================================================== --- tags/tritonn-1.0.12-mysql-5.0.67/sql/ha_myisam.cc 2008-12-01 07:20:52 UTC (rev 169) +++ tags/tritonn-1.0.12-mysql-5.0.67/sql/ha_myisam.cc 2008-12-01 08:11:56 UTC (rev 170) @@ -166,6 +166,23 @@ } return 0; } + +#ifdef USE_QUERY_ABORT +static int senna_check_abort(void *) +{ + return current_thd->killed == THD::KILL_CONNECTION; +} + +static void senna_set_abort_handler(MYISAM_SHARE *share) +{ + for (uint i = 0; i < (uint)share->state.header.keys; i++) { + if (share->keyinfo[i].senna != NULL) { + sen_index_set_abort_callback(share->keyinfo[i].senna, senna_check_abort, + NULL); + } + } +} +#endif /* USE_QUERY_ABORT */ #endif /* ENABLE_SENNA */ /* @@ -695,6 +712,11 @@ int_table_flags|=HA_REC_NOT_IN_SEQ; if (file->s->options & (HA_OPTION_CHECKSUM | HA_OPTION_COMPRESS_RECORD)) int_table_flags|=HA_HAS_CHECKSUM; +#ifdef ENABLE_SENNA +#ifdef USE_QUERY_ABORT + senna_set_abort_handler(file->s); +#endif +#endif return (0); }