pga_next_schedule function bug
От | Glen Sasek |
---|---|
Тема | pga_next_schedule function bug |
Дата | |
Msg-id | 006901c6074e$d76d5cf0$c5bcfc83@PSU.DS.PDX.EDU обсуждение исходный текст |
Список | pgadmin-hackers |
When creating a schedule or running the test code in pgagent.sql the following occurs: ERROR: syntax error at or near "IF" CONTEXT: compile of PL/pgSQL function "pga_next_schedule" near line 161 PL/pgSQL function "pga_job_trigger" line 4 at select into variables PL/pgSQL function "pga_schedule_trigger" line 10 at SQL statement This can be fixed by editing the pga_next_schedule function around lines 131-163; the problem is that there is no ELSEIF keyword in the language. The correct syntax is ELSIF. Here's a corrected version of the block of code that is causing problems: -- Was the last day flag selected? IF nextday = 32 THEN IF nextmonth = 1 THEN nextday := 31; ELSIF nextmonth = 2 THEN IF pgagent.pga_is_leap_year(nextyear) = TRUE THEN nextday := 29; ELSE nextday := 28; END IF; ELSIF nextmonth = 3 THEN nextday := 31; ELSIF nextmonth = 4 THEN nextday := 30; ELSIF nextmonth = 5 THEN nextday := 31; ELSIF nextmonth = 6 THEN nextday := 30; ELSIF nextmonth = 7 THEN nextday := 31; ELSIF nextmonth = 8 THEN nextday := 31; ELSIF nextmonth = 9 THEN nextday := 30; ELSIF nextmonth = 10 THEN nextday := 31; ELSIF nextmonth = 11 THEN nextday := 30; ELSIF nextmonth = 12 THEN nextday := 31; ELSE --do nothing END IF; END IF;
В списке pgadmin-hackers по дате отправления: