Обсуждение: incorrect data type in function
The following documentation comment has been logged on the website: Page: http://www.postgresql.org/docs/8.2/static/plpgsql-porting.html Description: on page : http://www.postgresql.org/docs/current/static/plpgsql-porting.html under 40.12.1. Porting Examples -> Example 40-8. Porting a Simple Function from PL/SQL to PL/pgSQL ====================================== CREATE OR REPLACE FUNCTION cs_fmt_browser_version(v_name varchar, v_version varchar) RETURN varchar IS BEGIN IF v_version IS NULL THEN RETURN v_name; END IF; RETURN v_name || '/' || v_version; END; / show errors; ====================================== The data types in the function parameter and the returned type were seems typed incorrectly or missed typo ... in ORACLE there is no varchar, but there is varchar2 And since I AM away from ORACLE for more than decade, I might be wrong. Appreciate your efforts in keeping the best as open source. Thanks,
rapg12@gmail.com writes: > The data types in the function parameter and the returned type were seems > typed incorrectly or missed typo ... in ORACLE there is no varchar, but > there is varchar2 According to what I can find on the web, Oracle treats varchar and varchar2 as interchangeable type names, but they say they might someday fix varchar to be spec-compliant about distinguishing null from empty strings. (I'll believe that when I see it...) So our examples are not wrong, but nonetheless this is a good suggestion because changing them creates an opportunity to talk about the general porting problem of needing to translate Oracle type names to Postgres. I've pushed a patch based on that: http://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=23f11dc21b0135702a2852aac927bdc4f9d69cef Thanks for the suggestion! regards, tom lane