I've just noticed an apparent regression/change_of_behaviour that affects me.
We do a good deal of our DB access accessing tables via private synonyms. That is, we connect via schema_X which has a private synonym (lob_table) to schema_Y.lob_table. On our 'current' machines which have DBD::Oracle ver 1.15, everything works fine. On our 'new' machines which have DBD::Oracle ver 1.21, if I attempt to insert/update a lob column, connecting as schema_X, I get an error 942 - table or view does not exist. It would seem the error is not being caused by the insert/update, but something DBD::Oracle is doing afterwards. Here is a snippet from the trace ... : DBI 1.605-ithread default trace level set to 0x0/2 (pid 26352) at sb3.plx line 79 via sb3.plx line 124 -> prepare for DBD::Oracle::db (DBI::db=HASH(0x8e59c0c)~0x8e59738 ' insert into sb1 (id, text_b) values (100, :txt) ') thr#8153008 dbd_preparse scanned 1 distinct placeholders <- prepare= DBI::st=HASH(0x8edbeb4) at sb3.plx line 80 -> bind_param for DBD::Oracle::st (DBI::st=HASH(0x8edbeb4)~0x8bef8c0 ':txt' '....���A..zip-usa.csv.Խ�.�:.�{�..��...' (type 0, attribs: HASH(0x8153c28)) <- bind_param= 1 at sb3.plx line 85 -> execute for DBD::Oracle::st (DBI::st=HASH(0x8edbeb4)~0x8bef8c0) thr#8153008 dbd_st_execute INSERT (out0, lob1)... Statement Execute Mode is 0 dbd_st_execute INSERT returned (SUCCESS, rpc1, fn3, out0) !! ERROR: '942' 'ORA-00942: table or view does not exist (DBD ERROR: OCIStmtExecute/LOB refetch)' (err#1) <- execute= undef at sb3.plx line 87 -> HandleError on DBI::st=HASH(0x8bef8c0) via CODE(0x8ed5ff4) (undef) : If I either connect as schema_Y (which owns the table), or qualify the table name with the schema name (e.g. schema_y.sb1), the error does not occur. If I wrap the insert/update with a BEGIN .. END; (i.e. turn it into an anonymous pl/sql block), it works ok, but I'd rather not have to go through all our code and do this. Is this a regression, or intended new behaviour? Thanks, Steve ****************************************************************** This email is intended solely for the use of the addressee and may contain information that is confidential, proprietary, or both. If you receive this email in error please immediately notify the sender and delete the email. ******************************************************************