Hello,
I've tried to find exact description in Docu but didn't succeed. How does OCIAttrSet process values passed as pointers? In particular, when the value is another handle? Example:
OCIAuthInfo *authp;
status = OCIHandleAlloc(envhp, &authp, OCI_HTYPE_AUTHINFO);
status = OCIAttrSet(authp, OCI_HTYPE_AUTHINFO, driver_name, driver_name_len, OCI_ATTR_DRIVER_NAME, errhp);
status = OCIAttrSet(poolhp, OCI_HTYPE_SPOOL, authp, 0, OCI_ATTR_SPOOL_AUTH, errhp);
Here, driver_name is char*. I assume the string is copied, so I can free(driver_name). But what about authp? Is it copied, or only pointer is stored? Should I call OCIHandleFree(authp), or shall that be done by OCI, when poolhp is freed?