2017-03-14 01:54:58 +01:00
|
|
|
--TEST--
|
2017-05-02 21:00:53 +02:00
|
|
|
Test unsupported connection attribute ATTR_PREFETCH
|
|
|
|
--DESCRIPTION--
|
2017-03-14 01:54:58 +01:00
|
|
|
Exception is thrown for the unsupported connection attribute ATTR_PREFETCH only if it is set after PDO::ERRMODE_EXCEPTION is turned on
|
|
|
|
--SKIPIF--
|
2017-10-04 22:16:25 +02:00
|
|
|
<?php require('skipif_mid-refactor.inc'); ?>
|
2017-03-14 01:54:58 +01:00
|
|
|
--FILE--
|
|
|
|
<?php
|
2017-05-02 21:00:53 +02:00
|
|
|
require_once("MsSetup.inc");
|
2017-11-16 19:30:44 +01:00
|
|
|
require_once("MsCommon_mid-refactor.inc");
|
2017-10-04 22:16:25 +02:00
|
|
|
try {
|
2017-03-14 01:54:58 +01:00
|
|
|
echo "Testing a connection with ATTR_PREFETCH before ERRMODE_EXCEPTION...\n";
|
2018-06-09 01:00:27 +02:00
|
|
|
$dsn = getDSN($server, $databaseName, $driver);
|
2017-09-28 18:48:08 +02:00
|
|
|
|
2020-07-09 04:45:00 +02:00
|
|
|
// With PHP 8.0 the default is PDO::ERRMODE_EXCEPTION rather than PDO::ERRMODE_SILENT
|
|
|
|
if (PHP_MAJOR_VERSION == 8) {
|
|
|
|
$attr = array(PDO::ATTR_ERRMODE => PDO::ERRMODE_SILENT, PDO::ATTR_PREFETCH => true);
|
|
|
|
} else {
|
|
|
|
$attr = array(PDO::ATTR_PREFETCH => true, PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION);
|
|
|
|
}
|
2017-10-04 22:16:25 +02:00
|
|
|
$conn = new PDO($dsn, $uid, $pwd, $attr);
|
2017-11-16 19:30:44 +01:00
|
|
|
echo "Error from unsupported attribute (ATTR_PREFETCH) is silenced\n\n";
|
2017-10-04 22:16:25 +02:00
|
|
|
unset($conn);
|
2017-03-14 01:54:58 +01:00
|
|
|
|
2017-03-18 00:46:02 +01:00
|
|
|
echo "Testing a connection with ATTR_PREFETCH after ERRMODE_EXCEPTION...\n";
|
2020-07-09 04:45:00 +02:00
|
|
|
if (PHP_MAJOR_VERSION == 8) {
|
|
|
|
$attr = array(PDO::ATTR_PREFETCH => true);
|
|
|
|
} else {
|
|
|
|
$attr = array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_PREFETCH => true);
|
|
|
|
}
|
2017-10-04 22:16:25 +02:00
|
|
|
$conn = new PDO($dsn, $uid, $pwd, $attr);
|
2017-03-20 20:41:36 +01:00
|
|
|
//free the connection
|
2017-10-04 22:16:25 +02:00
|
|
|
unset($conn);
|
|
|
|
} catch (PDOException $e) {
|
2017-03-14 01:54:58 +01:00
|
|
|
echo "Exception from unsupported attribute (ATTR_PREFETCH) is caught\n";
|
|
|
|
}
|
|
|
|
?>
|
2017-10-05 01:26:50 +02:00
|
|
|
|
2017-03-14 01:54:58 +01:00
|
|
|
--EXPECT--
|
|
|
|
Testing a connection with ATTR_PREFETCH before ERRMODE_EXCEPTION...
|
2017-11-16 19:30:44 +01:00
|
|
|
Error from unsupported attribute (ATTR_PREFETCH) is silenced
|
2017-03-14 01:54:58 +01:00
|
|
|
|
|
|
|
Testing a connection with ATTR_PREFETCH after ERRMODE_EXCEPTION...
|
|
|
|
Exception from unsupported attribute (ATTR_PREFETCH) is caught
|