php-src/ext/pdo_firebird/tests/execute_block.phpt
Máté Kocsis d6a0b3af68
Implement PDO driver-specific subclasses
RFC: https://wiki.php.net/rfc/pdo_driver_specific_subclasses
Closes GH-12804

Co-Authored-By: Danack <Danack@basereality.com>
2024-01-11 23:22:41 +01:00

48 lines
805 B
PHP

--TEST--
PDO_Firebird: support EXECUTE BLOCK
--EXTENSIONS--
pdo_firebird
--SKIPIF--
<?php require('skipif.inc');
?>
--XLEAK--
A bug in firebird causes a memory leak when calling `isc_attach_database()`.
See https://github.com/FirebirdSQL/firebird/issues/7849
--FILE--
<?php
require("testdb.inc");
$dbh = getDbConnection();
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
$sql = '
execute block (a int = :e, b int = :d)
returns (N int, M int)
as
declare z int;
begin
select 10
from rdb$database
into :z;
n = a + b + z;
m = z * a;
suspend;
end
';
$query = $dbh->prepare($sql);
$query->execute(['d' => 1, 'e' => 2]);
$row = $query->fetch(\PDO::FETCH_OBJ);
var_dump($row->N);
var_dump($row->M);
unset($query);
unset($dbh);
echo "done\n";
?>
--EXPECT--
int(13)
int(20)
done