diff --git a/src/substrait/__init__.py b/src/substrait/__init__.py index e3005c5..9f3ff02 100644 --- a/src/substrait/__init__.py +++ b/src/substrait/__init__.py @@ -3,6 +3,6 @@ except ImportError: pass -__substrait_version__ = "0.43.0" -__substrait_hash__ = "5e1948e" +__substrait_version__ = "0.44.0" +__substrait_hash__ = "2e12da1" __minimum_substrait_version__ = "0.30.0" diff --git a/src/substrait/extensions/functions_logarithmic.yaml b/src/substrait/extensions/functions_logarithmic.yaml index f4b8acc..fc88dab 100644 --- a/src/substrait/extensions/functions_logarithmic.yaml +++ b/src/substrait/extensions/functions_logarithmic.yaml @@ -12,7 +12,7 @@ scalar_functions: rounding: values: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ] on_domain_error: - values: [ NAN, ERROR ] + values: [ NAN, "NULL", ERROR ] on_log_zero: values: [NAN, ERROR, MINUS_INFINITY] return: fp32 @@ -23,7 +23,7 @@ scalar_functions: rounding: values: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ] on_domain_error: - values: [ NAN, ERROR ] + values: [ NAN, "NULL", ERROR ] on_log_zero: values: [NAN, ERROR, MINUS_INFINITY] return: fp64 @@ -38,7 +38,7 @@ scalar_functions: rounding: values: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ] on_domain_error: - values: [ NAN, ERROR ] + values: [ NAN, "NULL", ERROR ] on_log_zero: values: [NAN, ERROR, MINUS_INFINITY] return: fp32 @@ -49,7 +49,7 @@ scalar_functions: rounding: values: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ] on_domain_error: - values: [ NAN, ERROR ] + values: [ NAN, "NULL", ERROR ] on_log_zero: values: [NAN, ERROR, MINUS_INFINITY] return: fp64 @@ -64,7 +64,7 @@ scalar_functions: rounding: values: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ] on_domain_error: - values: [ NAN, ERROR ] + values: [ NAN, "NULL", ERROR ] on_log_zero: values: [NAN, ERROR, MINUS_INFINITY] return: fp32 @@ -75,7 +75,7 @@ scalar_functions: rounding: values: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ] on_domain_error: - values: [ NAN, ERROR ] + values: [ NAN, "NULL", ERROR ] on_log_zero: values: [NAN, ERROR, MINUS_INFINITY] return: fp64 @@ -97,7 +97,7 @@ scalar_functions: rounding: values: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ] on_domain_error: - values: [ NAN, ERROR ] + values: [ NAN, "NULL", ERROR ] on_log_zero: values: [NAN, ERROR, MINUS_INFINITY] return: fp32 @@ -112,7 +112,7 @@ scalar_functions: rounding: values: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ] on_domain_error: - values: [ NAN, ERROR ] + values: [ NAN, "NULL", ERROR ] on_log_zero: values: [NAN, ERROR, MINUS_INFINITY] return: fp64 @@ -130,7 +130,7 @@ scalar_functions: rounding: values: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ] on_domain_error: - values: [ NAN, ERROR ] + values: [ NAN, "NULL", ERROR ] on_log_zero: values: [NAN, ERROR, MINUS_INFINITY] return: fp32 @@ -141,7 +141,7 @@ scalar_functions: rounding: values: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ] on_domain_error: - values: [ NAN, ERROR ] + values: [ NAN, "NULL", ERROR ] on_log_zero: values: [NAN, ERROR, MINUS_INFINITY] return: fp64 diff --git a/src/substrait/extensions/functions_string.yaml b/src/substrait/extensions/functions_string.yaml index 3e5d496..2e0f174 100644 --- a/src/substrait/extensions/functions_string.yaml +++ b/src/substrait/extensions/functions_string.yaml @@ -3,19 +3,30 @@ scalar_functions: - name: concat - description: Concatenate strings. + description: >- + Concatenate strings. + + The `null_handling` option determines whether or not null values will be recognized by the function. + If `null_handling` is set to `IGNORE_NULLS`, null value arguments will be ignored when strings are concatenated. + If set to `ACCEPT_NULLS`, the result will be null if any argument passed to the concat function is null. impls: - args: - value: "varchar" name: "input" variadic: min: 1 + options: + null_handling: + values: [ IGNORE_NULLS, ACCEPT_NULLS ] return: "varchar" - args: - value: "string" name: "input" variadic: min: 1 + options: + null_handling: + values: [ IGNORE_NULLS, ACCEPT_NULLS ] return: "string" - name: like diff --git a/third_party/substrait b/third_party/substrait index 5e1948e..2e12da1 160000 --- a/third_party/substrait +++ b/third_party/substrait @@ -1 +1 @@ -Subproject commit 5e1948e7a9e945d347b011e6518d1bb501f8522a +Subproject commit 2e12da1b9915eea01f12ece0be9c37afa1384f74