summaryrefslogtreecommitdiff
path: root/storage/federatedx/ha_federatedx.h
diff options
context:
space:
mode:
Diffstat (limited to 'storage/federatedx/ha_federatedx.h')
-rw-r--r--storage/federatedx/ha_federatedx.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/storage/federatedx/ha_federatedx.h b/storage/federatedx/ha_federatedx.h
index 473d3ecd3e2..374a623a975 100644
--- a/storage/federatedx/ha_federatedx.h
+++ b/storage/federatedx/ha_federatedx.h
@@ -338,7 +338,7 @@ public:
| HA_REC_NOT_IN_SEQ | HA_AUTO_PART_KEY | HA_CAN_INDEX_BLOBS |
HA_BINLOG_ROW_CAPABLE | HA_BINLOG_STMT_CAPABLE | HA_CAN_REPAIR |
HA_PRIMARY_KEY_REQUIRED_FOR_DELETE | HA_CAN_ONLINE_BACKUPS |
- HA_PARTIAL_COLUMN_READ | HA_NULL_IN_KEY);
+ HA_PARTIAL_COLUMN_READ | HA_NULL_IN_KEY | HA_NON_COMPARABLE_ROWID);
}
/*
This is a bitmap of flags that says how the storage engine
@@ -428,6 +428,19 @@ public:
int rnd_next(uchar *buf); //required
int rnd_pos(uchar *buf, uchar *pos); //required
void position(const uchar *record); //required
+ /*
+ A ref is a pointer inside a local buffer. It is not comparable to
+ other ref's. This is never called as HA_NON_COMPARABLE_ROWID is set.
+ */
+ int cmp_ref(const uchar *ref1, const uchar *ref2)
+ {
+#ifdef NOT_YET
+ DBUG_ASSERT(0);
+ return 0;
+#else
+ return handler::cmp_ref(ref1,ref2); /* Works if table scan is used */
+#endif
+ }
int info(uint); //required
int extra(ha_extra_function operation);