[Tritonn-commit 155] [svn] [170] SQL query abort patch.

Back to archive index

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);
 }
 


Tritonn-commit メーリングリストの案内
Back to archive index