새 함수: ARRAY_SORT, ARRAY_MIN, ARRAY_MAX는 비슷한 이름의 UDF와 충돌할 수 있음

주의

이 동작 변경 사항은 2023_05 번들에 있습니다.

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

현재 릴리스에서 Snowflake는 다음 이름과 서명을 가진 기본 제공 함수를 새로 도입합니다.

  • ARRAY_SORT는 입력 ARRAY의 요소를 정렬된 순서로 반환합니다. 이 함수에는 다음과 같은 서명이 있습니다.

    • ARRAY_SORT(input_array)

      배열 끝에 NULL을 배치하여 요소를 오름차순으로 정렬합니다.

    • ARRAY_SORT(input_array, sort_ascending)

      sort_ascending 이 TRUE이면 요소를 오름차순으로 정렬하고, sort_ascending 이 FALSE이면 요소를 내림차순으로 정렬합니다.

      NULL은 sort_ascending 이 TRUE이면 마지막으로 정렬되고, sort_ascending 이 FALSE이면 첫 번째로 정렬됩니다.

    • ARRAY_SORT(input_array, sort_ascending, nulls_first)

      sort_ascending 이 TRUE이면 요소를 오름차순으로 정렬하고, sort_ascending 이 FALSE이면 요소를 내림차순으로 정렬합니다.

      NULL은 nulls_first 가 TRUE이면 첫 번째로 정렬되고, nulls_first 가 FALSE이면 마지막으로 정렬됩니다.

    이 함수는 서로 다른 두 숫자 또는 타임스탬프 유형(또는 이러한 유형을 포함하는 오브젝트)의 값을 비교할 때 안정적인 정렬을 제공하는 것으로 보장되지 않습니다.

  • ARRAY_MIN은 입력 배열에서 정의된 최소 요소를 반환합니다.

  • ARRAY_MAX는 입력 배열에서 정의된 최대 요소를 반환합니다.

동일한 서명을 가진 ARRAY_SORT, ARRAY_MIN 또는 ARRAY_MAX라는 UDF가 있는 경우 이 동작 변경은 다음과 같은 효과가 있습니다.

이전

ARRAY_SORT, ARRAY_MIN 또는 ARRAY_MAX에 대한 호출은 UDF로 확인됩니다.

현재

ARRAY_SORT, ARRAY_MIN 또는 ARRAY_MAX에 대한 호출은 새로운 기본 제공 함수로 확인됩니다.

기본 제공 함수는 UDF와 다르게 작동할 수 있습니다.

새로운 기본 제공 함수의 문서화된 의미 체계가 UDF의 의미 체계와 일치하지 않을 경우 다음 중 하나를 수행할 수 있습니다.

  • (ALTER FUNCTION … RENAME TO … 를 사용하여) UDF의 이름을 바꾸고 원래 UDF 이름에 대한 모든 참조를 새 이름으로 바꿉니다.

  • UDF를 포함하는 데이터베이스와 스키마의 이름을 지정하여 UDF에 대한 모든 참조를 </sql-reference/name-resolution>정규화합니다. 예:

    SELECT my_database.my_schema.array_sort(...);
    
    Copy

참조: 1135