Most of the time, working with PDO is simple - fire up the right driver for what you need and you're all set. But sometimes, something's just not right, as Stuart Herbert found out. He's blogged about this experience in his latest entry.
I've been playing about with using PDO to work with mysql. Something's not quite right in there, and it's resulting in a segfault when I run some local unit tests.
PDO objects themselves are created and destroyed when I'd expect them to be, as the objects go out of scope. The problem is that the PDOStatement objects aren't doing the same. According to gdb, PDOStatement objects are only getting cleaned up when php_request_shutdown() runs; never before.
Surely we should be seeing PDOStatement objects being destroyed before their corresponding PDO object?
He finds that there are relly two problems at work here - persistence of PDOStatement objects and PDO objects' destruction before their corresponding PDOStatement objects.
He asks for any opinions on the matter from anyone with the experience out there to help squash these bugs.