Anomalie #789
closedBug 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)
Updated by Johan Cwiklinski almost 11 years ago
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).
Updated by Johan Cwiklinski almost 11 years ago
- Status changed from Nouveau to Résolu
- % Done changed from 0 to 100
Appliqué par commit b091a06caf7431977fcb3a7ce2d398ec318b3096.
Updated by Johan Cwiklinski almost 11 years ago
- Category set to Core
- Assignee set to Johan Cwiklinski
- Status changed from Résolu to Fermé
- Target version set to 0.8.0