ID:               19687
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
 Status:           Assigned
-Bug Type:         OCI8 related
+Bug Type:         Feature/Change Request
 Operating System: win 2k
 PHP Version:      4.2.1
 Assigned To:      maxim
 New Comment:

An update:

Oracle Call Interface specs say there are a few types that cannot be
returned to client from DB. These are BOOLEAN, RECORD and INDEX TABLE.

So, for BOOLEAN to work with OCI8 extebsion there must be a wrapper
added in some way that, still in PLSQL encodes/decodes BOOLEAN to/from
NUMBER that can be returned to OCI8 extension and then used by PHP as
PHP's BOOLEAN type.

In other words - this issue is not really any kind of bug but rather an
expected behavior. Yet, I'd love to get it working somehow.

I reclassify it to the feature request and will work on it some time
later.

Thanks,
Maxim Maletsky


Previous Comments:
------------------------------------------------------------------------

[2002-11-10 14:52:35] [EMAIL PROTECTED]

I was planning to take over this one ...

------------------------------------------------------------------------

[2002-11-10 00:18:56] [EMAIL PROTECTED]

It is actually not a bug but rather the limitation of binding
variables.

We hope to add it some time soon.

Maxim Maletsky

------------------------------------------------------------------------

[2002-10-01 06:54:18] [EMAIL PROTECTED]

PROBLEM OCIEXECUTE WITH BOOLEAN OUTPUT PARAMETERS:

The call to the following stored procedure (oracle 8.1.7) 
from php4.2.1 (as ampache module) 
does not work with a boolean parameter.
It works fine however when I change boolean to NUMBER.

/************ the procedure in PL SQL ********************/
PROCEDURE testit(arg1 IN OUT BOOLEAN) IS
BEGIN
  arg1:=TRUE;
END;
/*********************************************************/

/************ the call from PHP **************************/
$stmt = OCIParse($connector->_connectionID, "BEGIN testit(:arg1);
END;");
OCIBindByName($stmt,":arg1",$ret,10);
OCIExecute($stmt);
OCIFreeStatement($stmt);
/*********************************************************/

/************ the warning in french :-) ******************/
Warning: OCIStmtExecute: ORA-06550: Ligne 1, colonne 7 : PLS-00306:
num�ro ou types d'arguments erron�s dans appel � 'TESTIT' ORA-06550:
Ligne 1, colonne 7 : PL/SQL: Statement ignored in
d:\apache\htdocs\iac\test.php on line 32
false

(traduction of the warning : wrong argument number or type)
/*********************************************************/

------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=19687&edit=1

Reply via email to