-- test quoting functions CREATE FUNCTION quote(t text, how text) RETURNS text AS $$ if how == "literal": return plpy.quote_literal(t) elif how == "nullable": return plpy.quote_nullable(t) elif how == "ident": return plpy.quote_ident(t) else: raise plpy.Error("unrecognized quote type %s" % how) $$ LANGUAGE plpythonu; SELECT quote(t, 'literal') FROM (VALUES ('abc'), ('a''bc'), ('''abc'''), (''), (''''), ('xyzv')) AS v(t); SELECT quote(t, 'nullable') FROM (VALUES ('abc'), ('a''bc'), ('''abc'''), (''), (''''), (NULL)) AS v(t); SELECT quote(t, 'ident') FROM (VALUES ('abc'), ('a b c'), ('a " ''abc''')) AS v(t);