facebook / facebook/hhvm

Persistent PDO resources might be wrong w.r.t. PDO::ATTR_STATEMENT_CLASS

Abierto
#5,202 1 comentario 0 reacciones 0 asignados Ver en GitHub
php5 incompatibility probably easy
Lenguaje dominante
C++
Estrellas
18.7k
Forks
3.1k
Merge medio
1 h 47 min
PR fusionados (30 d)
2

Descripción

According to the PHP manual, persistent PDO resources don't support PDO_ATTR_STATEMENT_CLASS (http://php.net/manual/en/pdo.setattribute.php).

HHVM's implementation of PDO seems to want to agree with this behavior, since there's a check for an `is_persistent' in the implementation of setattribute; however, that flag is not actually ever set anywhere.

This shouldn't be too complicated to resolve:
1/ Make sure PHP5's behavior agrees with the doc; if not, we can probably just keep the behavior also.
2/ If so, check for persistence another way (or set `is_persistent').
3/ A bunch of cleanup is possible if we match this behavior; e.g., we can probably kill persistent saving/restoring of the actual PDOResource objects, we can move the clsname field out of PDOConnection and into PDOResource as a runtime data structure, etc.

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.