dbs             Sat Apr 16 22:50:02 2005 EDT

  Modified files:              
    /phpdoc/en/reference/ibm_db2/functions      db2-fetch-assoc.xml 
                                                db2-fetch-both.xml 
                                                db2-fetch-into.xml 
                                                db2-num-rows.xml 
  Log:
  Document db2_fetch* functions that return arrays.
  Document db2_num_rows.
  Over-emphasize why it's a bad idea to use db2_num_rows with SELECT.
  
  
http://cvs.php.net/diff.php/phpdoc/en/reference/ibm_db2/functions/db2-fetch-assoc.xml?r1=1.1&r2=1.2&ty=u
Index: phpdoc/en/reference/ibm_db2/functions/db2-fetch-assoc.xml
diff -u phpdoc/en/reference/ibm_db2/functions/db2-fetch-assoc.xml:1.1 
phpdoc/en/reference/ibm_db2/functions/db2-fetch-assoc.xml:1.2
--- phpdoc/en/reference/ibm_db2/functions/db2-fetch-assoc.xml:1.1       Tue Apr 
12 17:12:48 2005
+++ phpdoc/en/reference/ibm_db2/functions/db2-fetch-assoc.xml   Sat Apr 16 
22:50:00 2005
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.1 $ -->
+<!-- $Revision: 1.2 $ -->
 <!-- Generated by xml_proto.php v2.2. Found in /scripts directory of phpdoc. 
-->
 <refentry id="function.db2-fetch-assoc">
  <refnamediv>
@@ -16,7 +16,12 @@
    <methodparam 
choice="opt"><type>int</type><parameter>row_number</parameter></methodparam>
   </methodsynopsis>
 
-  &warn.undocumented.func;
+  &warn.experimental.func;
+
+  <para>
+   Returns an array, indexed by column name, representing a row in a result
+   set.
+  </para>
 
  </refsect1>
  <refsect1 role="parameters">
@@ -25,82 +30,55 @@
    <variablelist>
     <varlistentry>
      <term><parameter>stmt</parameter></term>
-      <listitem>
-       <para>
-        Its description
-       </para>
-      </listitem>
-     </varlistentry>
+     <listitem>
+      <para>
+       A valid <literal>stmt</literal> resource containing a result set.
+      </para>
+     </listitem>
+    </varlistentry>
     <varlistentry>
      <term><parameter>row_number</parameter></term>
-      <listitem>
-       <para>
-        Its description
-       </para>
-      </listitem>
-     </varlistentry>
+     <listitem>
+      <para>
+       Requests a specific 1-indexed row from the result set. Passing this
+       parameter results in a PHP warning if the result set uses a
+       forward-only cursor.
+      </para>
+     </listitem>
+    </varlistentry>
    </variablelist>
   </para>
  </refsect1>
  <refsect1 role="returnvalues">
   &reftitle.returnvalues;
   <para>
-   What the function returns, first on success, then on failure. See
-   also the &return.success; entity
-  </para>
- </refsect1>
-
- <!-- Use when EXCEPTIONS exist
- <refsect1 role="exceptions">
-  &reftitle.exceptions;
-  <para>
-   When does this function throw exceptions?
-  </para>
- </refsect1>
- -->
-
-
- <!-- Use when a CHANGELOG exists
- <refsect1 role="changelog">
-  &reftitle.changelog;
-  <para>
-   <informaltable>
-    <tgroup cols="2">
-     <thead>
-      <row>
-       <entry>&Version;</entry>
-       <entry>&Description</entry>
-      </row>
-     </thead>
-     <tbody>
-      <row>
-       <entry>Enter the PHP version of change here
-       <entry>Description of change
-      </row>
-     </tbody>
-    </tgroup>
-   </informaltable>
+   Returns an associative array with column values indexed by the column name
+   representing the next or requested row in the result set. Returns &false; if
+   there are no rows left in the result set, or if the row requested by
+   <parameter>row_number</parameter> does not exist in the result set.
   </para>
  </refsect1>
- -->
 
-
- <!-- Use when examples exist
  <refsect1 role="examples">
   &reftitle.examples;
   <para>
    <example>
-    <title>A <function>db2_fetch_assoc</function> example</title>
+    <title>Iterating through a forward-only cursor</title>
     <para>
-     Any text that describes the purpose of the example, or
-     what goes on in the example should go here (inside the
-     <example> tag, not out
+     If you call <function>db2_fetch_assoc</function> without a specific row
+     number, it automatically retrieves the next row in the result set.
     </para>
     <programlisting role="php">
 <![CDATA[
 <?php
-if ($anexample === true) {
-    echo 'Use the PEAR Coding Standards';
+
+$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
+$stmt = db2_prepare($conn, $sql);
+$result = db2_execute($stmt, $sql);
+
+while ($row = db2_fetch_assoc($result)) {
+    printf ("%-5d %-16s %-32s %10s\n", 
+        $row['ID'], $row['NAME'], $row['BREED'], $row['WEIGHT']);
 }
 ?>
 ]]>
@@ -108,27 +86,61 @@
     &example.outputs;
     <screen>
 <![CDATA[
-Use the PEAR Coding Standards
+0     Pook             cat                                    3.20
+5     Rickety Ride     goat                                   9.70
+2     Smarty           horse                                350.00
+]]>
+    </screen>
+   </example>
+
+   <example>
+    <title>Retrieving specific rows with <function>db2_fetch_assoc</function>
+     from a scrollable cursor</title>
+    <para>
+     If your result set uses a scrollable cursor, you can call
+     <function>db2_fetch_assoc</function> with a specific row number. The
+     following example retrieves every other row in the result set, starting
+     with the second row.
+    </para>
+    <programlisting role="php">
+<![CDATA[
+<?php
+
+$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
+$result = db2_exec($stmt, $sql, array('cursor' => DB2_SCROLLABLE));
+
+$i=2;
+while ($row = db2_fetch_assoc($result, $i)) {
+    printf ("%-5d %-16s %-32s %10s\n", 
+        $row['ID'], $row['NAME'], $row['BREED'], $row['WEIGHT']);
+    $i = $i + 2;
+}
+?>
+]]>
+    </programlisting>
+    &example.outputs;
+    <screen>
+<![CDATA[
+0     Pook             cat                                    3.20
+5     Rickety Ride     goat                                   9.70
+2     Smarty           horse                                350.00
 ]]>
     </screen>
    </example>
   </para>
  </refsect1>
- -->
 
-
- <!-- Use when adding See Also links
  <refsect1 role="seealso">
   &reftitle.seealso;
   <para>
    <simplelist>
-    <member><function></function></member>
-    <member>Or <link linkend="somethingelse">something else</link></member>
+    <member><function>db2_fetch_both</function></member>
+    <member><function>db2_fetch_into</function></member>
+    <member><function>db2_fetch_row</function></member>
+    <member><function>db2_result</function></member>
    </simplelist>
   </para>
  </refsect1>
- -->
-
 
 </refentry>
 
http://cvs.php.net/diff.php/phpdoc/en/reference/ibm_db2/functions/db2-fetch-both.xml?r1=1.1&r2=1.2&ty=u
Index: phpdoc/en/reference/ibm_db2/functions/db2-fetch-both.xml
diff -u phpdoc/en/reference/ibm_db2/functions/db2-fetch-both.xml:1.1 
phpdoc/en/reference/ibm_db2/functions/db2-fetch-both.xml:1.2
--- phpdoc/en/reference/ibm_db2/functions/db2-fetch-both.xml:1.1        Tue Apr 
12 17:12:48 2005
+++ phpdoc/en/reference/ibm_db2/functions/db2-fetch-both.xml    Sat Apr 16 
22:50:00 2005
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.1 $ -->
+<!-- $Revision: 1.2 $ -->
 <!-- Generated by xml_proto.php v2.2. Found in /scripts directory of phpdoc. 
-->
 <refentry id="function.db2-fetch-both">
  <refnamediv>
@@ -16,7 +16,15 @@
    <methodparam 
choice="opt"><type>int</type><parameter>row_number</parameter></methodparam>
   </methodsynopsis>
 
-  &warn.undocumented.func;
+  &warn.experimental.func;
+
+  <para>
+   Returns an array, indexed by both column name and position, representing a
+   row in a result set. Note that the row returned by
+   <function>db2_fetch_both</function> requires more memory than the
+   single-indexed arrays returned by <function>db2_fetch_assoc</function> or
+   <function>db2_fetch_into</function>.
+  </para>
 
  </refsect1>
  <refsect1 role="parameters">
@@ -25,82 +33,93 @@
    <variablelist>
     <varlistentry>
      <term><parameter>stmt</parameter></term>
-      <listitem>
-       <para>
-        Its description
-       </para>
-      </listitem>
-     </varlistentry>
+     <listitem>
+      <para>
+       A valid <literal>stmt</literal> resource containing a result set.
+      </para>
+     </listitem>
+    </varlistentry>
     <varlistentry>
      <term><parameter>row_number</parameter></term>
-      <listitem>
-       <para>
-        Its description
-       </para>
-      </listitem>
-     </varlistentry>
+     <listitem>
+      <para>
+       Requests a specific 1-indexed row from the result set. Passing this
+       parameter results in a PHP warning if the result set uses a
+       forward-only cursor.
+      </para>
+     </listitem>
+    </varlistentry>
    </variablelist>
   </para>
  </refsect1>
  <refsect1 role="returnvalues">
   &reftitle.returnvalues;
   <para>
-   What the function returns, first on success, then on failure. See
-   also the &return.success; entity
+   Returns an associative array with column values indexed by both the column
+   name and 0-indexed column number. The array represents the next or
+   requested row in the result set. Returns &false; if there are no rows left
+   in the result set, or if the row requested by
+   <parameter>row_number</parameter> does not exist in the result set.
   </para>
  </refsect1>
 
- <!-- Use when EXCEPTIONS exist
- <refsect1 role="exceptions">
-  &reftitle.exceptions;
-  <para>
-   When does this function throw exceptions?
-  </para>
- </refsect1>
- -->
-
-
- <!-- Use when a CHANGELOG exists
- <refsect1 role="changelog">
-  &reftitle.changelog;
-  <para>
-   <informaltable>
-    <tgroup cols="2">
-     <thead>
-      <row>
-       <entry>&Version;</entry>
-       <entry>&Description</entry>
-      </row>
-     </thead>
-     <tbody>
-      <row>
-       <entry>Enter the PHP version of change here
-       <entry>Description of change
-      </row>
-     </tbody>
-    </tgroup>
-   </informaltable>
-  </para>
- </refsect1>
- -->
-
-
- <!-- Use when examples exist
  <refsect1 role="examples">
   &reftitle.examples;
   <para>
    <example>
-    <title>A <function>db2_fetch_both</function> example</title>
+    <title>Iterating through a forward-only cursor</title>
     <para>
-     Any text that describes the purpose of the example, or
-     what goes on in the example should go here (inside the
-     <example> tag, not out
+     If you call <function>db2_fetch_both</function> without a specific row
+     number, it automatically retrieves the next row in the result set. The
+     following example accesses columns in the returned array by both column
+     name and by numeric index.
     </para>
     <programlisting role="php">
 <![CDATA[
 <?php
-if ($anexample === true) {
-    echo 'Use the PEAR Coding Standards';
+
+$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
+$stmt = db2_prepare($conn, $sql);
+$result = db2_execute($stmt, $sql);
+
+while ($row = db2_fetch_both($result)) {
+    printf ("%-5d %-16s %-32s %10s\n", 
+        $row['ID'], $row[0], $row['BREED'], $row[3]);
+}
+?>
+]]>
+    </programlisting>
+    &example.outputs;
+    <screen>
+<![CDATA[
+0     Pook             cat                                    3.20
+5     Rickety Ride     goat                                   9.70
+2     Smarty           horse                                350.00
+]]>
+    </screen>
+   </example>
+
+   <example>
+    <title>Retrieving specific rows with <function>db2_fetch_both</function>
+     from a scrollable cursor</title>
+    <para>
+     If your result set uses a scrollable cursor, you can call
+     <function>db2_fetch_both</function> with a specific row number. The
+     following example retrieves every other row in the result set, starting
+     with the second row.
+    </para>
+    <programlisting role="php">
+<![CDATA[
+<?php
+
+$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
+$result = db2_exec($stmt, $sql, array('cursor' => DB2_SCROLLABLE));
+
+$i=2;
+while ($row = db2_fetch_both($result, $i)) {
+    printf ("%-5d %-16s %-32s %10s\n", 
+        $row[0], $row['NAME'], $row[2], $row['WEIGHT']);
+    $i = $i + 2;
 }
 ?>
 ]]>
@@ -108,26 +127,27 @@
     &example.outputs;
     <screen>
 <![CDATA[
-Use the PEAR Coding Standards
+0     Pook             cat                                    3.20
+5     Rickety Ride     goat                                   9.70
+2     Smarty           horse                                350.00
 ]]>
     </screen>
    </example>
   </para>
  </refsect1>
- -->
 
 
- <!-- Use when adding See Also links
  <refsect1 role="seealso">
   &reftitle.seealso;
   <para>
    <simplelist>
-    <member><function></function></member>
-    <member>Or <link linkend="somethingelse">something else</link></member>
+    <member><function>db2_fetch_assoc</function></member>
+    <member><function>db2_fetch_into</function></member>
+    <member><function>db2_fetch_row</function></member>
+    <member><function>db2_result</function></member>
    </simplelist>
   </para>
  </refsect1>
- -->
 
 
 </refentry>
http://cvs.php.net/diff.php/phpdoc/en/reference/ibm_db2/functions/db2-fetch-into.xml?r1=1.1&r2=1.2&ty=u
Index: phpdoc/en/reference/ibm_db2/functions/db2-fetch-into.xml
diff -u phpdoc/en/reference/ibm_db2/functions/db2-fetch-into.xml:1.1 
phpdoc/en/reference/ibm_db2/functions/db2-fetch-into.xml:1.2
--- phpdoc/en/reference/ibm_db2/functions/db2-fetch-into.xml:1.1        Tue Apr 
12 17:12:48 2005
+++ phpdoc/en/reference/ibm_db2/functions/db2-fetch-into.xml    Sat Apr 16 
22:50:00 2005
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.1 $ -->
+<!-- $Revision: 1.2 $ -->
 <!-- Generated by xml_proto.php v2.2. Found in /scripts directory of phpdoc. 
-->
 <refentry id="function.db2-fetch-into">
  <refnamediv>
@@ -16,7 +16,12 @@
    <methodparam 
choice="opt"><type>int</type><parameter>row_number</parameter></methodparam>
   </methodsynopsis>
 
-  &warn.undocumented.func;
+  &warn.experimental.func;
+
+  <para>
+   Returns an array, indexed by column position, representing a row in a result
+   set. The columns are 0-indexed.
+  </para>
 
  </refsect1>
  <refsect1 role="parameters">
@@ -25,82 +30,55 @@
    <variablelist>
     <varlistentry>
      <term><parameter>stmt</parameter></term>
-      <listitem>
-       <para>
-        Its description
-       </para>
-      </listitem>
-     </varlistentry>
+     <listitem>
+      <para>
+       A valid <literal>stmt</literal> resource containing a result set.
+      </para>
+     </listitem>
+    </varlistentry>
     <varlistentry>
      <term><parameter>row_number</parameter></term>
-      <listitem>
-       <para>
-        Its description
-       </para>
-      </listitem>
-     </varlistentry>
+     <listitem>
+      <para>
+       Requests a specific 1-indexed row from the result set. Passing this
+       parameter results in a PHP warning if the result set uses a
+       forward-only cursor.
+      </para>
+     </listitem>
+    </varlistentry>
    </variablelist>
   </para>
  </refsect1>
  <refsect1 role="returnvalues">
   &reftitle.returnvalues;
   <para>
-   What the function returns, first on success, then on failure. See
-   also the &return.success; entity
-  </para>
- </refsect1>
-
- <!-- Use when EXCEPTIONS exist
- <refsect1 role="exceptions">
-  &reftitle.exceptions;
-  <para>
-   When does this function throw exceptions?
-  </para>
- </refsect1>
- -->
-
-
- <!-- Use when a CHANGELOG exists
- <refsect1 role="changelog">
-  &reftitle.changelog;
-  <para>
-   <informaltable>
-    <tgroup cols="2">
-     <thead>
-      <row>
-       <entry>&Version;</entry>
-       <entry>&Description</entry>
-      </row>
-     </thead>
-     <tbody>
-      <row>
-       <entry>Enter the PHP version of change here
-       <entry>Description of change
-      </row>
-     </tbody>
-    </tgroup>
-   </informaltable>
+   Returns a 0-indexed array with column values indexed by the column position
+   representing the next or requested row in the result set. Returns &false; if
+   there are no rows left in the result set, or if the row requested by
+   <parameter>row_number</parameter> does not exist in the result set.
   </para>
  </refsect1>
- -->
 
-
- <!-- Use when examples exist
  <refsect1 role="examples">
   &reftitle.examples;
   <para>
    <example>
-    <title>A <function>db2_fetch_into</function> example</title>
+    <title>Iterating through a forward-only cursor</title>
     <para>
-     Any text that describes the purpose of the example, or
-     what goes on in the example should go here (inside the
-     <example> tag, not out
+     If you call <function>db2_fetch_into</function> without a specific row
+     number, it automatically retrieves the next row in the result set.
     </para>
     <programlisting role="php">
 <![CDATA[
 <?php
-if ($anexample === true) {
-    echo 'Use the PEAR Coding Standards';
+
+$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
+$stmt = db2_prepare($conn, $sql);
+$result = db2_execute($stmt, $sql);
+
+while ($row = db2_fetch_into($result)) {
+    printf ("%-5d %-16s %-32s %10s\n", 
+        $row[0], $row[1], $row[2], $row[3]);
 }
 ?>
 ]]>
@@ -108,27 +86,61 @@
     &example.outputs;
     <screen>
 <![CDATA[
-Use the PEAR Coding Standards
+0     Pook             cat                                    3.20
+5     Rickety Ride     goat                                   9.70
+2     Smarty           horse                                350.00
+]]>
+    </screen>
+   </example>
+
+   <example>
+    <title>Retrieving specific rows with <function>db2_fetch_assoc</function>
+     from a scrollable cursor</title>
+    <para>
+     If your result set uses a scrollable cursor, you can call
+     <function>db2_fetch_assoc</function> with a specific row number. The
+     following example retrieves every other row in the result set, starting
+     with the second row.
+    </para>
+    <programlisting role="php">
+<![CDATA[
+<?php
+
+$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
+$result = db2_exec($stmt, $sql, array('cursor' => DB2_SCROLLABLE));
+
+$i=2;
+while ($row = db2_fetch_into($result, $i)) {
+    printf ("%-5d %-16s %-32s %10s\n", 
+        $row[0], $row[1], $row[2], $row[3]);
+    $i = $i + 2;
+}
+?>
+]]>
+    </programlisting>
+    &example.outputs;
+    <screen>
+<![CDATA[
+0     Pook             cat                                    3.20
+5     Rickety Ride     goat                                   9.70
+2     Smarty           horse                                350.00
 ]]>
     </screen>
    </example>
   </para>
  </refsect1>
- -->
 
-
- <!-- Use when adding See Also links
  <refsect1 role="seealso">
   &reftitle.seealso;
   <para>
    <simplelist>
-    <member><function></function></member>
-    <member>Or <link linkend="somethingelse">something else</link></member>
+    <member><function>db2_fetch_assoc</function></member>
+    <member><function>db2_fetch_both</function></member>
+    <member><function>db2_fetch_row</function></member>
+    <member><function>db2_result</function></member>
    </simplelist>
   </para>
  </refsect1>
- -->
-
 
 </refentry>
 
http://cvs.php.net/diff.php/phpdoc/en/reference/ibm_db2/functions/db2-num-rows.xml?r1=1.1&r2=1.2&ty=u
Index: phpdoc/en/reference/ibm_db2/functions/db2-num-rows.xml
diff -u phpdoc/en/reference/ibm_db2/functions/db2-num-rows.xml:1.1 
phpdoc/en/reference/ibm_db2/functions/db2-num-rows.xml:1.2
--- phpdoc/en/reference/ibm_db2/functions/db2-num-rows.xml:1.1  Tue Apr 12 
17:12:48 2005
+++ phpdoc/en/reference/ibm_db2/functions/db2-num-rows.xml      Sat Apr 16 
22:50:00 2005
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.1 $ -->
+<!-- $Revision: 1.2 $ -->
 <!-- Generated by xml_proto.php v2.2. Found in /scripts directory of phpdoc. 
-->
 <refentry id="function.db2-num-rows">
  <refnamediv>
@@ -15,7 +15,38 @@
    <methodparam><type>resource</type><parameter>stmt</parameter></methodparam>
   </methodsynopsis>
 
-  &warn.undocumented.func;
+  &warn.experimental.func;
+
+  <para>
+   Returns the number of rows deleted, inserted, or updated by an SQL
+   statement.
+  </para>
+  <para>
+   To determine the number of rows that will be returned by a SELECT
+   statement, issue SELECT COUNT(*) with the same predicates as your
+   intended SELECT statement and retrieve the value.
+  </para>
+  <para>
+   If your application logic checks the number of rows returned by a SELECT
+   statement and branches if the number of rows is 0, consider modifying your
+   application to attempt to return the first row with one of
+   <function>db2_fetch_assoc</function>, <function>db2_fetch_both</function>,
+   <function>db2_fetch_into</function>, or <function>db2_fetch_row</function>,
+   and branch if the fetch function returns &false;.
+  </para>
+
+  <note>
+   <para>
+    If you issue a SELECT statement using a scrollable cursor,
+    <function>db2_num_rows</function> returns the number of rows returned by
+    the SELECT statement. However, the overhead associated with scrollable
+    cursors significantly degrades the performance of your application, so if
+    this is the only reason you are considering using scrollable cursors,
+    you should use a forward-only cursor and either call SELECT COUNT(*) or
+    rely on the <type>boolean</type> return value of the fetch functions to
+    achieve the equivalent functionality with much better performance.
+   </para>
+  </note>
 
  </refsect1>
  <refsect1 role="parameters">
@@ -24,57 +55,22 @@
    <variablelist>
     <varlistentry>
      <term><parameter>stmt</parameter></term>
-      <listitem>
-       <para>
-        Its description
-       </para>
-      </listitem>
-     </varlistentry>
+     <listitem>
+      <para>
+       A valid <literal>stmt</literal> resource containing a result set.
+      </para>
+     </listitem>
+    </varlistentry>
    </variablelist>
   </para>
  </refsect1>
  <refsect1 role="returnvalues">
   &reftitle.returnvalues;
   <para>
-   What the function returns, first on success, then on failure. See
-   also the &return.success; entity
-  </para>
- </refsect1>
-
- <!-- Use when EXCEPTIONS exist
- <refsect1 role="exceptions">
-  &reftitle.exceptions;
-  <para>
-   When does this function throw exceptions?
+   Returns the number of rows affected by the last SQL statement issued by
+   the specified statement handle.
   </para>
  </refsect1>
- -->
-
-
- <!-- Use when a CHANGELOG exists
- <refsect1 role="changelog">
-  &reftitle.changelog;
-  <para>
-   <informaltable>
-    <tgroup cols="2">
-     <thead>
-      <row>
-       <entry>&Version;</entry>
-       <entry>&Description</entry>
-      </row>
-     </thead>
-     <tbody>
-      <row>
-       <entry>Enter the PHP version of change here
-       <entry>Description of change
-      </row>
-     </tbody>
-    </tgroup>
-   </informaltable>
-  </para>
- </refsect1>
- -->
-
 
  <!-- Use when examples exist
  <refsect1 role="examples">

Reply via email to