]> granicus.if.org Git - php/commitdiff
Merge branch 'PHP-7.4'
authorChristoph M. Becker <cmbecker69@gmx.de>
Fri, 15 May 2020 07:12:56 +0000 (09:12 +0200)
committerChristoph M. Becker <cmbecker69@gmx.de>
Fri, 15 May 2020 07:13:22 +0000 (09:13 +0200)
* PHP-7.4:
  Fix #79596: MySQL FLOAT truncates to int some locales

1  2 
ext/mysqlnd/mysql_float_to_double.h
ext/pdo_mysql/tests/bug79596.phpt

Simple merge
index 0000000000000000000000000000000000000000,054e3c1c2e66a92e8c3215297373a794f0a57670..185b2e60b14f8882dc09d58099faf8f5337cb9b7
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,30 +1,30 @@@
 -float(4,9)
+ --TEST--
+ Bug #79596 (MySQL FLOAT truncates to int some locales)
+ --SKIPIF--
+ <?php
+ require_once(__DIR__ . DIRECTORY_SEPARATOR . 'skipif.inc');
+ require_once(__DIR__ . DIRECTORY_SEPARATOR . 'mysql_pdo_test.inc');
+ MySQLPDOTest::skip();
+ if (!setlocale(LC_ALL, 'de_DE', 'de-DE')) die('skip German locale not available');
+ ?>
+ --FILE--
+ <?php
+ require_once(__DIR__ . DIRECTORY_SEPARATOR . 'mysql_pdo_test.inc');
+ setlocale(LC_ALL, 'de_DE', 'de-DE');
+ $pdo = MySQLPDOTest::factory();
+ $pdo->setAttribute(\PDO::ATTR_EMULATE_PREPARES, false);
+ $pdo->query('CREATE TABLE bug79596 (broken FLOAT(2,1))');
+ $pdo->query('INSERT INTO bug79596 VALUES(4.9)');
+ var_dump($pdo->query('SELECT broken FROM bug79596')->fetchColumn(0));
+ ?>
+ --CLEAN--
+ <?php
+ require_once(__DIR__ . DIRECTORY_SEPARATOR . 'mysql_pdo_test.inc');
+ $pdo = MySQLPDOTest::factory();
+ $pdo->exec("DROP TABLE IF EXISTS bug79596");
+ ?>
+ --EXPECT--
++float(4.9)