summaryrefslogtreecommitdiff
path: root/sql/item_strfunc.h
diff options
context:
space:
mode:
authorMichael Widenius <monty@askmonty.org>2011-05-11 02:41:02 +0300
committerMichael Widenius <monty@askmonty.org>2011-05-11 02:41:02 +0300
commit052d1bfb1a215d927e31bbe521a7e29d5da8a384 (patch)
tree0181353047727b1dee0e785d3412f0d14d1e1757 /sql/item_strfunc.h
parent03483e7bfd21a61fca796a163376b77cd965870e (diff)
downloadmariadb-git-052d1bfb1a215d927e31bbe521a7e29d5da8a384.tar.gz
Fixed all reported bugs for dynamic columns.
Bugs fixed: - Added automatic detection of unsigned arguments to COLUMN_CREATE() - If string length is not know for COLUMN_GET() use MAX_DYNAMIC_COLUMN_LENGTH instead of MAX_FIELD_BLOBLENGTH - null_value flag was not propery reset for COLUMN_LIST() and COLUMN_CREATE() which could lead to crashes later: - lp:778905 Assertion `value->year <= 9999' failed in dynamic_column_date_store - lp:778912 Assertion `field_pos < field_count' failed in Protocol_text::store in maria-5.3-mwl34 include/ma_dyncol.h: Added define for max dynamic column length. mysql-test/r/cast.result: Added test of cast big unsigned int to signed (this test case was missing) mysql-test/r/dyncol.result: Added tests from reported bugs Added testing of automatic store of signed/unsigned integers mysql-test/t/cast.test: Added test of cast big unsigned int to signed (this test case was missing) mysql-test/t/dyncol.test: Added tests from reported bugs Added testing of automatic store of signed/unsigned integers sql/item.cc: Added assert to catch cases where null_value is not set properly sql/item_strfunc.cc: Added automatic detection of unsigned arguments to COLUMN_CREATE() COLUMN_GET() returned wrong value for illegal strings which lead to assert later null_value flag was not propery reset for COLUMN_LIST() and COLUMN_CREATE() which could lead to crashes later. sql/item_strfunc.h: If string length is not know for COLUMN_GET() use MAX_DYNAMIC_COLUMN_LENGTH
Diffstat (limited to 'sql/item_strfunc.h')
-rw-r--r--sql/item_strfunc.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/sql/item_strfunc.h b/sql/item_strfunc.h
index 4b88c329610..a0cd2d18308 100644
--- a/sql/item_strfunc.h
+++ b/sql/item_strfunc.h
@@ -913,7 +913,7 @@ public:
Item_dyncol_get(Item *str, Item *num)
:Item_str_func(str, num)
{
- max_length= MAX_FIELD_BLOBLENGTH;
+ max_length= MAX_DYNAMIC_COLUMN_LENGTH;
}
void fix_length_and_dec()
{ maybe_null= 1; }