aboutsummaryrefslogtreecommitdiff
path: root/src/backend/commands/proclang.c
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>1999-11-22 17:56:41 +0000
committerBruce Momjian <bruce@momjian.us>1999-11-22 17:56:41 +0000
commitfc955b14ea667e04475e2b7339c8445611470771 (patch)
tree5f5a3760e1e5cdfe910125817d9217b837eab23b /src/backend/commands/proclang.c
parente30c2d67ef1c58d148bdc1b3a7faeed7b17d8b28 (diff)
downloadpostgresql-fc955b14ea667e04475e2b7339c8445611470771.tar.gz
postgresql-fc955b14ea667e04475e2b7339c8445611470771.zip
Add system indexes to match all caches.
Make all system indexes unique. Make all cache loads use system indexes. Rename *rel to *relid in inheritance tables. Rename cache names to be clearer.
Diffstat (limited to 'src/backend/commands/proclang.c')
-rw-r--r--src/backend/commands/proclang.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/backend/commands/proclang.c b/src/backend/commands/proclang.c
index b2fc76f090b..aad945bd6bb 100644
--- a/src/backend/commands/proclang.c
+++ b/src/backend/commands/proclang.c
@@ -11,6 +11,7 @@
#include "access/heapam.h"
#include "catalog/catname.h"
+#include "catalog/indexing.h"
#include "catalog/pg_language.h"
#include "catalog/pg_proc.h"
#include "catalog/pg_shadow.h"
@@ -75,7 +76,7 @@ CreateProceduralLanguage(CreatePLangStmt *stmt)
*/
case_translate_language_name(stmt->plname, languageName);
- langTup = SearchSysCacheTuple(LANNAME,
+ langTup = SearchSysCacheTuple(LANGNAME,
PointerGetDatum(languageName),
0, 0, 0);
if (HeapTupleIsValid(langTup))
@@ -87,7 +88,7 @@ CreateProceduralLanguage(CreatePLangStmt *stmt)
* ----------------
*/
memset(typev, 0, sizeof(typev));
- procTup = SearchSysCacheTuple(PRONAME,
+ procTup = SearchSysCacheTuple(PROCNAME,
PointerGetDatum(stmt->plhandler),
Int32GetDatum(0),
PointerGetDatum(typev),
@@ -127,6 +128,15 @@ CreateProceduralLanguage(CreatePLangStmt *stmt)
heap_insert(rel, tup);
+ if (RelationGetForm(rel)->relhasindex)
+ {
+ Relation idescs[Num_pg_language_indices];
+
+ CatalogOpenIndices(Num_pg_language_indices, Name_pg_language_indices, idescs);
+ CatalogIndexInsert(idescs, Num_pg_language_indices, rel, tup);
+ CatalogCloseIndices(Num_pg_language_indices, idescs);
+ }
+
heap_close(rel, RowExclusiveLock);
}
@@ -161,7 +171,7 @@ DropProceduralLanguage(DropPLangStmt *stmt)
rel = heap_openr(LanguageRelationName, RowExclusiveLock);
- langTup = SearchSysCacheTupleCopy(LANNAME,
+ langTup = SearchSysCacheTupleCopy(LANGNAME,
PointerGetDatum(languageName),
0, 0, 0);
if (!HeapTupleIsValid(langTup))