1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-29 08:21:15 +03:00

MCOL-4758 Limit LONGTEXT and LONGBLOB to 16MB (#1995)

MCOL-4758 Limit LONGTEXT and LONGBLOB to 16MB

Also add the original test case from MCOL-3879.
This commit is contained in:
David.Hall
2021-07-05 01:09:41 -05:00
committed by GitHub
parent 643c06b7fe
commit 237cad347f
9 changed files with 96 additions and 17 deletions

View File

@ -3157,15 +3157,12 @@ CalpontSystemCatalog::ColType colType_MysqlToIDB (const Item* item)
case STRING_RESULT:
ct.colDataType = CalpontSystemCatalog::VARCHAR;
// MCOL-697 the longest TEXT we deal with is 2100000000 so
// limit to that. Otherwise for LONGBLOB ct.colWidth ends
// up being -1 and demons eat your data and first born
// (or you just get truncated to 20 bytes with the 'if'
// below)
if (item->max_length < 2100000000)
// MCOL-4758 the longest TEXT we deal with is 16777215 so
// limit to that.
if (item->max_length < 16777215)
ct.colWidth = item->max_length;
else
ct.colWidth = 2100000000;
ct.colWidth = 16777215;
// force token
if (item->type() == Item::FUNC_ITEM)