diff --git a/README.md b/README.md index 639a03bc..0b1f4354 100644 --- a/README.md +++ b/README.md @@ -10,13 +10,32 @@ The Microsoft Drivers for PHP for SQL Server Team ##Announcements -August 22, 2016 (4.1.1): Updated Windows drivers built and compiled with PHP 7.0.9 are available and include a couple of bug fixes: +**September, 2016** : Updated Windows drivers (4.1.2) compiled with PHP 7.0.10 are available. Here is the list of updates: + +- Fixed [issue #119](https://github.com/Microsoft/msphpsql/issues/119) (modifying class name in sqlsrv_fetch_object). +- Added following integer SQL Types constants for cases which function-like SQL types constants cannot be used e.g. type comparison: + + SQLSRV constant | Typical SQL Server data type | SQL type identifier + ------------ | ----------------------- | ---------------------- + SQLSRV_SQLTYPE_DECIMAL | decimal | SQL_DECIMAL + SQLSRV_SQLTYPE_NUMERIC | numeric | SQL_NUMERIC + SQLSRV_SQLTYPE_CHAR | char | SQL_CHAR + SQLSRV_SQLTYPE_NCHAR | nchar | SQL_WCHAR + SQLSRV_SQLTYPE_VARCHAR | varchar | SQL_VARCHAR + SQLSRV_SQLTYPE_NVARCHAR | nvarchar | SQL_WVARCHAR + SQLSRV_SQLTYPE_BINARY | binary | SQL_BINARY + SQLSRV_SQLTYPE_VARBINARY | varbinary | SQL_VARBINARY + + Note: These constants should be used in type comparison operations (refer to issue [#87](https://github.com/Microsoft/msphpsql/issues/87) and [#99](https://github.com/Microsoft/msphpsql/issues/99) ), and don't replace the function like constants with the similar syntax, for binding parameters you should use the function-like constants, otherwise you'll get an error. + + +**August 22, 2016** : Updated Windows drivers(4.1.1) compiled with PHP 7.0.9 are available and include a couple of bug fixes: - Fixed issue with storing integers in varchar field. - Fixed issue with invalid connection handler if one connection fails. - Fixed crash when emulate prepare is on. -July 28, 2016 (4.1.0): Thanks to the community's input, this release expands drivers functionalities and also includes some bug fixes: +**July 28, 2016** (4.1.0): Thanks to the community's input, this release expands drivers functionalities and also includes some bug fixes: - `SQLSRV_ATTR_FETCHES_NUMERIC_TYPE` connection attribute flag is added to PDO_SQLSRV driver to handle numeric fetches from columns with numeric Sql types (only bit, integer, smallint, tinyint, float and real). This flag can be turned on by setting its value in `PDO::setAttribute` to `true`, For example, `$conn->setAttribute(PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE,true);` @@ -78,11 +97,13 @@ For samples, please see the sample folder. For setup instructions, see [here] [ ## Known Issues - User defined data types and SQL_VARIANT. +- Passing custom class constructor to sqlsrv_fetch_object reproduce an error([issue#139](https://github.com/Microsoft/msphpsql/issues/139)). +- Binary column binding with emulate prepare ([issue#140](https://github.com/Microsoft/msphpsql/issues/140) ) ## Future Plans -- Expand SQL 16 Feature Support (example: Always Encrypted) -- Build Verification/Fundamental Tests -- Bug Fixes +- Expand SQL 16 Feature Support (example: Always Encrypted). +- Build Verification/Fundamental Tests. +- Bug Fixes. ## Guidelines for Reporting Issues We appreciate you taking the time to test the driver, provide feedback and report any issues. It would be extremely helpful if you: @@ -143,4 +164,4 @@ The Microsoft Drivers for PHP for SQL Server are licensed under the MIT license. [phpazure]: https://azure.microsoft.com/en-us/documentation/articles/sql-database-develop-php-simple-windows/ -This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments. \ No newline at end of file +This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments. diff --git a/binaries/x64/php_pdo_sqlsrv_7_nts.dll b/binaries/x64/php_pdo_sqlsrv_7_nts.dll deleted file mode 100644 index ec4951ea..00000000 Binary files a/binaries/x64/php_pdo_sqlsrv_7_nts.dll and /dev/null differ diff --git a/binaries/x64/php_pdo_sqlsrv_7_ts.dll b/binaries/x64/php_pdo_sqlsrv_7_ts.dll deleted file mode 100644 index 502f573d..00000000 Binary files a/binaries/x64/php_pdo_sqlsrv_7_ts.dll and /dev/null differ diff --git a/binaries/x64/php_sqlsrv_7_nts.dll b/binaries/x64/php_sqlsrv_7_nts.dll deleted file mode 100644 index bdd4c248..00000000 Binary files a/binaries/x64/php_sqlsrv_7_nts.dll and /dev/null differ diff --git a/binaries/x64/php_sqlsrv_7_ts.dll b/binaries/x64/php_sqlsrv_7_ts.dll deleted file mode 100644 index 05a3c68f..00000000 Binary files a/binaries/x64/php_sqlsrv_7_ts.dll and /dev/null differ diff --git a/binaries/x86/php_pdo_sqlsrv_7_nts.dll b/binaries/x86/php_pdo_sqlsrv_7_nts.dll deleted file mode 100644 index 54aba82d..00000000 Binary files a/binaries/x86/php_pdo_sqlsrv_7_nts.dll and /dev/null differ diff --git a/binaries/x86/php_pdo_sqlsrv_7_ts.dll b/binaries/x86/php_pdo_sqlsrv_7_ts.dll deleted file mode 100644 index 20d3f1fa..00000000 Binary files a/binaries/x86/php_pdo_sqlsrv_7_ts.dll and /dev/null differ diff --git a/binaries/x86/php_sqlsrv_7_nts.dll b/binaries/x86/php_sqlsrv_7_nts.dll deleted file mode 100644 index d75692d9..00000000 Binary files a/binaries/x86/php_sqlsrv_7_nts.dll and /dev/null differ diff --git a/binaries/x86/php_sqlsrv_7_ts.dll b/binaries/x86/php_sqlsrv_7_ts.dll deleted file mode 100644 index 45f4edf3..00000000 Binary files a/binaries/x86/php_sqlsrv_7_ts.dll and /dev/null differ diff --git a/sqlsrv/init.cpp b/sqlsrv/init.cpp index ae968652..19934cab 100644 --- a/sqlsrv/init.cpp +++ b/sqlsrv/init.cpp @@ -384,6 +384,17 @@ PHP_MINIT_FUNCTION(sqlsrv) constant_type.typeinfo.size = 27; constant_type.typeinfo.scale = 7; REGISTER_LONG_CONSTANT( "SQLSRV_SQLTYPE_DATETIME2", constant_type.value, CONST_PERSISTENT | CONST_CS ); + + // These constant are defined to provide type checking (type ==SQLSRV_SQLTYPE_DECIMAL). + // There are functions with the same name which accept parameters and is used in binding paramters. + REGISTER_LONG_CONSTANT("SQLSRV_SQLTYPE_DECIMAL", SQL_DECIMAL, CONST_PERSISTENT | CONST_CS); + REGISTER_LONG_CONSTANT("SQLSRV_SQLTYPE_NUMERIC", SQL_NUMERIC, CONST_PERSISTENT | CONST_CS); + REGISTER_LONG_CONSTANT("SQLSRV_SQLTYPE_CHAR", SQL_CHAR, CONST_PERSISTENT | CONST_CS); + REGISTER_LONG_CONSTANT("SQLSRV_SQLTYPE_NCHAR", SQL_WCHAR, CONST_PERSISTENT | CONST_CS); + REGISTER_LONG_CONSTANT("SQLSRV_SQLTYPE_VARCHAR", SQL_VARCHAR, CONST_PERSISTENT | CONST_CS); + REGISTER_LONG_CONSTANT("SQLSRV_SQLTYPE_NVARCHAR", SQL_WVARCHAR, CONST_PERSISTENT | CONST_CS); + REGISTER_LONG_CONSTANT("SQLSRV_SQLTYPE_BINARY", SQL_BINARY, CONST_PERSISTENT | CONST_CS); + REGISTER_LONG_CONSTANT("SQLSRV_SQLTYPE_VARBINARY", SQL_VARBINARY, CONST_PERSISTENT | CONST_CS); REGISTER_LONG_CONSTANT( "SQLSRV_PARAM_IN", SQL_PARAM_INPUT, CONST_PERSISTENT | CONST_CS ); REGISTER_LONG_CONSTANT( "SQLSRV_PARAM_OUT", SQL_PARAM_OUTPUT, CONST_PERSISTENT | CONST_CS ); diff --git a/sqlsrv/stmt.cpp b/sqlsrv/stmt.cpp index 1090de36..67a87679 100644 --- a/sqlsrv/stmt.cpp +++ b/sqlsrv/stmt.cpp @@ -794,7 +794,7 @@ PHP_FUNCTION( sqlsrv_fetch_object ) } class_name = Z_STRVAL( *class_name_z ); class_name_len = Z_STRLEN( *class_name_z ); - zend_str_tolower( class_name, class_name_len ); + //zend_str_tolower( class_name, class_name_len ); } if( ctor_params_z && Z_TYPE_P( ctor_params_z ) != IS_ARRAY ) {