널 안전 동등성(Null-safe equality, equals 매크로)
널 안전 동등성(Null-safe equality, equals 매크로)
enable_truthy_nulls_equals_macro 플래그는 dbt의 equals 매크로에서 널 안전 동등성을 활성화해요. 기본값은 false예요.
출처: 문서
본문
| enable_truthy_nulls_equals_macro | dbt v1 Latest | dbt v1 |
|---|---|---|
| Introduced | 2025.02 | 1.9.0 |
Matured (default → true) |
— | — |
| Removed | — | — |
enable_truthy_nulls_equals_macro 플래그는 기본값이 false예요. dbt_project.yml에서 true로 설정하면, 인크리멘탈과 스냅샷 materialization에서 사용하는 dbt equals 매크로의 널 안전 동등성이 활성화돼요.
기본적으로 equals() 매크로는 SQL의 삼치 논리(three-valued logic, 3VL)를 따르므로 NULL = NULL은 TRUE가 아니라 UNKNOWN으로 평가돼요.
enable_truthy_nulls_equals_macro 플래그가 활성화되면 equals() 매크로는 두 NULL 값을 같게 취급하는 IS NOT DISTINCT FROM 연산자의 의미론을 사용해요.
플래그를 활성화하려면 dbt_project.yml의 flags 아래에 추가해요:
dbt_project.yml
flags:
enable_truthy_nulls_equals_macro: true