diff options
author | fandrieu <fandrieu@gmail.com> | 2017-10-31 17:33:10 -0400 |
---|---|---|
committer | Adam Baratz <adambaratz@php.net> | 2017-10-31 17:52:59 -0400 |
commit | b72af30a534fb3ff2f899f1561fd021bdbc832e1 (patch) | |
tree | 7ba563ec3fa9494535f0f6721e6f56d70c82409e /ext/pdo_dblib/dblib_driver.c | |
parent | 2ecfcdaf1b94868756cabbbb2c33276f823dafd7 (diff) | |
download | php-git-b72af30a534fb3ff2f899f1561fd021bdbc832e1.tar.gz |
Fix #74243: allow locales.conf to drive datetime format
Add a driver attribute, PDO::DBLIB_ATTR_DATETIME_CONVERT, to control.
Diffstat (limited to 'ext/pdo_dblib/dblib_driver.c')
-rw-r--r-- | ext/pdo_dblib/dblib_driver.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/ext/pdo_dblib/dblib_driver.c b/ext/pdo_dblib/dblib_driver.c index e8c010c563..f66e83734c 100644 --- a/ext/pdo_dblib/dblib_driver.c +++ b/ext/pdo_dblib/dblib_driver.c @@ -290,6 +290,9 @@ static int dblib_set_attr(pdo_dbh_t *dbh, zend_long attr, zval *val) case PDO_DBLIB_ATTR_SKIP_EMPTY_ROWSETS: H->skip_empty_rowsets = zval_is_true(val); return 1; + case PDO_DBLIB_ATTR_DATETIME_CONVERT: + H->datetime_convert = zval_get_long(val); + return 1; default: return 0; } @@ -321,6 +324,10 @@ static int dblib_get_attribute(pdo_dbh_t *dbh, zend_long attr, zval *return_valu ZVAL_BOOL(return_value, H->skip_empty_rowsets); break; + case PDO_DBLIB_ATTR_DATETIME_CONVERT: + ZVAL_BOOL(return_value, H->datetime_convert); + break; + default: return 0; } @@ -395,6 +402,7 @@ static int pdo_dblib_handle_factory(pdo_dbh_t *dbh, zval *driver_options) H->assume_national_character_set_strings = 0; H->stringify_uniqueidentifier = 0; H->skip_empty_rowsets = 0; + H->datetime_convert = 0; if (!H->login) { goto cleanup; @@ -418,6 +426,7 @@ static int pdo_dblib_handle_factory(pdo_dbh_t *dbh, zval *driver_options) H->assume_national_character_set_strings = pdo_attr_lval(driver_options, PDO_ATTR_DEFAULT_STR_PARAM, 0) == PDO_PARAM_STR_NATL ? 1 : 0; H->stringify_uniqueidentifier = pdo_attr_lval(driver_options, PDO_DBLIB_ATTR_STRINGIFY_UNIQUEIDENTIFIER, 0); H->skip_empty_rowsets = pdo_attr_lval(driver_options, PDO_DBLIB_ATTR_SKIP_EMPTY_ROWSETS, 0); + H->datetime_convert = pdo_attr_lval(driver_options, PDO_DBLIB_ATTR_DATETIME_CONVERT, 0); } DBERRHANDLE(H->login, (EHANDLEFUNC) pdo_dblib_error_handler); |