From 2f9f2928cee710da9c6887dd326b7ecb21eb4af3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Kocsis?= Date: Tue, 29 Aug 2023 00:24:43 +0200 Subject: [PATCH] Improve test for odbc_columns() Hopefully, intermittent test failures will be fixed by creating and using a separate database. Furthermore, more meaningful test cases are added which also assert the output, as well as wildcard character based searching. --- ext/odbc/tests/odbc_columns_001.phpt | 425 +++++++++++++++++++++++++-- 1 file changed, 400 insertions(+), 25 deletions(-) diff --git a/ext/odbc/tests/odbc_columns_001.phpt b/ext/odbc/tests/odbc_columns_001.phpt index 920735b7910..c28a4beccef 100644 --- a/ext/odbc/tests/odbc_columns_001.phpt +++ b/ext/odbc/tests/odbc_columns_001.phpt @@ -3,46 +3,421 @@ odbc_columns(): Basic test --EXTENSIONS-- odbc --SKIPIF-- - ---CONFLICTS-- -odbc + --FILE-- --CLEAN-- --EXPECTF-- -resource(%d) of type (odbc result) -bool(false) -resource(%d) of type (odbc result) -bool(true) -bool(true) -resource(%d) of type (odbc result) -bool(true) -bool(true) -resource(%d) of type (odbc result) -bool(false) +array(29) { + ["TABLE_CAT"]=> + string(11) "ColumnsTest" + ["TABLE_SCHEM"]=> + string(3) "dbo" + ["TABLE_NAME"]=> + string(7) "columns" + ["COLUMN_NAME"]=> + string(3) "foo" + ["DATA_TYPE"]=> + string(1) "4" + ["TYPE_NAME"]=> + string(3) "int" + ["COLUMN_SIZE"]=> + string(2) "10" + ["BUFFER_LENGTH"]=> + string(1) "4" + ["DECIMAL_DIGITS"]=> + string(1) "0" + ["NUM_PREC_RADIX"]=> + string(2) "10" + ["NULLABLE"]=> + string(1) "0" + ["REMARKS"]=> + NULL + ["COLUMN_DEF"]=> + NULL + ["SQL_DATA_TYPE"]=> + string(1) "4" + ["SQL_DATETIME_SUB"]=> + NULL + ["CHAR_OCTET_LENGTH"]=> + NULL + ["ORDINAL_POSITION"]=> + string(1) "1" + ["IS_NULLABLE"]=> + string(2) "NO" + ["SS_IS_SPARSE"]=> + string(1) "0" + ["SS_IS_COLUMN_SET"]=> + string(1) "0" + ["SS_IS_COMPUTED"]=> + string(1) "0" + ["SS_IS_IDENTITY"]=> + string(1) "0" + ["SS_UDT_CATALOG_NAME"]=> + NULL + ["SS_UDT_SCHEMA_NAME"]=> + NULL + ["SS_UDT_ASSEMBLY_TYPE_NAME"]=> + NULL + ["SS_XML_SCHEMACOLLECTION_CATALOG_NAME"]=> + NULL + ["SS_XML_SCHEMACOLLECTION_SCHEMA_NAME"]=> + NULL + ["SS_XML_SCHEMACOLLECTION_NAME"]=> + NULL + ["SS_DATA_TYPE"]=> + string(2) "56" +} +array(29) { + ["TABLE_CAT"]=> + string(11) "ColumnsTest" + ["TABLE_SCHEM"]=> + string(3) "dbo" + ["TABLE_NAME"]=> + string(7) "columns" + ["COLUMN_NAME"]=> + string(3) "foo" + ["DATA_TYPE"]=> + string(1) "4" + ["TYPE_NAME"]=> + string(3) "int" + ["COLUMN_SIZE"]=> + string(2) "10" + ["BUFFER_LENGTH"]=> + string(1) "4" + ["DECIMAL_DIGITS"]=> + string(1) "0" + ["NUM_PREC_RADIX"]=> + string(2) "10" + ["NULLABLE"]=> + string(1) "0" + ["REMARKS"]=> + NULL + ["COLUMN_DEF"]=> + NULL + ["SQL_DATA_TYPE"]=> + string(1) "4" + ["SQL_DATETIME_SUB"]=> + NULL + ["CHAR_OCTET_LENGTH"]=> + NULL + ["ORDINAL_POSITION"]=> + string(1) "1" + ["IS_NULLABLE"]=> + string(2) "NO" + ["SS_IS_SPARSE"]=> + string(1) "0" + ["SS_IS_COLUMN_SET"]=> + string(1) "0" + ["SS_IS_COMPUTED"]=> + string(1) "0" + ["SS_IS_IDENTITY"]=> + string(1) "0" + ["SS_UDT_CATALOG_NAME"]=> + NULL + ["SS_UDT_SCHEMA_NAME"]=> + NULL + ["SS_UDT_ASSEMBLY_TYPE_NAME"]=> + NULL + ["SS_XML_SCHEMACOLLECTION_CATALOG_NAME"]=> + NULL + ["SS_XML_SCHEMACOLLECTION_SCHEMA_NAME"]=> + NULL + ["SS_XML_SCHEMACOLLECTION_NAME"]=> + NULL + ["SS_DATA_TYPE"]=> + string(2) "56" +} +array(29) { + ["TABLE_CAT"]=> + string(11) "ColumnsTest" + ["TABLE_SCHEM"]=> + string(3) "dbo" + ["TABLE_NAME"]=> + string(7) "columns" + ["COLUMN_NAME"]=> + string(3) "foo" + ["DATA_TYPE"]=> + string(1) "4" + ["TYPE_NAME"]=> + string(3) "int" + ["COLUMN_SIZE"]=> + string(2) "10" + ["BUFFER_LENGTH"]=> + string(1) "4" + ["DECIMAL_DIGITS"]=> + string(1) "0" + ["NUM_PREC_RADIX"]=> + string(2) "10" + ["NULLABLE"]=> + string(1) "0" + ["REMARKS"]=> + NULL + ["COLUMN_DEF"]=> + NULL + ["SQL_DATA_TYPE"]=> + string(1) "4" + ["SQL_DATETIME_SUB"]=> + NULL + ["CHAR_OCTET_LENGTH"]=> + NULL + ["ORDINAL_POSITION"]=> + string(1) "1" + ["IS_NULLABLE"]=> + string(2) "NO" + ["SS_IS_SPARSE"]=> + string(1) "0" + ["SS_IS_COLUMN_SET"]=> + string(1) "0" + ["SS_IS_COMPUTED"]=> + string(1) "0" + ["SS_IS_IDENTITY"]=> + string(1) "0" + ["SS_UDT_CATALOG_NAME"]=> + NULL + ["SS_UDT_SCHEMA_NAME"]=> + NULL + ["SS_UDT_ASSEMBLY_TYPE_NAME"]=> + NULL + ["SS_XML_SCHEMACOLLECTION_CATALOG_NAME"]=> + NULL + ["SS_XML_SCHEMACOLLECTION_SCHEMA_NAME"]=> + NULL + ["SS_XML_SCHEMACOLLECTION_NAME"]=> + NULL + ["SS_DATA_TYPE"]=> + string(2) "56" +} +array(29) { + ["TABLE_CAT"]=> + string(11) "ColumnsTest" + ["TABLE_SCHEM"]=> + string(3) "dbo" + ["TABLE_NAME"]=> + string(7) "columns" + ["COLUMN_NAME"]=> + string(3) "foo" + ["DATA_TYPE"]=> + string(1) "4" + ["TYPE_NAME"]=> + string(3) "int" + ["COLUMN_SIZE"]=> + string(2) "10" + ["BUFFER_LENGTH"]=> + string(1) "4" + ["DECIMAL_DIGITS"]=> + string(1) "0" + ["NUM_PREC_RADIX"]=> + string(2) "10" + ["NULLABLE"]=> + string(1) "0" + ["REMARKS"]=> + NULL + ["COLUMN_DEF"]=> + NULL + ["SQL_DATA_TYPE"]=> + string(1) "4" + ["SQL_DATETIME_SUB"]=> + NULL + ["CHAR_OCTET_LENGTH"]=> + NULL + ["ORDINAL_POSITION"]=> + string(1) "1" + ["IS_NULLABLE"]=> + string(2) "NO" + ["SS_IS_SPARSE"]=> + string(1) "0" + ["SS_IS_COLUMN_SET"]=> + string(1) "0" + ["SS_IS_COMPUTED"]=> + string(1) "0" + ["SS_IS_IDENTITY"]=> + string(1) "0" + ["SS_UDT_CATALOG_NAME"]=> + NULL + ["SS_UDT_SCHEMA_NAME"]=> + NULL + ["SS_UDT_ASSEMBLY_TYPE_NAME"]=> + NULL + ["SS_XML_SCHEMACOLLECTION_CATALOG_NAME"]=> + NULL + ["SS_XML_SCHEMACOLLECTION_SCHEMA_NAME"]=> + NULL + ["SS_XML_SCHEMACOLLECTION_NAME"]=> + NULL + ["SS_DATA_TYPE"]=> + string(2) "56" +} +array(29) { + ["TABLE_CAT"]=> + string(11) "ColumnsTest" + ["TABLE_SCHEM"]=> + string(3) "dbo" + ["TABLE_NAME"]=> + string(7) "columns" + ["COLUMN_NAME"]=> + string(3) "bar" + ["DATA_TYPE"]=> + string(2) "12" + ["TYPE_NAME"]=> + string(7) "varchar" + ["COLUMN_SIZE"]=> + string(2) "20" + ["BUFFER_LENGTH"]=> + string(2) "20" + ["DECIMAL_DIGITS"]=> + NULL + ["NUM_PREC_RADIX"]=> + NULL + ["NULLABLE"]=> + string(1) "1" + ["REMARKS"]=> + NULL + ["COLUMN_DEF"]=> + NULL + ["SQL_DATA_TYPE"]=> + string(2) "12" + ["SQL_DATETIME_SUB"]=> + NULL + ["CHAR_OCTET_LENGTH"]=> + string(2) "20" + ["ORDINAL_POSITION"]=> + string(1) "2" + ["IS_NULLABLE"]=> + string(3) "YES" + ["SS_IS_SPARSE"]=> + string(1) "0" + ["SS_IS_COLUMN_SET"]=> + string(1) "0" + ["SS_IS_COMPUTED"]=> + string(1) "0" + ["SS_IS_IDENTITY"]=> + string(1) "0" + ["SS_UDT_CATALOG_NAME"]=> + NULL + ["SS_UDT_SCHEMA_NAME"]=> + NULL + ["SS_UDT_ASSEMBLY_TYPE_NAME"]=> + NULL + ["SS_XML_SCHEMACOLLECTION_CATALOG_NAME"]=> + NULL + ["SS_XML_SCHEMACOLLECTION_SCHEMA_NAME"]=> + NULL + ["SS_XML_SCHEMACOLLECTION_NAME"]=> + NULL + ["SS_DATA_TYPE"]=> + string(2) "39" +} +array(29) { + ["TABLE_CAT"]=> + string(11) "ColumnsTest" + ["TABLE_SCHEM"]=> + string(3) "dbo" + ["TABLE_NAME"]=> + string(7) "columns" + ["COLUMN_NAME"]=> + string(3) "bar" + ["DATA_TYPE"]=> + string(2) "12" + ["TYPE_NAME"]=> + string(7) "varchar" + ["COLUMN_SIZE"]=> + string(2) "20" + ["BUFFER_LENGTH"]=> + string(2) "20" + ["DECIMAL_DIGITS"]=> + NULL + ["NUM_PREC_RADIX"]=> + NULL + ["NULLABLE"]=> + string(1) "1" + ["REMARKS"]=> + NULL + ["COLUMN_DEF"]=> + NULL + ["SQL_DATA_TYPE"]=> + string(2) "12" + ["SQL_DATETIME_SUB"]=> + NULL + ["CHAR_OCTET_LENGTH"]=> + string(2) "20" + ["ORDINAL_POSITION"]=> + string(1) "2" + ["IS_NULLABLE"]=> + string(3) "YES" + ["SS_IS_SPARSE"]=> + string(1) "0" + ["SS_IS_COLUMN_SET"]=> + string(1) "0" + ["SS_IS_COMPUTED"]=> + string(1) "0" + ["SS_IS_IDENTITY"]=> + string(1) "0" + ["SS_UDT_CATALOG_NAME"]=> + NULL + ["SS_UDT_SCHEMA_NAME"]=> + NULL + ["SS_UDT_ASSEMBLY_TYPE_NAME"]=> + NULL + ["SS_XML_SCHEMACOLLECTION_CATALOG_NAME"]=> + NULL + ["SS_XML_SCHEMACOLLECTION_SCHEMA_NAME"]=> + NULL + ["SS_XML_SCHEMACOLLECTION_NAME"]=> + NULL + ["SS_DATA_TYPE"]=> + string(2) "39" +}