ZF-10478: Oracle adapter does not apply foldCase() on insert/update statements.

Issue Type: Bug Created: 2010-09-21T03:16:37.000+0000 Last Updated: 2011-05-10T16:44:39.000+0000 Status: Open Fix version(s): Reporter: Onno Lissenberg (orlissenberg) Assignee: Ralph Schindler (ralph) Tags: - Zend_Db_Adapter_Oracle

Related issues: Attachments:


If I use the Zend_Log_Writer_Db I will get "invalid identifier" (ORA-00904) errors from Oracle because the field casing is incorrect. The fields should be upper-case. It would be great if the caseFolding would also apply to insert (and update) statements. For the inserts a simple replacement of the code:

"Oracle.php" line 621 $cols[] = $this->quoteIdentifier($col, true); into $cols[] = $this->quoteIdentifier($this->foldCase($col), true);

would suffice.

As a work-around I now made a custom Zend_Log_Writer_Db which provides the upper-casing, it feels a bit redundant but I need to obey our coding standard to NOT hack external libraries :)


Posted by Ralph Schindler (ralph) on 2010-09-23T06:42:04.000+0000

Is this an issue specific to Zend_Log? Or Zend_Db_Adapter_Oracle?

Posted by Onno Lissenberg (orlissenberg) on 2010-09-27T04:10:32.000+0000

It is an issue of Zend_Db_Adapter_Oracle in my opinion (which will make Zend_Log fail). Oracle is annoyingly sensitive to the proper casing of fields and tables.

Posted by Gregory Wilson (drakos7) on 2011-05-10T16:44:39.000+0000

A similar thing happens with Zend_Queue, which is expecting all lowercase table, sequence, and column names.

Have you found an issue?

See the Overview section for more details.


© 2006-2016 by Zend, a Rogue Wave Company. Made with by awesome contributors.

This website is built using zend-expressive and it runs on PHP 7.