diff --git a/src/remote/client/interface.cpp b/src/remote/client/interface.cpp index 8918dba019..0b82a0f5f4 100644 --- a/src/remote/client/interface.cpp +++ b/src/remote/client/interface.cpp @@ -9363,8 +9363,10 @@ static void release_blob( Rbl* blob) Rdb* rdb = blob->rbl_rdb; if (blob->isCached()) + { // Assume buffer was not resized while blob was cached rdb->decBlobCache(blob->rbl_buffer_length); + } else rdb->rdb_port->releaseObject(blob->rbl_id); diff --git a/src/remote/server/server.cpp b/src/remote/server/server.cpp index b092d9ccae..d8dfc7ceda 100644 --- a/src/remote/server/server.cpp +++ b/src/remote/server/server.cpp @@ -3513,9 +3513,10 @@ ISC_STATUS rem_port::execute_immediate(P_OP op, P_SQLST * exnow, PACKET* sendL) this->port_statement->rsr_format = this->port_statement->rsr_select_format; if (out_msg && exnow->p_sqlst_inline_blob_size) + { sendInlineBlobs(sendL, transaction, out_msg, port_statement->rsr_select_format, exnow->p_sqlst_inline_blob_size); - + } sendL->p_operation = op_sql_response; sendL->p_sqldata.p_sqldata_messages = ((status_vector.getState() & IStatus::STATE_ERRORS) || !out_msg) ? 0 : 1; @@ -3958,9 +3959,10 @@ ISC_STATUS rem_port::execute_statement(P_OP op, P_SQLDATA* sqldata, PACKET* send this->port_statement->rsr_format = this->port_statement->rsr_select_format; if (out_msg && statement->rsr_inline_blob_size) + { sendInlineBlobs(sendL, transaction, out_msg, port_statement->rsr_select_format, statement->rsr_inline_blob_size); - + } sendL->p_operation = op_sql_response; sendL->p_sqldata.p_sqldata_messages = ((status_vector.getState() & IStatus::STATE_ERRORS) || !out_msg) ? 0 : 1;