From:             blair dot chesnut at gmail dot com
Operating system: Unix/Solaris 10
PHP version:      5.4.9
Package:          PDO related
Bug Type:         Bug
Bug description:ORA-01461 when inserting/updating more that 1333 characters

Description:
------------
Using PDO/OCI via Yii framework. Inserts/updates to varchar2(4000) column
fail with error ORA-01461 when value exceeds 1332 characters. 

Line 300 of source php-5.4.9/ext/pdo_oci/oci_statement.c:

value_sz = 1332; /* maximum size before value is interpreted as a LONG
value */

Why???  

I changed to "value_sz = 4000", recompiled, and inserts/updates work fine.
I'm not using CLOBs, only varchar2() columns. 


Test script:
---------------
$dbh = new PDO($dsn, $dbuser, $dbpass);
 
$sth = $dbh->prepare('insert into some_table (some_varchar4000_column)
values (:p1)');
 
$big_value = str_repeat('ABCDEFGHIJ', 300);
$sth->bindValue(':p1', $big_value, PDO::PARAM_STR);
 
$sth->execute();
print_r($sth->errorInfo());


Expected result:
----------------
Array
(
    [0] => 00000
    [1] => 
    [2] => 
)


Actual result:
--------------
Array
(
    [0] => HY000
    [1] => 1461
    [2] => OCIStmtExecute: ORA-01461: can bind a LONG value only for insert
into a LONG column
 (/usr/local/src/php-5.4.5/ext/pdo_oci/oci_statement.c:146)
)


-- 
Edit bug report at https://bugs.php.net/bug.php?id=63809&edit=1
-- 
Try a snapshot (PHP 5.4):   
https://bugs.php.net/fix.php?id=63809&r=trysnapshot54
Try a snapshot (PHP 5.3):   
https://bugs.php.net/fix.php?id=63809&r=trysnapshot53
Try a snapshot (trunk):     
https://bugs.php.net/fix.php?id=63809&r=trysnapshottrunk
Fixed in SVN:               https://bugs.php.net/fix.php?id=63809&r=fixed
Fixed in release:           https://bugs.php.net/fix.php?id=63809&r=alreadyfixed
Need backtrace:             https://bugs.php.net/fix.php?id=63809&r=needtrace
Need Reproduce Script:      https://bugs.php.net/fix.php?id=63809&r=needscript
Try newer version:          https://bugs.php.net/fix.php?id=63809&r=oldversion
Not developer issue:        https://bugs.php.net/fix.php?id=63809&r=support
Expected behavior:          https://bugs.php.net/fix.php?id=63809&r=notwrong
Not enough info:            
https://bugs.php.net/fix.php?id=63809&r=notenoughinfo
Submitted twice:            
https://bugs.php.net/fix.php?id=63809&r=submittedtwice
register_globals:           https://bugs.php.net/fix.php?id=63809&r=globals
PHP 4 support discontinued: https://bugs.php.net/fix.php?id=63809&r=php4
Daylight Savings:           https://bugs.php.net/fix.php?id=63809&r=dst
IIS Stability:              https://bugs.php.net/fix.php?id=63809&r=isapi
Install GNU Sed:            https://bugs.php.net/fix.php?id=63809&r=gnused
Floating point limitations: https://bugs.php.net/fix.php?id=63809&r=float
No Zend Extensions:         https://bugs.php.net/fix.php?id=63809&r=nozend
MySQL Configuration Error:  https://bugs.php.net/fix.php?id=63809&r=mysqlcfg

Reply via email to