SHOW GRANTS: 함수 및 프로시저에 대한 권한 부여 출력 변경 사항(보류 중)

주의

이 동작 변경 사항은 2026_01 번들에 포함되어 있습니다.

번들의 현재 상태는 번들 기록 섹션을 참조하십시오.

SHOW GRANTS 명령의 출력에서 함수와 프로시저의 이름 열 값이 변경됩니다.

변경 전:

name 열에 인자의 이름 및 유형과 반환 유형이 포함됩니다.

예를 들어, 다음 함수의 경우는 다음과 같습니다.

CREATE FUNCTION area_of_circle(radius FLOAT)
  RETURNS FLOAT
  ...
Copy

이름 열의 값은 다음과 같습니다.

MY_DB.MY_SCHEMA."AREA_OF_CIRCLE(RADIUS FLOAT):FLOAT"
Copy

다음 프로시저의 경우는 다음과 같습니다.

CREATE PROCEDURE output_message(message VARCHAR)
  RETURNS VARCHAR
  ...
Copy

이름 열의 값은 다음과 같습니다.

MY_DB.MY_SCHEMA."OUTPUT_MESSAGE(MESSAGE VARCHAR):VARCHAR"
Copy
변경 후:

name 열에 인자의 유형만 포함됩니다.

예를 들어, 다음 함수의 경우는 다음과 같습니다.

CREATE FUNCTION area_of_circle(radius FLOAT)
  RETURNS FLOAT
  ...
Copy

이름 열의 값은 다음과 같습니다.

MY_DB.MY_SCHEMA.AREA_OF_CIRCLE(FLOAT)
Copy

다음 프로시저의 경우는 다음과 같습니다.

CREATE PROCEDURE output_message(message VARCHAR)
  RETURNS VARCHAR
  ...
Copy

이름 열의 값은 다음과 같습니다.

MY_DB.MY_SCHEMA.OUTPUT_MESSAGE(VARCHAR)
Copy

이 변경으로 실행하려는 GRANTREVOKE 문의 이름 열 값을 더 쉽게 사용할 수 있습니다.

예를 들어, my_custom_role 역할에 부여된 함수 및 프로시저에 대한 권한을 취소한다고 가정해 보겠습니다. SHOW GRANTS 명령을 실행할 수 있습니다.

SHOW GRANTS TO ROLE my_custom_role
  ->> SELECT "privilege", "granted_on", "name"
        FROM $1
        WHERE "granted_on" IN ('FUNCTION', 'PROCEDURE');
Copy
+-----------+------------+-----------------------------------------+
| privilege | granted_on | name                                    |
|-----------+------------+-----------------------------------------|
| USAGE     | FUNCTION   | MY_DB.MY_SCHEMA.AREA_OF_CIRCLE(FLOAT)   |
| USAGE     | PROCEDURE  | MY_DB.MY_SCHEMA.OUTPUT_MESSAGE(VARCHAR) |
+-----------+------------+-----------------------------------------+

그런 다음 반환된 값을 REVOKE 문에 복사해 붙여넣어 해당 권한을 취소할 수 있습니다.

REVOKE USAGE ON FUNCTION MY_DB.MY_SCHEMA.AREA_OF_CIRCLE(FLOAT) FROM ROLE my_custom_role;
Copy
REVOKE USAGE ON PROCEDURE MY_DB.MY_SCHEMA.OUTPUT_MESSAGE(VARCHAR) FROM ROLE my_custom_role;
Copy

참조: 2190