mirror of
https://github.com/MariaDB/server.git
synced 2025-02-02 12:01:42 +01:00
throw a better error message for row size errors. addresses #1766
git-svn-id: file:///svn/toku/tokudb@12659 c7de825b-a66e-492c-adef-691d508d4ae1
This commit is contained in:
parent
30d18a7eaa
commit
d9e71a1691
1 changed files with 5 additions and 3 deletions
|
@ -3115,11 +3115,13 @@ db_put_check_size_constraints(DB *db, DBT *key, DBT *val) {
|
|||
if (dupsort) {
|
||||
limit = nodesize / BRT_FANOUT;
|
||||
if (key->size + val->size > limit)
|
||||
r = toku_ydb_do_error(db->dbenv, EINVAL, "The largest (key + val) item allowed is %u bytes", limit-1);
|
||||
r = toku_ydb_do_error(db->dbenv, EINVAL, "The largest row (key + val) allowed is %u bytes", limit);
|
||||
} else {
|
||||
limit = nodesize / BRT_FANOUT;
|
||||
if (key->size > limit || val->size > nodesize)
|
||||
r = toku_ydb_do_error(db->dbenv, EINVAL, "The largest key or val item allowed is %u bytes", limit-1);
|
||||
if (key->size > limit)
|
||||
r = toku_ydb_do_error(db->dbenv, EINVAL, "The largest key allowed is %u bytes", limit);
|
||||
else if (val->size > nodesize)
|
||||
r = toku_ydb_do_error(db->dbenv, EINVAL, "The largest value allowed is %u bytes", nodesize);
|
||||
}
|
||||
return r;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue