summaryrefslogtreecommitdiff
path: root/storage/connect/xindex.h
diff options
context:
space:
mode:
authorOlivier Bertrand <bertrandop@gmail.com>2014-04-26 00:17:26 +0200
committerOlivier Bertrand <bertrandop@gmail.com>2014-04-26 00:17:26 +0200
commit0e20f02174099e0ee79fd5440c84fae9d2796b86 (patch)
treea31858b925286aa3d3927249698d6c1d2ddde158 /storage/connect/xindex.h
parent9d29647487e8170d018413aacc6ec580decd59b1 (diff)
downloadmariadb-git-0e20f02174099e0ee79fd5440c84fae9d2796b86.tar.gz
- Implement dynamic indexing
modified: storage/connect/connect.cc storage/connect/filter.cpp storage/connect/filter.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/table.cpp storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xtable.h
Diffstat (limited to 'storage/connect/xindex.h')
-rw-r--r--storage/connect/xindex.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/storage/connect/xindex.h b/storage/connect/xindex.h
index 6ed0416bad5..f447051a517 100644
--- a/storage/connect/xindex.h
+++ b/storage/connect/xindex.h
@@ -87,6 +87,7 @@ class DllExport INDEXDEF : public BLOCK { /* Index description block */
void SetNext(PIXDEF pxdf) {Next = pxdf;}
PSZ GetName(void) {return (PSZ)Name;}
bool IsUnique(void) {return Unique;}
+ bool IsDynamic(void) {return Dynamic;}
bool IsAuto(void) {return AutoInc;}
void SetAuto(bool b) {AutoInc = b;}
void SetInvalid(bool b) {Invalid = b;}
@@ -115,6 +116,8 @@ class DllExport INDEXDEF : public BLOCK { /* Index description block */
bool Unique; /* true if defined as unique */
bool Invalid; /* true if marked as Invalid */
bool AutoInc; /* true if unique key in auto increment */
+ bool Dynamic; /* KINDEX style */
+ bool Mapped; /* Use file mapping */
int Nparts; /* Number of key parts */
int ID; /* Index ID number */
int MaxSame; /* Max number of same values */
@@ -192,6 +195,7 @@ class DllExport XXBASE : public CSORT, public BLOCK {
virtual void Print(PGLOBAL g, FILE *f, uint n);
virtual void Print(PGLOBAL g, char *ps, uint z);
virtual bool Init(PGLOBAL g) = 0;
+ virtual bool Make(PGLOBAL g, PIXDEF sxp) = 0;
#if defined(XMAP)
virtual bool MapInit(PGLOBAL g) = 0;
#endif // XMAP
@@ -420,6 +424,7 @@ class DllExport XXROW : public XXBASE {
virtual int MaxRange(void) {return 1;}
virtual int Range(PGLOBAL g, int limit = 0, bool incl = true);
virtual int Qcompare(int *, int *) {assert(false); return 0;}
+ virtual bool Make(PGLOBAL g, PIXDEF sxp) {return false;}
virtual void Close(void) {}
protected: