Browse Source

- Fix get_parent_class() of PDORow instances

experimental/first_unicode_implementation
Johannes Schlüter 19 years ago
parent
commit
237ad54d4c
  1. 10
      ext/pdo/pdo_stmt.c
  2. 22
      ext/pdo/tests/pdo_035.phpt

10
ext/pdo/pdo_stmt.c

@ -2674,9 +2674,13 @@ static zend_class_entry *row_get_ce(zval *object TSRMLS_DC)
static int row_get_classname(zval *object, char **class_name, zend_uint *class_name_len, int parent TSRMLS_DC)
{
*class_name = estrndup("PDORow", sizeof("PDORow")-1);
*class_name_len = sizeof("PDORow")-1;
return 0;
if (parent) {
return FAILURE;
} else {
*class_name = UG(unicode) ? USTR_MAKE("PDORow") : estrndup("PDORow", sizeof("PDORow")-1);
*class_name_len = sizeof("PDORow")-1;
return SUCCESS;
}
}
static int row_compare(zval *object1, zval *object2 TSRMLS_DC)

22
ext/pdo/tests/pdo_035.phpt

@ -0,0 +1,22 @@
--TEST--
PDO Common: PDORow and get_parent_class()
--SKIPIF--
<?php
if (!extension_loaded('pdo_sqlite')) die ("skip Need PDO_SQlite support");
?>
--FILE--
<?php
$db = new PDO('sqlite::memory:');
$db->exec('CREATE TABLE test (id int)');
$db->exec('INSERT INTO test VALUES (23)');
$stmt = $db->prepare('SELECT id FROM test');
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_LAZY);
echo get_class($result), "\n";
var_dump(get_parent_class($result));
?>
--EXPECT--
PDORow
bool(false)
Loading…
Cancel
Save