1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-27 18:02:13 +03:00

Only calculate MYSQL_FIELD->max_length if mysql_stmt_attr_set(..., STMT_ATTR_UPDATE_MAX_LENGTH) is done.

This commit is contained in:
monty@mysql.com
2004-04-30 14:24:06 +03:00
parent 0a95918ee9
commit 661aeb5af2
2 changed files with 46 additions and 33 deletions

View File

@ -2530,10 +2530,6 @@ my_bool STDCALL mysql_stmt_attr_set(MYSQL_STMT *stmt,
{
switch (attr_type) {
case STMT_ATTR_UPDATE_MAX_LENGTH:
/*
Do we need a flags variable for all attributes or a bool for each
attribute?
*/
stmt->update_max_length= value ? *(const my_bool*) value : 0;
break;
default:
@ -2550,7 +2546,7 @@ my_bool STDCALL mysql_stmt_attr_get(MYSQL_STMT *stmt,
switch (attr_type) {
case STMT_ATTR_UPDATE_MAX_LENGTH:
*(unsigned long *) value= stmt->update_max_length;
break;
break;
default:
return TRUE;
}
@ -3716,7 +3712,7 @@ int cli_read_binary_rows(MYSQL_STMT *stmt)
mysql= mysql->last_used_con;
if (!stmt->bind_result_done)
if (stmt->update_max_length && !stmt->bind_result_done)
{
/*
We must initalize the bind structure to be able to calculate
@ -3755,7 +3751,8 @@ int cli_read_binary_rows(MYSQL_STMT *stmt)
memcpy((char *) cur->data, (char *) cp+1, pkt_len-1);
cur->length= pkt_len; /* To allow us to do sanity checks */
result->rows++;
stmt_update_metadata(stmt, cur);
if (stmt->update_max_length)
stmt_update_metadata(stmt, cur);
}
else
{