From 58ad03117d35c529e57dca0ca3ec569b0e731b38 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 28 Oct 2011 00:33:28 +0200 Subject: [PATCH] Fix: pgsql compatibility --- .../compta/paiement/cheque/class/remisecheque.class.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/htdocs/compta/paiement/cheque/class/remisecheque.class.php b/htdocs/compta/paiement/cheque/class/remisecheque.class.php index a1a5c59b9c5..7c38aa23a2e 100644 --- a/htdocs/compta/paiement/cheque/class/remisecheque.class.php +++ b/htdocs/compta/paiement/cheque/class/remisecheque.class.php @@ -396,10 +396,14 @@ class RemiseCheque extends CommonObject $num=0; - // We use +0 to convert varchar to number - $sql = "SELECT MAX(number+0)"; + // We use +0 to convert varchar to number for mysql, use ::integer for postgres. + // We must found a generic solution (Use a $db->toint function ?) + $sql = "SELECT "; + if ($this->db->type == 'pgsql') $sql.="MAX(number::integer)"; + else $sql.="MAX(number+0)"; $sql.= " FROM ".MAIN_DB_PREFIX."bordereau_cheque"; $sql.= " WHERE entity = ".$conf->entity; + $sql.= " AND number not like '(%'"; dol_syslog("Remisecheque::getNextNumber sql=".$sql); $resql = $this->db->query($sql);