Bug #58084 Reserve two bits in MRR range flags
Submitted: 9 Nov 2010 13:51 Modified: 28 Mar 2012 11:56
Reporter: Magnus Blåudd Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server Severity:S3 (Non-critical)
Version:5.5.7-rc OS:Any
Assigned to: Magnus Blåudd CPU Architecture:Any
Tags: SEAGULL

[9 Nov 2010 13:51] Magnus Blåudd
Description:
Reserve two bits in MRR range flags for MySQL Cluster internal use.

1) READ_KEY_FROM_RANGE which is set when read before write removal detects that read is just "memcpy" of the current key

2) EMPTY_RANGE which is set as a state flag to indicate on next call that there are no more records in this range, try next if any.

How to repeat:
.

Suggested fix:
5.5$ bzr diff
=== modified file 'include/my_base.h'
--- include/my_base.h	2010-05-31 15:29:54 +0000
+++ include/my_base.h	2010-11-09 13:49:34 +0000
@@ -523,6 +523,8 @@ enum data_file_type {
 #define NULL_RANGE	64
 #define GEOM_FLAG      128
 #define SKIP_RANGE     256
+#define READ_KEY_FROM_RANGE 512 /* Reserved for MySQL Cluster internal use */
+#define EMPTY_RANGE 1024 /* Reserved for MySQL Cluster internal use */
 
 typedef struct st_key_range
 {
[9 Nov 2010 13:54] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/123262
[28 Mar 2012 11:56] Magnus Blåudd
Closing this since we've adapted to new mrr interface