Hello, All.

   In isc_dsql_execute2_m() I cannot understand the following code:

 >else  // delay execution till first fetch (with output format)
 >{
 >      statement->parMetadata = inMsgBuffer.metadata;
 >      statement->parameters.assign(static_cast<UCHAR*>(inMsgBuffer.buffer), 
 > inMsgLength);
 >      statement->transaction = transaction;
 >      return 0;
 >}

   Here inMsgBuffer.metadata is a pointer to reference-counted objects. It is 
assigned to 
external variable, but addRef() is not called. On returning its local holder is 
destroyed, 
so it should be destroyed as well.
   How this code can work?

-- 
   WBR, SD.

------------------------------------------------------------------------------
Subversion Kills Productivity. Get off Subversion & Make the Move to Perforce.
With Perforce, you get hassle-free workflows. Merge that actually works. 
Faster operations. Version large binaries.  Built-in WAN optimization and the
freedom to use Git, Perforce or both. Make the move to Perforce.
http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to