diff --git a/README.md b/README.md index 639a03bc1..0b1f4354f 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 ec4951ea9..000000000 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 502f573d0..000000000 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 bdd4c248f..000000000 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 05a3c68f2..000000000 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 54aba82d0..000000000 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 20d3f1fa6..000000000 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 d75692d9a..000000000 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 45f4edf3f..000000000 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 ae9686523..19934cab8 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 1090de361..67a876797 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 ) {