diff options
author | monty@mysql.com <> | 2004-02-17 01:35:17 +0200 |
---|---|---|
committer | monty@mysql.com <> | 2004-02-17 01:35:17 +0200 |
commit | e9315f984d9224044e771b5c483050a81b03b947 (patch) | |
tree | 7e3324032ecc97c6af3771a6904e8ae32dbf7a48 /sql/field.h | |
parent | 050af89dd8034046df593c1ac7e060ee37bfdf27 (diff) | |
download | mariadb-git-e9315f984d9224044e771b5c483050a81b03b947.tar.gz |
Changed wellformedlen to well_formed_len
Fixed that blobs >16M can be inserted/updated
Fixed bug when doing CREATE TEMPORARY TABLE ... LIKE
Diffstat (limited to 'sql/field.h')
-rw-r--r-- | sql/field.h | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/sql/field.h b/sql/field.h index 90e78c5421a..f815324c698 100644 --- a/sql/field.h +++ b/sql/field.h @@ -953,14 +953,9 @@ public: void sort_string(char *buff,uint length); uint32 pack_length() const { return (uint32) (packlength+table->blob_ptr_size); } - uint32 max_data_length() const + inline 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; - } + return (uint32) (((ulonglong) 1 << (packlength*8)) -1); } void reset(void) { bzero(ptr, packlength+sizeof(char*)); } void reset_fields() { bzero((char*) &value,sizeof(value)); } |