--Follow-up Information--

The text in item 1 is the tail end of the DBI->trace(4) output
on a problem machine, and the text in item 2 is the tail end
of the DBI->trace(4) output from an installation that
appropriately catches the exceptions. Note that on the
problem machine (#1) the lack of activity after "OCIErrorGet."

1. -> execute for DBD::Oracle::st (DBI::st=HASH(0xa3d8890)~0xa81b030) thr#9cca010
    dbd_st_execute UPDATE (out0, lob0)...
OCIErrorGet after error possibly near <*> indicator at char 87 in 'UPDATE foo set PR = 0
                                        WHERE <*>decimal_latidude =
                                        AND decimal_longitude =
AND image_date = to_date('2008-03-05', 'yyyy-mm-dd')' (er1:ok): -1, 904: ORA-00904: "DECIMAL_LATIDUDE": invalid identifier

Aborted

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

2. -> execute for DBD::Oracle::st (DBI::st=HASH(0x87cb75c)~0x877cf8c) thr#84f3008
    dbd_st_execute UPDATE (out0, lob0)...
OCIErrorGet after error possibly near <*> indicator at char 90 in 'UPDATE foo set PR = 1369
                                        WHERE <*>decimal_latidude =
                                        AND decimal_longitude =
AND image_date = to_date('2008-03-05', 'yyyy-mm-dd')' (er1:ok): -1, 904: ORA-00904: "DECIMAL_LATIDUDE": invalid identifier

!! ERROR: '904' 'ORA-00904: "DECIMAL_LATIDUDE": invalid identifier (DBD ERROR: error possibly near <*> indicator at char 90 in 'UPDATE foo set PR = 1369
                                        WHERE <*>decimal_latidude =
                                        AND decimal_longitude =
AND image_date = to_date('2008-03-05', 'yyy...' (err#1)
    <- execute= undef at fooClient.pl line 156 via ./fooClient.pl line 148
1 -> FETCH for DBD::Oracle::st (DBI::st=HASH(0x877cf8c)~INNER 'ParamValues') thr#84f3008 ERROR: '904' 'ORA-00904: "DECIMAL_LATIDUDE": invalid identifier (DBD ERROR: error possibly near <*> indicator at char 90 in 'UPDATE foo set PR = 1369
                                        WHERE <*>decimal_latidude =
                                        AND decimal_longitude =
AND image_date = to_date('2008-03-05', 'yyy...' (err#1) 1 <- FETCH= HASH(0x882cf58)0keys at fooClient.pl line 156 via ./fooClient.pl line 148 DBD::Oracle::st execute failed: ORA-00904: "DECIMAL_LATIDUDE": invalid identifier (DBD ERROR: error possibly near <*> indicator at char 90 in 'UPDATE foo set PR = 1369
                                        WHERE <*>decimal_latidude =
                                        AND decimal_longitude =
AND image_date = to_date('2008-03-05', 'yyyy-mm-dd')') [for Statement "UPDATE foo set PR = 1369
                                        WHERE decimal_latidude =
                                        AND decimal_longitude =
AND image_date = to_date('2008-03-05', 'yyyy-mm-dd')"] at ./fooClient.pl line 156, <GEN0> line 1. <> DESTROY(DBI::st=HASH(0x87cb75c)) ignored for outer handle (inner DBI::st=HASH(0x877cf8c) has ref cnt 1)
    -> DESTROY for DBD::Oracle::st (DBI::st=HASH(0x877cf8c)~INNER) thr#84f3008
ERROR: '904' 'ORA-00904: "DECIMAL_LATIDUDE": invalid identifier (DBD ERROR: error possibly near <*> indicator at char 90 in 'UPDATE foo set PR = 1369
                                        WHERE <*>decimal_latidude =
                                        AND decimal_longitude =
AND image_date = to_date('2008-03-05', 'yyy...' (err#1)
    <- DESTROY= undef at fooClient.pl line 160
    dbih_clearcom 0x877cf8c (com 0x882c148, type 3) done.

Error in updateFoo() - DBD::Oracle::st execute failed: ORA-00904: "DECIMAL_LATIDUDE": invalid identifier (DBD ERROR: error possibly near <*> indicator at char 90 in 'UPDATE foo set PR = 1369
                                        WHERE <*>decimal_latidude =
                                        AND decimal_longitude =
AND image_date = to_date('2008-03-05', 'yyyy-mm-dd')') [for Statement "UPDATE foo set PR = 1369
                                        WHERE decimal_latidude =
                                        AND decimal_longitude =
AND image_date = to_date('2008-03-05', 'yyyy-mm-dd')"] at ./fooClient.pl line 156, <GEN0> line 1.

    !! ERROR: '904' CLEARED by call to disconnect method
-> disconnect for DBD::Oracle::db (DBI::db=HASH(0x850cadc)~0x87cb6cc) thr#84f3008
    <- disconnect= 1 at fooClient.pl line 163 via ./fooClient.pl line 89
    -- DBI::END
-> disconnect_all for DBD::Oracle::dr (DBI::dr=HASH(0x85fad78)~0x850cb0c) thr#84f3008 <- disconnect_all= (not implemented) at DBI.pm line 692 via ./fooClient.pl line 0
!   -> DESTROY for DBD::Oracle::db (DBI::db=HASH(0x87cb6cc)~INNER) thr#84f3008
!   <- DESTROY= undef during global destruction
    dbih_clearcom 0x850cadc (com 0x87cbdd8, type 2) done.

! -> DESTROY in DBD::_::common for DBD::Oracle::dr (DBI::dr=HASH(0x850cb0c)~INNER) thr#84f3008
!   <- DESTROY= undef during global destruction
    dbih_clearcom 0x85fad78 (com 0x87c8d40, type 1) done.

!   <> DESTROY for DBI::dr=HASH(0x85fad78) ignored (inner handle gone)
!   <> DESTROY for DBI::db=HASH(0x850cadc) ignored (inner handle gone)






At 09:49 AM 8/26/2009, Jenda Krynicky wrote:
Date sent:              Wed, 26 Aug 2009 09:36:07 -0400
To:                     Ian Harisay <[email protected]>,
        "[email protected]" <[email protected]>
From:                   Kevin Webb <[email protected]>
Subject:                RE: Problem catching exceptions

> Thank you for your reply Ian.
>
> The $dbh->do() approach suffers from the same problem, do() doesn't return.
> The program behaves in a classic "throwing an exception" mode by not
> returning an error value and, appears to be,  exiting the execution stack
> abruptly printing the word "Aborted" to stderr.

Any chance something installs a $SIG{__DIE__} hook?

Jenda
===== [email protected] === http://Jenda.Krynicky.cz =====
When it comes to wine, women and song, wizards are allowed
to get drunk and croon as much as they like.
        -- Terry Pratchett in Sourcery

Reply via email to