Project

General

Profile

Actions

Anomalie #789

closed

Bug dans les charts avec SQLite

Added by boh waz over 10 years ago. Updated about 10 years ago.

Status:
Fermé
Priority:
Normal
Category:
Core
Target version:
Start date:
02/08/2014
Due date:
% Done:

100%

Estimated time:
Version utilisée:

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)

Actions #1

Updated by Johan Cwiklinski over 10 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).

Actions #2

Updated by Johan Cwiklinski about 10 years ago

  • Status changed from Nouveau to Résolu
  • % Done changed from 0 to 100
Actions #3

Updated by Johan Cwiklinski about 10 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
Actions

Also available in: Atom PDF