ID:               40186
 Updated by:       [EMAIL PROTECTED]
 Reported By:      tony at marston-home dot demon dot co dot uk
-Status:           Open
+Status:           Bogus
 Bug Type:         OCI8 related
 Operating System: Windows XP
 PHP Version:      5.2.0
 Assigned To:      tony2001
 New Comment:

>I can write a database record containing a VARRAY column
> but I cannot read it back again. 
Of course you can and I've already pointed you to the function you can
use for that.

>Until you can prove
Sorry, I'm not going to prove anything.
Open the documentation and learn how to use it yourself.

Please do not reopen the report unless you know how to implement it.


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

[2007-01-22 13:31:18] tony at marston-home dot demon dot co dot uk

No, it's a place for reporting bugs, and this is a bug. I can write a
database record containing a VARRAY column but I cannot read it back
again. I can do this simple task with MySQL and PostgreSQL, but not
with Oracle.

Until you can prove that this simple task is possible with the aid of
sample code - and do not waste my time by referring to the manual as
the code samples there are next to useless - then this will continue to
be a bug.

If this is a problem caused by a deficiency in Oracle's OCI API then I
suggest you contact Oracle (try christopher.jones at oracle dot com)
and point out this serious deficiency.

Do TOAD and Oracle SQL Developer use the OCI API? They don't have any
problems with the reading and writing of VARRAY fields, so if they can
do it why can't you?

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

[2007-01-22 12:21:00] [EMAIL PROTECTED]

This is not a support forum.

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

[2007-01-22 12:12:53] tony at marston-home dot demon dot co dot uk

Then I suggest you provide a working example, based on the code which I
supplied, which shows how I can write to and read from a VARRAY column
on a database table. The example in the manual does not do this, so it
is totally useless.

Both TOAD and Oracle SQL Developer can handle VARRAY columns without a
hitch, so don't tell me it can't be done.

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

[2007-01-22 11:53:44] [EMAIL PROTECTED]

>Unless you can show how my sample code can be made to
>work, just like the SET datatye does with MySQL and the
>ARRAY datatype does with PostgreSQL, this bug will remain open.

As long as OCI API does not provide a certain way to distinguish
between collections, objects and VARRAYS in OCIDefineByPos(),
oci_bind_array_by_name() will remain the only method to fetch VARRAY
data and this bug will remain bogus.
If you know OCI API and can propose a patch - feel free to contact me.
But I do not see any way to do it using the functions available.
OCI API limitations are not PHP problems -> bogus.

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

[2007-01-22 11:19:54] tony at marston-home dot demon dot co dot uk

Your response is both unusable and impractical. The example in the
manual for oci_bind_array_by_name() at
http://www.php.net/manual/en/function.oci-bind-array-by-name.php shows
how a VARRAY is built in memory from the contents of a database table.
This is not how VARRAY fields are used in the real world. In my example
I have a VARRAY field on a database table, not in memory, and I can
write to this table without a problem, but I cannot read from it with
gettingan error.

Unless you can show how my sample code can be made to work, just like
the SET datatye does with MySQL and the ARRAY datatype does with
PostgreSQL, this bug will remain open.

I expect, at the very least, to be able to read a record containing
VARRAY fields into memory so that I can use the oci-collection methods
to manipulate their contents. This would then make it similar to the
way LOB fields are currently handled.

I do NOT want a method which requires me to select the VARRAY and
non-VARRAY fields with separate queries.

Idealy I would like the contents of any VARRAY field returned to my
program just like it is with TOAD or Oracle's SQL Developer, which is a
string where each array is enclosed in parentheses. If that software can
do it then why can't yours?

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

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/40186

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

Reply via email to