1
0
mirror of https://github.com/postgres/postgres.git synced 2025-06-30 21:42:05 +03:00

Fix \ef and \sf to not fail on functions with nonnull probin.

Update comment about them in pg_get_functiondef.
This commit is contained in:
Tom Lane
2010-08-14 14:20:35 +00:00
parent b6e06942c6
commit 41b810fe32
2 changed files with 15 additions and 14 deletions

View File

@ -3,7 +3,7 @@
*
* Copyright (c) 2000-2010, PostgreSQL Global Development Group
*
* $PostgreSQL: pgsql/src/bin/psql/command.c,v 1.227 2010/08/14 13:59:49 tgl Exp $
* $PostgreSQL: pgsql/src/bin/psql/command.c,v 1.228 2010/08/14 14:20:35 tgl Exp $
*/
#include "postgres_fe.h"
#include "command.h"
@ -611,17 +611,17 @@ exec_command(const char *cmd,
/*
* lineno "1" should correspond to the first line of the
* function body. We expect that pg_get_functiondef() will
* emit that on a line beginning with "AS $function", and that
* there can be no such line before the real start of the
* function body. Increment lineno by the number of lines
* before that line, so that it becomes relative to the first
* line of the function definition.
* emit that on a line beginning with "AS ", and that there
* can be no such line before the real start of the function
* body. Increment lineno by the number of lines before that
* line, so that it becomes relative to the first line of the
* function definition.
*/
const char *lines = query_buf->data;
while (*lines != '\0')
{
if (strncmp(lines, "AS $function", 12) == 0)
if (strncmp(lines, "AS ", 3) == 0)
break;
lineno++;
/* find start of next line */
@ -1150,9 +1150,9 @@ exec_command(const char *cmd,
/*
* lineno "1" should correspond to the first line of the
* function body. We expect that pg_get_functiondef() will
* emit that on a line beginning with "AS $function", and that
* there can be no such line before the real start of the
* function body.
* emit that on a line beginning with "AS ", and that there
* can be no such line before the real start of the function
* body.
*
* Note that this loop scribbles on func_buf.
*/
@ -1160,7 +1160,7 @@ exec_command(const char *cmd,
{
char *eol;
if (in_header && strncmp(lines, "AS $function", 12) == 0)
if (in_header && strncmp(lines, "AS ", 3) == 0)
in_header = false;
/* increment lineno only for body's lines */
if (!in_header)