├── TODO
├── tests
├── skipifTBD.inc
├── pic1.jpg
├── spook.png
├── test_clob_special_char.phpt
├── rollbackhandler.inc
├── skipif.inc
├── trusted_connection.inc
├── test_V6_10353.phpt
├── test_V6_10353_MemLeak.phpt
├── test_V6_execute_many.phpt
├── test_V6_091_ConnmsgWrongUser.phpt
├── test_V6_092_ConnmsgWrongPwd.phpt
├── test_V6_clob_special_char.phpt
├── test_V6_graphic_data_type.phpt
├── skipif3.inc
├── test_V6_263_XML_OUTParamsInSPs.phpt
├── test_V6_trusted_context_connect.phpt
├── test_V6_trusted_context_pconnect.phpt
├── test_V6_195_InsertRetrieveXMLData_01.phpt
├── test_V6_196_InsertRetrieveXMLData_02.phpt
├── test_V6_198_LobReadWriteFromMemory.phpt
├── test_V6_321_ResultFetchArraysLobsXMLTypes.phpt
├── skipif2.inc
├── test_050_GetAutocommit.phpt
├── skipifNot10_5.inc
├── test_052_SetAutocommit_01.phpt
├── test_063_Tables_04.phpt
├── test_080_ConnWrongDbAlias.phpt
├── test_V6_080_ConnWrongDbAlias.phpt
├── skipifNotRowcountPrefetch.inc
├── test_001_ConnDb.phpt
├── test_051_SetAutocommit.phpt
├── test_102_NumFieldsSelect_01.phpt
├── test_004_ConnWrongUserPwd.phpt
├── test_082_ConnWrongPwd.phpt
├── test_090_ConnmsgWrongDbAlias.phpt
├── test_081_ConnWrongUser.phpt
├── test_251_FreeResult_02.phpt
├── test_V6_002_ConnDbUncatalogedConn.phpt
├── test_070_Close.phpt
├── test_092_ConnmsgWrongPwd.phpt
├── test_V6_090_ConnmsgWrongDbAlias.phpt
├── test_091_ConnmsgWrongUser.phpt
├── test_002_ConnDbUncatalogedConn.phpt
├── test_005_ConnBadUserBadPwd.phpt
├── test_212_FieldDisplaySize_03.phpt
├── skipifNotTrustedContext.inc
├── test_211_FieldDisplaySize_02.phpt
├── test_011_DeleteRowCount.phpt
├── test_003_NumAffectedRows.phpt
├── test_010_UpdateRowCount.phpt
├── test_250_FreeResult_01.phpt
├── test_220_PersistentConn.phpt
├── test_023_ColumnPrivileges.phpt
├── test_V6_ini_i5_blank_userid.phpt
├── test_210_FieldDisplaySize_01.phpt
├── test_071_CloseSuccess.phpt
├── test_x001_IBMi_LUW_DB2_I5_NAMING_ON.phpt
├── test_030_Result.phpt
├── test_012_ScrollableCursorSelectRowCount01.phpt
├── test_261_FetchObjectAccess.phpt
├── test_014_ScrollableCursorRetrieveNegativeRow.phpt
├── test_034_FetchRow.phpt
├── test_192_ColumnsTable_03.phpt
├── test_194_RetrieveCLOBColScrollable.phpt
├── test_V6_260_FetchObject.phpt
├── test_019_selectRowcountPrefetchPrepOpt.phpt
├── test_026_BindParam.phpt
├── test_048_FetchArrayBinaryData.phpt
├── test_035_FetchRowMany_01.phpt
├── test_157a_FetchAssocWithoutScrollableCursorErr.phpt
├── test_221_100PersistentConns.phpt
├── test_260_FetchObject.phpt
├── test_130_PrepExecuteSelectStmt.phpt
├── test_232_FieldTypePosName.phpt
├── test_191_ColumnsTable_02.phpt
├── test_222_PersistentConnReuseWithBadPassword.phpt
├── test_6528_ScopingProblemBindParam.phpt
├── test_190_ColumnsTable_01.phpt
├── test_131_PrepareExecuteSelectStatementParams.phpt
├── test_033_ResultOutSequenceColumn.phpt
├── test_132_ExecuteStatementArrayMultipleParams.phpt
├── test_140_BindParamSelectStmt.phpt
├── test_252_FreeResult_03.phpt
├── test_241_FieldWidthPosName_02.phpt
├── test_V6_241_FieldWidthPosName_02.phpt
├── test_V6_066_TableObjects.phpt
├── escape.dat
├── test_9173_ProcedurePersistentConn.phpt
├── test_031_ResultIndexPosition.phpt
├── test_03a_ResultNonExistCol.phpt
├── test_013_ScrollableCursorSelectRowCount02.phpt
├── test_032_ResultIndexName.phpt
├── test_9194_FetchBothCLOBColumns.phpt
├── test_041_FetchArrayMany_01.phpt
├── test_6561_ReturnNULLValues.phpt
├── test_V6_041_FetchArrayMany_01.phpt
├── test_157_FetchAssocScrollableCursor_02.phpt
├── test_V6_ini_i5_trim_char.phpt
├── test_148_CallSPDiffBindPattern_01.phpt
├── test_157b_FetchAssocScrollableCursor_01.phpt
├── test_125_FieldNamePos_03.phpt
├── test_V6_ini_i5_allow_commit.phpt
├── test_049_BindParamInsertStmtNULL.phpt
├── test_RealDataType.phpt
├── test_045_FetchArrayBinaryData.phpt
├── test_153_FetchAssocSelect_04.phpt
├── test_101_InsertDeleteFieldCount.phpt
├── test_040_FetchArray.phpt
├── test_163_FetchBothBinary.phpt
├── test_1551_FetchAssocBinary.phpt
├── test_143_BindParamInsertStmtNULLParam.phpt
├── test_V6_133_ExecuteLongInputParams.phpt
├── test_112_FieldNumDiffCaseColNames.phpt
├── test_159a_FetchAssocSeveralRows_02.phpt
├── test_V6_ini_i5_max_pconnect.phpt
├── test_110_FieldNum.phpt
├── test_V6_ini_i5_servermode_subsystem.phpt
├── test_007_pConnPassingOpts.phpt
├── test_006_ConnPassingOpts.phpt
├── test_144_BindParamInsertStmtPARAM_FILE.phpt
├── test_120_FieldName.phpt
├── test_195_InsertRetrieveXMLData_01.phpt
├── test_V6_310_ClientInfo.phpt
├── test_213_FieldDisplaySize_04.phpt
├── test_6572_SQLStringsContNULLChar.phpt
├── test_020_RollbackDelete.phpt
├── test_022_RollbackInsert.phpt
├── test_V6_180_StmtErrMsg.phpt
├── test_230_FieldTypePos.phpt
├── test_gh_62.phpt
├── test_310_ClientInfo.phpt
├── test_015_InsertDeleteRowCount_01.phpt
├── test_016_InsertDeleteRowCount_02.phpt
├── test_133_ExecuteLongInputParams.phpt
├── test_240_FieldWidthPosName_01.phpt
├── test_V6_hebrew.phpt
├── test_V6_240_FieldWidthPosName_01.phpt
├── test_231_FieldTypeName.phpt
├── test_180_StmtErrMsg.phpt
├── test_6755_ExtraNULLChar_ResultCLOBCol.phpt
├── test_024_ForeignKeys.phpt
├── test_060_Tables_01.phpt
├── test_100_SelectDeleteInsertFieldCount.phpt
├── test_042_FetchArrayMany_02.phpt
├── test_141_BindParamSelectStmtMultipleParams_01.phpt
├── test_018_selectRowcountPrefetchSetOpt.phpt
├── test_017_selectRowcountPrefetchSTMTOpt.phpt
├── test_111_FieldNumAddCol.phpt
├── connection.inc
├── test_061_Tables_02.phpt
├── test_122_FieldNameDiffCaseColNames.phpt
├── resume_000190.txt
├── test_062_Tables_03.phpt
├── test_321_ResultFetchArraysLobsXMLTypes.phpt
├── test_121_FieldNameAddCol.phpt
├── test_066_TableObjects.phpt
├── resume_000140.txt
├── resume_000130.txt
├── test_065_FilterTableName.phpt
├── test_V6_ini_i5_check_pconnect.phpt
├── test_064_Tables_05.phpt
├── resume_000150.txt
├── test_159_FetchAssocSeveralRows_01.phpt
├── test_V6_ini_i5_all_pconnect.phpt
├── test_142_BindParamSelectStmtMultipleParams_02.phpt
├── test_025_PrimaryKeys.phpt
├── test_6792_FieldTypeRetStrDatetimeTimestamp.phpt
├── test_146_CallSPINAndOUTParams.phpt
├── test_V6_6792_FieldTypeRetStrDatetimeTimestamp.phpt
├── test_V6_ini_i5_guard_profile.phpt
├── test_boolean.phpt
├── test_V6_ini_i5_sys_naming.phpt
├── test_145_BindRetrieveNULLEmptyString.phpt
├── test_021_CommitDelete.phpt
├── test_197_StatisticsIndexes.phpt
├── test_V6_148_CallSPDiffBindPattern_01.phpt
├── test_149_CallSPDiffBindPattern_02.phpt
├── test_046_FetchArrayMany_05.phpt
├── test_V6_149_CallSPDiffBindPattern_02.phpt
├── test_V6_197_StatisticsIndexes_with_lib_1028_issue.phpt
├── test_queryTimeout.phpt
├── skipif.PASE
├── test_graphic_data_type.phpt
├── test_V6_197_StatisticsIndexes.phpt
├── test_147_CallSPINAndOUTParamsMultipleTimes.phpt
├── test_196_InsertRetrieveXMLData_02.phpt
├── test_check_rollback.phpt
├── test_198_LobReadWriteFromMemory.phpt
├── test_053_SetAutocommit_02.phpt
├── test_047_FetchArrayMany_06.phpt
├── test_152_FetchAssocSelect_03.phpt
└── test_V6_timestamp.phpt
├── CREDITS
├── .gitignore
├── composer.json
├── config.w32
├── CONTRIBUTING.md
└── .travis.yml
/TODO:
--------------------------------------------------------------------------------
1 | TODO:
2 |
--------------------------------------------------------------------------------
/tests/skipifTBD.inc:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/tests/pic1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/php/pecl-database-ibm_db2/HEAD/tests/pic1.jpg
--------------------------------------------------------------------------------
/tests/spook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/php/pecl-database-ibm_db2/HEAD/tests/spook.png
--------------------------------------------------------------------------------
/tests/test_clob_special_char.phpt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/php/pecl-database-ibm_db2/HEAD/tests/test_clob_special_char.phpt
--------------------------------------------------------------------------------
/tests/rollbackhandler.inc:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/tests/skipif.inc:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/tests/trusted_connection.inc:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/CREDITS:
--------------------------------------------------------------------------------
1 | IBM_DB2
2 | Sushant Koduru, Lynh Nguyen, Kanchana Padmanabhan, Dan Scott, Helmut Tessarek, Edin Kadribasic, Kellen Bombardier, Tony Cairns, Ambrish Bhargava, Rahul Priyadarshi, Calvin Buckley, Kevin Adler, Jesse Gorzinski
3 |
--------------------------------------------------------------------------------
/tests/test_V6_10353.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: 1.9.7 - IBM i
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
10 | --EXPECTF--
11 | TBD
12 |
13 |
--------------------------------------------------------------------------------
/tests/test_V6_10353_MemLeak.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: 1.9.7 - IBM i
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
10 | --EXPECTF--
11 | TBD
12 |
13 |
--------------------------------------------------------------------------------
/tests/test_V6_execute_many.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: 1.9.7 - IBM i
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
10 | --EXPECTF--
11 | TBD
12 |
13 |
--------------------------------------------------------------------------------
/tests/test_V6_091_ConnmsgWrongUser.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: 1.9.7 - IBM i
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
10 | --EXPECTF--
11 | TBD
12 |
13 |
--------------------------------------------------------------------------------
/tests/test_V6_092_ConnmsgWrongPwd.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: 1.9.7 - IBM i
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
10 | --EXPECTF--
11 | TBD
12 |
13 |
--------------------------------------------------------------------------------
/tests/test_V6_clob_special_char.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: 1.9.7 - IBM i
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
10 | --EXPECTF--
11 | TBD
12 |
13 |
--------------------------------------------------------------------------------
/tests/test_V6_graphic_data_type.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: 1.9.7 - IBM i
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
10 | --EXPECTF--
11 | TBD
12 |
13 |
--------------------------------------------------------------------------------
/tests/skipif3.inc:
--------------------------------------------------------------------------------
1 | DBMS_NAME == 'AS') {
10 | die('skip');
11 | }
12 |
13 | ?>
14 |
--------------------------------------------------------------------------------
/tests/test_V6_263_XML_OUTParamsInSPs.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: 1.9.7 - IBM i
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
10 | --EXPECTF--
11 | TBD
12 |
13 |
--------------------------------------------------------------------------------
/tests/test_V6_trusted_context_connect.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: 1.9.7 - IBM i
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
10 | --EXPECTF--
11 | TBD
12 |
13 |
--------------------------------------------------------------------------------
/tests/test_V6_trusted_context_pconnect.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: 1.9.7 - IBM i
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
10 | --EXPECTF--
11 | TBD
12 |
13 |
--------------------------------------------------------------------------------
/tests/test_V6_195_InsertRetrieveXMLData_01.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: 1.9.7 - IBM i
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
10 | --EXPECTF--
11 | TBD
12 |
13 |
--------------------------------------------------------------------------------
/tests/test_V6_196_InsertRetrieveXMLData_02.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: 1.9.7 - IBM i
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
10 | --EXPECTF--
11 | TBD
12 |
13 |
--------------------------------------------------------------------------------
/tests/test_V6_198_LobReadWriteFromMemory.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: 1.9.7 - IBM i
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
10 | --EXPECTF--
11 | TBD
12 |
13 |
--------------------------------------------------------------------------------
/tests/test_V6_321_ResultFetchArraysLobsXMLTypes.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: 1.9.7 - IBM i
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
10 | --EXPECTF--
11 | TBD
12 |
13 |
--------------------------------------------------------------------------------
/tests/skipif2.inc:
--------------------------------------------------------------------------------
1 | DBMS_VER, 1, 2) == '08') {
10 | die('skip');
11 | }
12 |
13 | ?>
14 |
--------------------------------------------------------------------------------
/tests/test_050_GetAutocommit.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: get autocommit value
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
17 | --EXPECT--
18 | 1
19 |
--------------------------------------------------------------------------------
/tests/skipifNot10_5.inc:
--------------------------------------------------------------------------------
1 | DBMS_NAME != 'AS') {
9 | die('skip');
10 | }
11 |
12 | $client = db2_client_info( $conn );
13 | $minversion = "10.05.0000";
14 | if ( ($client->DRIVER_VER < $minversion ) ) {
15 | die('skip');
16 | }
17 |
18 | ?>
19 |
--------------------------------------------------------------------------------
/tests/test_052_SetAutocommit_01.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: set autocommit with db2_autocommit
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
19 | --EXPECT--
20 | 0
21 |
--------------------------------------------------------------------------------
/tests/test_063_Tables_04.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_tables() - 4
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
19 | --EXPECTF--
20 | Resource id #%d
21 |
--------------------------------------------------------------------------------
/tests/test_080_ConnWrongDbAlias.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_conn_error() - wrong database alias
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
20 | --EXPECTF--
21 | string(5) "%s"
22 |
--------------------------------------------------------------------------------
/tests/test_V6_080_ConnWrongDbAlias.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_conn_error() - wrong database alias
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
21 | --EXPECTF--
22 | 42705
23 |
--------------------------------------------------------------------------------
/tests/skipifNotRowcountPrefetch.inc:
--------------------------------------------------------------------------------
1 | DBMS_VER < $minversion) || ($client->DRIVER_VER < $minversion ) ) {
16 | die('skip');
17 | }
18 |
19 | ?>
20 |
--------------------------------------------------------------------------------
/tests/test_001_ConnDb.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: connect to a database
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
20 | --EXPECT--
21 | Connection succeeded.
22 |
--------------------------------------------------------------------------------
/tests/test_051_SetAutocommit.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: set autocommit value in connection string
3 | --SKIPIF--
4 |
5 | --FILE--
6 | DB2_AUTOCOMMIT_OFF
12 | );
13 |
14 | $conn = db2_connect($database, $user, $password, $options);
15 |
16 | $ac = db2_autocommit( $conn );
17 |
18 | echo $ac;
19 |
20 | ?>
21 | --EXPECT--
22 | 0
23 |
--------------------------------------------------------------------------------
/tests/test_102_NumFieldsSelect_01.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_num_fields() - select
3 | --SKIPIF--
4 |
7 | --FILE--
8 |
22 | --EXPECT--
23 | 1
24 |
--------------------------------------------------------------------------------
/tests/test_004_ConnWrongUserPwd.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_connect() - wrong user/pwd
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
18 | --EXPECT--
19 | connect failed, test succeeded
20 |
--------------------------------------------------------------------------------
/tests/test_082_ConnWrongPwd.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_conn_error() - wrong password
3 | --SKIPIF--
4 |
8 | --FILE--
9 |
24 | --EXPECTF--
25 | 0800%d
26 |
--------------------------------------------------------------------------------
/tests/test_090_ConnmsgWrongDbAlias.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_conn_errormsg() - wrong database alias
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
21 | --EXPECTF--
22 | [IBM][CLI Driver] %s SQLCODE=-%d
23 |
--------------------------------------------------------------------------------
/tests/test_081_ConnWrongUser.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_conn_error() - wrong username
3 | --SKIPIF--
4 |
8 | --FILE--
9 |
24 | --EXPECTF--
25 | 0800%d
26 |
--------------------------------------------------------------------------------
/tests/test_251_FreeResult_02.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_free_result() - 2
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
21 | --EXPECT--
22 | bool(true)
23 | bool(true)
24 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # phpize stuff
2 | .libs
3 | Makefile*
4 | *.m4
5 | autom4te.cache
6 | build
7 | config.*
8 | configure*
9 | ibm_db2.la
10 | ibm_db2.lo
11 | install-sh
12 | libtool
13 | ltmain.sh
14 | missing
15 | mkinstalldirs
16 | modules
17 | run-tests.php
18 | tmp-php.ini
19 |
20 | # phpt generated files
21 | tests/*.diff
22 | tests/*.exp
23 | tests/*.log
24 | tests/*.out
25 | tests/*.sh
26 | tests/*.php
27 |
28 | # test crud
29 | tests/escape_out.dat
30 |
31 | # downloaded cli driver
32 | clidriver
33 |
34 |
--------------------------------------------------------------------------------
/tests/test_V6_002_ConnDbUncatalogedConn.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: connect to a database (uncataloged connection)
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
21 | --EXPECT--
22 | Connection succeeded.
23 |
--------------------------------------------------------------------------------
/tests/test_070_Close.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_close()
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
24 | --EXPECTF--
25 | resource(%d) of type (DB2 Connection)
26 | bool(true)
27 |
--------------------------------------------------------------------------------
/tests/test_092_ConnmsgWrongPwd.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_conn_errormsg() - wrong password
3 | --SKIPIF--
4 |
8 | --FILE--
9 |
24 | --EXPECTF--
25 | [IBM][CLI Driver] %s SQLSTATE=%d SQLCODE=-%d
26 |
--------------------------------------------------------------------------------
/tests/test_V6_090_ConnmsgWrongDbAlias.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_conn_errormsg() - wrong database alias
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
21 | --EXPECTF--
22 | Relational database x not in relational database directory. SQLCODE=-950
23 |
24 |
--------------------------------------------------------------------------------
/tests/test_091_ConnmsgWrongUser.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_conn_errormsg() - wrong username
3 | --SKIPIF--
4 |
8 | --FILE--
9 |
24 | --EXPECTF--
25 | [IBM][CLI Driver] %s SQLSTATE=%d SQLCODE=-%d
26 |
--------------------------------------------------------------------------------
/tests/test_002_ConnDbUncatalogedConn.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: connect to a database (uncataloged connection)
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
21 | --EXPECT--
22 | Connection succeeded.
23 |
--------------------------------------------------------------------------------
/tests/test_005_ConnBadUserBadPwd.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_connect() - bad user / bad pwd
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
23 | --EXPECT--
24 | Ooops
25 |
--------------------------------------------------------------------------------
/tests/test_212_FieldDisplaySize_03.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_field_display_size() - 3
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
22 | --EXPECT--
23 | SALES_PERSON size 15
24 | 2 size 15
25 |
--------------------------------------------------------------------------------
/tests/skipifNotTrustedContext.inc:
--------------------------------------------------------------------------------
1 |
24 |
--------------------------------------------------------------------------------
/tests/test_211_FieldDisplaySize_02.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_field_display_size() - 2
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
25 | --EXPECT--
26 | 1 size 15
27 | 2 size 15
28 | 3 size 11
29 | 4 size 0
30 |
--------------------------------------------------------------------------------
/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "pecl/ibm_db2",
3 | "type": "php-ext",
4 | "license": "Apache-2.0",
5 | "description": "Extension for IBM Db2 (LUW/i/z) and other compatible databases",
6 | "require": {
7 | "php": ">= 7.3.0"
8 | },
9 | "php-ext": {
10 | "extension-name": "ibm_db2",
11 | "configure-options": [
12 | {
13 | "name": "with-IBM_DB2",
14 | "description": "Enable ibm_db2 support. DIR is the path to the DB2 install prefix.",
15 | "needs-value": true
16 | }
17 | ]
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/tests/test_011_DeleteRowCount.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_num_rows - delete
3 | --SKIPIF--
4 |
5 | --FILE--
6 | 10.0" );
15 | echo "Number of affected rows: " . db2_num_rows( $stmt );
16 | db2_rollback($conn);
17 | db2_close($conn);
18 | }
19 | else {
20 | echo "Connection failed.";
21 | }
22 |
23 | ?>
24 | --EXPECT--
25 | Number of affected rows: 3
26 |
--------------------------------------------------------------------------------
/tests/test_003_NumAffectedRows.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: Count number of affected rows
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
24 | --EXPECT--
25 | Number of affected rows: 7
26 |
--------------------------------------------------------------------------------
/tests/test_010_UpdateRowCount.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_num_rows - update
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
24 | --EXPECT--
25 | Number of affected rows: 4
26 |
--------------------------------------------------------------------------------
/tests/test_250_FreeResult_01.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_free_result() - 1
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
25 | --EXPECT--
26 | bool(true)
27 | bool(true)
28 | bool(true)
29 |
--------------------------------------------------------------------------------
/tests/test_220_PersistentConn.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_pconnect() - test persistent connection
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
24 | --EXPECT--
25 | Number of affected rows: 4
26 |
--------------------------------------------------------------------------------
/tests/test_023_ColumnPrivileges.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_column_privileges -- tests the db2_column_privileges functionality
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
28 | --EXPECTF--
29 | ANIMALS
30 | BREED
31 | YES
32 |
--------------------------------------------------------------------------------
/tests/test_V6_ini_i5_blank_userid.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: 1.9.7 - IBM i security restrict blank db,uid,pwd (unless customer allow flag)
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
30 | --EXPECT--
31 | failed
32 | success
33 |
34 |
--------------------------------------------------------------------------------
/tests/test_210_FieldDisplaySize_01.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_field_display_size() - 1
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
24 | --EXPECT--
25 | col:0 and size: 6
26 | col:1 and size: 9
27 | col:2 and size: 6
28 | col:3 and size: 5
29 | col:4 and size: 6
30 | col:5 and size: 9
31 | col:6 and size: 9
32 |
--------------------------------------------------------------------------------
/tests/test_071_CloseSuccess.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_close() - success
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
31 | --EXPECT--
32 | db2_close succeeded
33 |
--------------------------------------------------------------------------------
/tests/test_x001_IBMi_LUW_DB2_I5_NAMING_ON.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: 1.9.7 - LUW and IBM i system naming mode DB2_I5_NAMING_ON
3 | --SKIPIF--
4 |
5 | --FILE--
6 | DB2_I5_NAMING_ON, 'i5_libl'=>"QTEMP FROG", 'i5_curlib'=>"FROG"));
9 | if (!$conn) die("connect\n".db2_stmt_errormsg()."\n");
10 | $stmt = db2_exec( $conn, "SELECT * FROM $user/animals ORDER BY breed" );
11 | if (!$stmt) die("stmt\n".db2_stmt_errormsg()."\n");
12 | while ($row = db2_fetch_array($stmt)) {
13 | echo "fetch\n".db2_stmt_errormsg()."\n";
14 | var_dump($row);
15 | }
16 | echo "success\n";
17 | ?>
18 | --EXPECTF--
19 | %s
20 | success
21 |
22 |
--------------------------------------------------------------------------------
/tests/test_030_Result.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_result
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
29 | --EXPECT--
30 | string(3) "cat"
31 | string(16) "Pook "
32 |
--------------------------------------------------------------------------------
/tests/test_012_ScrollableCursorSelectRowCount01.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_num_rows - select - scrollable cursor
3 | --SKIPIF--
4 |
5 | --FILE--
6 | DB2_SCROLLABLE) );
14 | db2_execute($stmt);
15 | $row = db2_fetch_both($stmt);
16 | var_dump($row);
17 | db2_close($conn);
18 | }
19 | else {
20 | echo "Connection failed.";
21 | }
22 |
23 | ?>
24 | --EXPECT--
25 | array(2) {
26 | ["NAME"]=>
27 | string(16) "Pook "
28 | [0]=>
29 | string(16) "Pook "
30 | }
31 |
--------------------------------------------------------------------------------
/tests/test_261_FetchObjectAccess.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_fetch_object() -- access
3 | --SKIPIF--
4 |
5 | --FILE--
6 | NAME}, my little {$pet->BREED}!";
22 | }
23 | db2_close($conn);
24 |
25 | }
26 | else {
27 | echo "Connection failed.\n";
28 | }
29 |
30 | ?>
31 | --EXPECT--
32 | Come here, Pook, my little cat!
33 |
--------------------------------------------------------------------------------
/tests/test_014_ScrollableCursorRetrieveNegativeRow.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: scrollable cursor; retrieve negative row
3 | --SKIPIF--
4 |
5 | --FILE--
6 | DB2_SCROLLABLE) );
13 | db2_execute($stmt);
14 | $rc = db2_fetch_row($stmt,-1);
15 | printf( "\nFetch row -1: %s\n", $rc ? "true" : "false" );
16 |
17 | db2_close($conn);
18 | ?>
19 | --EXPECTREGEX--
20 | (PHP )?Warning:\s+db2_fetch_row\(\): Requested row number must be a positive value in .*?test_014_ScrollableCursorRetrieveNegativeRow.php on line 9
21 |
22 | Fetch row -1: false
23 |
--------------------------------------------------------------------------------
/tests/test_034_FetchRow.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_fetch_row()
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
30 | --EXPECT--
31 | 10 Sanders 20 Mgr 7 18357.50
32 |
--------------------------------------------------------------------------------
/tests/test_192_ColumnsTable_03.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_columns() - 3 - table
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
27 | --EXPECTF--
28 | %s,EMP_RESUME,EMPNO,NO
29 | %s,EMP_RESUME,RESUME_FORMAT,NO
30 | %s,EMP_RESUME,RESUME,YES
31 |
--------------------------------------------------------------------------------
/tests/test_194_RetrieveCLOBColScrollable.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: retrieve CLOB columns: scrollable cursor
3 | --SKIPIF--
4 |
5 | --FILE--
6 | DB2_SCROLLABLE));
20 | $i = 1;
21 | while ($row = db2_fetch_array($result, $i++)) {
22 | print_r($row);
23 | }
24 | ?>
25 | --EXPECTREGEX--
26 | (PHP )?Warning:\s*db2_fetch_array\(\): Fetch Failure in .*?test_194_RetrieveCLOBColScrollable.php on line 16
27 |
--------------------------------------------------------------------------------
/tests/test_V6_260_FetchObject.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_fetch_object()
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
26 | --EXPECTF--
27 | %s{
28 | ["ID"]=>
29 | int(0)
30 | ["BREED"]=>
31 | string(3) "cat"
32 | ["NAME"]=>
33 | string(16) "Pook "
34 | ["WEIGHT"]=>
35 | string(4) "3.20"
36 | }
37 |
--------------------------------------------------------------------------------
/tests/test_019_selectRowcountPrefetchPrepOpt.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_num_rows - select (rowcount prefetch) - prep option
3 | --SKIPIF--
4 |
5 | --FILE--
6 | DB2_ROWCOUNT_PREFETCH_ON);
15 | $stmt = db2_prepare( $conn, "SELECT * from animals WHERE weight < 10.0", $options );
16 | db2_execute( $stmt );
17 | echo "Number of affected rows: " . db2_num_rows( $stmt );
18 | db2_close($conn);
19 | }
20 | else {
21 | echo "Connection failed.";
22 | }
23 |
24 | ?>
25 | --EXPECT--
26 | Number of affected rows: 4
27 |
--------------------------------------------------------------------------------
/tests/test_026_BindParam.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_bind_param -- test db2_bind_param for a clean exit
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
27 | --EXPECT--
28 | This script should exit cleanly with no segfaults
29 |
--------------------------------------------------------------------------------
/tests/test_048_FetchArrayBinaryData.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_fetch_array() - fetch one row of binary data
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
28 | --EXPECT--
29 | The files are the same...good.
30 |
--------------------------------------------------------------------------------
/tests/test_035_FetchRowMany_01.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_fetch_row() - several rows
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
22 | --EXPECT--
23 | 0,
24 | 1,
25 | 2,
26 | 3,
27 | 4,
28 | 5,
29 | 6,
30 | 7,
31 | 8,
32 | 9,
33 | 10,
34 | 11,
35 | 12,
36 | 13,
37 | 14,
38 | 15,
39 | 16,
40 | 17,
41 | 18,
42 | 19,
43 | 20,
44 | 21,
45 | 22,
46 | 23,
47 | 24,
48 | 25,
49 | 26,
50 | 27,
51 | 28,
52 | 29,
53 | 30,
54 | 31,
55 | 32,
56 | 33,
57 | 34,
58 |
--------------------------------------------------------------------------------
/tests/test_157a_FetchAssocWithoutScrollableCursorErr.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_fetch_assoc() - positioned without scrollable cursor (error)
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
25 | --EXPECTREGEX--
26 | (PHP )?Warning:\s+db2_fetch_assoc\(\): Fetch Failure in .*? on line \d+
27 |
--------------------------------------------------------------------------------
/tests/test_221_100PersistentConns.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_pconnect() - test 100 persistent connections
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
29 | --EXPECT--
30 | Number of affected rows: 4
31 |
--------------------------------------------------------------------------------
/tests/test_260_FetchObject.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_fetch_object()
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
26 | --EXPECTF--
27 | object(stdClass)#%d (4) {
28 | ["ID"]=>
29 | int(0)
30 | ["BREED"]=>
31 | string(3) "cat"
32 | ["NAME"]=>
33 | string(16) "Pook "
34 | ["WEIGHT"]=>
35 | string(4) "3.20"
36 | }
37 |
--------------------------------------------------------------------------------
/tests/test_130_PrepExecuteSelectStmt.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_prepare / db2_execute: SELECT statement
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
26 | --EXPECT--
27 | array(4) {
28 | [0]=>
29 | int(0)
30 | [1]=>
31 | string(3) "cat"
32 | [2]=>
33 | string(16) "Pook "
34 | [3]=>
35 | string(4) "3.20"
36 | }
37 |
--------------------------------------------------------------------------------
/tests/test_232_FieldTypePosName.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_field_type() - by position and name
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
27 | --EXPECT--
28 | SALES_DATE:date
29 | SALES_PERSON:string
30 | REGION:string
31 | SALES:int
32 | :
33 | -----
34 | bool(false)
35 | bool(false)
36 |
--------------------------------------------------------------------------------
/tests/test_191_ColumnsTable_02.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_columns() - 2 - table
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
28 | --EXPECTF--
29 | %s,EMP_PHOTO,EMPNO,NO
30 | %s,EMP_PHOTO,PHOTO_FORMAT,NO
31 | %s,EMP_PHOTO,PICTURE,YES
32 | done!
33 |
--------------------------------------------------------------------------------
/tests/test_222_PersistentConnReuseWithBadPassword.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_pconnect() - test persistent connection won't be reused with bad password
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
30 | --EXPECT--
31 | OK
32 |
--------------------------------------------------------------------------------
/tests/test_6528_ScopingProblemBindParam.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: PECL bug 6528 -- scoping problem in db2_bind_param
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
31 | --EXPECT--
32 | array(1) {
33 | [0]=>
34 | string(4) "Pook"
35 | }
36 |
--------------------------------------------------------------------------------
/config.w32:
--------------------------------------------------------------------------------
1 | ARG_WITH("ibm_db2", "Native support for IBM DB2", "no");
2 |
3 | if (PHP_IBM_DB2 != "no") {
4 | db2_lib_paths = PHP_PHP_BUILD + "\\lib\\db2;";
5 | db2_include_paths = PHP_PHP_BUILD + "\\include\\db2;";
6 |
7 | if (PHP_IBM_DB2 != "yes") {
8 | db2_lib_paths += PHP_IBM_DB2 + "\\lib;";
9 | db2_include_paths += PHP_IBM_DB2 + "\\include;";
10 | }
11 |
12 | if (CHECK_LIB("db2cli.lib", "ibm_db2", db2_lib_paths) || CHECK_LIB("db2cli64.lib", "ibm_db2", db2_lib_paths)) {
13 | EXTENSION("ibm_db2", "ibm_db2.c");
14 | CHECK_HEADER_ADD_INCLUDE('sql.h', 'CFLAGS_IBM_DB2', db2_include_paths);
15 | CHECK_HEADER_ADD_INCLUDE('sqlext.h', 'CFLAGS_IBM_DB2', db2_include_paths);
16 | CHECK_HEADER_ADD_INCLUDE('sqlcli1.h', 'CFLAGS_IBM_DB2',db2_include_paths);
17 | AC_DEFINE('HAVE_IBM_DB2', 1, 'Have IBM DB2 client library');
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/tests/test_190_ColumnsTable_01.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_columns() - 1 - table
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
28 | --EXPECTF--
29 | %s/EMPNO
30 | %s/FIRSTNME
31 | %s/MIDINIT
32 | %s/LASTNAME
33 | %s/WORKDEPT
34 | %s/PHONENO
35 | %s/HIREDATE
36 | %s/JOB
37 | %s/EDLEVEL
38 | %s/SEX
39 | %s/BIRTHDATE
40 | %s/SALARY
41 | %s/BONUS
42 | %s/COMM
43 | done!
44 |
--------------------------------------------------------------------------------
/tests/test_131_PrepareExecuteSelectStatementParams.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_prepare / db2_execute: SELECT statement with parameter
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
27 | --EXPECT--
28 | array(4) {
29 | [0]=>
30 | int(0)
31 | [1]=>
32 | string(3) "cat"
33 | [2]=>
34 | string(16) "Pook "
35 | [3]=>
36 | string(4) "3.20"
37 | }
38 |
--------------------------------------------------------------------------------
/tests/test_033_ResultOutSequenceColumn.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_result (out of sequence column requests)
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
30 | --EXPECT--
31 | string(4) "3.20"
32 | string(3) "cat"
33 | string(16) "Pook "
34 |
--------------------------------------------------------------------------------
/tests/test_132_ExecuteStatementArrayMultipleParams.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_execute statement with array of multiple parameters
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
29 | --EXPECT--
30 | array(4) {
31 | [0]=>
32 | int(0)
33 | [1]=>
34 | string(3) "cat"
35 | [2]=>
36 | string(16) "Pook "
37 | [3]=>
38 | string(4) "3.20"
39 | }
40 |
--------------------------------------------------------------------------------
/tests/test_140_BindParamSelectStmt.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_bind_param: SELECT statement
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
32 | --EXPECT--
33 | array(4) {
34 | [0]=>
35 | int(0)
36 | [1]=>
37 | string(3) "cat"
38 | [2]=>
39 | string(16) "Pook "
40 | [3]=>
41 | string(4) "3.20"
42 | }
43 |
--------------------------------------------------------------------------------
/tests/test_252_FreeResult_03.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_free_result() - 3
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
31 | --EXPECT--
32 | 1 , Java
33 |
--------------------------------------------------------------------------------
/tests/test_241_FieldWidthPosName_02.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_field_width() - by position and name 2
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
27 | --EXPECT--
28 | int(10)
29 | int(15)
30 | int(15)
31 | int(11)
32 |
33 | -----
34 | int(6)
35 | int(9)
36 | int(6)
37 | int(5)
38 | int(6)
39 | int(9)
40 | int(9)
41 |
--------------------------------------------------------------------------------
/tests/test_V6_241_FieldWidthPosName_02.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_field_width() - by position and name 2
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
27 | --EXPECT--
28 | int(10)
29 | int(15)
30 | int(15)
31 | int(4)
32 |
33 | -----
34 | int(2)
35 | int(9)
36 | int(2)
37 | int(5)
38 | int(2)
39 | int(1794)
40 | int(1794)
41 |
--------------------------------------------------------------------------------
/tests/test_V6_066_TableObjects.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_tables() - Play with table objects
3 | --SKIPIF--
4 |
5 | --FILE--
6 | TABLE_NAME)) {
16 | echo 'Schema: ' . $row->TABLE_SCHEM . "\n";
17 | echo 'Name: ' . $row->TABLE_NAME . "\n";
18 | echo 'Type: ' . $row->TABLE_TYPE . "\n";
19 | echo 'Remarks: ' . $row->REMARKS . "\n\n";
20 | }
21 | }
22 |
23 | db2_free_result($result);
24 | db2_close($conn);
25 |
26 | ?>
27 | --EXPECTF--
28 | Schema: %s
29 | Name: ANIMALS
30 | Type: TABLE
31 | Remarks:
32 |
33 | Schema: %s
34 | Name: ANIME_CAT
35 | Type: VIEW
36 | Remarks:
37 |
38 |
--------------------------------------------------------------------------------
/tests/escape.dat:
--------------------------------------------------------------------------------
1 |
2 | Original: Some random special characters:
3 | ,
, \ , ' , " .
4 | db2_escape_string: Some random special characters:
5 | ,
, \ , ' , " .
6 |
7 | Original: Backslash (\). Single quote ('). Double quote (")
8 | db2_escape_string: Backslash (\). Single quote ('). Double quote (")
9 |
10 | Original: The NULL character \0 must be escaped manually
11 | db2_escape_string: The NULL character \0 must be escaped manually
12 |
13 | Original: Intersting characters must be escaped manually: \x1a , \x00 .
14 | db2_escape_string: Intersting characters must be escaped manually: \x1a , \x00 .
15 |
16 | Original: Nothing to quote
17 | db2_escape_string: Nothing to quote
18 |
19 | Original: 200676
20 | db2_escape_string: 200676
21 |
22 | Original:
23 | db2_escape_string:
24 |
--------------------------------------------------------------------------------
/tests/test_9173_ProcedurePersistentConn.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: PECL bug 9173 -- db2_procedures & db2_ procedure_columns doesn't work on persistent connections
3 | --SKIPIF--
4 |
7 | --FILE--
8 |
25 | --EXPECTF--
26 | array(8) {
27 | ["PROCEDURE_CAT"]=>
28 | %s
29 | ["PROCEDURE_SCHEM"]=>
30 | string(%d) "%s"
31 | ["PROCEDURE_NAME"]=>
32 | string(%d) "%s"
33 | ["NUM_INPUT_PARAMS"]=>
34 | int(%d)
35 | ["NUM_OUTPUT_PARAMS"]=>
36 | int(%d)
37 | ["NUM_RESULT_SETS"]=>
38 | int(%d)
39 | ["REMARKS"]=>
40 | %s
41 | ["PROCEDURE_TYPE"]=>
42 | int(%d)
43 | }
44 |
--------------------------------------------------------------------------------
/tests/test_031_ResultIndexPosition.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_result (index by position)
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
32 | --EXPECT--
33 | int(0)
34 | string(3) "cat"
35 | string(16) "Pook "
36 | string(4) "3.20"
37 |
--------------------------------------------------------------------------------
/tests/test_03a_ResultNonExistCol.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_result -- request a column that does not exist
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
33 | --EXPECT--
34 | string(3) "cat"
35 | string(16) "Pook "
36 | NULL
37 |
--------------------------------------------------------------------------------
/tests/test_013_ScrollableCursorSelectRowCount02.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_num_rows - select - scrollable CURSOR
3 | --SKIPIF--
4 |
5 | --FILE--
6 | DB2_SCROLLABLE) );
14 | db2_execute($stmt);
15 | $row = db2_fetch_both($stmt);
16 | var_dump($row);
17 | db2_close($conn);
18 | }
19 | else {
20 | echo "Connection failed.";
21 | }
22 |
23 | ?>
24 | --EXPECT--
25 | array(8) {
26 | ["ID"]=>
27 | int(0)
28 | [0]=>
29 | int(0)
30 | ["BREED"]=>
31 | string(3) "cat"
32 | [1]=>
33 | string(3) "cat"
34 | ["NAME"]=>
35 | string(16) "Pook "
36 | [2]=>
37 | string(16) "Pook "
38 | ["WEIGHT"]=>
39 | string(4) "3.20"
40 | [3]=>
41 | string(4) "3.20"
42 | }
43 |
--------------------------------------------------------------------------------
/tests/test_032_ResultIndexName.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_result (index by name)
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
32 | --EXPECT--
33 | int(6)
34 | string(5) "llama"
35 | string(16) "Sweater "
36 | string(6) "150.00"
37 |
--------------------------------------------------------------------------------
/tests/test_9194_FetchBothCLOBColumns.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: PECL bug 9194 -- db2_fetch_both doesn't work on null CLOB columns
3 | --SKIPIF--
4 |
7 | --FILE--
8 |
35 | --EXPECT--
36 | array(4) {
37 | ["ID"]=>
38 | int(1)
39 | [0]=>
40 | int(1)
41 | ["MYCLOB"]=>
42 | NULL
43 | [1]=>
44 | NULL
45 | }
46 |
--------------------------------------------------------------------------------
/tests/test_041_FetchArrayMany_01.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_fetch_array several rows
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
32 | --EXPECT--
33 | 4 budgerigar Gizmo 0.20
34 | 0 cat Pook 3.20
35 | 1 dog Peaches 12.30
36 | 5 goat Rickety Ride 9.70
37 | 3 gold fish Bubbles 0.10
38 | 2 horse Smarty 350.00
39 | 6 llama Sweater 150.00
40 |
41 | Number of rows: 7
42 |
--------------------------------------------------------------------------------
/tests/test_6561_ReturnNULLValues.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: PECL bug 6561 -- returning NULL values from column functions
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
33 | --EXPECT--
34 | array(1) {
35 | [0]=>
36 | int(7)
37 | }
38 |
--------------------------------------------------------------------------------
/tests/test_V6_041_FetchArrayMany_01.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_fetch_array several rows
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
32 | --EXPECT--
33 | 4 budgerigar Gizmo .20
34 | 0 cat Pook 3.20
35 | 1 dog Peaches 12.30
36 | 5 goat Rickety Ride 9.70
37 | 3 gold fish Bubbles .10
38 | 2 horse Smarty 350.00
39 | 6 llama Sweater 150.00
40 |
41 | Number of rows: 7
42 |
--------------------------------------------------------------------------------
/tests/test_157_FetchAssocScrollableCursor_02.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_fetch_assoc() - positioned with scrollable cursor
3 | --SKIPIF--
4 |
8 | --FILE--
9 | DB2_SCROLLABLE));
17 |
18 | $i=2;
19 | while ($row = db2_fetch_assoc($result, $i)) {
20 | printf ("%-5d %-16s %-32s %10s\n",
21 | $row['ID'], $row['NAME'], $row['BREED'], $row['WEIGHT']);
22 |
23 | $i = $i + 2;
24 | }
25 | }
26 |
27 | ?>
28 | --EXPECT--
29 | 0 Pook cat 3.20
30 | 5 Rickety Ride goat 9.70
31 | 2 Smarty horse 350.00
32 |
--------------------------------------------------------------------------------
/tests/test_V6_ini_i5_trim_char.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: 2.0.3 - IBM i trim char (operator override)
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
30 | --EXPECTF--
31 | IBM_DB_i5_char_trim=0
32 | string(16) "Pook "
33 | IBM_DB_i5_char_trim=1
34 | string(4) "Pook"
35 |
36 |
--------------------------------------------------------------------------------
/tests/test_148_CallSPDiffBindPattern_01.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: Call a stored procedure in a different binding pattern
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
28 | --EXPECT--
29 | 5 , bug 58215 1 , bug 58215 2
30 |
--------------------------------------------------------------------------------
/tests/test_157b_FetchAssocScrollableCursor_01.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_fetch_assoc() - positioned with scrollable cursor
3 | --SKIPIF--
4 |
8 | --FILE--
9 | DB2_SCROLLABLE));
17 | $result = db2_execute($stmt);
18 |
19 | $i=2;
20 | while ($row = db2_fetch_assoc($stmt, $i)) {
21 | printf ("%-5d %-16s %-32s %10s\n",
22 | $row['ID'], $row['NAME'], $row['BREED'], $row['WEIGHT']);
23 |
24 | $i = $i + 2;
25 | }
26 | }
27 |
28 | ?>
29 | --EXPECT--
30 | 0 Pook cat 3.20
31 | 5 Rickety Ride goat 9.70
32 | 2 Smarty horse 350.00
33 |
--------------------------------------------------------------------------------
/tests/test_125_FieldNamePos_03.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_field_name() - by position 3
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
33 | --EXPECT--
34 | 0:SALES_DATE
35 | 1:SALES_PERSON
36 | 2:REGION
37 | 3:SALES
38 |
39 | -----
40 | 0:ID
41 | 1:NAME
42 | 2:DEPT
43 | 3:JOB
44 | 4:YEARS
45 | 5:SALARY
46 | 6:COMM
47 |
48 | -----
49 | Region:REGION
50 | 5:SALARY
51 |
--------------------------------------------------------------------------------
/tests/test_V6_ini_i5_allow_commit.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: 1.9.7 - IBM i test ini isolation modes (operator issue)
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
33 | --EXPECT--
34 | Number of affected rows: 7
35 | success
36 |
37 |
--------------------------------------------------------------------------------
/tests/test_049_BindParamInsertStmtNULL.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_bind_param: INSERT statement - NULL parameter
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
33 | --EXPECT--
34 | array(4) {
35 | [0]=>
36 | NULL
37 | [1]=>
38 | string(5) "ghost"
39 | [2]=>
40 | NULL
41 | [3]=>
42 | NULL
43 | }
44 |
--------------------------------------------------------------------------------
/tests/test_RealDataType.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: Real datatype test.
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
36 | --EXPECT--
37 | -2.3399999141693115
38 | -2.3399999141693115
39 |
--------------------------------------------------------------------------------
/tests/test_045_FetchArrayBinaryData.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_fetch_array() - binary data
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
36 | --EXPECT--
37 | The files are the same...good.
38 | Iterated over 8 rows.
39 |
--------------------------------------------------------------------------------
/tests/test_153_FetchAssocSelect_04.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_fetch_assoc() - simple select 4
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
26 | --EXPECT--
27 |
28 | 10 Head Office 160 Corporate New York
29 | 15 New England 50 Eastern Boston
30 | 20 Mid Atlantic 10 Eastern Washington
31 | 38 South Atlantic 30 Eastern Atlanta
32 | 42 Great Lakes 100 Midwest Chicago
33 | 51 Plains 140 Midwest Dallas
34 | 66 Pacific 270 Western San Francisco
35 | 84 Mountain 290 Western Denver
36 |
37 |
--------------------------------------------------------------------------------
/tests/test_101_InsertDeleteFieldCount.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_num_fields() - insert, delete
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
35 | --EXPECT--
36 | col: 0,affected row: 1col: 0,affected row: 1
37 |
--------------------------------------------------------------------------------
/tests/test_040_FetchArray.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_fetch_array one row
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
35 | --EXPECT--
36 | array(4) {
37 | [0]=>
38 | int(0)
39 | [1]=>
40 | string(3) "cat"
41 | [2]=>
42 | string(16) "Pook "
43 | [3]=>
44 | string(4) "3.20"
45 | }
46 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | Developers Certificate of Origin 1.1
2 |
3 | By making a contribution to this project, I certify that:
4 |
5 | (a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or
6 |
7 | (b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or
8 |
9 | (c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it.
10 |
11 | (d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved.
12 |
--------------------------------------------------------------------------------
/tests/test_163_FetchBothBinary.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_fetch_both() - fetch binary data and iterate over result set
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
36 | --EXPECT--
37 | The files are the same...good.
38 | Iterated over 8 rows.
39 |
--------------------------------------------------------------------------------
/tests/test_1551_FetchAssocBinary.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_fetch_assoc() - fetch binary data and iterate over result set
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
36 | --EXPECT--
37 | The files are the same...good.
38 | Iterated over 8 rows.
39 |
--------------------------------------------------------------------------------
/tests/test_143_BindParamInsertStmtNULLParam.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_bind_param: INSERT statement - NULL parameter
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
36 | --EXPECT--
37 | array(4) {
38 | [0]=>
39 | NULL
40 | [1]=>
41 | string(5) "ghost"
42 | [2]=>
43 | NULL
44 | [3]=>
45 | NULL
46 | }
47 |
--------------------------------------------------------------------------------
/tests/test_V6_133_ExecuteLongInputParams.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_execute with excessively long input parameters
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
33 | --EXPECTF--
34 | bool(false)
35 | SQLSTATE: 22001
36 | Message: Value for column or variable NAME too long.
37 |
--------------------------------------------------------------------------------
/tests/test_112_FieldNumDiffCaseColNames.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_field_num() - colnames diff. case
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
41 | --EXPECT--
42 | int(0)
43 | int(1)
44 | int(2)
45 |
--------------------------------------------------------------------------------
/tests/test_159a_FetchAssocSeveralRows_02.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_fetch_assoc() - several rows 2
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
22 | --EXPECT--
23 | 1 1982-01-01 1983-02-01
24 | 2 1982-01-01 1983-02-01
25 | 3 1982-01-01 1983-02-01
26 | 4 1982-01-01 1983-02-01
27 | 5 1982-01-01 1983-02-01
28 | 6 1982-01-01 1983-02-01
29 | 7 1982-01-01 1983-02-01
30 | 8 1982-01-01 1983-02-01
31 | 9 1982-01-01 1983-02-01
32 | 10 1982-01-01 1982-12-01
33 | 11 1982-01-01 1982-12-01
34 | 12 1982-02-15 1982-12-01
35 | 13 1982-01-01 1983-02-01
36 | 14 1982-01-01 1983-02-01
37 | 15 1982-01-01 1983-02-01
38 | 16 1982-01-01 1983-02-01
39 | 17 1982-01-01 1983-02-01
40 | 18 1982-01-01 1983-02-01
41 | 19 1982-01-01 1983-02-01
42 | 20 1982-01-01 1982-09-15
43 |
--------------------------------------------------------------------------------
/tests/test_V6_ini_i5_max_pconnect.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: 1.9.7 - IBM i max use pconnect (operator issue)
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
42 | --EXPECTF--
43 | %s
44 | %s
45 | success
46 | %s
47 | success
48 |
49 |
--------------------------------------------------------------------------------
/tests/test_110_FieldNum.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_field_num()
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
40 | --EXPECT--
41 | int(0)
42 | int(1)
43 | int(2)
44 | int(3)
45 | bool(false)
46 | bool(false)
47 | int(1)
48 | bool(false)
49 |
--------------------------------------------------------------------------------
/tests/test_V6_ini_i5_servermode_subsystem.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: 1.9.7 - IBM i change QSQSRVR subsystem ccsid 1208 (operator issue)
3 | --SKIPIF--
4 |
7 | --FILE--
8 | crtlib adc
13 | > CRTSBSD SBSD(ADC/ADC) POOLS((1 *BASE)) TEXT('tony subsystem descr')
14 | > CRTJOBD JOBD(ADC/ADC) TEXT('tony job descr')
15 | > CRTCLS CLS(ADC/ADC) TEXT('tony class')
16 | > ADDPJE SBSD(ADC/ADC) PGM(QSYS/QSQSRVR) MAXJOBS(*NOMAX)
17 | > strsbs adc/adc
18 | */
19 |
20 | putenv("IBM_DB_I5_TEST=1");
21 | putenv("IBM_DB_i5_override_ccsid=1208");
22 | putenv("IBM_DB_i5_servermode_subsystem=ADC"); /* before include this test */
23 | $conn1 = db2_connect($database, $user, $password);
24 | $xml = xmlservice_diag($conn1);
25 | $key1 = xmlservice_diag_jobinfo($xml);
26 | echo "key1 $key1\n";
27 | db2_close($conn1);
28 |
29 | if (strpos($key1,"ADC") === false) {
30 | echo "failed key1 ($key1) missing ADC\n";
31 | } else {
32 | echo "success\n";
33 | }
34 |
35 | ?>
36 | --EXPECTF--
37 | %s
38 | success
39 |
40 |
41 |
--------------------------------------------------------------------------------
/tests/test_007_pConnPassingOpts.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_pconnect() - passing options
3 | --SKIPIF--
4 |
5 | --FILE--
6 | DB2_SCROLLABLE);
11 | $options2 = array('cursor' => DB2_FORWARD_ONLY);
12 |
13 | $conn = db2_pconnect($database, $user, $password);
14 |
15 | if ($conn) {
16 | $stmt = db2_prepare( $conn, "SELECT name FROM animals WHERE weight < 10.0", $options2 );
17 | db2_execute($stmt);
18 | $data = db2_fetch_both($stmt);
19 | var_dump($data);
20 |
21 | echo "\n";
22 |
23 | $stmt = db2_prepare( $conn, "SELECT name FROM animals WHERE weight < 10.0" );
24 | db2_execute($stmt);
25 | $data = db2_fetch_both($stmt);
26 | var_dump($data);
27 |
28 | db2_close($conn);
29 | }
30 | else {
31 | echo "Connection failed.";
32 | }
33 |
34 | ?>
35 | --EXPECT--
36 | array(2) {
37 | ["NAME"]=>
38 | string(16) "Pook "
39 | [0]=>
40 | string(16) "Pook "
41 | }
42 |
43 | array(2) {
44 | ["NAME"]=>
45 | string(16) "Pook "
46 | [0]=>
47 | string(16) "Pook "
48 | }
49 |
--------------------------------------------------------------------------------
/tests/test_006_ConnPassingOpts.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_connect() - passing options
3 | --SKIPIF--
4 |
5 | --FILE--
6 | DB2_SCROLLABLE);
11 | $options2 = array('cursor' => DB2_FORWARD_ONLY);
12 |
13 | $conn = db2_connect($database, $user, $password);
14 |
15 | if ($conn) {
16 | $stmt = db2_prepare( $conn, "SELECT name FROM animals WHERE weight < 10.0", $options2 );
17 | db2_execute($stmt);
18 | $data = db2_fetch_both($stmt);
19 | var_dump($data);
20 |
21 | echo "\n";
22 |
23 | $stmt = db2_prepare( $conn, "SELECT name FROM animals WHERE weight < 10.0", $options1 );
24 | db2_execute($stmt);
25 | $data = db2_fetch_both($stmt);
26 | var_dump($data);
27 |
28 | db2_close($conn);
29 | }
30 | else {
31 | echo "Connection failed.";
32 | }
33 |
34 | ?>
35 | --EXPECT--
36 | array(2) {
37 | ["NAME"]=>
38 | string(16) "Pook "
39 | [0]=>
40 | string(16) "Pook "
41 | }
42 |
43 | array(2) {
44 | ["NAME"]=>
45 | string(16) "Pook "
46 | [0]=>
47 | string(16) "Pook "
48 | }
49 |
--------------------------------------------------------------------------------
/tests/test_144_BindParamInsertStmtPARAM_FILE.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_bind_param: INSERT statement (one param) - DB2_PARAM_FILE
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
43 | --EXPECT--
44 | 1
45 |
--------------------------------------------------------------------------------
/tests/test_120_FieldName.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_field_name()
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
40 | --EXPECT--
41 | string(5) "BREED"
42 | string(4) "NAME"
43 | string(6) "WEIGHT"
44 | bool(false)
45 | string(2) "ID"
46 | bool(false)
47 | string(2) "ID"
48 | bool(false)
49 |
--------------------------------------------------------------------------------
/tests/test_195_InsertRetrieveXMLData_01.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: insert and retrieve XML data
3 | --SKIPIF--
4 |
9 | --FILE--
10 | ')";
23 |
24 | db2_exec( $conn, $insert );
25 |
26 | if ($conn) {
27 | $sql = "SELECT data FROM xmlTest";
28 | $stmt = db2_prepare( $conn, $sql );
29 | db2_execute($stmt);
30 | while($result = db2_fetch_assoc($stmt)) {
31 | print_r($result);
32 | echo "\n";
33 | }
34 | $drop = 'DROP TABLE xmlTest';
35 | $result = @db2_exec($conn, $drop);
36 | db2_close($conn);
37 | }
38 | else {
39 | echo "Connection failed.\n";
40 | }
41 |
42 | ?>
43 | --EXPECT--
44 | Array
45 | (
46 | [DATA] =>
47 | )
48 |
--------------------------------------------------------------------------------
/tests/test_V6_310_ClientInfo.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_client_info()
3 | --SKIPIF--
4 |
5 | --FILE--
6 | DRIVER_NAME );
16 | echo "DRIVER_VER: "; var_dump( $client->DRIVER_VER );
17 | echo "DATA_SOURCE_NAME: "; var_dump( $client->DATA_SOURCE_NAME );
18 | echo "DRIVER_ODBC_VER: "; var_dump( $client->DRIVER_ODBC_VER );
19 | // echo "ODBC_VER: "; // var_dump( $client->ODBC_VER );
20 | echo "ODBC_SQL_CONFORMANCE: "; var_dump( $client->ODBC_SQL_CONFORMANCE );
21 | // echo "APPL_CODEPAGE: "; // var_dump( $client->APPL_CODEPAGE );
22 | // echo "CONN_CODEPAGE: "; // var_dump( $client->CONN_CODEPAGE );
23 |
24 | db2_close($conn);
25 | }
26 | else {
27 | echo "Error.";
28 | }
29 |
30 | ?>
31 | --EXPECTF--
32 | DRIVER_NAME: string(%d) %s
33 | DRIVER_VER: string(%d) %s
34 | DATA_SOURCE_NAME: string(%d) %s
35 | DRIVER_ODBC_VER: string(%d) %s
36 | ODBC_SQL_CONFORMANCE: string(%d) %s
37 |
--------------------------------------------------------------------------------
/tests/test_213_FieldDisplaySize_04.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_field_display_size() - 4
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
47 | --EXPECT--
48 | sales_person size 0
49 | REGION size 15
50 | REgion size 0
51 | HELMUT size 0
52 | bool(false)
53 | bool(false)
54 | bool(false)
55 | int(10)
56 |
--------------------------------------------------------------------------------
/tests/test_6572_SQLStringsContNULLChar.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: PECL bug 6572 -- SQL strings containing NULL characters
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
37 | --EXPECT--
38 | PHP value of null_string is scaly guy.
39 | array(2) {
40 | [0]=>
41 | string(5) "gecko"
42 | [1]=>
43 | string(5) "scaly"
44 | }
45 |
--------------------------------------------------------------------------------
/tests/test_020_RollbackDelete.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_rollback() - delete
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
46 | --EXPECT--
47 | 7
48 | 0
49 | 7
50 |
--------------------------------------------------------------------------------
/tests/test_022_RollbackInsert.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_rollback() - insert
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
45 | --EXPECT--
46 | 7
47 | 8
48 | 7
49 |
--------------------------------------------------------------------------------
/tests/test_V6_180_StmtErrMsg.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_stmt_errormsg()
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
43 | --EXPECTF--
44 | Token INT0 was not valid. Valid tokens: INTO. SQLCODE=-104col: 0,affected row: 0
45 |
--------------------------------------------------------------------------------
/tests/test_230_FieldTypePos.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_field_type() - by position
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
36 | --EXPECT--
37 | 0:date
38 | 1:string
39 | 2:string
40 | 3:int
41 | 4:
42 |
43 | -----
44 | 0:int
45 | 1:string
46 | 2:int
47 | 3:string
48 | 4:int
49 | 5:real
50 | 6:real
51 |
52 | -----
53 | 0:string
54 | 1:string
55 | 2:blob
56 |
57 | -----
58 | region:
59 | 5:real
60 |
--------------------------------------------------------------------------------
/tests/test_gh_62.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: Binding empty string to NVARCHAR (GH-62)
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
38 | --EXPECTF--
39 | success
40 |
41 |
--------------------------------------------------------------------------------
/tests/test_310_ClientInfo.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_client_info()
3 | --SKIPIF--
4 |
5 | --FILE--
6 | DRIVER_NAME );
16 | echo "DRIVER_VER: "; var_dump( $client->DRIVER_VER );
17 | echo "DATA_SOURCE_NAME: "; var_dump( $client->DATA_SOURCE_NAME );
18 | echo "DRIVER_ODBC_VER: "; var_dump( $client->DRIVER_ODBC_VER );
19 | echo "ODBC_VER: "; var_dump( $client->ODBC_VER );
20 | echo "ODBC_SQL_CONFORMANCE: "; var_dump( $client->ODBC_SQL_CONFORMANCE );
21 | echo "APPL_CODEPAGE: "; var_dump( $client->APPL_CODEPAGE );
22 | echo "CONN_CODEPAGE: "; var_dump( $client->CONN_CODEPAGE );
23 |
24 | db2_close($conn);
25 | }
26 | else {
27 | echo "Error.";
28 | }
29 |
30 | ?>
31 | --EXPECTF--
32 | DRIVER_NAME: string(%d) %s
33 | DRIVER_VER: string(%d) %s
34 | DATA_SOURCE_NAME: string(%d) %s
35 | DRIVER_ODBC_VER: string(%d) %s
36 | ODBC_VER: string(%d) %s
37 | ODBC_SQL_CONFORMANCE: string(%d) %s
38 | APPL_CODEPAGE: int(%d)
39 | CONN_CODEPAGE: int(%d)
40 |
41 |
42 |
--------------------------------------------------------------------------------
/tests/test_015_InsertDeleteRowCount_01.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_num_rows - insert, delete
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
42 | --EXPECT--
43 | col: 0,affected row: 1col: 0,affected row: 1
44 |
--------------------------------------------------------------------------------
/tests/test_016_InsertDeleteRowCount_02.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_num_rows - insert, delete
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
43 | --EXPECT--
44 | col: 0,affected row: 1col: 0,affected row: 1
45 |
--------------------------------------------------------------------------------
/tests/test_133_ExecuteLongInputParams.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_execute with excessively long input parameters
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
33 | --EXPECTREGEX--
34 | (PHP )?Warning:\s+db2_execute\(\): Statement Execute Failed in .*?test_133_ExecuteLongInputParams.php on line \d+
35 | bool\(false\)
36 | SQLSTATE: 22001
37 | Message: \[IBM\]\[CLI Driver\] CLI0109E String data right truncation. SQLSTATE=22001
38 |
--------------------------------------------------------------------------------
/tests/test_240_FieldWidthPosName_01.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_field_width() - by position and name
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
37 | --EXPECT--
38 | 0:10
39 | 1:15
40 | 2:15
41 | 3:11
42 |
43 | -----
44 | 0:6
45 | 1:9
46 | 2:6
47 | 3:5
48 | 4:6
49 | 5:9
50 | 6:9
51 |
52 | -----
53 | 0:6,6
54 | 1:10,10
55 | 2:102400,204800
56 |
57 | -----
58 | region:
59 | 5:real
60 |
--------------------------------------------------------------------------------
/tests/test_V6_hebrew.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: 1.9.7 - IBM i Hebrew (zend support issue)
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
40 | --EXPECTF--
41 | IBM i data string "123Eאבג"
42 | IBM i data string "123Eאבג"
43 | success
44 |
45 |
--------------------------------------------------------------------------------
/tests/test_V6_240_FieldWidthPosName_01.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_field_width() - by position and name
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
37 | --EXPECT--
38 | 0:10
39 | 1:15
40 | 2:15
41 | 3:4
42 |
43 | -----
44 | 0:2
45 | 1:9
46 | 2:2
47 | 3:5
48 | 4:2
49 | 5:1794
50 | 6:1794
51 |
52 | -----
53 | 0:6,6
54 | 1:10,10
55 | 2:102400,102400
56 |
57 | -----
58 | region:
59 | 5:real
60 |
--------------------------------------------------------------------------------
/tests/test_231_FieldTypeName.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_field_type() - by name
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
36 | --EXPECT--
37 | 0:date
38 | 1:string
39 | 2:string
40 | 3:int
41 | 4:
42 |
43 | -----
44 | 0:int
45 | 1:string
46 | 2:int
47 | 3:string
48 | 4:int
49 | 5:real
50 | 6:real
51 |
52 | -----
53 | 0:string
54 | 1:string
55 | 2:blob
56 |
57 | -----
58 | region:
59 | 5:real
60 |
--------------------------------------------------------------------------------
/tests/test_180_StmtErrMsg.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_stmt_errormsg()
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
43 | --EXPECTF--
44 | [IBM][CLI Driver]%s SQL0104N An unexpected token %s was found following %s. Expected tokens may include: %s. SQLSTATE=42601 SQLCODE=-104col: 0,affected row: 0
45 |
--------------------------------------------------------------------------------
/tests/test_6755_ExtraNULLChar_ResultCLOBCol.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: PECL bug 6755 -- Extra null character on result from CLOB column
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
40 | --EXPECT--
41 | "database" from VARCHAR is 8 bytes long, "database" from CLOB is 8 bytes long.
42 |
43 |
--------------------------------------------------------------------------------
/tests/test_024_ForeignKeys.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_foreign_keys -- tests the db2_foreign_keys functionality
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
42 | --EXPECT--
43 | TEST_PRIMARY_KEYS
44 | ID
45 | TEST_FOREIGN_KEYS
46 | IDF
47 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | language: php
2 |
3 | php:
4 | - '7.3'
5 | - '7.2'
6 | - '7.1'
7 | - '7.0'
8 | - '5.6'
9 |
10 | install:
11 | - curl https://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/linuxx64_odbc_cli.tar.gz | tar -xz
12 | - docker pull ibmcom/db2express-c
13 | - docker run --name db2 -p 60000:50000 -e DB2INST1_PASSWORD=password -e LICENSE=accept -d ibmcom/db2express-c db2start
14 | - docker ps -as
15 | - docker exec -it db2 su - db2inst1 -c "db2 create db sample"
16 |
17 | before_script:
18 | # Ensure that DB2CLIINIPATH gets passed to the tests
19 | - echo 'variables_order = "EGPCS"' >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini
20 |
21 | script:
22 | - phpize
23 | - ./configure --with-IBM_DB2=$PWD/clidriver
24 | - make
25 | - |
26 | cat < db2cli.ini
27 | [SAMPLE]
28 | Hostname=localhost
29 | Protocol=TCPIP
30 | Port=60000
31 | Database=sample
32 | EOF
33 | - cat db2cli.ini
34 | # Ensure that tests are not skipped (false positive) due to bad configuration
35 | - export IBM_DB2_TEST_SKIP_CONNECT_FAILURE=0
36 | # Ensure CLI can find the configuration
37 | - export DB2CLIINIPATH=$PWD
38 | # Ensure make returns non-zero when a test fails
39 | - export REPORT_EXIT_STATUS=1
40 | # Save the report so we can print it if a test fails
41 | - make test TESTS='-s report.txt'
42 |
43 | after_failure:
44 | - cat report.txt
45 |
--------------------------------------------------------------------------------
/tests/test_060_Tables_01.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_tables() - 1
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
50 | --EXPECT--
51 | T/T1
52 | T/T2
53 | T/T3
54 | T/T4
55 | done!
56 |
--------------------------------------------------------------------------------
/tests/test_100_SelectDeleteInsertFieldCount.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_num_fields() - select - delete - insert
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
47 | --EXPECT--
48 | int(4)
49 | int(2)
50 | int(0)
51 | int(0)
52 | int(3)
53 |
--------------------------------------------------------------------------------
/tests/test_042_FetchArrayMany_02.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_fetch_array() - several rows 1
3 | --SKIPIF--
4 |
5 | --FILE--
6 | %s (%s)
",$row['0'], $row['0'], $row[1]);
31 | print "\n";
32 | }
33 | }
34 |
35 |
36 | ?>
37 | --EXPECT--
38 | 000130 (jpg)
39 | 000140 (jpg)
40 | 000150 (jpg)
41 | 000190 (jpg)
42 |
43 |
--------------------------------------------------------------------------------
/tests/test_141_BindParamSelectStmtMultipleParams_01.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_bind_param: SELECT statement (multiple params)
3 | --SKIPIF--
4 |
5 | --FILE--
6 | ?";
13 |
14 | $conn = db2_connect($database, $user, $password);
15 |
16 | if ($conn) {
17 | $stmt = db2_prepare( $conn, $sql );
18 |
19 | $animal = 5;
20 | $mass = 2.0;
21 | db2_bind_param($stmt, 1, 'animal');
22 | db2_bind_param($stmt, 2, 'mass');
23 |
24 | if (db2_execute($stmt))
25 | {
26 | while ($row = db2_fetch_array($stmt)) {
27 | var_dump($row);
28 | }
29 | }
30 | db2_close($conn);
31 | }
32 | else
33 | {
34 | echo "Connection failed.\n";
35 | }
36 |
37 | ?>
38 | --EXPECT--
39 | array(4) {
40 | [0]=>
41 | int(0)
42 | [1]=>
43 | string(3) "cat"
44 | [2]=>
45 | string(16) "Pook "
46 | [3]=>
47 | string(4) "3.20"
48 | }
49 | array(4) {
50 | [0]=>
51 | int(1)
52 | [1]=>
53 | string(3) "dog"
54 | [2]=>
55 | string(16) "Peaches "
56 | [3]=>
57 | string(5) "12.30"
58 | }
59 | array(4) {
60 | [0]=>
61 | int(2)
62 | [1]=>
63 | string(5) "horse"
64 | [2]=>
65 | string(16) "Smarty "
66 | [3]=>
67 | string(6) "350.00"
68 | }
69 |
--------------------------------------------------------------------------------
/tests/test_018_selectRowcountPrefetchSetOpt.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_num_rows - select (rowcount prefetch) - set option
3 | --SKIPIF--
4 |
5 | --FILE--
6 | DB2_ROWCOUNT_PREFETCH_ON);
16 | db2_set_option($stmt, $options, 2);
17 | db2_execute( $stmt );
18 | echo "Number of affected rows: " . db2_num_rows( $stmt );
19 | echo "\n";
20 | db2_free_result( $stmt );
21 | $options = array('rowcount' => DB2_ROWCOUNT_PREFETCH_OFF);
22 | db2_set_option($stmt, $options, 2);
23 | db2_execute( $stmt );
24 | echo "Number of affected rows: " . db2_num_rows( $stmt );
25 | echo "\n";
26 | db2_free_result( $stmt );
27 | $options = array('rowcount' => DB2_ROWCOUNT_PREFETCH_ON);
28 | db2_set_option($stmt, $options, 2);
29 | db2_execute( $stmt );
30 | echo "Number of affected rows: " . db2_num_rows( $stmt );
31 |
32 | db2_close($conn);
33 | }
34 | else {
35 | echo "Connection failed.";
36 | }
37 |
38 | ?>
39 | --EXPECT--
40 | Number of affected rows: 4
41 | Number of affected rows: -1
42 | Number of affected rows: 4
43 |
--------------------------------------------------------------------------------
/tests/test_017_selectRowcountPrefetchSTMTOpt.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_num_rows - select (rowcount prefetch) - stmt option
3 | --SKIPIF--
4 |
5 | --FILE--
6 | DB2_SCROLLABLE) );
15 | echo "Number of affected rows: " . db2_num_rows( $stmt );
16 | echo "\n";
17 | $stmt = db2_exec( $conn, "SELECT * from animals WHERE weight < 10.0", array('cursor' => DB2_FORWARD_ONLY) );
18 | echo "Number of affected rows: " . db2_num_rows( $stmt );
19 | echo "\n";
20 | $stmt = db2_exec( $conn, "SELECT * from animals WHERE weight < 10.0", array('rowcount' => DB2_ROWCOUNT_PREFETCH_ON) );
21 | echo "Number of affected rows: " . db2_num_rows( $stmt );
22 | echo "\n";
23 | $stmt = db2_exec( $conn, "SELECT * from animals WHERE weight < 10.0", array('rowcount' => DB2_ROWCOUNT_PREFETCH_OFF) );
24 | echo "Number of affected rows: " . db2_num_rows( $stmt );
25 | db2_close($conn);
26 | }
27 | else {
28 | echo "Connection failed.";
29 | }
30 |
31 | ?>
32 | --EXPECT--
33 | Number of affected rows: 4
34 | Number of affected rows: -1
35 | Number of affected rows: 4
36 | Number of affected rows: -1
37 |
--------------------------------------------------------------------------------
/tests/test_111_FieldNumAddCol.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_field_num() - add. col.
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
46 | --EXPECT--
47 | bool(false)
48 | int(0)
49 | int(1)
50 | bool(false)
51 | bool(false)
52 | bool(false)
53 | int(1)
54 | bool(false)
55 |
--------------------------------------------------------------------------------
/tests/connection.inc:
--------------------------------------------------------------------------------
1 | 0) {
18 | $myos = shell_exec("uname");
19 | }
20 | if (strpos($myos,'400') > 0) {
21 | if (strpos($_SERVER["PHP_SELF"],"V6") === false) {
22 | require_once('skipif.PASE');
23 | for ($entry = strtok($PASE_ALT_TEST,"\n"); $entry; $entry = strtok("\n")) {
24 | $check = str_replace(array("test_V6",".phpt",".php"),"",$entry);
25 | if (strpos($_SERVER["PHP_SELF"],$check) > 0) {
26 | die('skip');
27 | }
28 | }
29 | }
30 | }
31 | // LUW (not PASE)
32 | else {
33 | if (strpos($_SERVER["PHP_SELF"],"V6") > 0) {
34 | die('skip');
35 | }
36 | }
37 |
38 |
39 | date_default_timezone_set('UTC');
40 |
41 |
42 | $skip_on_connect_failure = getenv("IBM_DB2_TEST_SKIP_CONNECT_FAILURE") !== FALSE ?
43 | getenv("IBM_DB2_TEST_SKIP_CONNECT_FAILURE") : true;
44 |
45 |
46 | // test connection ok
47 | $prepconn = db2_connect($database, $user, $password);
48 | if (!$prepconn) {
49 | if($skip_on_connect_failure) die("skip - Couldn't connect");
50 | }
51 | else {
52 | db2_close($prepconn);
53 | }
54 |
55 | unset($skip_on_connect_failure);
56 |
57 | ?>
58 |
--------------------------------------------------------------------------------
/tests/test_061_Tables_02.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_tables() - 2
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
51 | --EXPECT--
52 | TT1TABLE
53 | TT2TABLE
54 | TT3TABLE
55 | TT4TABLE
56 | done!
57 |
--------------------------------------------------------------------------------
/tests/test_122_FieldNameDiffCaseColNames.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_field_name() - colnames diff. case
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
48 | --EXPECT--
49 | string(4) "TEST"
50 | string(4) "test"
51 | string(4) "Test"
52 | string(4) "TEST"
53 | string(4) "test"
54 | string(4) "Test"
55 |
--------------------------------------------------------------------------------
/tests/resume_000190.txt:
--------------------------------------------------------------------------------
1 |
2 |
3 | Resume: James H. Walker
4 |
5 |
6 | Personal Information
7 |
8 | Address: 3500 Steeles Ave
9 | Mellonville, Idaho 83757
10 | Phone: (208) 725-7325
11 | Birthdate: June 25, 1952
12 | Sex: Male
13 | Marital Status: Single
14 | Height: 5'11"
15 | Weight: 166 lbs.
16 |
17 |
18 | Department Information
19 |
20 | Employee Number: 000190
21 | Dept Number: D11
22 | Manager: Irving Stern
23 | Position: Designer
24 | Phone: (208) 385-2986
25 | Hire Date: 1974-07-26
26 |
27 |
28 | Education
29 |
30 | 1974 Computer Studies, B.Sc.
31 | University of Massachusetts
32 |
33 | 1972 Linguistic Anthropology, B.A.
34 | University of Toronto
35 |
36 |
37 | Work History
38 |
39 | 6/87 - present Microcode Design
40 | Optimizing algorithms for mathematical functions.
41 |
42 | 4/77 - 5/87 Printer Technical Support
43 | Installing and supporting laser printers.
44 |
45 | 9/74 - 3/77 Maintenance Programming
46 | Patching assembly language compiler for
47 | mainframes.
48 |
49 |
50 | Interests
51 |
52 | o Wine tasting
53 | o Skiing
54 | o Swimming
55 | o Dancing
56 |
--------------------------------------------------------------------------------
/tests/test_062_Tables_03.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_tables() - 3
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
53 | --EXPECT--
54 | T/T1/TABLE
55 | T/T2/TABLE
56 | T/T3/TABLE
57 | T/T4/TABLE
58 | done!
59 |
--------------------------------------------------------------------------------
/tests/test_321_ResultFetchArraysLobsXMLTypes.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_result, db2_fetch_array tests lobs and xml types
3 | --SKIPIF--
4 |
9 | --FILE--
10 | '), clob('a clob'), xmlserialize(xmlQuery('') as varchar(1000)))";
16 | $stmt = db2_prepare($conn, $sql);
17 | if (db2_execute($stmt)) {
18 | while (db2_fetch_row($stmt)) {
19 | for( $i = 0 ; $i < 3 ; $i++ ) {
20 | $x = db2_result($stmt,$i);
21 | echo "col $i: type:", gettype($x), " ", db2_field_type($stmt,$i), " value:[", $x, "] false?", ($x===false),"\n";
22 | }
23 | }
24 | } else {
25 | print "execute failed\n";
26 | }
27 |
28 | if (db2_execute($stmt)) {
29 | while (($a = db2_fetch_array($stmt))) {
30 | echo "row: [$a[0]] [$a[1]] [$a[2]]\n";
31 | }
32 | } else {
33 | print "execute failed\n";
34 | }
35 | }
36 |
37 | ?>
38 | --XFAIL--
39 | SQLGetData as a CLOB locator returns conversion error for some reason. Probably a bug, but it predates the CI
40 | --EXPECT--
41 | col 0: type:string xml value:[] false?
42 | col 1: type:string clob value:[a clob] false?
43 | col 2: type:string string value:[] false?
44 | row: [] [a clob] []
45 |
46 |
--------------------------------------------------------------------------------
/tests/test_121_FieldNameAddCol.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_field_name() - add. col.
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
46 | --EXPECT--
47 | string(5) "BREED"
48 | string(6) "NUMBER"
49 | bool(false)
50 | bool(false)
51 | string(5) "BREED"
52 | bool(false)
53 | bool(false)
54 | string(6) "NUMBER"
55 |
--------------------------------------------------------------------------------
/tests/test_066_TableObjects.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_tables() - Play with table objects
3 | --SKIPIF--
4 |
5 | --FILE--
6 | TABLE_SCHEM . "\n"
20 | . 'Name: ' . $row->TABLE_NAME . "\n"
21 | . 'Type: ' . $row->TABLE_TYPE . "\n"
22 | . 'Remarks: ' . $row->REMARKS . "\n\n";
23 | if ($server->DBMS_NAME == 'AS') {
24 | switch ($row->TABLE_NAME) {
25 | case 'ANIMALS':
26 | $t[0].=$output;
27 | break;
28 | case 'ANIMAL_PICS':
29 | $t[1].=$output;
30 | break;
31 | case 'ANIME_CAT':
32 | $t[2].=$output;
33 | break;
34 | default:
35 | $t[3].=$output;
36 | break;
37 | }
38 | } else {
39 | echo $output;
40 | }
41 | }
42 |
43 | if ($server->DBMS_NAME == 'AS') {
44 | foreach ($t as $item) echo $item;
45 | }
46 |
47 | db2_free_result($result);
48 | db2_close($conn);
49 |
50 | ?>
51 | --EXPECTF--
52 | Schema: %s
53 | Name: ANIMALS
54 | Type: TABLE
55 | Remarks:
56 |
57 | Schema: %s
58 | Name: ANIMAL_PICS
59 | Type: TABLE
60 | Remarks:
61 |
62 | Schema: %s
63 | Name: ANIME_CAT
64 | Type: VIEW
65 | Remarks:
66 |
67 |
--------------------------------------------------------------------------------
/tests/resume_000140.txt:
--------------------------------------------------------------------------------
1 |
2 |
3 | Resume: Heather A. Nicholls
4 |
5 |
6 | Personal Information
7 |
8 | Address: 844 Don Mills Ave
9 | Mellonville, Idaho 83734
10 | Phone: (208) 610-2310
11 | Birthdate: January 19, 1946
12 | Sex: Female
13 | Marital Status: Single
14 | Height: 5'8"
15 | Weight: 130 lbs.
16 |
17 |
18 | Department Information
19 |
20 | Employee Number: 000140
21 | Dept Number: C01
22 | Manager: Sally Kwan
23 | Position: Analyst
24 | Phone: (208) 385-1793
25 | Hire Date: 1976-12-15
26 |
27 |
28 | Education
29 |
30 | 1972 Computer Engineering, Ph.D.
31 | University of Washington
32 |
33 | 1969 Music and Physics, B.A.
34 | Vassar College
35 |
36 |
37 | Work History
38 |
39 | 2/83 - present Architect, OCR Development
40 | Designing the architecture of OCR products.
41 |
42 | 12/76 - 1/83 Text Programmer
43 | Optical character recognition (OCR) programming in
44 | PL/I.
45 |
46 | 9/72 - 11/76 Punch Card Quality Analyst
47 | Checking punch cards met quality specifications.
48 |
49 |
50 | Interests
51 |
52 | o Model railroading
53 | o Interior decorating
54 | o Embroidery
55 | o Knitting
56 |
--------------------------------------------------------------------------------
/tests/resume_000130.txt:
--------------------------------------------------------------------------------
1 |
2 |
3 | Resume: Delores M. Quintana
4 |
5 |
6 | Personal Information
7 |
8 | Address: 1150 Eglinton Ave
9 | Mellonville, Idaho 83725
10 | Phone: (208) 875-9933
11 | Birthdate: September 15, 1925
12 | Sex: Female
13 | Marital Status: Married
14 | Height: 5'2"
15 | Weight: 120 lbs.
16 |
17 |
18 | Department Information
19 |
20 | Employee Number: 000130
21 | Dept Number: C01
22 | Manager: Sally Kwan
23 | Position: Analyst
24 | Phone: (208) 385-4578
25 | Hire Date: 1971-07-28
26 |
27 |
28 | Education
29 |
30 | 1965 Math and English, B.A.
31 | Adelphi University
32 |
33 | 1960 Dental Technician
34 | Florida Institute of Technology
35 |
36 |
37 | Work History
38 |
39 | 10/91 - present Advisory Systems Analyst
40 | Producing documentation tools for engineering
41 | department.
42 |
43 | 12/85 - 9/91 Technical Writer
44 | Writer, text programmer, and planner.
45 |
46 | 1/79 - 11/85 COBOL Payroll Programmer
47 | Writing payroll programs for a diesel fuel
48 | company.
49 |
50 |
51 | Interests
52 |
53 | o Cooking
54 | o Reading
55 | o Sewing
56 | o Remodeling
57 |
--------------------------------------------------------------------------------
/tests/test_065_FilterTableName.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_tables() - Filter by table name
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
50 | --EXPECT--
51 | TABLE_CAT, TABLE_SCHEM, TABLE_NAME, TABLE_TYPE, REMARKS,
52 |
53 | , T, T3, TABLE, ,
54 |
--------------------------------------------------------------------------------
/tests/test_V6_ini_i5_check_pconnect.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: 1.9.7 - IBM i check pconnect (alternative LUW ping)
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
50 | --EXPECTF--
51 | (IBM_DB_i5_check_pconnect=-42)
52 | %s
53 | %s
54 | success
55 | (IBM_DB_i5_check_pconnect=4)
56 | %s
57 | success
58 |
59 |
--------------------------------------------------------------------------------
/tests/test_064_Tables_05.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_tables() - 5
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
51 | --EXPECT--
52 | TABLE_CAT, TABLE_SCHEM, TABLE_NAME, TABLE_TYPE, REMARKS,
53 |
54 | , T, T1, TABLE, ,
55 | , T, T2, TABLE, ,
56 | , T, T3, TABLE, ,
57 | , T, T4, TABLE, ,
58 |
--------------------------------------------------------------------------------
/tests/resume_000150.txt:
--------------------------------------------------------------------------------
1 |
2 |
3 | Resume: Bruce Adamson
4 |
5 |
6 | Personal Information
7 |
8 | Address: 3600 Steeles Ave
9 | Mellonville, Idaho 83757
10 | Phone: (208) 725-4489
11 | Birthdate: May 17, 1947
12 | Sex: Male
13 | Marital Status: Married
14 | Height: 6'0"
15 | Weight: 175 lbs.
16 |
17 |
18 | Department Information
19 |
20 | Employee Number: 000150
21 | Dept Number: D11
22 | Manager: Irving Stern
23 | Position: Designer
24 | Phone: (208) 385-4510
25 | Hire Date: 1972-02-12
26 |
27 |
28 | Education
29 |
30 | 1971 Environmental Engineering, M.Sc.
31 | Johns Hopkins University
32 |
33 | 1968 American History, B.A.
34 | Northwestern University
35 |
36 |
37 | Work History
38 |
39 | 8/79 - present Neural Network Design
40 | Developing neural networks for machine
41 | intelligence products.
42 |
43 | 2/72 - 7/79 Robot Vision Development
44 | Developing rule-based systems to emulate sight.
45 |
46 | 9/71 - 1/72 Numerical Integration Specialist
47 | Helping bank systems communicate with each other.
48 |
49 |
50 | Interests
51 |
52 | o Racing motorcycles
53 | o Building loudspeakers
54 | o Assembling personal computers
55 | o Sketching
56 |
--------------------------------------------------------------------------------
/tests/test_159_FetchAssocSeveralRows_01.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_fetch_assoc() - several rows
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
22 | --EXPECT--
23 | 1 Sanders Mgr
24 | 2 Pernal Sales
25 | 3 Marenghi Mgr
26 | 4 O'Brien Sales
27 | 5 Hanes Mgr
28 | 6 Quigley Sales
29 | 7 Rothman Sales
30 | 8 James Clerk
31 | 9 Koonitz Sales
32 | 10 Plotz Mgr
33 | 11 Ngan Clerk
34 | 12 Naughton Clerk
35 | 13 Yamaguchi Clerk
36 | 14 Fraye Mgr
37 | 15 Williams Sales
38 | 16 Molinare Mgr
39 | 17 Kermisch Clerk
40 | 18 Abrahams Clerk
41 | 19 Sneider Clerk
42 | 20 Scoutten Clerk
43 | 21 Lu Mgr
44 | 22 Smith Sales
45 | 23 Lundquist Clerk
46 | 24 Daniels Mgr
47 | 25 Wheeler Clerk
48 | 26 Jones Mgr
49 | 27 Lea Mgr
50 | 28 Wilson Sales
51 | 29 Quill Mgr
52 | 30 Davis Sales
53 | 31 Graham Sales
54 | 32 Gonzales Sales
55 | 33 Burke Clerk
56 | 34 Edwards Sales
57 | 35 Gafney Clerk
58 |
--------------------------------------------------------------------------------
/tests/test_V6_ini_i5_all_pconnect.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: 1.9.7 - IBM i force all connect to pconnect (operator issue)
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
58 | --EXPECTF--
59 | %s
60 | %s
61 | success
62 | %s
63 | %s
64 | success
65 | success
66 |
67 |
--------------------------------------------------------------------------------
/tests/test_142_BindParamSelectStmtMultipleParams_02.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_bind_param: SELECT statement (multiple params)
3 | --SKIPIF--
4 |
5 | --FILE--
6 | ?";
13 |
14 | $conn = db2_connect($database, $user, $password);
15 |
16 | if ($conn) {
17 | $stmt = db2_prepare($conn, $sql);
18 |
19 | db2_bind_param($stmt, 1, 'weight', DB2_PARAM_IN);
20 | db2_bind_param($stmt, 2, 'mass', DB2_PARAM_IN);
21 |
22 | $weight = 200.05;
23 | $mass = 2.0;
24 |
25 | if (db2_execute($stmt)) {
26 | while ($row = db2_fetch_array($stmt)) {
27 | var_dump($row);
28 | }
29 | }
30 | db2_close($conn);
31 | } else {
32 | echo "Connection failed.\n";
33 | }
34 |
35 | ?>
36 | --EXPECT--
37 | array(4) {
38 | [0]=>
39 | int(0)
40 | [1]=>
41 | string(3) "cat"
42 | [2]=>
43 | string(16) "Pook "
44 | [3]=>
45 | string(4) "3.20"
46 | }
47 | array(4) {
48 | [0]=>
49 | int(1)
50 | [1]=>
51 | string(3) "dog"
52 | [2]=>
53 | string(16) "Peaches "
54 | [3]=>
55 | string(5) "12.30"
56 | }
57 | array(4) {
58 | [0]=>
59 | int(5)
60 | [1]=>
61 | string(4) "goat"
62 | [2]=>
63 | string(16) "Rickety Ride "
64 | [3]=>
65 | string(4) "9.70"
66 | }
67 | array(4) {
68 | [0]=>
69 | int(6)
70 | [1]=>
71 | string(5) "llama"
72 | [2]=>
73 | string(16) "Sweater "
74 | [3]=>
75 | string(6) "150.00"
76 | }
77 |
--------------------------------------------------------------------------------
/tests/test_025_PrimaryKeys.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_primary_keys -- tests the db2_primary_keys functionality
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
48 | --EXPECT--
49 | TEST_PRIMARY_KEYS
50 | ID
51 | 1
52 |
--------------------------------------------------------------------------------
/tests/test_6792_FieldTypeRetStrDatetimeTimestamp.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: PECL bug 6792 -- db2_field_type returns 'string' for date, time, and timestamp
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
49 | --EXPECT--
50 | 0:time
51 | 1:date
52 | 2:timestamp
53 | 10:42:34
54 | 1981-07-08
55 | 1981-07-08 10:42:34.000000
56 |
57 |
--------------------------------------------------------------------------------
/tests/test_146_CallSPINAndOUTParams.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: Call a stored procedure with IN and OUT parameters
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
39 | --EXPECT--
40 | Values of bound parameters _before_ CALL:
41 | 1: Peaches 2: Rickety Ride 3: 0
42 |
43 | Values of bound parameters _after_ CALL:
44 | 1: Peaches 2: TRUE 3: 12
45 |
46 | Results:
47 | Peaches, dog, 12.30
48 | Pook, cat, 3.20
49 | Rickety Ride, goat, 9.70
50 | Smarty, horse, 350.00
51 | Sweater, llama, 150.00
52 |
--------------------------------------------------------------------------------
/tests/test_V6_6792_FieldTypeRetStrDatetimeTimestamp.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: PECL bug 6792 -- db2_field_type returns 'string' for date, time, and timestamp
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
49 | --EXPECT--
50 | 0:time
51 | 1:date
52 | 2:timestamp
53 | 10.42.34
54 | 1981-07-08
55 | 1981-07-08-10.42.34.000000
56 |
57 |
--------------------------------------------------------------------------------
/tests/test_V6_ini_i5_guard_profile.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: 1.9.7 - IBM i security guard profile (customer application issue)
3 | --SKIPIF--
4 |
7 | --FILE--
8 |
55 | --EXPECTF--
56 | key1 %s
57 | key2 %s
58 | key3 %s
59 | success
60 | success
61 | success
62 |
63 |
--------------------------------------------------------------------------------
/tests/test_boolean.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: Boolean data type test.
3 | --SKIPIF--
4 | DBMS_NAME == "AS") { // IBM i
17 | // DBMS_VER is VVRRM string
18 | $major = $info->DBMS_VER[1];
19 | $minor = $info->DBMS_VER[3];
20 | $mod = $info->DBMS_VER[4];
21 | if (!version_compare("$major.$minor.$mod", "7.5.0", ">=")) {
22 | die("skip IBM i version too old");
23 | }
24 | } else { // Should cover i.e. DB2/LINUX
25 | // DBMS_VER is VV.RR.MMMM, version_compore should work directly
26 | if (!version_compare($info->DBMS_VER, "9.7.0", ">=")) {
27 | die("skip DB2 version too old");
28 | }
29 | }
30 | // XXX: z
31 |
32 | ?>
33 | --FILE--
34 |
58 | --EXPECT--
59 | array(2) {
60 | [0]=>
61 | bool(true)
62 | [1]=>
63 | bool(false)
64 | }
65 | int(1)
66 | int(0)
67 | boolean
68 |
--------------------------------------------------------------------------------
/tests/test_V6_ini_i5_sys_naming.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: 1.9.7 - IBM i system naming (operator override)
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
62 | --EXPECTF--
63 | %s
64 | success
65 | success
66 | %s
67 | success
68 | success
69 |
70 |
--------------------------------------------------------------------------------
/tests/test_145_BindRetrieveNULLEmptyString.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: Bind and retrieve NULL and empty string values
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
51 | --EXPECT--
52 | array(3) {
53 | [0]=>
54 | int(999)
55 | [1]=>
56 | NULL
57 | [2]=>
58 | string(16) " "
59 | }
60 | array(3) {
61 | [0]=>
62 | int(1000)
63 | [1]=>
64 | NULL
65 | [2]=>
66 | string(16) " "
67 | }
68 |
--------------------------------------------------------------------------------
/tests/test_021_CommitDelete.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_commit() - delete
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
64 | --EXPECT--
65 | 7
66 | 0
67 | 0
68 |
--------------------------------------------------------------------------------
/tests/test_197_StatisticsIndexes.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_statistics(): testing indexes
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
52 | --EXPECTF--
53 | Test first index table:
54 | INDEX_TEST
55 | 1
56 | INDEX1
57 | ID
58 | Test second index table:
59 | INDEX_TEST2
60 | 1
61 | INDEX2
62 | DATA
63 | Test non-existent table:
64 | Empty
65 |
66 |
--------------------------------------------------------------------------------
/tests/test_V6_148_CallSPDiffBindPattern_01.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: Call a stored procedure in a different binding pattern
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
53 | --EXPECT--
54 | out 1:
55 | 1
56 | out 2:
57 | 5.01
58 | out 3:
59 | varchar
60 | out 4:
61 | 3271982
62 | out 5:
63 | clob data clob data
64 |
65 |
--------------------------------------------------------------------------------
/tests/test_149_CallSPDiffBindPattern_02.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: Call a stored procedure in a different binding pattern
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
53 | --EXPECT--
54 | out 1:
55 | 1
56 | out 2:
57 | 5.01
58 | out 3:
59 | varchar
60 | out 4:
61 | 3271982
62 | out 5:
63 | clob data clob data
64 |
65 |
--------------------------------------------------------------------------------
/tests/test_046_FetchArrayMany_05.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_fetch_array() - several rows 4
3 | --SKIPIF--
4 |
5 | --FILE--
6 | %s - %s - %s bytes
",$row['0'], $row[1], $row['0'], $row[1], $row[2]);
32 | print "\n";
33 | }
34 | }
35 | }
36 |
37 | ?>
38 | --EXPECT--
39 | 000130 - jpg - 15398 bytes
40 | 000130 - png - 10291 bytes
41 | 000140 - jpg - 15398 bytes
42 | 000140 - png - 10291 bytes
43 | 000150 - jpg - 15398 bytes
44 | 000150 - png - 10291 bytes
45 | 000190 - jpg - 15398 bytes
46 | 000190 - png - 10291 bytes
47 |
48 |
--------------------------------------------------------------------------------
/tests/test_V6_149_CallSPDiffBindPattern_02.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: Call a stored procedure in a different binding pattern
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
53 | --EXPECT--
54 | out 1:
55 | 1
56 | out 2:
57 | 5.01
58 | out 3:
59 | varchar
60 | out 4:
61 | 3271982
62 | out 5:
63 | clob data clob data
64 |
65 |
--------------------------------------------------------------------------------
/tests/test_V6_197_StatisticsIndexes_with_lib_1028_issue.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_statistics(): testing indexes
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
53 | --EXPECTF--
54 | Test first index table:
55 | INDEX_TEST
56 | 1
57 | INDEX1
58 | ID
59 | Test second index table:
60 | INDEX_TEST2
61 | 1
62 | INDEX2
63 | DATA
64 | Test non-existent table:
65 | Empty
66 |
67 |
68 |
--------------------------------------------------------------------------------
/tests/test_queryTimeout.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: Query Time Out test.
3 | --SKIPIF--
4 |
5 | --FILE--
6 | "500"), 1);
24 |
25 | for($i = 0;$i < 10;$i++) {
26 | $rc = db2_execute($stmt, array($i, $i + $i));
27 | }
28 |
29 | $selectQuery = "SELECT * FROM querytimeout";
30 |
31 | $stmt = db2_prepare($conn, $selectQuery);
32 |
33 | db2_set_option($stmt, array("query_timeout" => 1), 2);
34 |
35 | db2_execute($stmt);
36 |
37 | while ($row = db2_fetch_array($stmt)) {
38 | print_r($row);
39 | }
40 |
41 | db2_close($conn);
42 | } else {
43 | echo "Connection fail.\n";
44 | echo db2_conn_errormsg() . "\n";
45 | }
46 | ?>
47 | --EXPECTF--
48 | Connection pass.
49 |
50 | Warning: db2_set_option(): QUERY TIMEOUT attribute can only be set on statement resources in %s on line 18
51 | Array
52 | (
53 | [0] => 0
54 | [1] => 0
55 | )
56 | Array
57 | (
58 | [0] => 1
59 | [1] => 2
60 | )
61 | Array
62 | (
63 | [0] => 2
64 | [1] => 4
65 | )
66 | Array
67 | (
68 | [0] => 3
69 | [1] => 6
70 | )
71 | Array
72 | (
73 | [0] => 4
74 | [1] => 8
75 | )
76 | Array
77 | (
78 | [0] => 5
79 | [1] => 10
80 | )
81 | Array
82 | (
83 | [0] => 6
84 | [1] => 12
85 | )
86 | Array
87 | (
88 | [0] => 7
89 | [1] => 14
90 | )
91 | Array
92 | (
93 | [0] => 8
94 | [1] => 16
95 | )
96 | Array
97 | (
98 | [0] => 9
99 | [1] => 18
100 | )
101 |
--------------------------------------------------------------------------------
/tests/skipif.PASE:
--------------------------------------------------------------------------------
1 |
56 |
--------------------------------------------------------------------------------
/tests/test_graphic_data_type.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: Testing Graphic Datatype.
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
65 | --EXPECT--
66 | Connection created.
67 | a |Test_01 |
68 | b |Test_02 |
69 | c |Test_03 |
70 | d |Test_04 |
71 | e |Test_05 |
72 | Connection closed.
73 |
--------------------------------------------------------------------------------
/tests/test_V6_197_StatisticsIndexes.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_statistics(): testing indexes
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
59 | --EXPECTF--
60 | Test first index table:
61 | INDEX_TEST
62 | 1
63 | INDEX1
64 | ID
65 | Test second index table:
66 | INDEX_TEST2
67 | 1
68 | INDEX2
69 | DATA
70 | Test non-existent table:
71 | Empty
72 |
73 |
74 |
--------------------------------------------------------------------------------
/tests/test_147_CallSPINAndOUTParamsMultipleTimes.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: Call a stored procedure with IN and OUT parameters multiple times
3 | --SKIPIF--
4 |
5 | =') &&
7 | version_compare(PHP_VERSION, '7.2', '<')) {
8 | die("skip: Test fails on PHP 7.1 with ZTS (https://bugs.php.net/bug.php?id=77547)");
9 | }
10 | ?>
11 | --FILE--
12 |
50 | --EXPECT--
51 | date before 2002-10-20
52 | date after 1982-01-24
53 | date before 2002-10-20
54 | date after 1982-01-24
55 | date before 2002-10-20
56 | date after 1982-01-24
57 |
--------------------------------------------------------------------------------
/tests/test_196_InsertRetrieveXMLData_02.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: insert and retrieve XML data: 2
3 | --SKIPIF--
4 |
9 | --FILE--
10 | 12485 S Pine St.OlatheKS66061')");
20 |
21 | $sql = "SELECT * FROM xml_test";
22 | $stmt = db2_prepare($conn, $sql);
23 | db2_execute($stmt);
24 | while($result = db2_fetch_both($stmt)) {
25 | echo "Result ID: ";
26 | echo $result[0] . "\n";
27 | echo "Result DATA: ";
28 | echo $result[1] . "\n";
29 | echo "Result XMLCOL: ";
30 | echo $result[2] . "\n";
31 | }
32 |
33 | $sql = "SELECT XMLSERIALIZE(XMLQUERY('for \$i in \$t/address where \$i/city = \"Olathe\" return {\$i/zip/text()}' passing c.xmlcol as \"t\") AS CLOB(32k)) FROM xml_test c WHERE id = 1";
34 | $stmt = db2_prepare($conn, $sql);
35 | db2_execute($stmt);
36 | while($result = db2_fetch_both($stmt)) {
37 | echo "Result from XMLSerialize and XMLQuery: ";
38 | echo $result[0] . "\n";
39 | }
40 |
41 | $sql = "select xmlquery('for \$i in \$t/address where \$i/city = \"Olathe\" return {\$i/zip/text()}' passing c.xmlcol as \"t\") from xml_test c where id = 1";
42 | $stmt = db2_prepare($conn, $sql);
43 | db2_execute($stmt);
44 | while($result = db2_fetch_both($stmt)) {
45 | echo "Result from only XMLQuery: ";
46 | echo $result[0] . "\n";
47 | }
48 |
49 | } else {
50 | echo 'no connection: ' + db2_conn_errormsg();
51 | }
52 |
53 | ?>
54 | --EXPECTF--
55 | Result ID: 1
56 | Result DATA: xml test 1
57 | Result XMLCOL:%s12485 S Pine St.OlatheKS66061
58 | Result from XMLSerialize and XMLQuery: 66061
59 | Result from only XMLQuery:%s66061
60 |
61 |
--------------------------------------------------------------------------------
/tests/test_check_rollback.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: pConnect Rollback Handler Test.
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
83 | --EXPECT--
84 | Connection succeeded.
85 | Connection succeeded.
86 | row insert went through successfully
87 | Test successful
88 |
--------------------------------------------------------------------------------
/tests/test_198_LobReadWriteFromMemory.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_lob_read() -- Reading and writing lobs from memory
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
61 | --EXPECTF--
62 | Loop 0: THIS I
63 | Loop 1: S A CL
64 | Loop 2: OB TES
65 | Loop 3: T. THI
66 | Loop 4: S IS A
67 | Loop 5: CLOB
68 | Loop 6: TEST.
69 | Loop 0: 544849
70 | Loop 1: 532049
71 | Loop 2: 532041
72 | Loop 3: 20424C
73 | Loop 4: 4F4220
74 | Loop 5: 544553
75 | Loop 6: 542E20
76 | Loop 7: 544849
77 | Loop 8: 532049
78 | Loop 9: 532041
79 | Loop 10: 20424C
80 | Loop 11: 4F4220
81 | Loop 12: 544553
82 | Loop 13: 542E
83 |
--------------------------------------------------------------------------------
/tests/test_053_SetAutocommit_02.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: set autocommit with db2_autocommit
3 | --SKIPIF--
4 |
5 | --FILE--
6 | 'db2inst1');
14 | $conn1 = db2_connect($database, $user, $password, $options1);
15 | $val = db2_get_option($conn1, 'userid');
16 | echo $val . "\n";
17 |
18 | $options2 = array('acctstr' => 'account');
19 | $conn2 = db2_connect($database, $user, $password, $options2);
20 | $val = db2_get_option($conn2, 'acctstr');
21 | echo $val . "\n";
22 |
23 | $options3 = array('applname' => 'myapp');
24 | $conn3 = db2_connect($database, $user, $password, $options3);
25 | $val = db2_get_option($conn3, 'applname');
26 | echo $val . "\n";
27 |
28 | $options4 = array('wrkstnname' => 'workstation');
29 | $conn4 = db2_connect($database, $user, $password, $options4);
30 | $val = db2_get_option($conn4, 'wrkstnname');
31 | echo $val . "\n";
32 |
33 | echo "Client attributes passed post-conection:\n";
34 |
35 | $options5 = array('userid' => 'db2inst1');
36 | $conn5 = db2_connect($database, $user, $password);
37 | $rc = db2_set_option($conn5, $options5, 1);
38 | $val = db2_get_option($conn5, 'userid');
39 | echo $val . "\n";
40 |
41 | $options6 = array('acctstr' => 'account');
42 | $conn6 = db2_connect($database, $user, $password);
43 | $rc = db2_set_option($conn6, $options6, 1);
44 | $val = db2_get_option($conn6, 'acctstr');
45 | echo $val . "\n";
46 |
47 | $options7 = array('applname' => 'myapp');
48 | $conn7 = db2_connect($database, $user, $password);
49 | $rc = db2_set_option($conn7, $options7, 1);
50 | $val = db2_get_option($conn7, 'applname');
51 | echo $val . "\n";
52 |
53 | $options8 = array('wrkstnname' => 'workstation');
54 | $conn8 = db2_connect($database, $user, $password);
55 | $rc = db2_set_option($conn8, $options8, 1);
56 | $val = db2_get_option($conn8, 'wrkstnname');
57 | echo $val . "\n";
58 | ?>
59 | --EXPECT--
60 | Client attributes passed through conection string:
61 | db2inst1
62 | account
63 | myapp
64 | workstation
65 | Client attributes passed post-conection:
66 | db2inst1
67 | account
68 | myapp
69 | workstation
70 |
71 |
--------------------------------------------------------------------------------
/tests/test_047_FetchArrayMany_06.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_fetch_array() - several rows 5
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
\n",$row[0],$row[1]);
32 | }
33 | if ( $row[1] != 'xwd' ) {
34 | printf ("%s - %s - %s bytes\n", $row['0'], $row[1], $row['0'], $row[1], $row[2]);
35 | print "
";
36 | }
37 | }
38 | }
39 |
40 | ?>
41 | --EXPECT--
42 | 000130 - jpg - 15398 bytes
43 |

44 | 000130 - png - 10291 bytes
45 |
000140 - jpg - 15398 bytes
46 |

47 | 000140 - png - 10291 bytes
48 |
000150 - jpg - 15398 bytes
49 |

50 | 000150 - png - 10291 bytes
51 |
000190 - jpg - 15398 bytes
52 |

53 | 000190 - png - 10291 bytes
54 |
55 |
--------------------------------------------------------------------------------
/tests/test_152_FetchAssocSelect_03.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: db2_fetch_assoc() - simple select 3
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
29 | --EXPECT--
30 |
31 | AD3100 ADMIN SERVICES D01 000010 6.50 1982-01-01 1983-02-01
32 | AD3110 GENERAL ADMIN SYSTEMS D21 000070 6.00 1982-01-01 1983-02-01 AD3100
33 | AD3111 PAYROLL PROGRAMMING D21 000230 2.00 1982-01-01 1983-02-01 AD3110
34 | AD3112 PERSONNEL PROGRAMMING D21 000250 1.00 1982-01-01 1983-02-01 AD3110
35 | AD3113 ACCOUNT PROGRAMMING D21 000270 2.00 1982-01-01 1983-02-01 AD3110
36 | IF1000 QUERY SERVICES C01 000030 2.00 1982-01-01 1983-02-01
37 | IF2000 USER EDUCATION C01 000030 1.00 1982-01-01 1983-02-01
38 | MA2100 WELD LINE AUTOMATION D01 000010 12.00 1982-01-01 1983-02-01
39 | MA2110 W L PROGRAMMING D11 000060 9.00 1982-01-01 1983-02-01 MA2100
40 | MA2111 W L PROGRAM DESIGN D11 000220 2.00 1982-01-01 1982-12-01 MA2110
41 | MA2112 W L ROBOT DESIGN D11 000150 3.00 1982-01-01 1982-12-01 MA2110
42 | MA2113 W L PROD CONT PROGS D11 000160 3.00 1982-02-15 1982-12-01 MA2110
43 | OP1000 OPERATION SUPPORT E01 000050 6.00 1982-01-01 1983-02-01
44 | OP1010 OPERATION E11 000090 5.00 1982-01-01 1983-02-01 OP1000
45 | OP2000 GEN SYSTEMS SERVICES E01 000050 5.00 1982-01-01 1983-02-01
46 | OP2010 SYSTEMS SUPPORT E21 000100 4.00 1982-01-01 1983-02-01 OP2000
47 | OP2011 SCP SYSTEMS SUPPORT E21 000320 1.00 1982-01-01 1983-02-01 OP2010
48 | OP2012 APPLICATIONS SUPPORT E21 000330 1.00 1982-01-01 1983-02-01 OP2010
49 | OP2013 DB/DC SUPPORT E21 000340 1.00 1982-01-01 1983-02-01 OP2010
50 | PL2100 WELD LINE PLANNING B01 000020 1.00 1982-01-01 1982-09-15 MA2100
51 |
52 |
--------------------------------------------------------------------------------
/tests/test_V6_timestamp.phpt:
--------------------------------------------------------------------------------
1 | --TEST--
2 | IBM-DB2: Timestamp data type test.
3 | --SKIPIF--
4 |
5 | --FILE--
6 |
58 | --EXPECTF--
59 | Transfering data from src table to targ table:
60 | Values from src table:
61 | array(2) {
62 | [0]=>
63 | NULL
64 | [1]=>
65 | string(26) "1981-05-13-12.56.46.000000"
66 | }
67 | array(2) {
68 | [0]=>
69 | int(1)
70 | [1]=>
71 | string(26) "1981-05-13-12.56.46.000000"
72 | }
73 | array(2) {
74 | [0]=>
75 | int(1)
76 | [1]=>
77 | NULL
78 | }
79 | Values from targ table:
80 | array(2) {
81 | [0]=>
82 | NULL
83 | [1]=>
84 | string(26) "1981-05-13-12.56.46.000000"
85 | }
86 | array(2) {
87 | [0]=>
88 | int(1)
89 | [1]=>
90 | string(26) "1981-05-13-12.56.46.000000"
91 | }
92 | array(2) {
93 | [0]=>
94 | int(1)
95 | [1]=>
96 | NULL
97 | }
98 |
--------------------------------------------------------------------------------