diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2004-04-01 21:28:47 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2004-04-01 21:28:47 +0000 |
commit | 375369acd1c621bdc683c58bc9c31d4e79d14849 (patch) | |
tree | f29974842cea4105c92da6031bac736ddf5f833a /src/backend/catalog/pg_proc.c | |
parent | 8590a62b75d3dba24609eb46b34fac13ed881d9e (diff) | |
download | postgresql-375369acd1c621bdc683c58bc9c31d4e79d14849.tar.gz postgresql-375369acd1c621bdc683c58bc9c31d4e79d14849.zip |
Replace TupleTableSlot convention for whole-row variables and function
results with tuples as ordinary varlena Datums. This commit does not
in itself do much for us, except eliminate the horrid memory leak
associated with evaluation of whole-row variables. However, it lays the
groundwork for allowing composite types as table columns, and perhaps
some other useful features as well. Per my proposal of a few days ago.
Diffstat (limited to 'src/backend/catalog/pg_proc.c')
-rw-r--r-- | src/backend/catalog/pg_proc.c | 41 |
1 files changed, 1 insertions, 40 deletions
diff --git a/src/backend/catalog/pg_proc.c b/src/backend/catalog/pg_proc.c index 6fe64eadd0d..0640aacbe5a 100644 --- a/src/backend/catalog/pg_proc.c +++ b/src/backend/catalog/pg_proc.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/catalog/pg_proc.c,v 1.113 2004/03/21 22:29:10 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/catalog/pg_proc.c,v 1.114 2004/04/01 21:28:44 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -32,7 +32,6 @@ #include "utils/acl.h" #include "utils/builtins.h" #include "utils/lsyscache.h" -#include "utils/sets.h" #include "utils/syscache.h" @@ -137,44 +136,6 @@ ProcedureCreate(const char *procedureName, /* Process param names, if given */ namesarray = create_parameternames_array(parameterCount, parameterNames); - if (languageObjectId == SQLlanguageId) - { - /* - * If this call is defining a set, check if the set is already - * defined by looking to see whether this call's function text - * matches a function already in pg_proc. If so just return the - * OID of the existing set. - */ - if (strcmp(procedureName, GENERICSETNAME) == 0) - { -#ifdef SETS_FIXED - - /* - * The code below doesn't work any more because the PROSRC - * system cache and the pg_proc_prosrc_index have been - * removed. Instead a sequential heap scan or something better - * must get implemented. The reason for removing is that - * nbtree index crashes if sources exceed 2K --- what's likely - * for procedural languages. - * - * 1999/09/30 Jan - */ - text *prosrctext; - - prosrctext = DatumGetTextP(DirectFunctionCall1(textin, - CStringGetDatum(prosrc))); - retval = GetSysCacheOid(PROSRC, - PointerGetDatum(prosrctext), - 0, 0, 0); - pfree(prosrctext); - if (OidIsValid(retval)) - return retval; -#else - elog(ERROR, "lookup for procedure by source needs fix (Jan)"); -#endif /* SETS_FIXED */ - } - } - /* * don't allow functions of complex types that have the same name as * existing attributes of the type |