diff options
author | unknown <igor@rurik.mysql.com> | 2004-02-19 01:09:54 -0800 |
---|---|---|
committer | unknown <igor@rurik.mysql.com> | 2004-02-19 01:09:54 -0800 |
commit | f4353d48ccc39527540daf709a1167462b39738c (patch) | |
tree | aa627335f475f099e0d352b39af4e24d6e1ac189 /sql/field.h | |
parent | c88e5213d4f8acbbba33d293a9573042818f0aec (diff) | |
parent | 9ce4695da0bfe74e840dcf708da10cac9740e137 (diff) | |
download | mariadb-git-f4353d48ccc39527540daf709a1167462b39738c.tar.gz |
Manual merge
mysql-test/r/func_test.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/r/user_var.result:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/item_row.cc:
Auto merged
sql/item_row.h:
Auto merged
sql/item_strfunc.h:
Auto merged
sql/sql_list.h:
Auto merged
sql/sql_select.h:
Auto merged
Diffstat (limited to 'sql/field.h')
-rw-r--r-- | sql/field.h | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/sql/field.h b/sql/field.h index e3b4bf29fb8..b62b7a7859e 100644 --- a/sql/field.h +++ b/sql/field.h @@ -913,7 +913,6 @@ public: class Field_blob :public Field_str { - bool geom_flag; protected: uint packlength; String value; // For temporaries @@ -926,7 +925,7 @@ public: struct st_table *table_arg, CHARSET_INFO *cs) :Field_str((char*) 0,len_arg, maybe_null_arg ? (uchar*) "": 0,0, NONE, field_name_arg, table_arg, cs), - geom_flag(true), packlength(4) + packlength(4) { flags|= BLOB_FLAG; } @@ -950,6 +949,15 @@ public: void sort_string(char *buff,uint length); uint32 pack_length() const { return (uint32) (packlength+table->blob_ptr_size); } + uint32 max_data_length() const + { + switch (packlength) { + case 1: return 255; + case 2: return (uint32) 0xFFFFL; + case 3: return (uint32) 0xFFFFFF; + default: return (uint32) 0xFFFFFFFF; + } + } void reset(void) { bzero(ptr, packlength+sizeof(char*)); } void reset_fields() { bzero((char*) &value,sizeof(value)); } void store_length(uint32 number); @@ -1001,7 +1009,7 @@ public: field_cast_enum field_cast_type() { return FIELD_CAST_BLOB; } }; - +#ifdef HAVE_SPATIAL class Field_geom :public Field_blob { public: enum geometry_type geom_type; @@ -1029,7 +1037,7 @@ public: void set_key_image(char *buff,uint length, CHARSET_INFO *cs); field_cast_enum field_cast_type() { return FIELD_CAST_GEOM; } }; - +#endif /*HAVE_SPATIAL*/ class Field_enum :public Field_str { protected: |