diff options
author | Christoph M. Becker <cmbecker69@gmx.de> | 2020-12-14 18:27:53 +0100 |
---|---|---|
committer | Christoph M. Becker <cmbecker69@gmx.de> | 2020-12-14 18:27:53 +0100 |
commit | 15d9c42070bfe63a9c36209acd4af0196716a92d (patch) | |
tree | f30b28c24b66b6bc5b26c32995f94a511d04f659 | |
parent | b3377028dcd418ea7dfbd772e25c67727df28609 (diff) | |
parent | 10c9d615dea8a21437443d76132f973c7f0c5da4 (diff) | |
download | php-git-15d9c42070bfe63a9c36209acd4af0196716a92d.tar.gz |
Merge branch 'PHP-7.4' into PHP-8.0
* PHP-7.4:
Drop pdo_mysql_prepare_load_data.phpt
-rw-r--r-- | ext/pdo_mysql/tests/pdo_mysql_prepare_load_data.phpt | 108 |
1 files changed, 0 insertions, 108 deletions
diff --git a/ext/pdo_mysql/tests/pdo_mysql_prepare_load_data.phpt b/ext/pdo_mysql/tests/pdo_mysql_prepare_load_data.phpt deleted file mode 100644 index 1b40d7d7a2..0000000000 --- a/ext/pdo_mysql/tests/pdo_mysql_prepare_load_data.phpt +++ /dev/null @@ -1,108 +0,0 @@ ---TEST-- -MySQL PDO->prepare() and 1295 (ER_UNSUPPORTED_PS) ---SKIPIF-- -<?php -require_once(__DIR__ . DIRECTORY_SEPARATOR . 'skipif.inc'); -require_once(__DIR__ . DIRECTORY_SEPARATOR . 'mysql_pdo_test.inc'); -MySQLPDOTest::skip(); - -// Run test only locally - not against remote hosts -$db = MySQLPDOTest::factory(); -$stmt = $db->query('SELECT USER() as _user'); -$row = $stmt->fetch(PDO::FETCH_ASSOC); -$tmp = explode('@', $row['_user']); -if (count($tmp) < 2) - die("skip Cannot detect if test is run against local or remote database server"); -if (($tmp[1] !== 'localhost') && ($tmp[1] !== '127.0.0.1')) - die("skip Test cannot be run against remote database server"); - -$stmt = $db->query("SHOW VARIABLES LIKE 'secure_file_priv'"); -if (($row = $stmt->fetch(PDO::FETCH_ASSOC)) && ($row['value'] != '')) { - if (!is_writable($row['value'])) - die("skip secure_file_priv directory not writable: {$row['value']}"); - - $filename = $row['value'] . DIRECTORY_SEPARATOR . "pdo_mysql_exec_load_data.csv"; - - if (file_exists($filename) && !is_writable($filename)) - die("skip {$filename} not writable"); -} - -?> ---FILE-- -<?php - function exec_and_count($offset, &$db, $sql, $exp) { - - try { - - $ret = $db->exec($sql); - if ($ret !== $exp) { - printf("[%03d] Expecting '%s'/%s got '%s'/%s when running '%s', [%s] %s\n", - $offset, $exp, gettype($exp), $ret, gettype($ret), $sql, - $db->errorCode(), implode(' ', $db->errorInfo())); - return false; - } - - } catch (PDOException $e) { - - if (42000 == $db->errorCode()) { - // Error: 1148 SQLSTATE: 42000 (ER_NOT_ALLOWED_COMMAND) - // Load data infile not allowed - return false; - } - - printf("[%03d] '%s' has failed, [%s] %s\n", - $offset, $sql, $db->errorCode(), implode(' ', $db->errorInfo())); - return false; - } - - return true; - } - - require_once(__DIR__ . DIRECTORY_SEPARATOR . 'mysql_pdo_test.inc'); - $db = MySQLPDOTest::factory(); - // Run with native PS. - // The test is about checking the fallback to emulation - $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, 0); - MySQLPDOTest::createTestTable($db, MySQLPDOTest::detect_transactional_mysql_engine($db)); - - exec_and_count(2, $db, 'DROP TABLE IF EXISTS test', 0); - exec_and_count(3, $db, sprintf('CREATE TABLE test(id INT NOT NULL PRIMARY KEY, col1 CHAR(10)) ENGINE=%s', PDO_MYSQL_TEST_ENGINE), 0); - - $stmt = $db->query("SHOW VARIABLES LIKE 'secure_file_priv'"); - if (($row = $stmt->fetch(PDO::FETCH_ASSOC)) && ($row['value'] != '')) { - $filename = $row['value'] . DIRECTORY_SEPARATOR . "pdo_mysql_exec_load_data.csv"; - } else { - $filename = MySQLPDOTest::getTempDir() . DIRECTORY_SEPARATOR . "pdo_mysql_exec_load_data.csv"; - } - - $fp = fopen($filename, "w"); - fwrite($fp, "1;foo\n"); - fwrite($fp, "2;bar"); - fclose($fp); - - $stmt = $db->prepare(sprintf("LOAD DATA INFILE %s INTO TABLE test FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n'", $db->quote($filename))); - if (!$stmt->execute()) { - printf("[004] [%d] %s\n", $stmt->errorCode(), var_export($stmt->errorInfo(), true)); - } - - // Check the line - $stmt = $db->query("SELECT 1 as 'one'"); - if ($stmt->errorCode() != '0000') { - printf("[005] [%d] %s\n", $stmt->errorCode(), var_export($stmt->errorInfo(), true)); - } else { - $rows = $stmt->fetchAll(PDO::FETCH_ASSOC); - if (!isset($rows[0]['one']) || $rows[0]['one'] != 1) - printf("[006] [%d] %s\n", $stmt->errorCode(), var_export($stmt->errorInfo(), true)); - } - - unlink($filename); - - print "done!"; -?> ---CLEAN-- -<?php -require __DIR__ . '/mysql_pdo_test.inc'; -MySQLPDOTest::dropTestTable(); -?> ---EXPECTF-- -done! |