re-binding variables in OCI statements

From: Tomasz Romanowski <tromanow_at_hotmail.com>
Date: 27 Sep 2002 11:50:55 -0700
Message-ID: <84e67408.0209271050.5c37dfeb_at_posting.google.com>


In order to avoid re-defining the whole statement I want to re-bind only one variable, specifing a different size and a diferent variable data address. I did some tests and this seems to be working OK, although I'm still not sure if it's officially supported. Can anyone confirm/deny that?
Also, if it's supported, should I free the bind handle (the second param to OCIBindByPos) before another call to OCIBindByPos? Purify reports no leaks and no double memory frees regardless if I do free the bind descriptor or not. Is Oracle smart enough to figure out that the memory has already been allocated for this bind handle?

sword OCIBindByPos ( OCIStmt      *stmtp, 
                     OCIBind      **bindpp,
                     OCIError     *errhp,
                     ub4          position,
                     dvoid        *valuep,
                     sb4          value_sz,
                     ub2          dty,
                     dvoid        *indp,
                     ub2          *alenp,
                     ub2          *rcodep,
                     ub4          maxarr_len,
                     ub4          *curelep, 
                     ub4          mode );
Received on Fri Sep 27 2002 - 20:50:55 CEST

Original text of this message