CURRENT_DATABASE 및 CURRENT_SCHEMA 함수: 정책, 뷰, UDF를 사용하여 결정적 출력 보장(연기됨)

참고

이 동작 변경은 2023_08 번들의 일부였지만 현재는 연기되었습니다. 업데이트는 향후 번들에서 이루어질 예정입니다.

CURRENT_DATABASECURRENT_SCHEMA 함수의 동작은 다음과 같습니다.

변경 전:

CURRENT_DATABASE 또는 CURRENT_SCHEMA 함수 호출 시 결정적이지 않은 값이 반환됩니다.

마스킹 또는 행 액세스 정책과 같은 데이터 액세스 정책 내에서 함수를 호출하면 함수가 다음 두 값 중 하나를 반환합니다.

  • 정책이 포함된 데이터베이스 또는 스키마.

  • 세션에서 사용 중인 데이터베이스 또는 스키마.

뷰 또는 UDF의 정의에서 함수를 호출하고 SELECT 키워드가 함수에 선행하지 않으면 함수가 다음 두 값 중 하나를 반환합니다.

  • 세션에서 사용 중인 데이터베이스 또는 스키마.

  • UDF 또는 뷰가 포함된 데이터베이스 또는 스키마.

변경 후:

CURRENT_DATABASE 또는 CURRENT_SCHEMA 함수 호출 시 결정적인 값이 반환됩니다.

  • 마스킹 또는 행 액세스 정책과 같은 데이터 액세스 정책 내에서 함수를 호출하면 함수가 보호된 테이블 또는 뷰가 포함된 데이터베이스 또는 스키마를 반환합니다.

  • 뷰 또는 UDF의 정의에서 함수를 호출하면 함수가 UDF 또는 뷰가 포함된 데이터베이스나 스키마를 반환합니다.

이러한 변경 사항의 영향을 최소화하려면 다음을 수행하십시오.

  • 뷰 정의 또는 UDF가 이러한 함수 중 하나를 사용하고 SELECT 키워드가 함수에 선행하지 않는 경우 함수 사용 방법에 대해 UDF 정의가 올바른지 다시 확인하십시오.

  • 정책이 이러한 함수 중 하나를 호출하는 경우 정책 본문이 세션에 사용 중인 데이터베이스 또는 스키마가 아니라 보호된 테이블을 포함하는 데이터베이스 또는 스키마에 맞게 작성되었는지 다시 확인하십시오.

참조: 1325