summaryrefslogtreecommitdiff
path: root/sql/field.h
diff options
context:
space:
mode:
authorunknown <serg@serg.mylan>2003-06-13 23:00:04 +0200
committerunknown <serg@serg.mylan>2003-06-13 23:00:04 +0200
commit2c70308c68338098f94d6c882cdbeb4b34445631 (patch)
treedf0e8881447144bf036c31653fe76d66a2419fa1 /sql/field.h
parenta5633cc96723bf4f57e4d44f78c018bda7be8ad1 (diff)
downloadmariadb-git-2c70308c68338098f94d6c882cdbeb4b34445631.tar.gz
bug #251 - destroyed object reused - fixed
Diffstat (limited to 'sql/field.h')
-rw-r--r--sql/field.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/sql/field.h b/sql/field.h
index a1f19638658..a72ccfa8354 100644
--- a/sql/field.h
+++ b/sql/field.h
@@ -50,7 +50,7 @@ public:
LEX_STRING comment;
ulong query_id; // For quick test of used fields
/* Field is part of the following keys */
- key_map key_start,part_of_key,part_of_sortkey;
+ key_map key_start,part_of_key,part_of_sortkey;
enum utype { NONE,DATE,SHIELD,NOEMPTY,CASEUP,PNR,BGNR,PGNR,YES,NO,REL,
CHECK,EMPTY,UNKNOWN_FIELD,CASEDN,NEXT_NUMBER,INTERVAL_FIELD,
BIT_FIELD, TIMESTAMP_FIELD,CAPITALIZE,BLOB_FIELD};
@@ -134,6 +134,7 @@ public:
virtual void sort_string(char *buff,uint length)=0;
virtual bool optimize_range(uint idx);
virtual bool store_for_compare() { return 0; }
+ virtual void free() {}
Field *new_field(MEM_ROOT *root, struct st_table *new_table)
{
Field *tmp= (Field*) memdup_root(root,(char*) this,size_of());
@@ -937,11 +938,11 @@ public:
int pack_cmp(const char *b, uint key_length);
uint packed_col_length(const char *col_ptr, uint length);
uint max_packed_col_length(uint max_length);
- inline void free() { value.free(); }
+ void free() { value.free(); }
inline void clear_temporary() { bzero((char*) &value,sizeof(value)); }
friend void field_conv(Field *to,Field *from);
uint size_of() const { return sizeof(*this); }
- bool has_charset(void) const
+ bool has_charset(void) const
{ return charset() == &my_charset_bin ? FALSE : TRUE; }
};
@@ -949,7 +950,7 @@ public:
class Field_geom :public Field_blob {
public:
enum geometry_type geom_type;
-
+
Field_geom(char *ptr_arg, uchar *null_ptr_arg, uint null_bit_arg,
enum utype unireg_check_arg, const char *field_name_arg,
struct st_table *table_arg,uint blob_pack_length,