summaryrefslogtreecommitdiff
path: root/sql/field.h
diff options
context:
space:
mode:
Diffstat (limited to 'sql/field.h')
-rw-r--r--sql/field.h26
1 files changed, 24 insertions, 2 deletions
diff --git a/sql/field.h b/sql/field.h
index b5d7c613701..b9d8e1957c9 100644
--- a/sql/field.h
+++ b/sql/field.h
@@ -38,8 +38,8 @@ public:
static void operator delete(void *ptr_arg, size_t size) {} /*lint -e715 */
enum utype { NONE,DATE,SHIELD,NOEMPTY,CASEUP,PNR,BGNR,PGNR,YES,NO,REL,
- CHECK,EMPTY,UNKNOWN,CASEDN,NEXT_NUMBER,INTERVAL_FIELD,BIT_FIELD,
- TIMESTAMP_FIELD,CAPITALIZE,BLOB_FIELD};
+ CHECK,EMPTY,UNKNOWN_FIELD,CASEDN,NEXT_NUMBER,INTERVAL_FIELD,
+ BIT_FIELD, TIMESTAMP_FIELD,CAPITALIZE,BLOB_FIELD};
char *ptr; // Position to field in record
uchar *null_ptr; // Byte where null_bit is
uint8 null_bit; // And position to it
@@ -300,6 +300,7 @@ public:
void store(const char *to,uint length);
void store(double nr);
void store(longlong nr);
+ void reset(void) { ptr[0]=0; }
double val_real(void);
longlong val_int(void);
String *val_str(String*,String *);
@@ -328,6 +329,7 @@ public:
void store(const char *to,uint length);
void store(double nr);
void store(longlong nr);
+ void reset(void) { ptr[0]=ptr[1]=0; }
double val_real(void);
longlong val_int(void);
String *val_str(String*,String *);
@@ -356,6 +358,7 @@ public:
void store(const char *to,uint length);
void store(double nr);
void store(longlong nr);
+ void reset(void) { ptr[0]=ptr[1]=ptr[2]=0; }
double val_real(void);
longlong val_int(void);
String *val_str(String*,String *);
@@ -389,6 +392,7 @@ public:
void store(const char *to,uint length);
void store(double nr);
void store(longlong nr);
+ void reset(void) { ptr[0]=ptr[1]=ptr[2]=ptr[3]=0; }
double val_real(void);
longlong val_int(void);
String *val_str(String*,String *);
@@ -423,6 +427,7 @@ public:
void store(const char *to,uint length);
void store(double nr);
void store(longlong nr);
+ void reset(void) { ptr[0]=ptr[1]=ptr[2]=ptr[3]=ptr[4]=ptr[5]=ptr[6]=ptr[7]=0; }
double val_real(void);
longlong val_int(void);
String *val_str(String*,String *);
@@ -449,6 +454,7 @@ public:
void store(const char *to,uint length);
void store(double nr);
void store(longlong nr);
+ void reset(void) { bzero(ptr,sizeof(float)); }
double val_real(void);
longlong val_int(void);
String *val_str(String*,String *);
@@ -480,6 +486,7 @@ public:
void store(const char *to,uint length);
void store(double nr);
void store(longlong nr);
+ void reset(void) { bzero(ptr,sizeof(double)); }
double val_real(void);
longlong val_int(void);
String *val_str(String*,String *);
@@ -505,6 +512,7 @@ public:
void store(const char *to, uint length) { null[0]=1; }
void store(double nr) { null[0]=1; }
void store(longlong nr) { null[0]=1; }
+ void reset(void) {}
double val_real(void) { return 0.0;}
longlong val_int(void) { return 0;}
String *val_str(String *value,String *value2)
@@ -528,6 +536,7 @@ public:
void store(const char *to,uint length);
void store(double nr);
void store(longlong nr);
+ void reset(void) { ptr[0]=ptr[1]=ptr[2]=ptr[3]=0; }
double val_real(void);
longlong val_int(void);
String *val_str(String*,String *);
@@ -588,6 +597,7 @@ public:
void store(const char *to,uint length);
void store(double nr);
void store(longlong nr);
+ void reset(void) { ptr[0]=ptr[1]=ptr[2]=ptr[3]=0; }
double val_real(void);
longlong val_int(void);
String *val_str(String*,String *);
@@ -615,6 +625,7 @@ public:
void store(double nr);
void store(longlong nr);
void store_time(TIME *ltime,timestamp_type type);
+ void reset(void) { ptr[0]=ptr[1]=ptr[2]=0; }
double val_real(void);
longlong val_int(void);
String *val_str(String*,String *);
@@ -643,6 +654,7 @@ public:
void store(const char *to,uint length);
void store(double nr);
void store(longlong nr);
+ void reset(void) { ptr[0]=ptr[1]=ptr[2]=0; }
double val_real(void);
longlong val_int(void);
String *val_str(String*,String *);
@@ -673,6 +685,7 @@ public:
void store(double nr);
void store(longlong nr);
void store_time(TIME *ltime,timestamp_type type);
+ void reset(void) { ptr[0]=ptr[1]=ptr[2]=ptr[3]=ptr[4]=ptr[5]=ptr[6]=ptr[7]=0; }
double val_real(void);
longlong val_int(void);
String *val_str(String*,String *);
@@ -874,6 +887,14 @@ public:
uint max_length= ~(uint) 0);
ulonglong get_id(const char *from);
const char *unpack_id(char *to, const char *from, const char *bdata);
+ inline void get_ptr_from_key_image(char **str,char *key_str)
+ {
+ *str = key_str + sizeof(uint16);
+ }
+ inline uint get_length_from_key_image(char *key_str)
+ {
+ return uint2korr(key_str);
+ }
enum_field_types blobtype() { return (packlength == 1 ? FIELD_TYPE_TINY_BLOB : FIELD_TYPE_BLOB);}
#endif
char *pack_key(char *to, const char *from, uint max_length);
@@ -914,6 +935,7 @@ public:
void store(const char *to,uint length);
void store(double nr);
void store(longlong nr);
+ void reset() { bzero(ptr,packlength); }
double val_real(void);
longlong val_int(void);
String *val_str(String*,String *);