--TEST--
Bug #66033 (Segmentation Fault when constructor of PDO statement throws an exception)
--SKIPIF--
<?php
if (!extension_loaded('pdo_sqlite')) print 'skip not loaded';
?>
--FILE--
<?php
class DBStatement extends PDOStatement {
public $dbh;
protected function __construct($dbh) {
$this->dbh = $dbh;
throw new Exception("Blah");
}
}
$pdo = new PDO('sqlite::memory:', null, null);
$pdo->setAttribute(PDO::ATTR_STATEMENT_CLASS, array('DBStatement',
array($pdo)));
$pdo->exec("CREATE TABLE IF NOT EXISTS messages (
id INTEGER PRIMARY KEY,
title TEXT,
message TEXT,
time INTEGER)");
try {
$pdoStatement = $pdo->query("select * from messages");
} catch (Exception $e) {
var_dump($e->getMessage());
}
?>
--EXPECTF--
string(4) "Blah"
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>