psql: add \create_function command - Mailing list pgsql-hackers

From Steve Chavez
Subject psql: add \create_function command
Date
Msg-id CAGRrpzZnoWY-kK_0qK-OY=-e0eDqhc5kdFSkuxN0mxe9iuiz0Q@mail.gmail.com
Whole thread Raw
Responses Re: psql: add \create_function command
List pgsql-hackers
Hello hackers,

Currently a function definition must include its body inline. Because of this, when storing function definitions in files, linters and syntax highlighters for non-SQL languages (python, perl, tcl, etc) won't work. An example can be seen on:

https://github.com/postgres/postgres/blob/5eafacd2797dc0b04a0bde25fbf26bf79903e7c2/src/pl/plpython/sql/plpython_test.sql#L15-L24

To solve the above issue, this patch adds a psql command to create a function and obtain its body from another file. It is used as:

\create_function from ./data/max.py max(int,int) returns int LANGUAGE plpython3u

Its design is similar to the `\copy` command, which is a frontend version of the COPY statement.

This patch is at an initial stage but includes tests with plpython3u, pltcl, plperl and tab completion.

Any feedback is welcomed.

Best regards,
Steve Chavez
Attachment

pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: cleanup patches for incremental backup
Next
From: Pavel Stehule
Date:
Subject: Re: psql: add \create_function command