diff --git a/htdocs/core/class/menubase.class.php b/htdocs/core/class/menubase.class.php index ecdb8752b8a5eaf3f84acca55e63b6819e3914be..852be332686d8bd12adbed42aed7714e7963ffc8 100644 --- a/htdocs/core/class/menubase.class.php +++ b/htdocs/core/class/menubase.class.php @@ -107,18 +107,22 @@ class Menubase // an insert with a forced id. if (in_array($this->db->type,array('pgsql'))) { - $sql = "SELECT MAX(rowid) as maxrowid FROM ".MAIN_DB_PREFIX."menu"; - $resqlrowid=$this->db->query($sql); - if ($resqlrowid) - { - $obj=$this->db->fetch_object($resqlrowid); - $maxrowid=$obj->maxrowid; - - $sql = "SELECT setval('".MAIN_DB_PREFIX."menu_rowid_seq', ".($maxrowid).")"; - $resqlrowidset=$this->db->query($sql); - if (! $resqlrowidset) dol_print_error($this->db); - } - else dol_print_error($this->db); + $sql = "SELECT MAX(rowid) as maxrowid FROM ".MAIN_DB_PREFIX."menu"; + $resqlrowid=$this->db->query($sql); + if ($resqlrowid) + { + $obj=$this->db->fetch_object($resqlrowid); + $maxrowid=$obj->maxrowid; + + // Max rowid can be empty if there is no record yet + if(empty($maxrowid)) $maxrowid=1; + + $sql = "SELECT setval('".MAIN_DB_PREFIX."menu_rowid_seq', ".($maxrowid).")"; + //print $sql; exit; + $resqlrowidset=$this->db->query($sql); + if (! $resqlrowidset) dol_print_error($this->db); + } + else dol_print_error($this->db); } // Insert request