mirror of
https://github.com/postgres/postgres.git
synced 2025-06-10 00:01:28 -04:00
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
This commit is contained in:
parent
788cb1c2e8
commit
6f3dc00e24
@ -583,7 +583,13 @@ exec_command(const char *cmd,
|
|||||||
{
|
{
|
||||||
int lineno = -1;
|
int lineno = -1;
|
||||||
|
|
||||||
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");
|
psql_error("no query buffer\n");
|
||||||
status = PSQL_CMD_ERROR;
|
status = PSQL_CMD_ERROR;
|
||||||
@ -1115,7 +1121,13 @@ exec_command(const char *cmd,
|
|||||||
func_buf = createPQExpBuffer();
|
func_buf = createPQExpBuffer();
|
||||||
func = psql_scan_slash_option(scan_state,
|
func = psql_scan_slash_option(scan_state,
|
||||||
OT_WHOLE_LINE, NULL, true);
|
OT_WHOLE_LINE, NULL, true);
|
||||||
if (!func)
|
if (pset.sversion < 80400)
|
||||||
|
{
|
||||||
|
psql_error("The server (version %d.%d) does not support showing function source.\n",
|
||||||
|
pset.sversion / 10000, (pset.sversion / 100) % 100);
|
||||||
|
status = PSQL_CMD_ERROR;
|
||||||
|
}
|
||||||
|
else if (!func)
|
||||||
{
|
{
|
||||||
psql_error("function name is required\n");
|
psql_error("function name is required\n");
|
||||||
status = PSQL_CMD_ERROR;
|
status = PSQL_CMD_ERROR;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user