On Fri, Nov 19, 2004 at 05:29:20AM -0600, Andrew Dunstan wrote:
> Tom Lane said:
> > Josh Berkus <[EMAIL PROTECTED]> writes:
> >>> I would agree that seems a little odd ;). Would this be something we
> >>> want done for 8.0?
> >
> >> I think we'd better.   Otherwise, people will get used to the broken
> >> syntax.
> >
> > Agreed.  Someone's going to step up and patch this, no?
> >
> > (Not me --- I've already wasted more hours than I could afford this
> > week on plperl.)
> >
> 
> I knew I should have looked at this closer when Peter made his complaint -
> it sounded familiar. IIRC it was actually a point I raised about the
> original code, and it was fixed. At any rate, last night Abhijit Menon-Sen
> and I looked at the code and got confused becuse it appears to have been
> fixed ;-). "rows" only contains data and only exists if the result is from a
> successful select. "processed" is the row count, and is always present.
> 
> So it's a case of bad documentation, which we will fix very shortly. Sorry
> for the noise.

Please find attached a patch that fixes this.

Cheers,
D
-- 
David Fetter [EMAIL PROTECTED] http://fetter.org/
phone: +1 510 893 6100   mobile: +1 415 235 3778

Remember to vote!
Index: doc/src/sgml/plperl.sgml
===================================================================
RCS file: /projects/cvsroot/pgsql/doc/src/sgml/plperl.sgml,v
retrieving revision 2.30
diff -c -r2.30 plperl.sgml
*** doc/src/sgml/plperl.sgml    6 Nov 2004 14:32:10 -0000       2.30
--- doc/src/sgml/plperl.sgml    19 Nov 2004 18:52:34 -0000
***************
*** 174,189 ****
  <programlisting>
  $rv = spi_exec_query('SELECT * FROM my_table', 5);
  </programlisting>
!        This returns up to 5 rows from the table
!        <literal>my_table</literal>.  If <literal>my_table</literal>
!        has a column <literal>my_column</literal>, it could be accessed
!        like this:
  <programlisting>
  $foo = $rv->{rows}[$i]->{my_column};
  </programlisting>
!        The total number of rows returned can be accessed like this:
  <programlisting>
! $nrows = @{$rv->{rows}};
  </programlisting>
        </para>
  
--- 174,190 ----
  <programlisting>
  $rv = spi_exec_query('SELECT * FROM my_table', 5);
  </programlisting>
!         This returns up to 5 rows from the table
!         <literal>my_table</literal>.  If <literal>my_table</literal>
!         has a column <literal>my_column</literal>, you can get the value that
!         value from row <literal>$i</literal> from a
!         <command>SELECT</command> like this:
  <programlisting>
  $foo = $rv->{rows}[$i]->{my_column};
  </programlisting>
!        The total number of rows returned from a <command>SELECT</command> 
query can be accessed like this:
  <programlisting>
! $nrows = $rv->{processed}
  </programlisting>
        </para>
  
***************
*** 200,206 ****
  </programlisting>
         To get the number of rows affected, do:
  <programlisting>
! $nrows = $rv->{rows};
  </programlisting>
        </para>
       </listitem>
--- 201,207 ----
  </programlisting>
         To get the number of rows affected, do:
  <programlisting>
! $nrows = $rv->{processed};
  </programlisting>
        </para>
       </listitem>
---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend

Reply via email to