On 12/09/13 14:22, Mark Rotteveel wrote:

>> Code of network operation? Something else? Upon this depends an answer.
> I think it is safe to assume that I will almost always be talking from the
> perspective of the wire protocol.
>
> Both op_create_blob and op_open_blob respond with a p_resp, which is
> defined as:
> typedef struct p_resp
> {
>          OBJCT                p_resp_object;                // Object id
>          SQUAD                p_resp_blob_id;                // Blob id
>          CSTRING                p_resp_data;                // Data
>          Firebird::DynamicStatusVector* p_resp_status_vector;
> } P_RESP;
>
> the p_resp_object is the handle id, while p_resp_blob_id is - in case of
> create_blob - the id of the blob (which for example can then be used in an
> insert or update statement).

Yes.

> That doesn't seem to be the case for
> open_blob.

Yes. For open_blob only p_resp_object is returned.

> Now this may seem trivial as I already have the blob id because
> I used it to open the blob, but the existing implementation in Jaybird (and
> in the .NET provider) make some assumptions with regard to the blob id in
> the response which are correct for op_create_blob(2), but seem to be wrong
> for an op_open_blob(2).

Yes. now I understand a problem. If in open_blob jaybird is trying to 
use p_resp_blob_id (which is actually garbage), wrong assumption is 
sooner of all too delicate word here :) This looks more like a bug.


------------------------------------------------------------------------------
Sponsored by Intel(R) XDK 
Develop, test and display web and hybrid apps with a single code base.
Download it for free now!
http://pubads.g.doubleclick.net/gampad/clk?id=111408631&iu=/4140/ostg.clktrk
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to