Skip Menu |

Preferred bug tracker

Please visit the preferred bug tracker to report your issue.

This queue is for tickets about the DBD-Oracle CPAN distribution.

Report information
The Basics
Id: 46661
Status: resolved
Priority: 0/
Queue: DBD-Oracle

People
Owner: Nobody in particular
Requestors: dot.and.thing [...] gmail.com
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 1.23
Fixed in:
  • 1.24
  • 1.24a
  • 1.24b



Subject: DBD::Oracle hungs when insert/update with LOB and quoted table name
you can repeat issue when you: 1 insert/update and 2 have LOB field in statement and 3 have quoted table name as example: my $sth = $dbh->prepare ('update "ARTICLE" set "ARTICLE_BODY" = ?'); $sth->bind_param (1, 'something', {ora_type => 112}); # BLOB # hangs here $sth->execute; patch included
Subject: dbd-oracle.patch
--- oci8.c.orig 2009-06-04 12:39:11.000000000 +0400 +++ oci8.c 2009-06-04 12:39:30.000000000 +0400 @@ -3399,7 +3399,7 @@ char *orig = src; char *p; while(*src){ - if (*src == '\'' || *src == '"') { + if (*src == '\'') { char delim = *src; while(*src && *src != delim) ++src; }
Ok I applied the patch and tested it. Does not seem to break anything else you can find it here http://svn.perl.org/modules/dbd-oracle/trunk
you can find the fixed code here http://svn.perl.org/modules/dbd-oracle/trunk
On Fri Jun 05 13:35:59 2009, PYTHIAN wrote: Show quoted text
> you can find the fixed code here > > http://svn.perl.org/modules/dbd-oracle/trunk
ok, but some of code doesn't work ever after previous patch as example, for sql like insert into "TMP"."ARTICLE" … new patch provided
Index: oci8.c =================================================================== --- oci8.c (revision 12975) +++ oci8.c (working copy) @@ -3414,7 +3414,7 @@ else if (isALPHA(*src)) { if (seen_key) { char *start = src; - while(*src && (isALNUM(*src) || *src=='.' || *src=='$')) + while(*src && (isALNUM(*src) || *src=='.' || *src=='$' || *src=='"')) ++src; *len = src - start; if (copy) {
ok I have applied the next patch with no problems in test