Anomalie #789
ferméBug dans les charts avec SQLite
100%
Description
J'ai ça :
/charts.php - Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 1 no such function: NOW' in /home/bohwaz/git/galette/galette/includes/Zend-1.12.3/Zend/Db/Statement/Pdo.php:58
C'est à cause de ça :
lib/Galette/IO/Charts.php: )->where('date_echeance < ?', new \Zend_Db_Expr('NOW'));
SQLite ne connaît pas NOW, il faut utiliser datetime('now') ou datetime() tout court. Idéalement ça serait à Zend_Db de faire abstraction de ces petites différences entre bases de données mais je sais pas s'il sait faire.
(version trunk git)
Mis à jour par Johan Cwiklinski il y a presque 11 ans
datetime
, c'est inconnu au bataillon pour MySQL et Postgres.
Il commence à y avoir bien trop de conditions dans le code en fonction du moteur de base utilisé ; dans le normal, il ne devrait pas y en avoir du tout, je ne souhaite pas en ajouter encore une autre. Il faudra donc certainement calculer la date côté PHP, puis l'insérer dans la base plutôt que de reposer sur le moteur pour faire ce boulot.
Par ailleurs, ce n'est pas le seul endroit ou la fonction NOW
est utilisée, elle l'est également dans les rappels (qui ne fonctionnent donc pas avec SQLite non plus).
Mis à jour par Johan Cwiklinski il y a presque 11 ans
- Statut changé de Nouveau à Résolu
- % réalisé changé de 0 à 100
Appliqué par commit b091a06caf7431977fcb3a7ce2d398ec318b3096.
Mis à jour par Johan Cwiklinski il y a presque 11 ans
- Catégorie mis à Core
- Assigné à mis à Johan Cwiklinski
- Statut changé de Résolu à Fermé
- Version cible mis à 0.8.0