postgres.git / summary / log / commit / refs

commit    c49130ade4dac5d8dff724cf15b0f0cdb9cf7d24
Author:   Tom Lane <tgl@sss.pgh.pa.us>
Date:     Thu Nov 10 23:37:00 2011 +0000
First released in: 9.2.0, 8.4.10, 9.0.6, 9.1.2

    Throw nice error if server is too old to support psql's \ef or \sf command.
    
    Previously, you'd get "function pg_catalog.pg_get_functiondef(integer) does
    not exist", which is at best rather unprofessional-looking.  Back-patch
    to 8.4 where \ef was introduced.
    
    Josh Kupershmidt


src/bin/psql/command.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c index 7c44faeb2c6..98548d36551 100644 --- a/src/bin/psql/command.c +++ b/src/bin/psql/command.c @@ -508,7 +508,13 @@ exec_command(const char *cmd, */ else if (strcmp(cmd, "ef") == 0) { - if (!query_buf) + if (pset.sversion < 80400) + { + psql_error("The server (version %d.%d) does not support editing function source.\n", + pset.sversion / 10000, (pset.sversion / 100) % 100); + status = PSQL_CMD_ERROR; + } + else if (!query_buf) { psql_error("no query buffer\n"); status = PSQL_CMD_ERROR; [parent: 019d45e13910]