37
Tracing OCI8 Internals
OCI8 DEBUG: OCIContextGetValue at (phpsrc/php-5.4/ext/oci8/oci8.c:3325)
OCI8 DEBUG: OCIMemoryAlloc at (phpsrc/php-5.4/ext/oci8/oci8.c:3332)
OCI8 DEBUG: OCIContextSetValue at (phpsrc/php-5.4/ext/oci8/oci8.c:3346)
OCI8 DEBUG: OCIAttrSet at (phpsrc/php-5.4/ext/oci8/oci8.c:3256)
OCI8 DEBUG L1: New Non-Persistent Connection address: (0xb452d160) at
(phpsrc/php-5.4/ext/oci8/oci8.c:2167)
OCI8 DEBUG L1: num_persistent=(0), num_links=(1) at (phpsrc/php-
5.4/ext/oci8/oci8.c:2169)
OCI8 DEBUG: OCIHandleAlloc at (phpsrc/php-5.4/ext/oci8/oci8_statement.c:57)
OCI8 DEBUG: OCIStmtPrepare2 at (phpsrc/php-5.4/ext/oci8/oci8_statement.c:72)
OCI8 DEBUG: OCIAttrSet at (phpsrc/php-5.4/ext/oci8/oci8_statement.c:123)
OCI8 DEBUG: OCIAttrGet at (phpsrc/php-5.4/ext/oci8/oci8_statement.c:433)
OCI8 DEBUG: OCIStmtExecute at (phpsrc/php-5.4/ext/oci8/oci8_statement.c:461)
OCI8 DEBUG: OCIStmtRelease at (phpsrc/php-5.4/ext/oci8/oci8_statement.c:766)
OCI8 DEBUG: OCIHandleFree at (phpsrc/php-5.4/ext/oci8/oci8_statement.c:774)
OCI8 DEBUG: OCITransRollback at (phpsrc/php-5.4/ext/oci8/oci8.c:2241)
OCI8 DEBUG: OCISessionRelease at (phpsrc/php-5.4/ext/oci8/oci8.c:2402)
OCI8 DEBUG: OCIHandleFree at (phpsrc/php-5.4/ext/oci8/oci8.c:2288)
OCI8 DEBUG: OCIHandleFree at (phpsrc/php-5.4/ext/oci8/oci8.c:2291)
OCI8 DEBUG: OCISessionPoolDestroy at (phpsrc/php-5.4/ext/oci8/oci8.c:3293)
OCI8 DEBUG: OCIHandleFree at (phpsrc/php-5.4/ext/oci8/oci8.c:3297)
OCI8 DEBUG: OCIHandleFree at (phpsrc/php-5.4/ext/oci8/oci8.c:3301)
OCI8 DEBUG: OCIHandleFree at (phpsrc/php-5.4/ext/oci8/oci8.c:3305)
OCI8 DEBUG: OCIHandleFree at (phpsrc/php-5.4/ext/oci8/oci8.c:1144)
OCI8 DEBUG: OCIHandleFree at (phpsrc/php-5.4/ext/oci8/oci8.c:1149)
Many of these calls just allocate local resources (handles) and set local state (attributes), but
some require a round trip to the database.
One of these is the OCITransRollback() call near the end of the script. The
OCI_NO_AUTO_COMMIT flag said not to auto-commit and there was no explicit oci_commit()
call. As part of PHP’s end of HTTP request shutdown at the conclusion of the script, the
rollback was issued.
Note: if you change to auto-commit mode you will not see a call to OCITransCommit()
because the commit message is piggy-backed with Oracle's statement execution call, thus
saving a round-trip. If a script only inserts one row it is fine to auto-commit. Otherwise, do the
transaction management yourself.
322