1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-30 11:03:19 +03:00

Restrict pgrowlocks function to superusers. (This might be too strict,

but no permissions check at all is certainly no good.)  Clean up usage
of some deprecated APIs.
This commit is contained in:
Tom Lane
2007-08-27 00:13:51 +00:00
parent 38c75ecf83
commit 56f3fb3ba1
4 changed files with 26 additions and 61 deletions

View File

@ -1,16 +1,13 @@
-- Adjust this setting to control where the objects get created.
SET search_path = public;
CREATE TYPE pgrowlocks_type AS (
locked_row TID, -- row TID
lock_type TEXT, -- lock type
locker XID, -- locking XID
multi bool, -- multi XID?
xids xid[], -- multi XIDs
pids INTEGER[] -- locker's process id
);
CREATE OR REPLACE FUNCTION pgrowlocks(text)
RETURNS setof pgrowlocks_type
CREATE OR REPLACE FUNCTION pgrowlocks(IN relname text,
OUT locked_row TID, -- row TID
OUT lock_type TEXT, -- lock type
OUT locker XID, -- locking XID
OUT multi bool, -- multi XID?
OUT xids xid[], -- multi XIDs
OUT pids INTEGER[]) -- locker's process id
RETURNS SETOF record
AS 'MODULE_PATHNAME', 'pgrowlocks'
LANGUAGE 'C' STRICT;
LANGUAGE C STRICT;