BUG #8568: PLPGSQL Documentation For CASE Is incorrect
От | joshuadburns@hotmail.com |
---|---|
Тема | BUG #8568: PLPGSQL Documentation For CASE Is incorrect |
Дата | |
Msg-id | E1VbJJx-0003T6-KN@wrigleys.postgresql.org обсуждение исходный текст |
Ответы |
Re: BUG #8568: PLPGSQL Documentation For CASE Is incorrect
Re: BUG #8568: PLPGSQL Documentation For CASE Is incorrect |
Список | pgsql-bugs |
The following bug has been logged on the website: Bug reference: 8568 Logged by: Joshua D. Burns Email address: joshuadburns@hotmail.com PostgreSQL version: 9.3.1 Operating system: Linux Description: Documentation Sections Affected: * 8.4: 38.6 * 9.0, 9.1 & 9.2: 39.6 * 9.3 & devel: 40.6 Example Documentation URL: http://www.postgresql.org/docs/9.3/static/plpgsql-control-structures.html Every example within the PLPGSQL "control structures" documentation states that the proper syntax for closing a "CASE" statement is to use "END CASE;" however in reality, on every version of PostgreSQL I can my hands on, "END CASE;" throws the following exception: ERROR: syntax error at or near "CASE" LINE 9: END CASE; However if I use "END;" in place of "END CASE;", the script executes as expected. This leads me to believe the documentation for "CASE" statements across all current versions of the documentation, are incorrect. ===================================== Example CASE statement with END CASE; ------------------------------------- DO LANGUAGE "plpgsql" $BODY$ DECLARE my_var INTEGER := 2; BEGIN RAISE NOTICE '%', CASE WHEN my_var = 1 THEN 'one' WHEN my_var = 2 THEN 'two' WHEN my_var = 3 THEN 'three' END CASE; END $BODY$; ===================================== Results In Unexpected Behavior: ERROR: syntax error at or near "CASE" LINE 9: END CASE; ===================================== Example CASE statement using END; ------------------------------------- DO LANGUAGE "plpgsql" $BODY$ DECLARE my_var INTEGER := 2; BEGIN RAISE NOTICE '%', CASE WHEN my_var = 1 THEN 'one' WHEN my_var = 2 THEN 'two' WHEN my_var = 3 THEN 'three' END; END $BODY$; ------------------------------------- Results In Expected Behavior: NOTICE: two I haven't checked, but this could also affect IF statements, specifically "END IF;" vs. "END;" as well.
В списке pgsql-bugs по дате отправления: