* getFunctionName - retrieves a function name from an oid * */
| 15865 | * |
| 15866 | */ |
| 15867 | static char * |
| 15868 | getFunctionName(Archive *fout, Oid oid) |
| 15869 | { |
| 15870 | char *result; |
| 15871 | PQExpBuffer query; |
| 15872 | PGresult *res; |
| 15873 | int ntups; |
| 15874 | |
| 15875 | if (oid == InvalidOid) |
| 15876 | { |
| 15877 | return NULL; |
| 15878 | } |
| 15879 | |
| 15880 | query = createPQExpBuffer(); |
| 15881 | |
| 15882 | appendPQExpBuffer(query, "SELECT proname FROM pg_proc WHERE oid = %u;",oid); |
| 15883 | |
| 15884 | res = ExecuteSqlQuery(fout, query->data, PGRES_TUPLES_OK); |
| 15885 | |
| 15886 | /* Expecting a single result only */ |
| 15887 | ntups = PQntuples(res); |
| 15888 | if (ntups != 1) |
| 15889 | { |
| 15890 | pg_log_warning("query yielded %d rows instead of one: %s", |
| 15891 | ntups, query->data); |
| 15892 | exit_nicely(1); |
| 15893 | } |
| 15894 | |
| 15895 | /* already quoted */ |
| 15896 | result = pg_strdup(PQgetvalue(res, 0, 0)); |
| 15897 | |
| 15898 | PQclear(res); |
| 15899 | destroyPQExpBuffer(query); |
| 15900 | |
| 15901 | return result; |
| 15902 | } |
| 15903 | |
| 15904 | /* |
| 15905 | * dumpExtProtocol |
no test coverage detected