The explanation of ibm_db2.i5_allow_commit seems to be slightly difficult to understand for me.
I think it would be better to replace "no commit" with "can not use commitment control" or "do not allow transaction", and "allow commit" would be changed into
"can use commitment control" or "allow transaction" , Thanks.
The behaviour of these functions is affected by settings in php.ini.
|ibm_db2.i5_all_pconnect||"0"||PHP_INI_SYSTEM||Available since ibm_db2 1.6.5.|
|ibm_db2.i5_allow_commit||"0"||PHP_INI_SYSTEM||Available since ibm_db2 1.4.9.|
|ibm_db2.i5_dbcs_alloc||"0"||PHP_INI_SYSTEM||Available since ibm_db2 1.5.0.|
|ibm_db2.instance_name||NULL||PHP_INI_SYSTEM||Available since ibm_db2 1.0.2.|
|ibm_db2.i5_ignore_userid||"0"||PHP_INI_SYSTEM||Available since ibm_db2 1.8.0.|
Here's a short explanation of the configuration directives.
- ibm_db2.binmode integer
This option controls the mode used for converting to and from binary data in the PHP application.
- ibm_db2.i5_all_pconnect integer
This option overrides i5 db2_connect() full open and close in the PHP application. When ibm_db2.i5_all_pconnect = 1, all db2 connections become persistent (db2_pconnect()). On i5/OS, db2_pconnect() performs dramatically better with lower machine stress over db2_connect(). This is a convenience override of db2_connect() to evoke db2_pconnect() without PHP source code changes.
- ibm_db2.i5_allow_commit integer
This option controls the commit mode used for i5 schema collections in the PHP application.
0 no commit (see i5_commit for override)
1 allow commit (see i5_commit for override)
- ibm_db2.i5_dbcs_alloc integer
This option controls the internal ibm_db2 allocation scheme for large DBCS column buffers.
0 no expanded allocations (see i5_dbcs_alloc for override)
1 use expanded allocations (see i5_dbcs_alloc for override)
- ibm_db2.instance_name string
On Linux and UNIX operating systems, this option defines the name of the instance to use for cataloged database connections. If this option is set, its value overrides the DB2INSTANCE environment variable setting.
This option is ignored on Windows operating systems.
- ibm_db2.i5_ignore_userid integer
This option overrides i5 db2_(p)connect userid and password in the PHP application. When ibm_db2.i5_ignore_userid = 1, all db2 (p)connections become null userid and null password. Therefore Apache jobs connect with the current profile (NOBODY). Use of this override is only for simple DB2 based websites that never require profile switching and therefore can avoid all overhead of server mode additional QSQSRVR jobs. This is a convenience override of db2_(p)connect to set the userid and password values to null without PHP source code changes. This override can be used in combination with ibm_db2.i5_all_pconnect = 1.
0 db2_(p)connect with specified userid and password
1 db2_(p)connect override connect with null userid and null password
The explanation of ibm_db2.i5_dbcs_alloc seems to be hard to understand for me.
In ibm_db2 extension inside, 6 times length of string column is allocated if i5_dbcs_alloc value is 1.
The allocated area is used for conversion between UTF-8 and EBCDIC character encodings.
By the definition of UTF-8, letter length can need 6 bytes at the maximum.
In the case of a long column, allocated size may be beyond the upper limit defined in DB2 because original column is made by 6 times. It can cause result data becomes null.