Logiquement, si tu peux avoir le cas de quelqu'un qui arrive à 22H00 et part à 01H00, il faudrait récupérer dans ta base, non seulement l'heure de départ et celle d'arrivée, mais aussi le jour... Sinon, ça ne peut pas fonctionner.
Pour ce qui est de la durée, effectivement, un champ de type timezone ne peut dépasser les 24H. Il faut donc créer un nouveau type pour ça.
Je n'ai pas mes sources sous la main, mais en gros, voici comment j'ai procédé :
- J'enregistre les heures de départ et d'arrivée sous forme de texte à 5 caractères (heure + séparateur + minutes).
- J'ai fait une fonction de conversion de cette chaîne vers des entiers (pour avoir un nombre entier de minutes) et l'inverse, en plpgSQL, mais on doit pouvoir le faire en C pour améliorer les perfs (?).
Ce n'est pas trop compliqué à faire, et je te conseille éventuellement de lire la doc de postgres concernant la fonction "create type" de façon à voir comment l'appliquer à ton cas.
Si tu as besoin de plus d'infos, fais-le savoir dans ce thread.
Voilà, en espérant que ça aide.
P.S. : côté perfs, je n'ai pas à me plaindre, mais je ne gère qu'une centaine de personnes, pas plus, par le biais de la chaîne apache + php + postgreSQL.
# Je ne sais pas si c'est la bonne méthode, mais....
Posté par Gyro Gearllose . En réponse au message champs "durée" et postgres. Évalué à 3.
Pour ce qui est de la durée, effectivement, un champ de type timezone ne peut dépasser les 24H. Il faut donc créer un nouveau type pour ça.
Je n'ai pas mes sources sous la main, mais en gros, voici comment j'ai procédé :
- J'enregistre les heures de départ et d'arrivée sous forme de texte à 5 caractères (heure + séparateur + minutes).
- J'ai fait une fonction de conversion de cette chaîne vers des entiers (pour avoir un nombre entier de minutes) et l'inverse, en plpgSQL, mais on doit pouvoir le faire en C pour améliorer les perfs (?).
Ce n'est pas trop compliqué à faire, et je te conseille éventuellement de lire la doc de postgres concernant la fonction "create type" de façon à voir comment l'appliquer à ton cas.
Si tu as besoin de plus d'infos, fais-le savoir dans ce thread.
Voilà, en espérant que ça aide.
P.S. : côté perfs, je n'ai pas à me plaindre, mais je ne gère qu'une centaine de personnes, pas plus, par le biais de la chaîne apache + php + postgreSQL.