From 4f6f5db47484c6550cfe792e80fc2c824154995e Mon Sep 17 00:00:00 2001 From: Neil Conway <neilc@samurai.com> Date: Tue, 29 Mar 2005 02:53:53 +0000 Subject: [PATCH] Add SPI_getnspname(), including documentation. --- doc/src/sgml/spi.sgml | 56 +++++++++++++++++++++++++++++++++++++- src/backend/executor/spi.c | 8 +++++- src/include/executor/spi.h | 3 +- 3 files changed, 64 insertions(+), 3 deletions(-) diff --git a/doc/src/sgml/spi.sgml b/doc/src/sgml/spi.sgml index 86949a9a439..52e41e1b890 100644 --- a/doc/src/sgml/spi.sgml +++ b/doc/src/sgml/spi.sgml @@ -1,5 +1,5 @@ <!-- -$PostgreSQL: pgsql/doc/src/sgml/spi.sgml,v 1.39 2005/01/22 22:56:36 momjian Exp $ +$PostgreSQL: pgsql/doc/src/sgml/spi.sgml,v 1.40 2005/03/29 02:53:53 neilc Exp $ --> <chapter id="spi"> @@ -2153,6 +2153,60 @@ char * SPI_getrelname(Relation <parameter>rel</parameter>) </refsect1> </refentry> +<refentry id="spi-spi-getnspname"> + <refmeta> + <refentrytitle>SPI_getnspname</refentrytitle> + </refmeta> + + <refnamediv> + <refname>SPI_getnspname</refname> + <refpurpose>return the namespace of the specified relation</refpurpose> + </refnamediv> + + <indexterm><primary>SPI_getnspname</primary></indexterm> + + <refsynopsisdiv> +<synopsis> +char * SPI_getnspname(Relation <parameter>rel</parameter>) +</synopsis> + </refsynopsisdiv> + + <refsect1> + <title>Description</title> + + <para> + <function>SPI_getnspname</function> returns a copy of the name of + the namespace that the specified <structname>Relation</structname> + belongs to. This is equivalent to the relation's schema. You should + <function>pfree</function> the return value of this function when + you are finished with it. + </para> + </refsect1> + + <refsect1> + <title>Arguments</title> + + <variablelist> + <varlistentry> + <term><literal>Relation <parameter>rel</parameter></literal></term> + <listitem> + <para> + input relation + </para> + </listitem> + </varlistentry> + </variablelist> + </refsect1> + + <refsect1> + <title>Return Value</title> + + <para> + The name of the specified relation's namespace. + </para> + </refsect1> +</refentry> + </sect1> <sect1 id="spi-memory"> diff --git a/src/backend/executor/spi.c b/src/backend/executor/spi.c index de119ec7762..c72201c6e6a 100644 --- a/src/backend/executor/spi.c +++ b/src/backend/executor/spi.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/executor/spi.c,v 1.136 2005/03/25 21:57:58 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/executor/spi.c,v 1.137 2005/03/29 02:53:53 neilc Exp $ * *------------------------------------------------------------------------- */ @@ -760,6 +760,12 @@ SPI_getrelname(Relation rel) return pstrdup(RelationGetRelationName(rel)); } +char * +SPI_getnspname(Relation rel) +{ + return get_namespace_name(RelationGetNamespace(rel)); +} + void * SPI_palloc(Size size) { diff --git a/src/include/executor/spi.h b/src/include/executor/spi.h index d5ba89fa3ea..10e4747dd9f 100644 --- a/src/include/executor/spi.h +++ b/src/include/executor/spi.h @@ -2,7 +2,7 @@ * * spi.h * - * $PostgreSQL: pgsql/src/include/executor/spi.h,v 1.50 2004/11/16 18:10:13 tgl Exp $ + * $PostgreSQL: pgsql/src/include/executor/spi.h,v 1.51 2005/03/29 02:53:53 neilc Exp $ * *------------------------------------------------------------------------- */ @@ -113,6 +113,7 @@ extern Datum SPI_getbinval(HeapTuple tuple, TupleDesc tupdesc, int fnumber, bool extern char *SPI_gettype(TupleDesc tupdesc, int fnumber); extern Oid SPI_gettypeid(TupleDesc tupdesc, int fnumber); extern char *SPI_getrelname(Relation rel); +extern char *SPI_getnspname(Relation rel); extern void *SPI_palloc(Size size); extern void *SPI_repalloc(void *pointer, Size size); extern void SPI_pfree(void *pointer); -- GitLab