인포링 플로우의 WITH VERSION (...) 절에서 선택한 버전 행을 반환합니다.
이 함수는 플로우의 AUTO CDC ... FROM SNAPSHOT 절 안 FROM SNAPSHOT (...) 에서만 사용할 수 있습니다.
문법
current_snapshot_version()
인수
이 함수는 인수를 사용하지 않습니다.
Returns
포함된 플로우의 버전 쿼리와 동일한 열명과 타입을 가진 단일 열의 관계로, 정확히 1행을 포함합니다. 행에는 현재 스냅샷 처리 반복에 선택된 버전이 포함되어 있습니다.
current_snapshot_version() 버전 쿼리가 1행을 반환한 후에만 평가됩니다. 버전 쿼리가 0행을 반환하면 엔진은 스냅샷 쿼리를 실행하지 않고, 해당 파이프라인 업데이트 중에 플로우 처리를 종료합니다.
Examples
다음 흐름은 절에 의해 선택된 WITH VERSION (...) 파일을 읽는 데 사용됩니다current_snapshot_version(). 버전은 단일 STRUCT 열이므로, 필드는 점 표기법으로 접근됩니다:
CREATE FLOW orders_cdc
AS AUTO CDC INTO orders
FROM SNAPSHOT (
SELECT *
FROM read_files('/Volumes/catalog/schema/landing/orders/', format => 'json')
WHERE _metadata.file_path = (SELECT version.path FROM current_snapshot_version())
)
WITH VERSION (...)
KEYS (order_id);
Errors
current_snapshot_version()는 절을 선언 WITH VERSION (...) 하는 플로우의 AUTO CDC ... FROM SNAPSHOT 절 안 FROM SNAPSHOT (...) 에서만 제공됩니다. 다른 곳에서는 Spark가 이름을 일반적인 테이블 값 함수로 해석합니다. 그러한 함수가 정의되지 않기 때문에 (SQLSTATE 42883)를 생성합니다.UNRESOLVABLE_TABLE_VALUED_FUNCTION