summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorantony@ppcg5.local <>2007-07-06 09:03:50 -0700
committerantony@ppcg5.local <>2007-07-06 09:03:50 -0700
commit6402e4324a5d38a8d3249a8cb8058ff89c24b879 (patch)
tree66c5419689570123e5a89f3071167d75adc70483 /include
parent0a1c65b6e3fe1f3cec4aa8a6cea0dd4acb51887a (diff)
parent53043d6f45bc24a6713d7565ae4292faefe8a397 (diff)
downloadmariadb-git-6402e4324a5d38a8d3249a8cb8058ff89c24b879.tar.gz
Merge anubis.xiphis.org:/usr/home/antony/work/mysql-5.1-engines
into anubis.xiphis.org:/usr/home/antony/work/mysql-5.1-engines.merge
Diffstat (limited to 'include')
-rw-r--r--include/my_base.h7
-rw-r--r--include/my_bitmap.h11
2 files changed, 17 insertions, 1 deletions
diff --git a/include/my_base.h b/include/my_base.h
index bb5fdfc8392..bbc0c0f1f5c 100644
--- a/include/my_base.h
+++ b/include/my_base.h
@@ -180,7 +180,12 @@ enum ha_extra_function {
These flags are reset by the handler::extra(HA_EXTRA_RESET) call.
*/
HA_EXTRA_DELETE_CANNOT_BATCH,
- HA_EXTRA_UPDATE_CANNOT_BATCH
+ HA_EXTRA_UPDATE_CANNOT_BATCH,
+ /*
+ Inform handler that an "INSERT...ON DUPLICATE KEY UPDATE" will be
+ executed. This condition is unset by HA_EXTRA_NO_IGNORE_DUP_KEY.
+ */
+ HA_EXTRA_INSERT_WITH_UPDATE
};
/* The following is parameter to ha_panic() */
diff --git a/include/my_bitmap.h b/include/my_bitmap.h
index 488c41ffb22..0b12172946a 100644
--- a/include/my_bitmap.h
+++ b/include/my_bitmap.h
@@ -103,6 +103,17 @@ extern void bitmap_lock_invert(MY_BITMAP *map);
&= ~ (1 << ((BIT) & 7)))
#define _bitmap_is_set(MAP, BIT) (uint) (((uchar*)(MAP)->bitmap)[(BIT) / 8] \
& (1 << ((BIT) & 7)))
+/*
+ WARNING!
+
+ The below symbols are inline functions in DEBUG builds and macros in
+ non-DEBUG builds. The latter evaluate their 'bit' argument twice.
+
+ NEVER use an increment/decrement operator with the 'bit' argument.
+ It would work with DEBUG builds, but fails later in production builds!
+
+ FORBIDDEN: bitmap_set_bit($my_bitmap, (field++)->field_index);
+*/
#ifndef DBUG_OFF
static inline void
bitmap_set_bit(MY_BITMAP *map,uint bit)