summaryrefslogtreecommitdiff
path: root/sql/field.h
diff options
context:
space:
mode:
authormonty@mysql.com <>2004-02-17 01:35:17 +0200
committermonty@mysql.com <>2004-02-17 01:35:17 +0200
commite9315f984d9224044e771b5c483050a81b03b947 (patch)
tree7e3324032ecc97c6af3771a6904e8ae32dbf7a48 /sql/field.h
parent050af89dd8034046df593c1ac7e060ee37bfdf27 (diff)
downloadmariadb-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.h9
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)); }