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:
@ -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;
|
||||
|
Reference in New Issue
Block a user