Issue Details (XML | Word | Printable)

Key: CORE-4988
Type: Bug Bug
Status: Open Open
Priority: Major Major
Assignee: Unassigned
Reporter: Kovalenko Dmitry
Votes: 0
Watchers: 4
Operations

If you were logged in you would be able to see more operations.
Firebird Core

[lazy_send mode] problem with alloc_stmt+prepare_stmt operation

Created: 04/Nov/15 07:18 AM   Updated: 04/Nov/15 07:18 AM
Component/s: API / Client Library
Affects Version/s: 2.5.4, 2.5.5
Fix Version/s: None

QA Status: No test


 Description  « Hide
In lazy_send mode, when the statement prepares the first own SQL, fbclient.dll sends two packet: op_allocate_statement and op_prepare_statement

If first operation [op_allocate_statement] is failed, fbclient.dll not receives the answer for second operation [op_prepare_statement].

--------------- [interface.cpp, GDS_DSQL_PREPARE]

// Set up for the response packet.

if (statement->rsr_flags.test(Rsr::LAZY))
{
if (!receive_response(rdb, packet))
return user_status[1]; // <------- WRONG EXIT !!!

statement->rsr_id = packet->p_resp.p_resp_object;
SET_OBJECT(rdb, statement, statement->rsr_id);

statement->rsr_flags.clear(Rsr::LAZY);
}

---------------[/interface.cpp]

At result, fbclient.dll starts to works incorrectly.

 All   Comments   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
There are no comments yet on this issue.