--- a/docs/trunk/publican/oosqlite/en-US/oosqliteConnection.xml
+++ b/docs/trunk/publican/oosqlite/en-US/oosqliteConnection.xml
@@ -789,8 +789,8 @@
 <indexterm><primary>ooSQLiteConnection class</primary><secondary>busyHandler</secondary></indexterm>
 <programlisting>
 <![CDATA[
->>--busyHandler(--callBackOj--+------------+--+------------+--)----------------><
-                              +-,-mthName--+  +-,-userData-+
+>>--busyHandler(--callBackObj--+------------+--+------------+--)---------------><
+                               +-,-mthName--+  +-,-userData-+
 ]]>
 </programlisting>
 
@@ -845,7 +845,7 @@
   </para>
   <para>
     There can only be one busy handler installed. Setting a new busy handler automatically clears any previously installed
-    handler.  Note that invoking <link linkend="mthBusyTimeOut">busyTimeOut</link> can also set or clear the busy handler.
+    handler. Note that invoking <link linkend="mthBusyTimeOut">busyTimeOut</link> can also set or clear the busy handler.
   </para>
   <para>
     The busy handler should not take any actions which modify the database connection that invoked the busy handler. Any such
@@ -904,7 +904,7 @@
 <indexterm><primary>Callback Methods</primary><secondary>busyCallBack</secondary></indexterm>
 <programlisting>
 <![CDATA[
->>--execCallBack(--countInvoked,--userData--)----><
+>>--busyCallBack(--countInvoked,--userData--)----><
 
 ]]>
 </programlisting>
@@ -918,7 +918,7 @@
 </para>
 <para>
   <emphasis role="bold">Note:</emphasis> there is no <emphasis role="italic">busyCallBack</emphasis> method in any ooSQLite
-  class. This method is just used to illustrate how to define a user callback method.
+  class. This method is just used to illustrate how to define a user callback method to be used as a busy handler.
 </para>
 <variablelist>
   <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
@@ -1095,7 +1095,10 @@
 </programlisting>
 
 <para>
-  xx
+  The <emphasis role="italic">close</emphasis> method releases all systems resources that have been allocated for the
+  database connection. Once the connection has been closed, it is an error to invoke any method of the
+  <computeroutput>ooSQLiteConnection</computeroutput> object that interacts with the SQLite database. All connection objects
+  should be closed when they are no longer needed, even connection objects that were instantiated with an error.
 </para>
 <variablelist>
   <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
@@ -1107,27 +1110,49 @@
   <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
   <listitem>
   <para>
-    An ooSQLite <link linkend="sctResultCode">result</link> code.
-  </para>
-  </listitem></varlistentry>
-  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
-  <listitem>
-  <para>
-    Additional comments.
+    An ooSQLite <link linkend="sctResultCode">result</link> code. Returns OK if the connection is successfully closed and
+    all associated resources are deallocated. Returns BUSY if the connection is associated with unfinalized prepared
+    statements or unfinished backup objects.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Programs should finalize all prepared statements, close all BLOB handles, and finish all backup objects associated with
+    the connection object prior to attempting to close the object. It is a harmless nop to invoke <emphasis
+    role="italic">close</emphasis> on a connection object that has already been closed. The attributes of the object are
+    still valid after the connection is closed, but invoking other methods of a closed connection object is an error.
   </para>
   </listitem></varlistentry>
   <varlistentry><term><emphasis role="bold">Details</emphasis></term>
   <listitem>
   <para>
-    Anthing ?
+    The functionality of the <emphasis role="italic">close</emphasis> method is similar to that of the SQLite
+    <ulink url="http://www.sqlite.org/c3ref/close.html">sqlite3_close</ulink> API.
   </para>
   </listitem></varlistentry>
   <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
   <listitem>
   <para>
-    This example ...
-<programlisting>
-<![CDATA[
+    This example opens a database to do some work with it, then closes it. Note that if an error ocurrs trying to open the
+    database, the connection object is still closed:
+<programlisting>
+<![CDATA[
+
+  dbFile = 'ooFoods.rdbx'
+
+  db = .ooSQLiteConnection~new(dbFile, .ooSQLite~OPEN_READWRITE)
+  if db~initCode <> 0 then do
+    -- do error stuff
+    ...
+    db~close
+    return 99
+  end
+
+  -- work with the database
+  ...
+
+  db~close
 
 ]]>
 </programlisting>
@@ -1142,33 +1167,53 @@
 <indexterm><primary>ooSQLiteConnection class</primary><secondary>commitHook</secondary></indexterm>
 <programlisting>
 <![CDATA[
->>--commitHook(--+--------+--)---------------------------------------------><
-                  +--type--+
-]]>
-</programlisting>
-
-<para>
-  xx
+>>--commitHook(--callBackObj--+------------+--+------------+--)----------------><
+                              +-,-mthName--+  +-,-userData-+
+]]>
+</programlisting>
+
+<para>
+  Registers a callback method to be invoked whenever a transaction is committed.
 </para>
 <variablelist>
   <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
   <listitem>
   <para>
     The arguments are:
+  </para>
     <variablelist>
-      <varlistentry><term>TERM</term>
-      <listitem>
-      <para>
-        xx
+      <varlistentry><term>callBackObj [required]</term>
+      <listitem>
+      <para>
+        An instantiated object with a method that will be invoked whenever a transaction is committed.
+      </para>
+      <para>
+        However, this argument can also be .nil to indicate that any installed commit hook is to be removed.
+      </para>
+      </listitem></varlistentry>
+      <varlistentry><term>mthName [optional]</term>
+      <listitem>
+      <para>
+        The method name that will be invoked during a call back.  By default, the method invoked will be <emphasis
+        role="italic">commitHookCallBack()</emphasis>. However, the user can specify an alternative method if desired. This
+        argument is ignored when the <emphasis role="italic">callbackObj</emphasis> argument is .nil.
+      </para>
+      </listitem></varlistentry>
+      <varlistentry><term>userData [optional]</term>
+      <listitem>
+      <para>
+        This can be any Rexx object the user desires. The object will be sent as the first and only argument to the commit
+        hook callback method when it is invoked.  This argument is ignored when the callbackObj argument is .nil.
       </para>
       </listitem></varlistentry>
     </variablelist>
-  </para>
   </listitem></varlistentry>
   <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
   <listitem>
   <para>
-    xx
+    The <emphasis role="italic">userData</emphasis> argument to a previous invocation of the <emphasis
+    role="italic">commitHook</emphasis> method on the same database connection, or .nil if there has not been a previous
+    invocation.
   </para>
   </listitem></varlistentry>
   <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
@@ -1180,7 +1225,8 @@
   <varlistentry><term><emphasis role="bold">Details</emphasis></term>
   <listitem>
   <para>
-    Anything ?
+    The functionality of the <emphasis role="italic">commitHook</emphasis> method is similar to that of the SQLite
+    <ulink url="http://www.sqlite.org/c3ref/commit_hook.html">sqlite3_commit_hook</ulink> API.
   </para>
   </listitem></varlistentry>
   <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
@@ -1195,6 +1241,77 @@
   </para>
   </listitem></varlistentry>
 </variablelist>
+
+<section id="mthCommitHookCallBack"><title>commitHookCallBack</title>
+<indexterm><primary>commitHookCallBack</primary></indexterm>
+<indexterm><primary>Callback Methods</primary><secondary>commitHookCallBack</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--commitHookCallBack(--userData--)-------------><
+
+]]>
+</programlisting>
+
+<para>
+  The <emphasis role="italic">commitHookCallBack</emphasis> method is an example of a user callback method for the <link
+  linkend="mthCommitHook">commitHook</link> method. Here the method name of <emphasis
+  role="italic">commitHookCallBack</emphasis> is used, because it is the default method name if the programmer does not
+  specify his own name in the <emphasis role="italic">commitHook</emphasis> method. Any method name can be used by
+  specifying it as the second argument to the <emphasis role="italic">commitHook</emphasis> method.
+</para>
+<para>
+  <emphasis role="bold">Note:</emphasis> there is no <emphasis role="italic">commitHookCallBack</emphasis> method in any
+  ooSQLite class. This method is just used to illustrate how to define a user callback method to be used with the commit
+  hook.
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The sintle argument sent to the callback method is:
+  </para>
+    <variablelist>
+      <varlistentry><term>userData [required]</term>
+      <listitem>
+      <para>
+        The user data object specified by the programmer as the third argument to the <emphasis
+        role="italic">commitHook</emphasis> method. If the programmer did not specify a user data argument, this will be the
+        <computeroutput>.nil</computeroutput> object.
+      </para>
+      </listitem></varlistentry>
+    </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    The programmer must return a value from the callback. If the method returns 0, then the commit is allowed to continue
+    normally. If the callback returns non-zero, then the COMMIT is converted into a ROLLBACK. If a <link
+    linkend="mthRollbackHook">rollback</link> hook has been installed, it is invoked just as it would be for any other
+    rollback.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    The callback method must not do anything that will modify the database connection that invoked the callback. Any actions
+    to modify the database connection must be deferred until after the completion of the <link
+    linkend="mthStepClsStmt">step</link> invocation that triggered the commit hook to begin with. Running any other SQL
+    statements, including SELECT statements, or merely instantiating a new <link linkend="mthNewClsStmt">statement</link>
+    object, or executing another <emphasis role="italic">step</emphasis> method will modify the database connection.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    The implementation of a <emphasis role="italic">commit hook</emphasis> method is is discussed on the SQLite <ulink
+    url="http://www.sqlite.org/c3ref/commit_hook.html">sqlite3_commit_hook</ulink> page.
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End ooSQLiteConnection::commitHookCallBack() -->
+
+
+
 </section>  <!-- End ooSQLiteConnection::commitHook() -->
 
 
@@ -2456,55 +2573,477 @@
 <indexterm><primary>ooSQLiteConnection class</primary><secondary>pragma</secondary></indexterm>
 <programlisting>
 <![CDATA[
->>--pragma(--+--------+--)---------------------------------------------><
-                  +--type--+
-]]>
-</programlisting>
-
-<para>
-  Executes a pragma statement.  A 'PRAGMA' statement is a SQLite specific SQL extension, probably unknown to any other
-  database engine.
+>>--pragma(--name--+----------+--)---------------><
+                   +-,-value--+
+]]>
+</programlisting>
+
+<para>
+  Executes a PRAGMA statement.  A '<emphasis role="italic">PRAGMA</emphasis> statement is a SQLite specific SQL extension,
+  probably unknown to any other database engine. The <emphasis role="italic">pragma</emphasis> method implements the
+  functionality of the SQLite <ulink url="http://www.sqlite.org/pragma.html">PRAGMA</ulink> statement. The SQLite
+  documentation should be read to understand how PRAGMAs work
+</para>
+<para>
+  Pragmas can have an optional database name before the pragma name. The form is: the database name, a dot characeter, and
+  the pragma name. The database name is the name of an <emphasis role="italic">attached</emphasis> database or it can be <emphasis
+  role="italic">main</emphasis> or <emphasis role="italic">temp</emphasis> for the main and the TEMP databases. If the
+  optional database name is omitted, <emphasis role="italic">main</emphasis> is assumed. In some pragmas, the database name
+  is meaningless and is simply ignored. An example for the <emphasis role="italic">secure_delete</emphasis> pragma could be:
+  <computeroutput>main.secure_delete</computeroutput>
 </para>
 <variablelist>
   <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
   <listitem>
   <para>
     The arguments are:
+  </para>
     <variablelist>
-      <varlistentry><term>TERM</term>
-      <listitem>
-      <para>
-        xx
+      <varlistentry><term>name [required]</term>
+      <listitem>
+      <para>
+        The name of the pragma to be executed. The following pragmas are recognized, case is not significant:
+      </para>
+      <para>
+        <simplelist type='vert' columns='3'>
+          <member>auto_vacuum              </member>
+          <member>automatic_index          </member>
+          <member>cache_size               </member>
+          <member>case_sensitive_like      </member>
+          <member>checkpoint_fullfsync     </member>
+          <member>collation_list           </member>
+          <member>compile_options          </member>
+          <member>database_list            </member>
+          <member>encoding                 </member>
+          <member>foreign_key_list         </member>
+          <member>foreign_keys             </member>
+          <member>freelist_count           </member>
+          <member>fullfsync                </member>
+          <member>ignore_check_constraints </member>
+          <member>incremental_vacuum       </member>
+          <member>index_info               </member>
+          <member>index_list               </member>
+          <member>integrity_check          </member>
+          <member>journal_mode             </member>
+          <member>journal_size_limit       </member>
+          <member>legacy_file_format       </member>
+          <member>locking_mode             </member>
+          <member>max_page_count           </member>
+          <member>page_count               </member>
+          <member>page_size                </member>
+          <member>quick_check              </member>
+          <member>read_uncommitted         </member>
+          <member>recursive_triggers       </member>
+          <member>reverse_unordered_selects</member>
+          <member>schema_version           </member>
+          <member>secure_delete            </member>
+          <member>shrink_memory            </member>
+          <member>synchronous              </member>
+          <member>table_info               </member>
+          <member>temp_store               </member>
+          <member>user_version             </member>
+          <member>wal_autocheckpoint       </member>
+          <member>wal_checkpoint           </member>
+          <member>writable_schema          </member>
+        </simplelist>
+        <variablelist>
+          <varlistentry><term>auto_vacum</term>
+          <listitem>
+          <para>
+            Queries or sets the auto-vacuum status in the database. Consult the SQLite <ulink
+            url="http://www.sqlite.org/pragma.html#pragma_auto_vacuum">auto_vacum</ulink> documentation for complete
+            details.
+          </para>
+          </listitem></varlistentry>
+          <varlistentry><term>automatic_index</term>
+          <listitem>
+          <para>
+            Queries, sets, or clears the automatic indexing capability. Consult the SQLite <ulink
+            url="http://www.sqlite.org/pragma.html#pragma_automatic_index">automatic_index</ulink> documentation for
+            complete details.
+          </para>
+          </listitem></varlistentry>
+          <varlistentry><term>cache_size</term>
+          <listitem>
+          <para>
+            Queries or changes the suggested maximum number of database disk pages that SQLite will hold in memory at once
+            per open database file. Consult the SQLite <ulink
+            url="http://www.sqlite.org/pragma.html#pragma_cache_size">cache_size</ulink> documentation for complete details.
+          </para> </listitem></varlistentry>
+          <varlistentry><term>case_sensitive_like</term>
+          <listitem>
+          <para>
+            Installs a new application-defined LIKE function that is either case sensitive or insensitive depending on the
+            value of the case_sensitive_like pragma. By default LIKE is case-insensitive. Consult the SQLite <ulink
+            url="http://www.sqlite.org/pragma.html#pragma_case_sensitive_like">case_sensitive_like</ulink> documentation for
+            complete details.
+          </para>
+          </listitem></varlistentry>
+          <varlistentry><term>checkpoint_fullfsync</term>
+          <listitem>
+          <para>
+            Query or change the fullfsync flag for checkpoint operations. Consult the SQLite <ulink
+            url="http://www.sqlite.org/pragma.html#pragma_checkpoint_fullfsync">checkpoint_fullfsync</ulink> documentation
+            for complete details.
+          </para>
+          </listitem></varlistentry>
+          <varlistentry><term>collation_list</term>
+          <listitem>
+          <para>
+            Returns a list of the collating sequences defined for the current database connection. Consult the SQLite <ulink
+            url="http://www.sqlite.org/pragma.html#pragma_collation_list">collation_list</ulink> documentation for complete
+            details.
+          </para>
+          </listitem></varlistentry>
+          <varlistentry><term>compile_options</term>
+          <listitem>
+          <para>
+            Returns the names of compile-time options used when building SQLite, one option per row. The <emphasis
+            role="italic">SQLITE_</emphasis> prefix is omitted from the returned option names. Consult the SQLite <ulink
+            url="http://www.sqlite.org/pragma.html#pragma_compile_options">compile_options</ulink> documentation for complete
+            details.
+          </para>
+          </listitem></varlistentry>
+          <varlistentry><term>database_list</term>
+          <listitem>
+          <para>
+            Works like a query to return one row for each database attached to the current database connection. Consult the
+            SQLite <ulink url="http://www.sqlite.org/pragma.html#pragma_database_list">database_list</ulink> documentation
+            for complete details.
+          </para>
+          </listitem></varlistentry>
+          <varlistentry><term>encoding</term>
+          <listitem>
+          <para>
+            When used as a query, if the main database has already been created, then this pragma returns the text encoding
+            used by the main database, one of "UTF-8", "UTF-16le" (little-endian UTF-16 encoding) or "UTF-16be" (big-endian
+            UTF-16 encoding). If the main database has not already been created, then the value returned is the text encoding
+            that will be used to create the main database, if it is created by this session. Consult the SQLite <ulink
+            url="http://www.sqlite.org/pragma.html#pragma_encoding">encoding</ulink> documentation for complete details.
+          </para>
+          </listitem></varlistentry>
+          <varlistentry><term>foreign_key_list</term>
+          <listitem>
+          <para>
+            Returns one row for each foreign key that references a column in the argument <emphasis role="italic">table</emphasis>. Consult the SQLite <ulink
+            url="http://www.sqlite.org/pragma.html#pragma_foreign_key_list">foreign_key_list</ulink> documentation for
+            complete details.
+          </para>
+          </listitem></varlistentry>
+          <varlistentry><term>foreign_keys</term>
+          <listitem>
+          <para>
+            Query, set, or clear the enforcement of foreign key constraints. Consult the SQLite <ulink
+            url="http://www.sqlite.org/pragma.html#pragma_foreign_keys">foreign_keys</ulink> documentation for complete
+            details.
+          </para>
+          </listitem></varlistentry>
+          <varlistentry><term>freelist_count</term>
+          <listitem>
+          <para>
+            Returns the number of unused pages in the database file. Consult the SQLite <ulink
+            url="http://www.sqlite.org/pragma.html#pragma_freelist_count">freelist_count</ulink> documentation for complete
+            details.
+          </para>
+          </listitem></varlistentry>
+          <varlistentry><term>fullfsync</term>
+          <listitem>
+          <para>
+            Query or change the fullfsync flag. Consult the SQLite <ulink
+            url="http://www.sqlite.org/pragma.html#pragma_fullfsync">fullfsync</ulink> documentation for complete details.
+          </para>
+          </listitem></varlistentry>
+          <varlistentry><term>ignore_check_constraints</term>
+          <listitem>
+          <para>
+            Enables or disables the enforcement of CHECK constraints. The default setting is off, meaning that CHECK
+            constraints are enforced by default. Consult the SQLite <ulink
+            url="http://www.sqlite.org/pragma.html#pragma_ignore_check_constraints">ignore_check_constraints</ulink>
+            documentation for complete details.
+          </para>
+          </listitem></varlistentry>
+          <varlistentry><term>incremental_vacuum</term>
+          <listitem>
+          <para>
+            Causes up to N pages to be removed from the freelist. The database file is truncated by the same amount. Consult
+            the SQLite <ulink url="http://www.sqlite.org/pragma.html#pragma_incremental_vacuum">incremental_vacuum</ulink>
+            documentation for complete details.
+          </para>
+          </listitem></varlistentry>
+          <varlistentry><term>index_info</term>
+          <listitem>
+          <para>
+            Returns one row each column in the named index. The first column of the result is the rank of the column within
+            the index. The second column of the result is the rank of the column within the table. The third column of output
+            is the name of the column being indexed. Consult the SQLite <ulink
+            url="http://www.sqlite.org/pragma.html#pragma_index_info">index_info</ulink> documentation for complete details.
+          </para>
+          </listitem></varlistentry>
+          <varlistentry><term>index_list</term>
+          <listitem>
+          <para>
+            Returns one row for each index associated with the given table. Columns of the result set include the index name
+            and a flag to indicate whether or not the index is UNIQUE. Consult the SQLite <ulink
+            url="http://www.sqlite.org/pragma.html#pragma_index_list">index_list</ulink> documentation for complete details.
+          </para>
+          </listitem></varlistentry>
+          <varlistentry><term>integrity_check</term>
+          <listitem>
+          <para>
+            Does an integrity check of the entire database. It looks for out-of-order records, missing pages, malformed
+            records, and corrupt indices. If any problems are found, then strings are returned (as multiple rows with a
+            single column per row) which describe the problems. At most integer errors will be reported before the analysis
+            quits. The default value for integer is 100. If no errors are found, a single row with the value <emphasis
+            role="italic">ok</emphasis> is returned. Consult the SQLite <ulink
+            url="http://www.sqlite.org/pragma.html#pragma_integrity_check">integrity_check</ulink> documentation for complete
+            details.
+          </para>
+          </listitem></varlistentry>
+          <varlistentry><term>journal_mode</term>
+          <listitem>
+          <para>
+            Queries or sets the journal mode for databases associated with the current database connection. Consult the
+            SQLite <ulink url="http://www.sqlite.org/pragma.html#pragma_journal_mode">journal_mode</ulink> documentation for
+            complete details.
+          </para>
+          </listitem></varlistentry>
+          <varlistentry><term>journal_size_limit</term>
+          <listitem>
+          <para>
+            This pragma can be used to limit the size of rollback-journal and WAL files left in the file-system after
+            transactions or checkpoints. Consult the SQLite <ulink
+            url="http://www.sqlite.org/pragma.html#pragma_journal_size_limit">journal_size_limit</ulink> documentation for
+            complete details.
+          </para>
+          </listitem></varlistentry>
+          <varlistentry><term>legacy_file_format</term>
+          <listitem>
+          <para>
+            Sets or queries the value of the legacy_file_format flag. When this flag is on, new SQLite databases are created
+            in a file format that is readable and writable by all versions of SQLite going back to 3.0.0. When the flag is
+            off, new databases are created using the latest file format which might not be readable or writable by versions
+            of SQLite prior to 3.3.0. Consult the SQLite <ulink
+            url="http://www.sqlite.org/pragma.html#pragma_legacy_file_format">legacy_file_format</ulink> documentation for
+            complete details.
+          </para>
+          </listitem></varlistentry>
+          <varlistentry><term>locking_mode</term>
+          <listitem>
+          <para>
+            Sets or queries the database connection locking-mode. The locking-mode is either NORMAL or EXCLUSIVE. Consult the
+            SQLite <ulink url="http://www.sqlite.org/pragma.html#pragma_locking_mode">locking_mode</ulink> documentation for
+            complete details.
+          </para>
+          </listitem></varlistentry>
+          <varlistentry><term>max_page_count</term>
+          <listitem>
+          <para>
+            Queries or set the maximum number of pages in the database file. Both forms of the pragma return the maximum page
+            count. The set form attempts to modify the maximum page count. The maximum page count cannot be reduced below
+            the current database size. Consult the SQLite <ulink
+            url="http://www.sqlite.org/pragma.html#pragma_max_page_count">max_page_count</ulink> documentation for complete
+            details.
+          </para>
+          </listitem></varlistentry>
+          <varlistentry><term>page_count</term>
+          <listitem>
+          <para>
+            Returns the total number of pages in the database file. Consult the SQLite <ulink
+            url="http://www.sqlite.org/pragma.html#pragma_page_count">page_count</ulink> documentation for complete details.
+          </para>
+          </listitem></varlistentry>
+          <varlistentry><term>page_size</term>
+          <listitem>
+          <para>
+            Queries or sets the page size of the database. The page size must be a power of two between 512 and 65536
+            inclusive. Consult the SQLite <ulink url="http://www.sqlite.org/pragma.html#pragma_page_size">page_size</ulink>
+            documentation for complete details.
+          </para>
+          </listitem></varlistentry>
+          <varlistentry><term>quick_check</term>
+          <listitem>
+          <para>
+            Performs an integrity check, like the integrity_check pragma, except that it does not verify that index content
+            matches table content. By skipping the verification of index content, quick_check is able to run much faster than
+            integrity_check. Otherwise the two pragmas are the same. Consult the SQLite <ulink
+            url="http://www.sqlite.org/pragma.html#pragma_quick_check">quick_check</ulink> documentation for complete
+            details.
+          </para>
+          </listitem></varlistentry>
+          <varlistentry><term>read_uncommitted</term>
+          <listitem>
+          <para>
+            Query, set, or clear READ UNCOMMITTED isolation. Consult the SQLite <ulink
+            url="http://www.sqlite.org/pragma.html#pragma_read_uncommitted">read_uncommitted</ulink> documentation for
+            complete details.
+          </para>
+          </listitem></varlistentry>
+          <varlistentry><term>recursive_triggers</term>
+          <listitem>
+          <para>
+            Query, set, or clear the recursive trigger capability. Consult the SQLite <ulink
+            url="http://www.sqlite.org/pragma.html#pragma_recursive_triggers">recursive_triggers</ulink> documentation for
+            complete details.
+          </para>
+          </listitem></varlistentry>
+          <varlistentry><term>reverse_unordered_selects</term>
+          <listitem>
+          <para>
+            When enabled, this pragma causes SELECT statements without an ORDER BY clause to emit their results in the
+            reverse order of what they normally would. This can help debug applications that are making invalid assumptions
+            about the result order. Consult the SQLite <ulink
+            url="http://www.sqlite.org/pragma.html#pragma_reverse_unordered_selects">reverse_unordered_selects</ulink>
+            documentation for complete details.
+          </para>
+          </listitem></varlistentry>
+          <varlistentry><term>schema_version</term>
+          <listitem>
+          <para>
+            Used to set or get the value of the schema-version. The pragmas schema_version and user_version are used to set
+            or get the value of the schema-version and user-version, respectively. The schema-version and the user-version
+            are big-endian 32-bit signed integers stored in the database header.
+          </para>
+          <para>
+            The schema-version is usually only manipulated internally by SQLite. Using the schema_version pragma to modify
+            the schema-version is potentially dangerous and may lead to program crashes or database corruption. Use with
+            caution.
+          </para>
+          <para>
+            The user-version is not used internally by SQLite. It may be used by applications for any purpose. Consult the
+            SQLite <ulink url="http://www.sqlite.org/pragma.html#pragma_schema_version">schema_version</ulink> documentation
+            for complete details.
+          </para>
+          </listitem></varlistentry>
+          <varlistentry><term>secure_delete</term>
+          <listitem>
+          <para>
+            Queries or changes the secure-delete setting. When secure-delete on, SQLite overwrites deleted content with
+            zeros. Consult the SQLite <ulink
+            url="http://www.sqlite.org/pragma.html#pragma_secure_delete">secure_delete</ulink> documentation for complete
+            details.
+          </para>
+          </listitem></varlistentry>
+          <varlistentry><term>shrink_memory</term>
+          <listitem>
+          <para>
+            Causes the database connection on which it is invoked to free up as much memory as it can. Consult the SQLite
+            <ulink url="http://www.sqlite.org/pragma.html#pragma_shrink_memory">shrink_memory</ulink> documentation for
+            complete details.
+          </para>
+          </listitem></varlistentry>
+          <varlistentry><term>synchronous</term>
+          <listitem>
+          <para>
+            Queries or changes the setting of the "synchronous" flag. Consult the SQLite <ulink
+            url="http://www.sqlite.org/pragma.html#pragma_synchronous">synchronous</ulink> documentation for complete
+            details.
+          </para>
+          </listitem></varlistentry>
+          <varlistentry><term>table_info</term>
+          <listitem>
+          <para>
+            Returns a row for each column in the named table. Columns in the result set include the column name, data type,
+            whether or not the column can be NULL, and the default value for the column. Consult the SQLite <ulink
+            url="http://www.sqlite.org/pragma.html#pragma_table_info">table_info</ulink> documentation for complete details.
+          </para>
+          </listitem></varlistentry>
+          <varlistentry><term>temp_store</term>
+          <listitem>
+          <para>
+            Queries or changes the setting of the <emphasis role="italic">temp_store</emphasis> parameter. Consult the SQLite
+            <ulink url="http://www.sqlite.org/pragma.html#pragma_temp_store">temp_store</ulink> documentation for complete
+            details.
+          </para>
+          </listitem></varlistentry>
+          <varlistentry><term>user_version</term>
+          <listitem>
+          <para>
+            Used to set or get the value of the user-version. The pragmas schema_version and user_version are used to set or
+            get the value of the schema-version and user-version, respectively. The schema-version and the user-version are
+            big-endian 32-bit signed integers stored in the database header.
+          </para>
+          <para>
+            The schema-version is usually only manipulated internally by SQLite. Using the schema_version pragma to modify
+            the schema-version is potentially dangerous and may lead to program crashes or database corruption. Use with
+            caution.
+          </para>
+          <para>
+            The user-version is not used internally by SQLite. It may be used by applications for any purpose. Consult the
+            SQLite <ulink url="http://www.sqlite.org/pragma.html#pragma_schema_version">schema_version</ulink> documentation
+            for complete details.
+          </para>
+          </listitem></varlistentry>
+          <varlistentry><term>wal_autocheckpoint</term>
+          <listitem>
+          <para>
+            Queries or sets the write-ahead log auto-checkpoint interval. Consult the SQLite <ulink
+            url="http://www.sqlite.org/pragma.html#pragma_wal_autocheckpoint">wal_autocheckpoint</ulink> documentation for
+            complete details.
+          </para>
+          </listitem></varlistentry>
+          <varlistentry><term>wal_checkpoint</term>
+          <listitem>
+          <para>
+            If the write-ahead log is enabled (via the journal_mode pragma), this pragma causes a checkpoint operation to run
+            on the named <emphasis role="italic">database</emphasis> database, or on all attached databases if <emphasis
+            role="italic">database</emphasis> is omitted. If write-ahead log mode is disabled, this pragma is a harmless
+            no-op. Consult the SQLite <ulink
+            url="http://www.sqlite.org/pragma.html#pragma_wal_checkpoint">wal_checkpoint</ulink> documentation for complete
+            details.
+          </para>
+          </listitem></varlistentry>
+          <varlistentry><term>writable_schema</term>
+          <listitem>
+          <para>
+            When this pragma is on, the SQLITE_MASTER tables in the database can be changed using ordinary UPDATE, INSERT,
+            and DELETE statements. Warning: misuse of this pragma can easily result in a corrupt database file. Consult the
+            SQLite <ulink url="http://www.sqlite.org/pragma.html#pragma_writable_schema">writable_schema</ulink>
+            documentation for complete details.
+          </para>
+          </listitem></varlistentry>
+        </variablelist>
+      </para>
+      </listitem></varlistentry>
+      <varlistentry><term>value [optional]</term>
+      <listitem>
+      <para>
+        When the pragma is to be used to set a value, the <emphasis role="italic">value</emphasis> argument is the value to
+        set. For these pragmas, the existence of the argument determines if a query or a set is done. When the argument is
+        omitted, a query is done. When the argument is used, a set is done.
       </para>
       </listitem></varlistentry>
     </variablelist>
-  </para>
   </listitem></varlistentry>
   <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
   <listitem>
   <para>
-    xx
-  </para>
-  </listitem></varlistentry>
-  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
-  <listitem>
-  <para>
-    Additional comments.
-  </para>
-  </listitem></varlistentry>
-  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
-  <listitem>
-  <para>
-    Anything ?
+    The return is dependent on the pragma in use. Some pragmas return result sets, some return a single value, and others
+    return a SQLite result <link linkend="sctResultCode">code</link>. In all cases a value is returned.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    PRAGMA statement can be used to set / configure database values, to trigger an action, and to query most of the
+    configurable database values. SQLite deprecated and <emphasis role="italic">debug only</emphasis> PRAGMAs are not
+    recognized in ooSQLite.
   </para>
   </listitem></varlistentry>
   <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
   <listitem>
   <para>
-    This example ...
-<programlisting>
-<![CDATA[
-
+    This example uses the table_info pragma to get information on the food_types table and then print it to the screen:
+<programlisting>
+<![CDATA[
+
+	dbName    = 'ooFoods.rdbx'
+  tablename = 'food_types'
+
+  dbConn = .ooSQLiteConnection~new(dbName, .ooSQLite~OPEN_READWRITE)
+
+  resultSet = dbConn~pragma('table_info', tablename)
+
+  z = printResultSet(resultSet)
 ]]>
 </programlisting>
   </para>