Re: Error in executing user defined function

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Amit Kumar Khare <skamit2000(at)yahoo(dot)com>
Cc: PostgreSQL Hackers List <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Error in executing user defined function
Date: 2002-03-09 18:38:01
Message-ID: 9020.1015699081@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Amit Kumar Khare <skamit2000(at)yahoo(dot)com> writes:
> (2) Then I made the following entry in pg_proc.h

> DATA(insert OID = 4000 ( MyInc PGUID 12 f t t t 1 f
> 23 "23" 100 0 0 100 MyInc testfunc ));
> DESCR("test function ");

I think you ignored the advice that appears at the head of pg_proc.h
(and all the other include/catalog headers):

* XXX do NOT break up DATA() statements into multiple lines!
* the scripts are not as smart as you might think...
* XXX (eg. #if 0 #endif won't do what you think)

> PROBLEM 3:

> I didn't get a way to reflect all the new DATA()
> entries in pg_proc.h to pg_proc system table without
> deleting the "data" directory and reinitializing it
> again by running "initdb".

Quite. CREATE FUNCTION is the usual way of creating new pg_proc entries
on-the-fly. The include/catalog files contain exactly those entries
that are inserted by initdb; there is no other path from them to the
running system.

regards, tom lane

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2002-03-09 19:09:21 Rationalizing EXPLAIN VERBOSE output
Previous Message Tom Lane 2002-03-09 18:33:27 Re: Small fix for _equalValue()