Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

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

Closed
wants to merge 1 commit into from

4 participants

@hswong3i

Please refer to https://bugs.php.net/bug.php?id=57702 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 ;-)

@lstrojny

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

@hswong3i

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 :(
@laruence
Owner

this is already fixed in 4fcf4e0

sorry didn't see this PR before

@php-pulls
Collaborator

Comment on behalf of laruence at php.net:

fixed

@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
View
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) {
case SQLT_BLOB:
case SQLT_CLOB:
- /* do nothing */
+ OCIDescriptorFree(S->cols[i].data, OCI_DTYPE_LOB);
break;
default:
efree(S->cols[i].data);
@@ -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);
efree(self);
}
Something went wrong with that request. Please try again.