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

To both Tonys:

Please calm this discussion down, I think you are both getting on your
high horses, stuck in a loop repeating your respective entrenched
positions, and not even attempting to find a rapprochement.

To Tony Marston:

I understand that you have been unable to read a VARRAY the way that
you expected to, but so far you have shown no sign of attempting to
read it the way that tony2001 has suggested.  To this extent, I
sympathise with his contention that this is a support problem and not a
bug.  What you are looking for can be at most a feature request, but if
tony2001 is right and the OCI API currently provides no way to do this,
then this is indeed bogus.

I also see your point that the example in the manual illustrates a
completely different usage from the one you are looking for, but
tony2001's confident assertion that this is the call you need leads me
to believe that it should also do the job you want.  (He is, after all,
the current maintainer of the OCI8 extension!)

Can you please try to read your records using oci_bind_array_by_name()
and oci_fetch(), and contribute back here with the results of your
attempt?  I believe the code you want should look something like this:

    $stmt = oci_parse($dbconn, 'SELECT favourite_food FROM x_person');
    oci_bind_array_by_name($dbconn, $foods, 10, -1, SQLT_NUM); 
    oci_execute($stmt);
    while(oci_fetch($stmt)) {
       // here foods[] is an array of integers for current record
    }

@tony2001 -- have I got that about right?  (I'm unable to test as I do
not have an up-to-date enough version of Oracle available.)


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

[2007-01-30 15:26:43] tony at marston-home dot demon dot co dot uk

As far as any reasonable person would be concerened this most
definitely is a bug. The Oracle database has a datatype called VARRAY
which is similar to the SET datatype in MySQL and the ARRAY datatpe in
PostgeSQL. The problem is that with your API I can write a record
containing a VARRAY column, but it is not possible to read it back
again. How stupid is that? Both MySQL and PostgreSQL can handle such a
simple operation, so why can't Oracle? Are their API authors more
competent?

Telling me that this is a "feature" and not a bug will do nothing to
calm me down. Entirely the opposite in fact. It is your job to provide
an API that allows PHP programmers to read and write all the datatypes
supported by the Oracle database, which you have singularly failed to
do. Blaming somebody else for your failure just shows how totally
unprofessional you are.

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

[2007-01-30 15:00:34] [EMAIL PROTECTED]

>If you had said "Yes, this is a bug,"
There is no bug.
Missing features and bugs are absolutely different things.

>but the problem lies with the OCI API which is supplied by
>Oracle. Let me contact them to get this sorted out" that 
>would have been a satisfactory response.
Please let me decide what to do.
Telling me what to say and what to do in SUCH a way does not help in
motivating me to help you.
If you think this problem should be reported to Oracle - please do it
yourself.

Not PHP problem -> bogus.
If you have anything else to tell me - you're welcome to write me using
my e-mail.
The report is bogus, so no sense to reopen it once again.

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

[2007-01-30 14:43:46] tony at marston-home dot demon dot co dot uk

Before you start complaining about my attitude you should look in the
mirror. Your own attitude has been arrogant,  dismissive and unhelpful
right from the start.

If you had said "Yes, this is a bug, but the problem lies with the OCI
API which is supplied by Oracle. Let me contact them to get this sorted
out" that would have been a satisfactory response.

Instead what do you do? You direct me to a totally inappropriate API,
and when I point out that fact you complain that this is not a support
forum. Then you say "I can't fix it therefore it ain't broke" and "fix
it yourself". This type of attitude does not inspire me with any
confidence in your abilities. There is a problem with the PHP to Oracle
interface, yet you don't seem to care and refuse to lift a finger to
help. Is it any wonder that I am totally pissed off?

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

[2007-01-30 11:59:58] [EMAIL PROTECTED]

>Your attitude is that "I can't fix it, therefore it is not my
problem".

It's impossible to fix it using existing OCI calls, therefore this is
not PHP problem.
It's THAT simple.

>What you realy need is a status that says "pending update
>from 3rd party library" instead of the ubiquitous 
>"bogus", which implies that the bug reporter does not know >what he is
talking about.

"Bogus" means "no PHP bug here", which can be surely applied in this
case.
Please don't change the report's status anymore.

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

[2007-01-30 11:43:50] tony at marston-home dot demon dot co dot uk

But the point is that you are not helping me to solve this problem.
Your attitude is that "I can't fix it, therefore it is not my
problem".

I do not care in whose code the bug exists, the fact that I cannot read
a record containing a VARRAY is a bug. I can do it with MySQL and
PostgreSQL, but not Oracle. That is a serious deficiency.

What you realy need is a status that says "pending update from 3rd
party library" instead of the ubiquitous "bogus", which implies that
the bug reporter does not know what he is talking about.

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

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