betz Sun May 26 17:48:18 2002 EDT
Modified files:
/phpdoc/en/reference/ifx reference.xml
Log:
new structure
Index: phpdoc/en/reference/ifx/reference.xml
diff -u phpdoc/en/reference/ifx/reference.xml:1.2
phpdoc/en/reference/ifx/reference.xml:1.3
--- phpdoc/en/reference/ifx/reference.xml:1.2 Mon Apr 15 14:56:41 2002
+++ phpdoc/en/reference/ifx/reference.xml Sun May 26 17:48:18 2002
@@ -1,167 +1,198 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.2 $ -->
+<!-- $Revision: 1.3 $ -->
<reference id="ref.ifx">
<title>Informix functions</title>
<titleabbrev>Informix</titleabbrev>
<partintro>
- <para>
- The Informix driver for Informix (IDS) 7.x, SE 7.x, Universal
- Server (IUS) 9.x and IDS 2000 is implemented in "ifx.ec" and
- "php3_ifx.h" in the informix extension directory. IDS 7.x support
- is fairly complete, with full support for BYTE and TEXT
- columns. IUS 9.x support is partly finished: the new data types
- are there, but SLOB and CLOB support is still under construction.
- </para>
- <note>
- <title>Configuration notes</title>
+ <section id="ifx.intro">
+ &reftitle.intro;
<para>
- You need a version of ESQL/C to compile the PHP Informix driver.
- ESQL/C versions from 7.2x on should be OK. ESQL/C is now part of
- the Informix Client SDK.
+ The Informix driver for Informix (IDS) 7.x, SE 7.x, Universal
+ Server (IUS) 9.x and IDS 2000 is implemented in "ifx.ec" and
+ "php3_ifx.h" in the informix extension directory. IDS 7.x support
+ is fairly complete, with full support for BYTE and TEXT
+ columns. IUS 9.x support is partly finished: the new data types
+ are there, but SLOB and CLOB support is still under construction.
</para>
+ </section>
+
+ <section id="ifx.requirenments">
+ &reftitle.required;
+ <note>
+ <title>Configuration notes</title>
+ <para>
+ You need a version of ESQL/C to compile the PHP Informix driver.
+ ESQL/C versions from 7.2x on should be OK. ESQL/C is now part of
+ the Informix Client SDK.
+ </para>
+ <para>
+ Make sure that the "INFORMIXDIR" variable has been set, and that
+ $INFORMIXDIR/bin is in your PATH before you run the "configure"
+ script.
+ </para>
+ </note>
+ </section>
+
+ <section id="ifx.installation">
+ &reftitle.install;
+ <note>
+ <para>
+ The configure script will autodetect the libraries and include
+ directories, if you run configure
+ <option role="configure">--with_informix=yes</option>. You can
+ override this detection by specifying "IFX_LIBDIR", "IFX_LIBS" and
+ "IFX_INCDIR" in the environment. The configure script will also
+ try to detect your Informix server version. It will set the
+ "HAVE_IFX_IUS" conditional compilation variable if your Informix
+ version >= 9.00.
+ </para>
+ </note>
+ </section>
+
+ <section id="ifx.configuration">
+ &reftitle.runtime;
+ <note>
+ <para>
+ Make sure that the Informix environment variables INFORMIXDIR and
+ INFORMIXSERVER are available to the PHP ifx driver, and that the
+ INFORMIX bin directory is in the PATH. Check this by running a
+ script that contains a call to <function>phpinfo</function>
+ before you start testing. The <function>phpinfo</function>
+ output should list these environment variables. This is &true; for
+ both CGI php and Apache mod_php. You may have to set these
+ environment variables in your Apache startup script.
+ </para>
+ <para>
+ The Informix shared libraries should also be available to the
+ loader (check LD_LINBRARY_PATH or ld.so.conf/ldconfig).
+ </para>
+ </note>
+ <note>
+ <title>
+ Some notes on the use of BLOBs (TEXT and BYTE columns)
+ </title>
+ <para>
+ BLOBs are normally addressed by BLOB identifiers. Select queries
+ return a "blob id" for every BYTE and TEXT column. You can get
+ at the contents with "string_var = ifx_get_blob($blob_id);" if
+ you choose to get the BLOBs in memory (with :
+ "ifx_blobinfile(0);"). If you prefer to receive the content of
+ BLOB columns in a file, use "ifx_blobinfile(1);", and
+ "ifx_get_blob($blob_id);" will get you the filename. Use normal
+ file I/O to get at the blob contents.
+ </para>
+ <para>
+ For insert/update queries you must create these "blob id's"
+ yourself with "<function>ifx_create_blob</function>;". You then
+ plug the blob id's into an array, and replace the blob columns
+ with a question mark (?) in the query string. For
+ updates/inserts, you are responsible for setting the blob
+ contents with <function>ifx_update_blob</function>.
+ </para>
+ <para>
+ The behaviour of BLOB columns can be altered by configuration
+ variables that also can be set at runtime :
+ </para>
+ <para>
+ configuration variable : ifx.textasvarchar
+ </para>
+ <para>
+ configuration variable : ifx.byteasvarchar
+ </para>
+ <para>
+ runtime functions :
+ </para>
+ <para>
+ ifx_textasvarchar(0) : use blob id's for select queries with TEXT
+ columns
+ </para>
+ <para>
+ ifx_byteasvarchar(0) : use blob id's for select queries with BYTE
+ columns
+ </para>
+ <para>
+ ifx_textasvarchar(1) : return TEXT columns as if they were
+ VARCHAR columns, so that you don't need to use blob id's for
+ select queries.
+ </para>
+ <para>
+ ifx_byteasvarchar(1) : return BYTE columns as if they were
+ VARCHAR columns, so that you don't need to use blob id's for
+ select queries.
+ </para>
+ <para>
+ configuration variable : ifx.blobinfile
+ </para>
+ <para>
+ runtime function :
+ </para>
+ <para>
+ ifx_blobinfile_mode(0) : return BYTE columns in memory, the blob
+ id lets you get at the contents.
+ </para>
+ <para>
+ ifx_blobinfile_mode(1) : return BYTE columns in a file, the blob
+ id lets you get at the file name.
+ </para>
+ <para>
+ If you set ifx_text/byteasvarchar to 1, you can use TEXT and BYTE
+ columns in select queries just like normal (but rather long)
+ VARCHAR fields. Since all strings are "counted" in PHP, this
+ remains "binary safe". It is up to you to handle this
+ correctly. The returned data can contain anything, you are
+ responsible for the contents.
+ </para>
+ <para>
+ If you set ifx_blobinfile to 1, use the file name returned by
+ ifx_get_blob(..) to get at the blob contents. Note that in this
+ case YOU ARE RESPONSIBLE FOR DELETING THE TEMPORARY FILES CREATED
+ BY INFORMIX when fetching the row. Every new row fetched will
+ create new temporary files for every BYTE column.
+ </para>
+ <para>
+ The location of the temporary files can be influenced by the
+ environment variable "blobdir", default is "." (the current
+ directory). Something like : putenv(blobdir=tmpblob"); will ease
+ the cleaning up of temp files accidentally left behind (their
+ names all start with "blb").
+ </para>
+ </note>
+ <note>
+ <title>Automatically trimming "char" (SQLCHAR and SQLNCHAR) data</title>
+ <para>
+ This can be set with the configuration variable
+ </para>
+ <para>
+ ifx.charasvarchar : if set to 1 trailing spaces will be
+ automatically trimmed, to save you some "chopping".
+ </para>
+ </note>
+ <note>
+ <title>&null; values</title>
+ <para>
+ The configuration variable ifx.nullformat (and the runtime
+ function <function>ifx_nullformat</function>) when set to &true;
+ will return &null; columns as the string "&null;", when set to &false;
+ they return the empty string. This allows you to discriminate
+ between &null; columns and empty columns.
+ </para>
+ </note>
+ </section>
+
+ <section id="ifx.resources">
+ &reftitle.resources;
<para>
- Make sure that the "INFORMIXDIR" variable has been set, and that
- $INFORMIXDIR/bin is in your PATH before you run the "configure"
- script.
- </para>
- <para>
- The configure script will autodetect the libraries and include
- directories, if you run "configure --with_informix=yes". You can
- override this detection by specifying "IFX_LIBDIR", "IFX_LIBS" and
- "IFX_INCDIR" in the environment. The configure script will also
- try to detect your Informix server version. It will set the
- "HAVE_IFX_IUS" conditional compilation variable if your Informix
- version >= 9.00.
- </para>
- </note>
- <note>
- <title>Runtime considerations</title>
- <para>
- Make sure that the Informix environment variables INFORMIXDIR and
- INFORMIXSERVER are available to the PHP ifx driver, and that the
- INFORMIX bin directory is in the PATH. Check this by running a
- script that contains a call to <function>phpinfo</function>
- before you start testing. The <function>phpinfo</function>
- output should list these environment variables. This is &true; for
- both CGI php and Apache mod_php. You may have to set these
- environment variables in your Apache startup script.
- </para>
- <para>
- The Informix shared libraries should also be available to the
- loader (check LD_LINBRARY_PATH or ld.so.conf/ldconfig).
- </para>
- </note>
- <note>
- <title>
- Some notes on the use of BLOBs (TEXT and BYTE columns)
- </title>
- <para>
- BLOBs are normally addressed by BLOB identifiers. Select queries
- return a "blob id" for every BYTE and TEXT column. You can get
- at the contents with "string_var = ifx_get_blob($blob_id);" if
- you choose to get the BLOBs in memory (with :
- "ifx_blobinfile(0);"). If you prefer to receive the content of
- BLOB columns in a file, use "ifx_blobinfile(1);", and
- "ifx_get_blob($blob_id);" will get you the filename. Use normal
- file I/O to get at the blob contents.
- </para>
- <para>
- For insert/update queries you must create these "blob id's"
- yourself with "<function>ifx_create_blob</function>;". You then
- plug the blob id's into an array, and replace the blob columns
- with a question mark (?) in the query string. For
- updates/inserts, you are responsible for setting the blob
- contents with <function>ifx_update_blob</function>.
- </para>
- <para>
- The behaviour of BLOB columns can be altered by configuration
- variables that also can be set at runtime :
- </para>
- <para>
- configuration variable : ifx.textasvarchar
- </para>
- <para>
- configuration variable : ifx.byteasvarchar
- </para>
- <para>
- runtime functions :
- </para>
- <para>
- ifx_textasvarchar(0) : use blob id's for select queries with TEXT
- columns
- </para>
- <para>
- ifx_byteasvarchar(0) : use blob id's for select queries with BYTE
- columns
- </para>
- <para>
- ifx_textasvarchar(1) : return TEXT columns as if they were
- VARCHAR columns, so that you don't need to use blob id's for
- select queries.
- </para>
- <para>
- ifx_byteasvarchar(1) : return BYTE columns as if they were
- VARCHAR columns, so that you don't need to use blob id's for
- select queries.
- </para>
- <para>
- configuration variable : ifx.blobinfile
- </para>
- <para>
- runtime function :
- </para>
- <para>
- ifx_blobinfile_mode(0) : return BYTE columns in memory, the blob
- id lets you get at the contents.
- </para>
- <para>
- ifx_blobinfile_mode(1) : return BYTE columns in a file, the blob
- id lets you get at the file name.
- </para>
- <para>
- If you set ifx_text/byteasvarchar to 1, you can use TEXT and BYTE
- columns in select queries just like normal (but rather long)
- VARCHAR fields. Since all strings are "counted" in PHP, this
- remains "binary safe". It is up to you to handle this
- correctly. The returned data can contain anything, you are
- responsible for the contents.
- </para>
- <para>
- If you set ifx_blobinfile to 1, use the file name returned by
- ifx_get_blob(..) to get at the blob contents. Note that in this
- case YOU ARE RESPONSIBLE FOR DELETING THE TEMPORARY FILES CREATED
- BY INFORMIX when fetching the row. Every new row fetched will
- create new temporary files for every BYTE column.
- </para>
- <para>
- The location of the temporary files can be influenced by the
- environment variable "blobdir", default is "." (the current
- directory). Something like : putenv(blobdir=tmpblob"); will ease
- the cleaning up of temp files accidentally left behind (their
- names all start with "blb").
- </para>
- </note>
- <note>
- <title>Automatically trimming "char" (SQLCHAR and SQLNCHAR) data</title>
- <para>
- This can be set with the configuration variable
- </para>
- <para>
- ifx.charasvarchar : if set to 1 trailing spaces will be
- automatically trimmed, to save you some "chopping".
- </para>
- </note>
- <note>
- <title>&null; values</title>
- <para>
- The configuration variable ifx.nullformat (and the runtime
- function <function>ifx_nullformat</function>) when set to &true;
- will return &null; columns as the string "&null;", when set to &false;
- they return the empty string. This allows you to discriminate
- between &null; columns and empty columns.
</para>
- </note>
+ </section>
+
+ <section id="ifx.constants">
+ &reftitle.constants;
+ &no.constants;
+ </section>
+
+
+
</partintro>
&reference.ifx.functions;