How to determine if a function exists - Mailing list pgsql-novice

From lmanorders
Subject How to determine if a function exists
Date
Msg-id 8310E014117E4AF990DC0A1745A7CB4B@LynnPC
Whole thread Raw
Responses Re: How to determine if a function exists  (Tom Lane <tgl@sss.pgh.pa.us>)
List 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
 

pgsql-novice by date:

Previous
From: Steve Crawford
Date:
Subject: Re: TimeZone parameter in postgresql.conf
Next
From: Tom Lane
Date:
Subject: Re: How to determine if a function exists