summaryrefslogtreecommitdiff
path: root/sql/handler.h
diff options
context:
space:
mode:
authorV Narayanan <v.narayanan@sun.com>2009-12-08 12:38:50 +0530
committerV Narayanan <v.narayanan@sun.com>2009-12-08 12:38:50 +0530
commitdc43549fb3617cd78d5f95e165d6277940abce7b (patch)
tree99a5cc0f141523c4ec930df31ad8dc3e79695686 /sql/handler.h
parente8d0168475c73058fa09cd80c23eb5b64d0401cc (diff)
parent21aaf8dded17341805afd72539bc7606ebb0b46a (diff)
downloadmariadb-git-dc43549fb3617cd78d5f95e165d6277940abce7b.tar.gz
merging with mysql-next-mr-svoj
Diffstat (limited to 'sql/handler.h')
-rw-r--r--sql/handler.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/sql/handler.h b/sql/handler.h
index 484d93e527d..c0145d2cd21 100644
--- a/sql/handler.h
+++ b/sql/handler.h
@@ -127,6 +127,29 @@
*/
#define HA_BINLOG_ROW_CAPABLE (LL(1) << 34)
#define HA_BINLOG_STMT_CAPABLE (LL(1) << 35)
+/*
+ When a multiple key conflict happens in a REPLACE command mysql
+ expects the conflicts to be reported in the ascending order of
+ key names.
+
+ For e.g.
+
+ CREATE TABLE t1 (a INT, UNIQUE (a), b INT NOT NULL, UNIQUE (b), c INT NOT
+ NULL, INDEX(c));
+
+ REPLACE INTO t1 VALUES (1,1,1),(2,2,2),(2,1,3);
+
+ MySQL expects the conflict with 'a' to be reported before the conflict with
+ 'b'.
+
+ If the underlying storage engine does not report the conflicting keys in
+ ascending order, it causes unexpected errors when the REPLACE command is
+ executed.
+
+ This flag helps the underlying SE to inform the server that the keys are not
+ ordered.
+*/
+#define HA_DUPLICATE_KEY_NOT_IN_ORDER (LL(1) << 36)
/*
Set of all binlog flags. Currently only contain the capabilities