diff options
author | Bruce Momjian <bruce@momjian.us> | 1999-11-22 17:56:41 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 1999-11-22 17:56:41 +0000 |
commit | fc955b14ea667e04475e2b7339c8445611470771 (patch) | |
tree | 5f5a3760e1e5cdfe910125817d9217b837eab23b /src/backend/commands/proclang.c | |
parent | e30c2d67ef1c58d148bdc1b3a7faeed7b17d8b28 (diff) | |
download | postgresql-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.c | 16 |
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)) |