CREATE OR REPLACE FUNCTION oracle.unistr(text) RETURNS text AS 'MODULE_PATHNAME','orafce_unistr' LANGUAGE 'c'; do $$ BEGIN IF EXISTS(SELECT * FROM pg_settings WHERE name = 'server_version_num' AND setting::int >= 120000) THEN ALTER FUNCTION varchar2(varchar2, integer, boolean) SUPPORT varchar2_transform; ELSE UPDATE pg_proc SET protransform= 'varchar2_transform'::regproc::oid WHERE proname='varchar2'; INSERT INTO pg_depend (classid, objid, objsubid, refclassid, refobjid, refobjsubid, deptype) VALUES('pg_proc'::regclass::oid, 'varchar2'::regproc::oid, 0, 'pg_proc'::regclass::oid, 'varchar2_transform'::regproc::oid, 0, 'n'); END IF; END $$; do $$ BEGIN IF EXISTS(SELECT * FROM pg_settings WHERE name = 'server_version_num' AND setting::int >= 120000) THEN ALTER FUNCTION nvarchar2(nvarchar2, integer, boolean) SUPPORT nvarchar2_transform; ELSE UPDATE pg_proc SET protransform= 'nvarchar2_transform'::regproc::oid WHERE proname='nvarchar2'; INSERT INTO pg_depend (classid, objid, objsubid, refclassid, refobjid, refobjsubid, deptype) VALUES('pg_proc'::regclass::oid, 'nvarchar2'::regproc::oid, 0, 'pg_proc'::regclass::oid, 'nvarchar2_transform'::regproc::oid, 0, 'n'); END IF; END $$;