*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/utils/adt/ruleutils.c,v 1.331 2010/08/12 00:40:59 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/utils/adt/ruleutils.c,v 1.332 2010/08/14 14:20:35 tgl Exp $
*
*-------------------------------------------------------------------------
*/
* the specified function.
*
* Note: if you change the output format of this function, be careful not
- * to break psql's rules (in \ef) for identifying the start of the function
- * body.
+ * to break psql's rules (in \ef and \sf) for identifying the start of the
+ * function body. To wit: the function body starts on a line that begins
+ * with "AS ", and no preceding line will look like that.
*/
Datum
pg_get_functiondef(PG_FUNCTION_ARGS)
*
* 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"
/*
* 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 */
/*
* 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.
*/
{
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)