diff options
Diffstat (limited to 'src/backend/utils/adt/lockfuncs.c')
-rw-r--r-- | src/backend/utils/adt/lockfuncs.c | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/src/backend/utils/adt/lockfuncs.c b/src/backend/utils/adt/lockfuncs.c index 0b1933aad1c..38e540e3c85 100644 --- a/src/backend/utils/adt/lockfuncs.c +++ b/src/backend/utils/adt/lockfuncs.c @@ -5,23 +5,24 @@ * Copyright (c) 2002, PostgreSQL Global Development Group * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/adt/lockfuncs.c,v 1.1 2002/08/17 13:11:43 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/lockfuncs.c,v 1.2 2002/08/27 04:00:28 momjian Exp $ */ #include "postgres.h" #include "fmgr.h" #include "funcapi.h" +#include "catalog/pg_type.h" #include "storage/lmgr.h" #include "storage/lock.h" #include "storage/lwlock.h" #include "storage/proc.h" -Datum lock_status_srf(PG_FUNCTION_ARGS); +Datum pg_lock_status(PG_FUNCTION_ARGS); static int next_lock(int locks[]); Datum -lock_status_srf(PG_FUNCTION_ARGS) +pg_lock_status(PG_FUNCTION_ARGS) { FuncCallContext *funccxt; LockData *lockData; @@ -32,7 +33,18 @@ lock_status_srf(PG_FUNCTION_ARGS) TupleDesc tupdesc; funccxt = SRF_FIRSTCALL_INIT(); - tupdesc = RelationNameGetTupleDesc("pg_catalog.pg_locks_result"); + tupdesc = CreateTemplateTupleDesc(5, WITHOUTOID); + TupleDescInitEntry(tupdesc, (AttrNumber) 1, "relation", + OIDOID, -1, 0, false); + TupleDescInitEntry(tupdesc, (AttrNumber) 2, "database", + OIDOID, -1, 0, false); + TupleDescInitEntry(tupdesc, (AttrNumber) 3, "backendpid", + INT4OID, -1, 0, false); + TupleDescInitEntry(tupdesc, (AttrNumber) 4, "mode", + TEXTOID, -1, 0, false); + TupleDescInitEntry(tupdesc, (AttrNumber) 5, "isgranted", + BOOLOID, -1, 0, false); + funccxt->slot = TupleDescGetSlot(tupdesc); funccxt->attinmeta = TupleDescGetAttInMetadata(tupdesc); |