Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP


Bug #57702 :: Multiple BLOB fetch fails. #217

wants to merge 1 commit into from

4 participants


Please refer to for more information.

P.S. May someone help to contribute the php-level test case for this issue?

Sorry that since this bug will ALWAYS hit during installation when develop with Drupal 7.x pdo_oci driver, but very hard to reproduce its trigger with simple test cases...

Hope someone can give a hand for it ;-)


Could you add a test for this bug as well. Otherwise it looks good.


Sorry that I try to reproduce this bug with a test case once before, but really no luck.

It only happen when running a relatively long operation, and then hit the bug suddenly:

  • When hitting the bug, is that we are running a specific query? No, the query already run multiple times in same instance before hitting the bug
  • Any special syntax/logic for the query that hitting the bug? No, just very normal query, which if we are running it individually, bug will never hit; we only hit when running a relatively long operation

Therefore the difficult of providing the test case is: I can't figure out the common factor why bug is being triggered. From other point of view, yes this bug will always trigger during Drupal 7.x installation, but not means we should include ALL query that running into the test case, isn't it?

Since this patch is not originally propose by me, what I could comment on it are:

  • From logical point of view, it should works
  • From practical point of view, it also works as expected
  • From test case point of view, it is difficult to provide supporting :(

this is already fixed in 4fcf4e0

sorry didn't see this PR before


Comment on behalf of laruence at


@php-pulls php-pulls closed this
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Commits on Oct 17, 2012
  1. @hswong3i
This page is out of date. Refresh to see the latest.
Showing with 1 addition and 2 deletions.
  1. +1 −2  ext/pdo_oci/oci_statement.c
3  ext/pdo_oci/oci_statement.c
@@ -99,7 +99,7 @@ static int oci_stmt_dtor(pdo_stmt_t *stmt TSRMLS_DC) /* {{{ */
switch (S->cols[i].dtype) {
- /* do nothing */
+ OCIDescriptorFree(S->cols[i].data, OCI_DTYPE_LOB);
@@ -654,7 +654,6 @@ static int oci_blob_close(php_stream *stream, int close_handle TSRMLS_DC)
if (close_handle) {
OCILobClose(self->S->H->svc, self->S->err, self->lob);
- OCIDescriptorFree(self->lob, OCI_DTYPE_LOB);
Something went wrong with that request. Please try again.