| From: | "lmanorders" <lmanorders(at)gmail(dot)com> | 
|---|---|
| To: | <pgsql-novice(at)postgresql(dot)org> | 
| Subject: | How to determine if a function exists | 
| Date: | 2012-09-05 21:59:55 | 
| Message-ID: | 8310E014117E4AF990DC0A1745A7CB4B@LynnPC | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-novice | 
I'm attempting to determine if a stored procedure exists. If it doesn't, then I want to create it. I'm developing in C++ using the libpq interface. I found the following suggestion in the docs to determine if a function exists or not. I tried creating what I think is an identical query in pgAdmin and it seems to work ok. Can anyone tell me why the following always returns PGRES_TUPLE_OK, whether the function exists or not?
 strcpy(command, "SELECT * FROM pg_proc WHERE proname = 'getdetailamtsacct'");
 pqRes = PQexec(conn, command);
 if (PQresultStatus(pqRes) != PGRES_TUPLES_OK)
 {
  // translate the status code into a string
  pqExSt = PQresultStatus(pqRes);
  strcpy(result, PQresStatus(pqExSt));
  // display the status message
  ...
  exist = false;  // table doesn't exist
  }
  if (!exist)
  {
    // create the function (stored procedure)
  }
Is there a better way to determine if a function already exists?
Thanks, Lynn
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2012-09-05 22:10:49 | Re: How to determine if a function exists | 
| Previous Message | Steve Crawford | 2012-09-05 18:56:14 | Re: TimeZone parameter in postgresql.conf |