reference/ibm_db2/ini.xml
4697ce9633d9409e832ee765d98ce50cfcd6db67
...
...
@@ -1,6 +1,6 @@
1
1
<?xml version="1.0" encoding="utf-8"?>
2
2
<!-- $Revision$ -->
3
-
<section xml:id="ibm-db2.configuration" xmlns="http://docbook.org/ns/docbook">
3
+
<section xml:id="ibm-db2.configuration" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
4
4
&reftitle.runtime;
5
5
&extension.runtime;
6
6
<para>
...
...
@@ -12,45 +12,99 @@
12
12
<entry>&Name;</entry>
13
13
<entry>&Default;</entry>
14
14
<entry>&Changeable;</entry>
15
-
<entry>Changelog</entry>
15
+
<entry>&Changelog;</entry>
16
16
</row>
17
17
</thead>
18
18
<tbody xml:id="ibm-db2.configuration.list">
19
19
<row>
20
20
<entry><link linkend="ini.ibm-db2.binmode">ibm_db2.binmode</link></entry>
21
21
<entry>"1"</entry>
22
-
<entry>PHP_INI_ALL</entry>
22
+
<entry><constant>INI_ALL</constant></entry>
23
23
<entry></entry>
24
24
</row>
25
25
<row>
26
26
<entry><link linkend="ini.ibm-db2.i5-all-pconnect">ibm_db2.i5_all_pconnect</link></entry>
27
27
<entry>"0"</entry>
28
-
<entry>PHP_INI_SYSTEM</entry>
29
-
<entry>Available since ibm_db2 1.6.5.</entry>
28
+
<entry><constant>INI_SYSTEM</constant></entry>
29
+
<entry>Available as of ibm_db2 1.6.5.</entry>
30
30
</row>
31
31
<row>
32
32
<entry><link linkend="ini.ibm-db2.i5-allow-commit">ibm_db2.i5_allow_commit</link></entry>
33
33
<entry>"0"</entry>
34
-
<entry>PHP_INI_SYSTEM</entry>
35
-
<entry>Available since ibm_db2 1.4.9.</entry>
34
+
<entry><constant>INI_SYSTEM</constant></entry>
35
+
<entry>Available as of ibm_db2 1.4.9.</entry>
36
+
</row>
37
+
<row>
38
+
<entry><link linkend="ini.ibm-db2.i5-blank-userid">ibm_db2.i5_blank_userid</link></entry>
39
+
<entry>"0"</entry>
40
+
<entry><constant>INI_SYSTEM</constant></entry>
41
+
<entry>Available as of ibm_db2 1.9.7.</entry>
42
+
</row>
43
+
<row>
44
+
<entry><link linkend="ini.ibm-db2.i5-char-trim">ibm_db2.i5_char_trim</link></entry>
45
+
<entry>"0"</entry>
46
+
<entry><constant>INI_SYSTEM</constant></entry>
47
+
<entry>Available as of ibm_db2 2.1.0.</entry>
36
48
</row>
37
49
<row>
38
50
<entry><link linkend="ini.ibm-db2.i5-dbcs-alloc">ibm_db2.i5_dbcs_alloc</link></entry>
39
51
<entry>"0"</entry>
40
-
<entry>PHP_INI_SYSTEM</entry>
41
-
<entry>Available since ibm_db2 1.5.0.</entry>
52
+
<entry><constant>INI_SYSTEM</constant></entry>
53
+
<entry>Available as of ibm_db2 1.5.0.</entry>
42
54
</row>
43
55
<row>
44
-
<entry><link linkend="ini.ibm-db2.instance-name">ibm_db2.instance_name</link></entry>
45
-
<entry>NULL</entry>
46
-
<entry>PHP_INI_SYSTEM</entry>
47
-
<entry>Available since ibm_db2 1.0.2.</entry>
56
+
<entry><link linkend="ini.ibm-db2.i5-guard-profile">ibm_db2.i5_guard_profile</link></entry>
57
+
<entry>"0"</entry>
58
+
<entry><constant>INI_SYSTEM</constant></entry>
59
+
<entry>Available as of ibm_db2 1.9.7.</entry>
48
60
</row>
49
61
<row>
50
62
<entry><link linkend="ini.ibm-db2.i5-ignore-userid">ibm_db2.i5_ignore_userid</link></entry>
51
63
<entry>"0"</entry>
52
-
<entry>PHP_INI_SYSTEM</entry>
53
-
<entry>Available since ibm_db2 1.8.0.</entry>
64
+
<entry><constant>INI_SYSTEM</constant></entry>
65
+
<entry>Available as of ibm_db2 1.8.0.</entry>
66
+
</row>
67
+
<row>
68
+
<entry><link linkend="ini.ibm-db2.i5-job-sort">ibm_db2.i5_job_sort</link></entry>
69
+
<entry>"0"</entry>
70
+
<entry><constant>INI_SYSTEM</constant></entry>
71
+
<entry>Available as of ibm_db2 1.8.4.</entry>
72
+
</row>
73
+
<row>
74
+
<entry><link linkend="ini.ibm-db2.i5-log-verbose">ibm_db2.i5_log_verbose</link></entry>
75
+
<entry>"0"</entry>
76
+
<entry><constant>INI_SYSTEM</constant></entry>
77
+
<entry>Available as of ibm_db2 1.9.7.</entry>
78
+
</row>
79
+
<row>
80
+
<entry><link linkend="ini.ibm-db2.i5-max-pconnect">ibm_db2.i5_max_pconnect</link></entry>
81
+
<entry>"0"</entry>
82
+
<entry><constant>INI_SYSTEM</constant></entry>
83
+
<entry>Available as of ibm_db2 1.9.7.</entry>
84
+
</row>
85
+
<row>
86
+
<entry><link linkend="ini.ibm-db2.i5-override-ccsid">ibm_db2.i5_override_ccsid</link></entry>
87
+
<entry>"0"</entry>
88
+
<entry><constant>INI_SYSTEM</constant></entry>
89
+
<entry>Available as of ibm_db2 1.9.7.</entry>
90
+
</row>
91
+
<row>
92
+
<entry><link linkend="ini.ibm-db2.i5-servermode-subsystem">ibm_db2.i5_servermode_subsystem</link></entry>
93
+
<entry>NULL</entry>
94
+
<entry><constant>INI_SYSTEM</constant></entry>
95
+
<entry>Available as of ibm_db2 1.9.7.</entry>
96
+
</row>
97
+
<row>
98
+
<entry><link linkend="ini.ibm-db2.i5-sys-naming">ibm_db2.i5_sys_naming</link></entry>
99
+
<entry>"0"</entry>
100
+
<entry><constant>INI_SYSTEM</constant></entry>
101
+
<entry>Available as of ibm_db2 1.9.7.</entry>
102
+
</row>
103
+
<row>
104
+
<entry><link linkend="ini.ibm-db2.instance-name">ibm_db2.instance_name</link></entry>
105
+
<entry>NULL</entry>
106
+
<entry><constant>INI_SYSTEM</constant></entry>
107
+
<entry>Available as of ibm_db2 1.0.2.</entry>
54
108
</row>
55
109
</tbody>
56
110
</tgroup>
...
...
@@ -65,7 +119,7 @@
65
119
<varlistentry xml:id="ini.ibm-db2.binmode">
66
120
<term>
67
121
<parameter>ibm_db2.binmode</parameter>
68
-
<type>integer</type>
122
+
<type>int</type>
69
123
</term>
70
124
<listitem>
71
125
<para>
...
...
@@ -94,25 +148,26 @@
94
148
<varlistentry xml:id="ini.ibm-db2.i5-all-pconnect">
95
149
<term>
96
150
<parameter>ibm_db2.i5_all_pconnect</parameter>
97
-
<type>integer</type>
151
+
<type>int</type>
98
152
</term>
99
153
<listitem>
100
154
<para>
101
-
This option overrides i5 <function>db2_connect</function> full open and close in the PHP
102
-
application. When <parameter>ibm_db2.i5_all_pconnect</parameter> = 1, all db2 connections
103
-
become persistent (<function>db2_pconnect</function>). On i5/OS, <function>db2_pconnect</function> performs
104
-
dramatically better with lower machine stress over <function>db2_connect</function>. This
105
-
is a convenience override of <function>db2_connect</function> to evoke <function>db2_pconnect</function> without
106
-
PHP source code changes.
155
+
This option forces all connections to be persistent on IBM i.
156
+
Basically, all <function>db2_connect</function> calls transparently become
157
+
<function>db2_pconnect</function> calls.
158
+
By default, this option is <literal>0</literal>.
159
+
This option is provided as a convenience for cases where persistent
160
+
connections are faster.
161
+
It should not be used in new applications.
107
162
<itemizedlist>
108
163
<listitem>
109
164
<para>
110
-
0 <function>db2_connect</function> default full open and close
165
+
0 - Persistent and non-persistent connections can be made.
111
166
</para>
112
167
</listitem>
113
168
<listitem>
114
169
<para>
115
-
1 <function>db2_connect</function> override to <function>db2_pconnect</function> for persistent connection only
170
+
1 - All connections are persistent.
116
171
</para>
117
172
</listitem>
118
173
</itemizedlist>
...
...
@@ -122,21 +177,94 @@
122
177
<varlistentry xml:id="ini.ibm-db2.i5-allow-commit">
123
178
<term>
124
179
<parameter>ibm_db2.i5_allow_commit</parameter>
125
-
<type>integer</type>
180
+
<type>int</type>
126
181
</term>
127
182
<listitem>
128
183
<para>
129
-
This option controls the commit mode used for i5 schema collections
130
-
in the PHP application.
184
+
This option controls the transaction isolation mode used.
185
+
By default, this option is <literal>0</literal>, so commitment control isn't used.
186
+
This option can be overriden when connecting if the array key
187
+
<parameter>i5_commit</parameter> is set in the connection options array
188
+
passed to <function>db2_connect</function> or
189
+
<function>db2_pconnect</function>.
131
190
<itemizedlist>
132
191
<listitem>
133
192
<para>
134
-
0 no commit (see <parameter>i5_commit</parameter> for override)
193
+
0 - commitment control is not used
194
+
</para>
195
+
</listitem>
196
+
<listitem>
197
+
<para>
198
+
1 - read uncommitted, dirty reads possible.
135
199
</para>
136
200
</listitem>
137
201
<listitem>
138
202
<para>
139
-
1 allow commit (see <parameter>i5_commit</parameter> for override)
203
+
2 - read committed, dirty reads are not possible.
204
+
</para>
205
+
</listitem>
206
+
<listitem>
207
+
<para>
208
+
3 - repeatable read, dirty reads and non-repeatable reads are not possible
209
+
</para>
210
+
</listitem>
211
+
<listitem>
212
+
<para>
213
+
4 - serializeable, dirty reads, non-repeatable reads, and phantoms are not possible
214
+
</para>
215
+
</listitem>
216
+
</itemizedlist>
217
+
</para>
218
+
</listitem>
219
+
</varlistentry>
220
+
<varlistentry xml:id="ini.ibm-db2.i5-blank-userid">
221
+
<term>
222
+
<parameter>ibm_db2.i5_blank_userid</parameter>
223
+
<type>int</type>
224
+
</term>
225
+
<listitem>
226
+
<para>
227
+
This controls if a blank user ID should be allowed on IBM i.
228
+
By default, this option is <literal>0</literal>.
229
+
Unlike <parameter>ibm_db2.i5_ignore_userid</parameter>, this option
230
+
doesn't force all user IDs to be empty or change job behaviour, but
231
+
simply allows an empty user ID to be passed, for connecting to Db2 as the
232
+
current user.
233
+
<itemizedlist>
234
+
<listitem>
235
+
<para>
236
+
0 - Don't allow a blank user ID to be passed.
237
+
</para>
238
+
</listitem>
239
+
<listitem>
240
+
<para>
241
+
1 - Allow a blank user ID to be passed.
242
+
</para>
243
+
</listitem>
244
+
</itemizedlist>
245
+
</para>
246
+
</listitem>
247
+
</varlistentry>
248
+
<varlistentry xml:id="ini.ibm-db2.i5-char-trim">
249
+
<term>
250
+
<parameter>ibm_db2.i5_char_trim</parameter>
251
+
<type>int</type>
252
+
</term>
253
+
<listitem>
254
+
<para>
255
+
This option controls if the end of strings are trimmed on IBM i.
256
+
Since many tables use fixed column sizes padded with spaces, this is
257
+
provided as a convenience.
258
+
By default, this option is <literal>0</literal>.
259
+
<itemizedlist>
260
+
<listitem>
261
+
<para>
262
+
0 - Columns are not trimmed.
263
+
</para>
264
+
</listitem>
265
+
<listitem>
266
+
<para>
267
+
1 - Spaces at the end of returned character columns are removed.
140
268
</para>
141
269
</listitem>
142
270
</itemizedlist>
...
...
@@ -146,72 +274,253 @@
146
274
<varlistentry xml:id="ini.ibm-db2.i5-dbcs-alloc">
147
275
<term>
148
276
<parameter>ibm_db2.i5_dbcs_alloc</parameter>
149
-
<type>integer</type>
277
+
<type>int</type>
150
278
</term>
151
279
<listitem>
152
280
<para>
153
-
This option controls the internal ibm_db2 allocation scheme
154
-
for large DBCS column buffers.
281
+
This options affects the internal buffer allocation strategy on IBM i.
282
+
By default, this option is <literal>0</literal>.
283
+
When this option is set, buffers are allocated with a much larger size,
284
+
in case the database underestimates a string's size when converting
285
+
between encodings.
286
+
This option uses six times as much memory for buffers (to account for
287
+
the largest possible UTF-8 sequences), but may be needed if truncated
288
+
data is returned.
155
289
<itemizedlist>
156
290
<listitem>
157
291
<para>
158
-
0 no expanded allocations (see <parameter>i5_dbcs_alloc</parameter> for override)
292
+
0 - Minimum size buffers are allocated.
159
293
</para>
160
294
</listitem>
161
295
<listitem>
162
296
<para>
163
-
1 use expanded allocations (see <parameter>i5_dbcs_alloc</parameter> for override)
297
+
1 - Larger size buffers are allocated.
164
298
</para>
165
299
</listitem>
166
300
</itemizedlist>
167
301
</para>
168
302
</listitem>
169
303
</varlistentry>
170
-
<varlistentry xml:id="ini.ibm-db2.instance-name">
304
+
<varlistentry xml:id="ini.ibm-db2.i5-guard-profile">
171
305
<term>
172
-
<parameter>ibm_db2.instance_name</parameter>
173
-
<type>string</type>
306
+
<parameter>ibm_db2.i5_guard_profile</parameter>
307
+
<type>int</type>
174
308
</term>
175
309
<listitem>
176
310
<para>
177
-
On Linux and UNIX operating systems, this option defines the name of the
178
-
instance to use for cataloged database connections. If this option is set,
179
-
its value overrides the DB2INSTANCE environment variable setting.
311
+
This option checks if the database user profile was switched when
312
+
connecting to a persistent database connection on IBM i, and if so,
313
+
disconnects from the database.
314
+
By default, this option is set to <literal>0</literal>.
315
+
<itemizedlist>
316
+
<listitem>
317
+
<para>
318
+
0 - Don't check for profile swaps.
319
+
</para>
320
+
</listitem>
321
+
<listitem>
322
+
<para>
323
+
1 - Check for profile swaps and disconnect if so.
324
+
</para>
325
+
</listitem>
326
+
</itemizedlist>
180
327
</para>
328
+
</listitem>
329
+
</varlistentry>
330
+
<varlistentry xml:id="ini.ibm-db2.i5-log-verbose">
331
+
<term>
332
+
<parameter>ibm_db2.i5_log_verbose</parameter>
333
+
<type>int</type>
334
+
</term>
335
+
<listitem>
181
336
<para>
182
-
This option is ignored on Windows operating systems.
337
+
This option sets if SQL diagnostic messages like warnings and errors are
338
+
always sent to the PHP error log on IBM i.
339
+
Normally, only a brief message on failure is sent (such as "statement
340
+
execute failed") to the PHP error log, as this option is set to
341
+
<literal>0</literal> by default.
342
+
Note that you can still and should call i.e.
343
+
<function>db2_stmt_errormsg</function> manually as part of checking if
344
+
functions fail.
345
+
<itemizedlist>
346
+
<listitem>
347
+
<para>
348
+
0 - Only logs brief messages.
349
+
</para>
350
+
</listitem>
351
+
<listitem>
352
+
<para>
353
+
1 - Logs the SQL diagnostic message in addition to the brief message.
354
+
</para>
355
+
</listitem>
356
+
</itemizedlist>
183
357
</para>
184
358
</listitem>
185
359
</varlistentry>
186
360
<varlistentry xml:id="ini.ibm-db2.i5-ignore-userid">
187
361
<term>
188
362
<parameter>ibm_db2.i5_ignore_userid</parameter>
189
-
<type>integer</type>
363
+
<type>int</type>
364
+
</term>
365
+
<listitem>
366
+
<para>
367
+
This option ignores the user ID when connecting to the database when
368
+
running on IBM i, and runs SQL/CLI functionality inside of the PHP job,
369
+
instead of a separate job.
370
+
By default, this option is <literal>0</literal>.
371
+
When enabled, it no longer uses a separate database server job, and
372
+
always uses the current user profile for the database, ignoring the
373
+
username and password passed to <function>db2_connect</function> and
374
+
<function>db2_pconnect</function>.
375
+
<itemizedlist>
376
+
<listitem>
377
+
<para>
378
+
0 - Uses the specified credentials, and use an SQL/CLI server job.
379
+
</para>
380
+
</listitem>
381
+
<listitem>
382
+
<para>
383
+
1 - Always use blank credentials, and run SQL/CLI in the PHP job.
384
+
</para>
385
+
</listitem>
386
+
</itemizedlist>
387
+
</para>
388
+
</listitem>
389
+
</varlistentry>
390
+
<varlistentry xml:id="ini.ibm-db2.i5-job-sort">
391
+
<term>
392
+
<parameter>ibm_db2.i5_job_sort</parameter>
393
+
<type>int</type>
394
+
</term>
395
+
<listitem>
396
+
<para>
397
+
Controls the job sort option on IBM i.
398
+
By default, this option is <literal>0</literal>.
399
+
This corresponds to the IBM i SQL/CLI
400
+
<literal>SQL_ATTR_CONN_SORT_SEQUENCE</literal> attribute.
401
+
<itemizedlist>
402
+
<listitem>
403
+
<para>
404
+
0 - Uses the <literal>*HEX</literal> sort option, sorting by bytes.
405
+
</para>
406
+
</listitem>
407
+
<listitem>
408
+
<para>
409
+
1 - Uses the job sort sequence set for the PHP job.
410
+
</para>
411
+
</listitem>
412
+
<listitem>
413
+
<para>
414
+
2 - Uses the job sort sequence set for the database job.
415
+
</para>
416
+
</listitem>
417
+
</itemizedlist>
418
+
</para>
419
+
</listitem>
420
+
</varlistentry>
421
+
<varlistentry xml:id="ini.ibm-db2.i5-max-pconnect">
422
+
<term>
423
+
<parameter>ibm_db2.i5_max_pconnect</parameter>
424
+
<type>int</type>
190
425
</term>
191
426
<listitem>
192
427
<para>
193
-
This option overrides i5 db2_(p)connect userid and password in the PHP
194
-
application. When <parameter>ibm_db2.i5_ignore_userid</parameter> = 1,
195
-
all db2 (p)connections become null userid and null password. Therefore
196
-
Apache jobs connect with the current profile (NOBODY). Use of this override
197
-
is only for simple DB2 based websites that never require profile switching
198
-
and therefore can avoid all overhead of server mode additional QSQSRVR jobs.
199
-
This is a convenience override of db2_(p)connect to set the userid and password
200
-
values to null without PHP source code changes. This override can be used in
201
-
combination with <parameter>ibm_db2.i5_all_pconnect</parameter> = 1.
428
+
This will affect how many times a persistent connection can be reused
429
+
when running on IBM i.
430
+
By default, this is set to <literal>0</literal>, which means a persistent
431
+
connection can always be reused.
432
+
This option can help work around issues in a long-running database job
433
+
(i.e. if a procedure is leaking memory), but is obviously not a long-term
434
+
fix.
435
+
</para>
436
+
</listitem>
437
+
</varlistentry>
438
+
<varlistentry xml:id="ini.ibm-db2.i5-override-ccsid">
439
+
<term>
440
+
<parameter>ibm_db2.i5_override_ccsid</parameter>
441
+
<type>int</type>
442
+
</term>
443
+
<listitem>
444
+
<para>
445
+
The PASE CCSID to use for character conversions from EBCDIC on IBM i.
446
+
By default, this is <literal>0</literal>, which will select the default
447
+
PASE job CCSID, which comes from the PASE locale settings.
448
+
For example, setting this to <literal>1208</literal> will use UTF-8.
449
+
This should only be modified if the PASE job CCSID isn't the expected
450
+
CCSID, and the locale cannot be modified.
451
+
</para>
452
+
<para>
453
+
To learn more about CCSIDs on IBM i, consult the
454
+
<link xlink:href="https://www.ibm.com/docs/en/i/7.5?topic=information-ccsid-reference">IBM documentation</link>.
455
+
To learn how locales on IBM i PASE are mapped to CCSIDs, consult the
456
+
<link xlink:href="https://www.ibm.com/docs/en/i/7.5?topic=ssw_ibm_i_75/apis/pase_locales.html">IBM documentation</link>.
457
+
</para>
458
+
</listitem>
459
+
</varlistentry>
460
+
<varlistentry xml:id="ini.ibm-db2.i5-sys-naming">
461
+
<term>
462
+
<parameter>ibm_db2.i5_sys_naming</parameter>
463
+
<type>int</type>
464
+
</term>
465
+
<listitem>
466
+
<para>
467
+
This option controls the naming mode when connecting to an IBM i system.
468
+
By default, this option is <literal>0</literal>.
469
+
The naming mode affects how names are resolved and the allowed syntax for
470
+
names.
471
+
When set to <literal>0</literal>, this uses periods to qualify names and
472
+
uses the default library or user ID to resolve names.
473
+
When set to <literal>1</literal>, this uses slashes to qualify names and
474
+
uses the job library list to resolve names.
202
475
<itemizedlist>
203
476
<listitem>
204
477
<para>
205
-
0 db2_(p)connect with specified userid and password
478
+
0 - Uses the SQL naming mode ("SCHEMA.TABLE").
206
479
</para>
207
480
</listitem>
208
481
<listitem>
209
482
<para>
210
-
1 db2_(p)connect override connect with null userid and null password
483
+
1 - Uses the system naming mode ("LIBRARY/FILE").
211
484
</para>
212
485
</listitem>
213
486
</itemizedlist>
214
487
</para>
488
+
<para>
489
+
To learn more about naming modes on IBM i, consult the
490
+
<link xlink:href="https://www.ibm.com/docs/en/i/7.5?topic=application-naming-distributed-relational-database-objects">IBM documentation</link>.
491
+
</para>
492
+
</listitem>
493
+
</varlistentry>
494
+
<varlistentry xml:id="ini.ibm-db2.i5-servermode-subsystem">
495
+
<term>
496
+
<parameter>ibm_db2.i5_servermode-subsystem</parameter>
497
+
<type>string</type>
498
+
</term>
499
+
<listitem>
500
+
<para>
501
+
This option changes which subsystem database server jobs run under on
502
+
IBM i.
503
+
By default, this option is &null;, so jobs will run under the default
504
+
subsystem for QSQSRVR jobs.
505
+
</para>
506
+
</listitem>
507
+
</varlistentry>
508
+
<varlistentry xml:id="ini.ibm-db2.instance-name">
509
+
<term>
510
+
<parameter>ibm_db2.instance_name</parameter>
511
+
<type>string</type>
512
+
</term>
513
+
<listitem>
514
+
<para>
515
+
On Linux and UNIX operating systems, this option defines the name of the
516
+
instance to use for cataloged database connections.
517
+
By default, this option is &null;.
518
+
If this option is set, its value overrides the
519
+
<varname>DB2INSTANCE</varname> environment variable setting.
520
+
</para>
521
+
<para>
522
+
This option is ignored on Windows operating systems.
523
+
</para>
215
524
</listitem>
216
525
</varlistentry>
217
526
</variablelist>
218
527