diff --git a/buf.gen.yaml b/buf.gen.yaml deleted file mode 100644 index dc8bddd..0000000 --- a/buf.gen.yaml +++ /dev/null @@ -1,6 +0,0 @@ -version: v2 -plugins: - - remote: buf.build/protocolbuffers/python:v29.5 - out: src - - remote: buf.build/community/nipunn1313-mypy:v3.7.0 - out: src diff --git a/buf.yaml b/buf.yaml deleted file mode 100644 index 00d4653..0000000 --- a/buf.yaml +++ /dev/null @@ -1,16 +0,0 @@ -version: v2 -modules: - - path: buf_work_dir - lint: - use: - - DEFAULT - except: - - FIELD_NOT_REQUIRED - - PACKAGE_NO_IMPORT_CYCLE - disallow_comment_ignores: true - breaking: - use: - - FILE - except: - - EXTENSION_NO_DELETE - - FIELD_SAME_DEFAULT diff --git a/examples/builder_example.py b/examples/builder_example.py index 86785e4..c4c1a6d 100644 --- a/examples/builder_example.py +++ b/examples/builder_example.py @@ -1,4 +1,5 @@ -import substrait.gen.proto.algebra_pb2 as stalg +import substrait.algebra_pb2 as stalg + from substrait.builders.extended_expression import ( column, literal, diff --git a/gen_proto.sh b/gen_proto.sh index 59b57da..70b2fcc 100755 --- a/gen_proto.sh +++ b/gen_proto.sh @@ -2,23 +2,8 @@ set -eou pipefail -namespace=substrait.gen.proto submodule_dir=./third_party/substrait -src_dir="$submodule_dir"/proto -tmp_dir=./buf_work_dir -dest_dir=./src -extension_dir=./src/substrait/extensions - -# Prefix the protobuf files with a unique configuration to prevent namespace conflicts -# with other substrait packages. Save output to the work dir. -python "$submodule_dir"/tools/proto_prefix.py "$tmp_dir" "$namespace" "$src_dir" - -# Remove the old python protobuf files -rm -rf "$dest_dir/substrait/gen/proto" - -# Generate the new python protobuf files -buf generate -find "$dest_dir/substrait/gen" -type d -exec touch {}/__init__.py \; +extension_dir=./src/substrait/extension_files # Remove the old extension files rm -rf "$extension_dir" @@ -29,6 +14,3 @@ find "$extension_dir" -type f -exec chmod u+rw {} + # Ensure there's an __init__.py file in the extension directory touch $extension_dir/__init__.py - -# Remove the temporary work dir -rm -rf "$tmp_dir" diff --git a/pixi.lock b/pixi.lock index deb59b6..2d0fe86 100644 --- a/pixi.lock +++ b/pixi.lock @@ -110,7 +110,8 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h280c20c_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda - - pypi: https://files.pythonhosted.org/packages/56/13/333b8f421738f149d4fe5e49553bc2a2ab75235486259f689b4b91f96cec/protobuf-6.33.2-cp39-abi3-manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/e8/8e/971c0edd084914f7ee7c23aa70ba89e8903918adca179319ee94403701d5/protobuf-6.33.4-cp39-abi3-manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/31/18/9129c1f70d7294d6318da5f9e95bbcbe90a215b188f0ab01269878c20f52/vbarua_substrait_protobuf-0.1.0.dev0-py3-none-any.whl linux-aarch64: - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-2_gnu.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/alsa-lib-1.2.15.1-he30d5cf_0.conda @@ -212,7 +213,8 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/yaml-0.2.5-h80f16a2_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.7-h85ac4a6_6.conda - - pypi: https://files.pythonhosted.org/packages/7d/4f/f743761e41d3b2b2566748eb76bbff2b43e14d5fcab694f494a16458b05f/protobuf-6.33.2-cp39-abi3-manylinux2014_aarch64.whl + - pypi: https://files.pythonhosted.org/packages/2b/48/d301907ce6d0db75f959ca74f44b475a9caa8fcba102d098d3c3dd0f2d3f/protobuf-6.33.4-cp39-abi3-manylinux2014_aarch64.whl + - pypi: https://files.pythonhosted.org/packages/31/18/9129c1f70d7294d6318da5f9e95bbcbe90a215b188f0ab01269878c20f52/vbarua_substrait_protobuf-0.1.0.dev0-py3-none-any.whl osx-64: - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/antlr-4.13.2-h694c41f_0.conda @@ -261,7 +263,8 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/yaml-0.2.5-h4132b18_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda - - pypi: https://files.pythonhosted.org/packages/b2/ca/7e485da88ba45c920fb3f50ae78de29ab925d9e54ef0de678306abfbb497/protobuf-6.33.2-cp39-abi3-macosx_10_9_universal2.whl + - pypi: https://files.pythonhosted.org/packages/66/15/6ee23553b6bfd82670207ead921f4d8ef14c107e5e11443b04caeb5ab5ec/protobuf-6.33.4-cp39-abi3-macosx_10_9_universal2.whl + - pypi: https://files.pythonhosted.org/packages/31/18/9129c1f70d7294d6318da5f9e95bbcbe90a215b188f0ab01269878c20f52/vbarua_substrait_protobuf-0.1.0.dev0-py3-none-any.whl osx-arm64: - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/antlr-4.13.2-hce30654_0.conda @@ -309,7 +312,8 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/yaml-0.2.5-h925e9cb_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda - - pypi: https://files.pythonhosted.org/packages/b2/ca/7e485da88ba45c920fb3f50ae78de29ab925d9e54ef0de678306abfbb497/protobuf-6.33.2-cp39-abi3-macosx_10_9_universal2.whl + - pypi: https://files.pythonhosted.org/packages/66/15/6ee23553b6bfd82670207ead921f4d8ef14c107e5e11443b04caeb5ab5ec/protobuf-6.33.4-cp39-abi3-macosx_10_9_universal2.whl + - pypi: https://files.pythonhosted.org/packages/31/18/9129c1f70d7294d6318da5f9e95bbcbe90a215b188f0ab01269878c20f52/vbarua_substrait_protobuf-0.1.0.dev0-py3-none-any.whl win-64: - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/antlr-4.13.2-h57928b3_0.conda @@ -362,7 +366,8 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.44.35208-h38c0c73_34.conda - conda: https://conda.anaconda.org/conda-forge/win-64/yaml-0.2.5-h6a83c73_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda - - pypi: https://files.pythonhosted.org/packages/64/20/4d50191997e917ae13ad0a235c8b42d8c1ab9c3e6fd455ca16d416944355/protobuf-6.33.2-cp310-abi3-win_amd64.whl + - pypi: https://files.pythonhosted.org/packages/31/ad/e5693e1974a28869e7cd244302911955c1cebc0161eb32dfa2b25b6e96f0/protobuf-6.33.4-cp310-abi3-win_amd64.whl + - pypi: https://files.pythonhosted.org/packages/31/18/9129c1f70d7294d6318da5f9e95bbcbe90a215b188f0ab01269878c20f52/vbarua_substrait_protobuf-0.1.0.dev0-py3-none-any.whl dev: channels: - url: https://conda.anaconda.org/conda-forge/ @@ -474,17 +479,18 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda - pypi: https://files.pythonhosted.org/packages/89/03/a851e84fcbb85214dc637b6378121ef9a0dd61b4c65264675d8a5c9b1ae7/antlr4_python3_runtime-4.13.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/00/ba/8d8aa1df96e0666752e5c9d406d440495df2014d315b2a95bbef9856b23e/datafusion-50.1.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/21/ac/b32ba1f25d38fc16e7623cc4bfb7bd68db61be2ef27b2d9969ea5c865765/datafusion-51.0.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - pypi: https://files.pythonhosted.org/packages/f7/e6/efe534ef0952b531b630780e19cabd416e2032697019d5295defc6ef9bd9/deepdiff-8.6.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/87/0c/48ae1d485725af3a452303af409a9022d751ecab260cb9ca2f8c9fb670bc/duckdb-1.2.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - pypi: https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/12/27/fb8d7338b4d551900fa3e580acbe7a0cf655d940e164cb5c00ec31961094/orderly_set-5.5.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/56/13/333b8f421738f149d4fe5e49553bc2a2ab75235486259f689b4b91f96cec/protobuf-6.33.2-cp39-abi3-manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/e8/8e/971c0edd084914f7ee7c23aa70ba89e8903918adca179319ee94403701d5/protobuf-6.33.4-cp39-abi3-manylinux2014_x86_64.whl - pypi: https://files.pythonhosted.org/packages/1b/8b/5362443737a5307a7b67c1017c42cd104213189b4970bf607e05faf9c525/pyarrow-22.0.0-cp313-cp313-manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/3b/ab/b3226f0bd7cdcf710fbede2b3548584366da3b19b5021e74f5bde2a8fa3f/pytest-9.0.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/f9/04/98c216967275cd9a3e517dfeeb513ebff3183f1f22da29180c479c749ac8/sqloxide-0.1.56-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/31/18/9129c1f70d7294d6318da5f9e95bbcbe90a215b188f0ab01269878c20f52/vbarua_substrait_protobuf-0.1.0.dev0-py3-none-any.whl linux-aarch64: - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-2_gnu.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/alsa-lib-1.2.15.1-he30d5cf_0.conda @@ -587,17 +593,18 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.7-h85ac4a6_6.conda - pypi: https://files.pythonhosted.org/packages/89/03/a851e84fcbb85214dc637b6378121ef9a0dd61b4c65264675d8a5c9b1ae7/antlr4_python3_runtime-4.13.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/11/9a/afce9586145b3ed153d75364b21102a6a95260940352e06b7c6709e9d2db/datafusion-50.1.0-cp39-abi3-manylinux_2_28_aarch64.whl + - pypi: https://files.pythonhosted.org/packages/0b/4e/437121422ef010690fc3cdd7f080203e986ba00e0e3c3b577e03f5b54ca2/datafusion-51.0.0-cp310-abi3-manylinux_2_28_aarch64.whl - pypi: https://files.pythonhosted.org/packages/f7/e6/efe534ef0952b531b630780e19cabd416e2032697019d5295defc6ef9bd9/deepdiff-8.6.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/69/c7/95fcd7bde0f754ea6700208d36b845379cbd2b28779c0eff4dd4a7396369/duckdb-1.2.2-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl - pypi: https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/12/27/fb8d7338b4d551900fa3e580acbe7a0cf655d940e164cb5c00ec31961094/orderly_set-5.5.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/7d/4f/f743761e41d3b2b2566748eb76bbff2b43e14d5fcab694f494a16458b05f/protobuf-6.33.2-cp39-abi3-manylinux2014_aarch64.whl + - pypi: https://files.pythonhosted.org/packages/2b/48/d301907ce6d0db75f959ca74f44b475a9caa8fcba102d098d3c3dd0f2d3f/protobuf-6.33.4-cp39-abi3-manylinux2014_aarch64.whl - pypi: https://files.pythonhosted.org/packages/ff/c0/782344c2ce58afbea010150df07e3a2f5fdad299cd631697ae7bd3bac6e3/pyarrow-22.0.0-cp313-cp313-manylinux_2_28_aarch64.whl - pypi: https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/3b/ab/b3226f0bd7cdcf710fbede2b3548584366da3b19b5021e74f5bde2a8fa3f/pytest-9.0.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/de/77/dd27f6e325537126ba0b142fdce63bde4305681662ac58e8e779e3c87635/sqloxide-0.1.56-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl + - pypi: https://files.pythonhosted.org/packages/31/18/9129c1f70d7294d6318da5f9e95bbcbe90a215b188f0ab01269878c20f52/vbarua_substrait_protobuf-0.1.0.dev0-py3-none-any.whl osx-64: - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/antlr-4.13.2-h694c41f_0.conda @@ -647,17 +654,18 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-64/yaml-0.2.5-h4132b18_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda - pypi: https://files.pythonhosted.org/packages/89/03/a851e84fcbb85214dc637b6378121ef9a0dd61b4c65264675d8a5c9b1ae7/antlr4_python3_runtime-4.13.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/1f/6e/f9e2d5d935024a79fd549b5ce1d05549d26a027aab800727d492ac036504/datafusion-50.1.0-cp39-abi3-macosx_10_12_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/cf/a9/7717cec053a3309be3020fe3147e3f76e5bf21295fa8adf9b52dd44ea3ff/datafusion-51.0.0-cp310-abi3-macosx_10_12_x86_64.whl - pypi: https://files.pythonhosted.org/packages/f7/e6/efe534ef0952b531b630780e19cabd416e2032697019d5295defc6ef9bd9/deepdiff-8.6.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/9f/28/943773d44fd97055c59b58dde9182733661c2b6e3b3549f15dc26b2e139e/duckdb-1.2.2-cp313-cp313-macosx_12_0_x86_64.whl - pypi: https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/12/27/fb8d7338b4d551900fa3e580acbe7a0cf655d940e164cb5c00ec31961094/orderly_set-5.5.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/b2/ca/7e485da88ba45c920fb3f50ae78de29ab925d9e54ef0de678306abfbb497/protobuf-6.33.2-cp39-abi3-macosx_10_9_universal2.whl + - pypi: https://files.pythonhosted.org/packages/66/15/6ee23553b6bfd82670207ead921f4d8ef14c107e5e11443b04caeb5ab5ec/protobuf-6.33.4-cp39-abi3-macosx_10_9_universal2.whl - pypi: https://files.pythonhosted.org/packages/c6/9c/1d6357347fbae062ad3f17082f9ebc29cc733321e892c0d2085f42a2212b/pyarrow-22.0.0-cp313-cp313-macosx_12_0_x86_64.whl - pypi: https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/3b/ab/b3226f0bd7cdcf710fbede2b3548584366da3b19b5021e74f5bde2a8fa3f/pytest-9.0.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/10/c7/79f57728f300079148ac4e4b988000dcbd1f58960040db89594424a58336/sqloxide-0.1.56.tar.gz + - pypi: https://files.pythonhosted.org/packages/31/18/9129c1f70d7294d6318da5f9e95bbcbe90a215b188f0ab01269878c20f52/vbarua_substrait_protobuf-0.1.0.dev0-py3-none-any.whl osx-arm64: - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/antlr-4.13.2-hce30654_0.conda @@ -706,17 +714,18 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/yaml-0.2.5-h925e9cb_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda - pypi: https://files.pythonhosted.org/packages/89/03/a851e84fcbb85214dc637b6378121ef9a0dd61b4c65264675d8a5c9b1ae7/antlr4_python3_runtime-4.13.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/db/58/2dc473240f552d3620186b527c04397f82b36f02243afaf49f0813c84a17/datafusion-50.1.0-cp39-abi3-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/55/45/72c9874fd3740a4cb9d55049fdbae0df512dc5433e9f1176f3cfd970f1a1/datafusion-51.0.0-cp310-abi3-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/f7/e6/efe534ef0952b531b630780e19cabd416e2032697019d5295defc6ef9bd9/deepdiff-8.6.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/41/31/5e2f68cbd000137f6ed52092ad83a8e9c09eca70c59e0b4c5eb679709997/duckdb-1.2.2-cp313-cp313-macosx_12_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/12/27/fb8d7338b4d551900fa3e580acbe7a0cf655d940e164cb5c00ec31961094/orderly_set-5.5.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/b2/ca/7e485da88ba45c920fb3f50ae78de29ab925d9e54ef0de678306abfbb497/protobuf-6.33.2-cp39-abi3-macosx_10_9_universal2.whl + - pypi: https://files.pythonhosted.org/packages/66/15/6ee23553b6bfd82670207ead921f4d8ef14c107e5e11443b04caeb5ab5ec/protobuf-6.33.4-cp39-abi3-macosx_10_9_universal2.whl - pypi: https://files.pythonhosted.org/packages/a6/d6/d0fac16a2963002fc22c8fa75180a838737203d558f0ed3b564c4a54eef5/pyarrow-22.0.0-cp313-cp313-macosx_12_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/3b/ab/b3226f0bd7cdcf710fbede2b3548584366da3b19b5021e74f5bde2a8fa3f/pytest-9.0.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/94/fd/268d58f8feb4d206d2896dae5e8a4a17c671c9cbb6b15c6e6300d2e168a2/sqloxide-0.1.56-cp313-cp313-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/31/18/9129c1f70d7294d6318da5f9e95bbcbe90a215b188f0ab01269878c20f52/vbarua_substrait_protobuf-0.1.0.dev0-py3-none-any.whl win-64: - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/antlr-4.13.2-h57928b3_0.conda @@ -770,17 +779,18 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/yaml-0.2.5-h6a83c73_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda - pypi: https://files.pythonhosted.org/packages/89/03/a851e84fcbb85214dc637b6378121ef9a0dd61b4c65264675d8a5c9b1ae7/antlr4_python3_runtime-4.13.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/51/a3/41ef1c565770ef0c4060ee3fd50367dd06816f70a5be1ef41fbd7c3975e8/datafusion-50.1.0-cp39-abi3-win_amd64.whl + - pypi: https://files.pythonhosted.org/packages/db/fc/58cf27fcb85b2fd2a698253ae46213b1cbda784407e205c148f4006c1429/datafusion-51.0.0-cp310-abi3-win_amd64.whl - pypi: https://files.pythonhosted.org/packages/f7/e6/efe534ef0952b531b630780e19cabd416e2032697019d5295defc6ef9bd9/deepdiff-8.6.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/3f/3d/ce68db53084746a4a62695a4cb064e44ce04123f8582bb3afbf6ee944e16/duckdb-1.2.2-cp313-cp313-win_amd64.whl - pypi: https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/12/27/fb8d7338b4d551900fa3e580acbe7a0cf655d940e164cb5c00ec31961094/orderly_set-5.5.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/64/20/4d50191997e917ae13ad0a235c8b42d8c1ab9c3e6fd455ca16d416944355/protobuf-6.33.2-cp310-abi3-win_amd64.whl + - pypi: https://files.pythonhosted.org/packages/31/ad/e5693e1974a28869e7cd244302911955c1cebc0161eb32dfa2b25b6e96f0/protobuf-6.33.4-cp310-abi3-win_amd64.whl - pypi: https://files.pythonhosted.org/packages/2d/f8/1d0bd75bf9328a3b826e24a16e5517cd7f9fbf8d34a3184a4566ef5a7f29/pyarrow-22.0.0-cp313-cp313-win_amd64.whl - pypi: https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/3b/ab/b3226f0bd7cdcf710fbede2b3548584366da3b19b5021e74f5bde2a8fa3f/pytest-9.0.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/c8/5c/487e081a5ac1a8538f7eb3a3e3ea04c39da13acde1f17916ca1767d40c4e/sqloxide-0.1.56-cp313-cp313-win_amd64.whl + - pypi: https://files.pythonhosted.org/packages/31/18/9129c1f70d7294d6318da5f9e95bbcbe90a215b188f0ab01269878c20f52/vbarua_substrait_protobuf-0.1.0.dev0-py3-none-any.whl extensions: channels: - url: https://conda.anaconda.org/conda-forge/ @@ -892,7 +902,8 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda - pypi: https://files.pythonhosted.org/packages/89/03/a851e84fcbb85214dc637b6378121ef9a0dd61b4c65264675d8a5c9b1ae7/antlr4_python3_runtime-4.13.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/56/13/333b8f421738f149d4fe5e49553bc2a2ab75235486259f689b4b91f96cec/protobuf-6.33.2-cp39-abi3-manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/e8/8e/971c0edd084914f7ee7c23aa70ba89e8903918adca179319ee94403701d5/protobuf-6.33.4-cp39-abi3-manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/31/18/9129c1f70d7294d6318da5f9e95bbcbe90a215b188f0ab01269878c20f52/vbarua_substrait_protobuf-0.1.0.dev0-py3-none-any.whl linux-aarch64: - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-2_gnu.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/alsa-lib-1.2.15.1-he30d5cf_0.conda @@ -995,7 +1006,8 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.7-h85ac4a6_6.conda - pypi: https://files.pythonhosted.org/packages/89/03/a851e84fcbb85214dc637b6378121ef9a0dd61b4c65264675d8a5c9b1ae7/antlr4_python3_runtime-4.13.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/7d/4f/f743761e41d3b2b2566748eb76bbff2b43e14d5fcab694f494a16458b05f/protobuf-6.33.2-cp39-abi3-manylinux2014_aarch64.whl + - pypi: https://files.pythonhosted.org/packages/2b/48/d301907ce6d0db75f959ca74f44b475a9caa8fcba102d098d3c3dd0f2d3f/protobuf-6.33.4-cp39-abi3-manylinux2014_aarch64.whl + - pypi: https://files.pythonhosted.org/packages/31/18/9129c1f70d7294d6318da5f9e95bbcbe90a215b188f0ab01269878c20f52/vbarua_substrait_protobuf-0.1.0.dev0-py3-none-any.whl osx-64: - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/antlr-4.13.2-h694c41f_0.conda @@ -1045,7 +1057,8 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-64/yaml-0.2.5-h4132b18_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda - pypi: https://files.pythonhosted.org/packages/89/03/a851e84fcbb85214dc637b6378121ef9a0dd61b4c65264675d8a5c9b1ae7/antlr4_python3_runtime-4.13.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/b2/ca/7e485da88ba45c920fb3f50ae78de29ab925d9e54ef0de678306abfbb497/protobuf-6.33.2-cp39-abi3-macosx_10_9_universal2.whl + - pypi: https://files.pythonhosted.org/packages/66/15/6ee23553b6bfd82670207ead921f4d8ef14c107e5e11443b04caeb5ab5ec/protobuf-6.33.4-cp39-abi3-macosx_10_9_universal2.whl + - pypi: https://files.pythonhosted.org/packages/31/18/9129c1f70d7294d6318da5f9e95bbcbe90a215b188f0ab01269878c20f52/vbarua_substrait_protobuf-0.1.0.dev0-py3-none-any.whl osx-arm64: - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/antlr-4.13.2-hce30654_0.conda @@ -1094,7 +1107,8 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/yaml-0.2.5-h925e9cb_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda - pypi: https://files.pythonhosted.org/packages/89/03/a851e84fcbb85214dc637b6378121ef9a0dd61b4c65264675d8a5c9b1ae7/antlr4_python3_runtime-4.13.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/b2/ca/7e485da88ba45c920fb3f50ae78de29ab925d9e54ef0de678306abfbb497/protobuf-6.33.2-cp39-abi3-macosx_10_9_universal2.whl + - pypi: https://files.pythonhosted.org/packages/66/15/6ee23553b6bfd82670207ead921f4d8ef14c107e5e11443b04caeb5ab5ec/protobuf-6.33.4-cp39-abi3-macosx_10_9_universal2.whl + - pypi: https://files.pythonhosted.org/packages/31/18/9129c1f70d7294d6318da5f9e95bbcbe90a215b188f0ab01269878c20f52/vbarua_substrait_protobuf-0.1.0.dev0-py3-none-any.whl win-64: - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/antlr-4.13.2-h57928b3_0.conda @@ -1148,7 +1162,8 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/yaml-0.2.5-h6a83c73_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda - pypi: https://files.pythonhosted.org/packages/89/03/a851e84fcbb85214dc637b6378121ef9a0dd61b4c65264675d8a5c9b1ae7/antlr4_python3_runtime-4.13.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/64/20/4d50191997e917ae13ad0a235c8b42d8c1ab9c3e6fd455ca16d416944355/protobuf-6.33.2-cp310-abi3-win_amd64.whl + - pypi: https://files.pythonhosted.org/packages/31/ad/e5693e1974a28869e7cd244302911955c1cebc0161eb32dfa2b25b6e96f0/protobuf-6.33.4-cp310-abi3-win_amd64.whl + - pypi: https://files.pythonhosted.org/packages/31/18/9129c1f70d7294d6318da5f9e95bbcbe90a215b188f0ab01269878c20f52/vbarua_substrait_protobuf-0.1.0.dev0-py3-none-any.whl sql: channels: - url: https://conda.anaconda.org/conda-forge/ @@ -1261,8 +1276,9 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda - pypi: https://files.pythonhosted.org/packages/f7/e6/efe534ef0952b531b630780e19cabd416e2032697019d5295defc6ef9bd9/deepdiff-8.6.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/12/27/fb8d7338b4d551900fa3e580acbe7a0cf655d940e164cb5c00ec31961094/orderly_set-5.5.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/56/13/333b8f421738f149d4fe5e49553bc2a2ab75235486259f689b4b91f96cec/protobuf-6.33.2-cp39-abi3-manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/e8/8e/971c0edd084914f7ee7c23aa70ba89e8903918adca179319ee94403701d5/protobuf-6.33.4-cp39-abi3-manylinux2014_x86_64.whl - pypi: https://files.pythonhosted.org/packages/f9/04/98c216967275cd9a3e517dfeeb513ebff3183f1f22da29180c479c749ac8/sqloxide-0.1.56-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/31/18/9129c1f70d7294d6318da5f9e95bbcbe90a215b188f0ab01269878c20f52/vbarua_substrait_protobuf-0.1.0.dev0-py3-none-any.whl linux-aarch64: - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-2_gnu.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/alsa-lib-1.2.15.1-he30d5cf_0.conda @@ -1366,8 +1382,9 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.7-h85ac4a6_6.conda - pypi: https://files.pythonhosted.org/packages/f7/e6/efe534ef0952b531b630780e19cabd416e2032697019d5295defc6ef9bd9/deepdiff-8.6.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/12/27/fb8d7338b4d551900fa3e580acbe7a0cf655d940e164cb5c00ec31961094/orderly_set-5.5.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/7d/4f/f743761e41d3b2b2566748eb76bbff2b43e14d5fcab694f494a16458b05f/protobuf-6.33.2-cp39-abi3-manylinux2014_aarch64.whl + - pypi: https://files.pythonhosted.org/packages/2b/48/d301907ce6d0db75f959ca74f44b475a9caa8fcba102d098d3c3dd0f2d3f/protobuf-6.33.4-cp39-abi3-manylinux2014_aarch64.whl - pypi: https://files.pythonhosted.org/packages/de/77/dd27f6e325537126ba0b142fdce63bde4305681662ac58e8e779e3c87635/sqloxide-0.1.56-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl + - pypi: https://files.pythonhosted.org/packages/31/18/9129c1f70d7294d6318da5f9e95bbcbe90a215b188f0ab01269878c20f52/vbarua_substrait_protobuf-0.1.0.dev0-py3-none-any.whl osx-64: - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/antlr-4.13.2-h694c41f_0.conda @@ -1418,8 +1435,9 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda - pypi: https://files.pythonhosted.org/packages/f7/e6/efe534ef0952b531b630780e19cabd416e2032697019d5295defc6ef9bd9/deepdiff-8.6.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/12/27/fb8d7338b4d551900fa3e580acbe7a0cf655d940e164cb5c00ec31961094/orderly_set-5.5.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/b2/ca/7e485da88ba45c920fb3f50ae78de29ab925d9e54ef0de678306abfbb497/protobuf-6.33.2-cp39-abi3-macosx_10_9_universal2.whl + - pypi: https://files.pythonhosted.org/packages/66/15/6ee23553b6bfd82670207ead921f4d8ef14c107e5e11443b04caeb5ab5ec/protobuf-6.33.4-cp39-abi3-macosx_10_9_universal2.whl - pypi: https://files.pythonhosted.org/packages/10/c7/79f57728f300079148ac4e4b988000dcbd1f58960040db89594424a58336/sqloxide-0.1.56.tar.gz + - pypi: https://files.pythonhosted.org/packages/31/18/9129c1f70d7294d6318da5f9e95bbcbe90a215b188f0ab01269878c20f52/vbarua_substrait_protobuf-0.1.0.dev0-py3-none-any.whl osx-arm64: - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/antlr-4.13.2-hce30654_0.conda @@ -1469,8 +1487,9 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda - pypi: https://files.pythonhosted.org/packages/f7/e6/efe534ef0952b531b630780e19cabd416e2032697019d5295defc6ef9bd9/deepdiff-8.6.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/12/27/fb8d7338b4d551900fa3e580acbe7a0cf655d940e164cb5c00ec31961094/orderly_set-5.5.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/b2/ca/7e485da88ba45c920fb3f50ae78de29ab925d9e54ef0de678306abfbb497/protobuf-6.33.2-cp39-abi3-macosx_10_9_universal2.whl + - pypi: https://files.pythonhosted.org/packages/66/15/6ee23553b6bfd82670207ead921f4d8ef14c107e5e11443b04caeb5ab5ec/protobuf-6.33.4-cp39-abi3-macosx_10_9_universal2.whl - pypi: https://files.pythonhosted.org/packages/94/fd/268d58f8feb4d206d2896dae5e8a4a17c671c9cbb6b15c6e6300d2e168a2/sqloxide-0.1.56-cp313-cp313-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/31/18/9129c1f70d7294d6318da5f9e95bbcbe90a215b188f0ab01269878c20f52/vbarua_substrait_protobuf-0.1.0.dev0-py3-none-any.whl win-64: - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/antlr-4.13.2-h57928b3_0.conda @@ -1525,8 +1544,9 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda - pypi: https://files.pythonhosted.org/packages/f7/e6/efe534ef0952b531b630780e19cabd416e2032697019d5295defc6ef9bd9/deepdiff-8.6.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/12/27/fb8d7338b4d551900fa3e580acbe7a0cf655d940e164cb5c00ec31961094/orderly_set-5.5.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/64/20/4d50191997e917ae13ad0a235c8b42d8c1ab9c3e6fd455ca16d416944355/protobuf-6.33.2-cp310-abi3-win_amd64.whl + - pypi: https://files.pythonhosted.org/packages/31/ad/e5693e1974a28869e7cd244302911955c1cebc0161eb32dfa2b25b6e96f0/protobuf-6.33.4-cp310-abi3-win_amd64.whl - pypi: https://files.pythonhosted.org/packages/c8/5c/487e081a5ac1a8538f7eb3a3e3ea04c39da13acde1f17916ca1767d40c4e/sqloxide-0.1.56-cp313-cp313-win_amd64.whl + - pypi: https://files.pythonhosted.org/packages/31/18/9129c1f70d7294d6318da5f9e95bbcbe90a215b188f0ab01269878c20f52/vbarua_substrait_protobuf-0.1.0.dev0-py3-none-any.whl packages: - conda: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 sha256: fe51de6107f9edc7aa4f786a70f4a883943bc9d39b3bb7307c04c41410990726 @@ -1878,46 +1898,51 @@ packages: - pkg:pypi/colorama?source=hash-mapping size: 27011 timestamp: 1733218222191 -- pypi: https://files.pythonhosted.org/packages/00/ba/8d8aa1df96e0666752e5c9d406d440495df2014d315b2a95bbef9856b23e/datafusion-50.1.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl +- pypi: https://files.pythonhosted.org/packages/0b/4e/437121422ef010690fc3cdd7f080203e986ba00e0e3c3b577e03f5b54ca2/datafusion-51.0.0-cp310-abi3-manylinux_2_28_aarch64.whl name: datafusion - version: 50.1.0 - sha256: 49f5bd0edb2bf2d00625beeb46a115e1421db2e1b14b535f7c17cc0927f36b8a + version: 51.0.0 + sha256: 9d0cfabfe1853994adc2e6e9da5f36c1eb061102e34a2f1101fa935c6991c9e1 requires_dist: - - pyarrow>=11.0.0 + - pyarrow>=16.0.0 ; python_full_version < '3.14' + - pyarrow>=22.0.0 ; python_full_version >= '3.14' - typing-extensions ; python_full_version < '3.13' - requires_python: '>=3.9' -- pypi: https://files.pythonhosted.org/packages/11/9a/afce9586145b3ed153d75364b21102a6a95260940352e06b7c6709e9d2db/datafusion-50.1.0-cp39-abi3-manylinux_2_28_aarch64.whl + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/21/ac/b32ba1f25d38fc16e7623cc4bfb7bd68db61be2ef27b2d9969ea5c865765/datafusion-51.0.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl name: datafusion - version: 50.1.0 - sha256: 5c9c2f70922ddedf54d8abd4ba9585a5026c3409438f5aafc1ad0428a67a4d1f + version: 51.0.0 + sha256: e76803907150159aa059d5cc9291645bbaac1b6a46d07e56035118d327b741ae requires_dist: - - pyarrow>=11.0.0 + - pyarrow>=16.0.0 ; python_full_version < '3.14' + - pyarrow>=22.0.0 ; python_full_version >= '3.14' - typing-extensions ; python_full_version < '3.13' - requires_python: '>=3.9' -- pypi: https://files.pythonhosted.org/packages/1f/6e/f9e2d5d935024a79fd549b5ce1d05549d26a027aab800727d492ac036504/datafusion-50.1.0-cp39-abi3-macosx_10_12_x86_64.whl + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/55/45/72c9874fd3740a4cb9d55049fdbae0df512dc5433e9f1176f3cfd970f1a1/datafusion-51.0.0-cp310-abi3-macosx_11_0_arm64.whl name: datafusion - version: 50.1.0 - sha256: aeaa3c7bcf630bbea962b8fe75d300d98eaf7e2a5edf98e6a0130a1bec3543ea + version: 51.0.0 + sha256: 43e6011db86e950bf9a21ed73cc089c2346b340a41a4f1044268af6c3a357acc requires_dist: - - pyarrow>=11.0.0 + - pyarrow>=16.0.0 ; python_full_version < '3.14' + - pyarrow>=22.0.0 ; python_full_version >= '3.14' - typing-extensions ; python_full_version < '3.13' - requires_python: '>=3.9' -- pypi: https://files.pythonhosted.org/packages/51/a3/41ef1c565770ef0c4060ee3fd50367dd06816f70a5be1ef41fbd7c3975e8/datafusion-50.1.0-cp39-abi3-win_amd64.whl + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/cf/a9/7717cec053a3309be3020fe3147e3f76e5bf21295fa8adf9b52dd44ea3ff/datafusion-51.0.0-cp310-abi3-macosx_10_12_x86_64.whl name: datafusion - version: 50.1.0 - sha256: 145c8f2e969c9cc51dc6af8a185ec39739ebeb5d680f9fe0020e005564ed40a8 + version: 51.0.0 + sha256: 0c0d265fe3ee0dcbfa7cc3c64c7cd94fc493f38418bd79debb7ec29f29b7176e requires_dist: - - pyarrow>=11.0.0 + - pyarrow>=16.0.0 ; python_full_version < '3.14' + - pyarrow>=22.0.0 ; python_full_version >= '3.14' - typing-extensions ; python_full_version < '3.13' - requires_python: '>=3.9' -- pypi: https://files.pythonhosted.org/packages/db/58/2dc473240f552d3620186b527c04397f82b36f02243afaf49f0813c84a17/datafusion-50.1.0-cp39-abi3-macosx_11_0_arm64.whl + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/db/fc/58cf27fcb85b2fd2a698253ae46213b1cbda784407e205c148f4006c1429/datafusion-51.0.0-cp310-abi3-win_amd64.whl name: datafusion - version: 50.1.0 - sha256: 85727df82c818103092c3ee18d198365833d3e44c2921d2b378d4d682798e511 + version: 51.0.0 + sha256: fd5f9abfd6669062debf0658d13e4583234c89d4df95faf381927b11cea411f5 requires_dist: - - pyarrow>=11.0.0 + - pyarrow>=16.0.0 ; python_full_version < '3.14' + - pyarrow>=22.0.0 ; python_full_version >= '3.14' - typing-extensions ; python_full_version < '3.13' - requires_python: '>=3.9' + requires_python: '>=3.10' - conda: https://conda.anaconda.org/conda-forge/noarch/datamodel-code-generator-0.52.0-pyhcf101f3_0.conda sha256: 73a8e8f212e4223e05b5883807243268af39d7a617167b0c887e4e3e1062d1e0 md5: 811591a6e0db74cb9a3190f7663ac207 @@ -3583,25 +3608,25 @@ packages: - pytest-benchmark ; extra == 'testing' - coverage ; extra == 'testing' requires_python: '>=3.9' -- pypi: https://files.pythonhosted.org/packages/56/13/333b8f421738f149d4fe5e49553bc2a2ab75235486259f689b4b91f96cec/protobuf-6.33.2-cp39-abi3-manylinux2014_x86_64.whl +- pypi: https://files.pythonhosted.org/packages/2b/48/d301907ce6d0db75f959ca74f44b475a9caa8fcba102d098d3c3dd0f2d3f/protobuf-6.33.4-cp39-abi3-manylinux2014_aarch64.whl name: protobuf - version: 6.33.2 - sha256: 1f8017c48c07ec5859106533b682260ba3d7c5567b1ca1f24297ce03384d1b4f + version: 6.33.4 + sha256: 757c978f82e74d75cba88eddec479df9b99a42b31193313b75e492c06a51764e requires_python: '>=3.9' -- pypi: https://files.pythonhosted.org/packages/64/20/4d50191997e917ae13ad0a235c8b42d8c1ab9c3e6fd455ca16d416944355/protobuf-6.33.2-cp310-abi3-win_amd64.whl +- pypi: https://files.pythonhosted.org/packages/31/ad/e5693e1974a28869e7cd244302911955c1cebc0161eb32dfa2b25b6e96f0/protobuf-6.33.4-cp310-abi3-win_amd64.whl name: protobuf - version: 6.33.2 - sha256: fc2a0e8b05b180e5fc0dd1559fe8ebdae21a27e81ac77728fb6c42b12c7419b4 + version: 6.33.4 + sha256: 8f11ffae31ec67fc2554c2ef891dcb561dae9a2a3ed941f9e134c2db06657dbc requires_python: '>=3.9' -- pypi: https://files.pythonhosted.org/packages/7d/4f/f743761e41d3b2b2566748eb76bbff2b43e14d5fcab694f494a16458b05f/protobuf-6.33.2-cp39-abi3-manylinux2014_aarch64.whl +- pypi: https://files.pythonhosted.org/packages/66/15/6ee23553b6bfd82670207ead921f4d8ef14c107e5e11443b04caeb5ab5ec/protobuf-6.33.4-cp39-abi3-macosx_10_9_universal2.whl name: protobuf - version: 6.33.2 - sha256: b5d3b5625192214066d99b2b605f5783483575656784de223f00a8d00754fc0e + version: 6.33.4 + sha256: 2fe67f6c014c84f655ee06f6f66213f9254b3a8b6bda6cda0ccd4232c73c06f0 requires_python: '>=3.9' -- pypi: https://files.pythonhosted.org/packages/b2/ca/7e485da88ba45c920fb3f50ae78de29ab925d9e54ef0de678306abfbb497/protobuf-6.33.2-cp39-abi3-macosx_10_9_universal2.whl +- pypi: https://files.pythonhosted.org/packages/e8/8e/971c0edd084914f7ee7c23aa70ba89e8903918adca179319ee94403701d5/protobuf-6.33.4-cp39-abi3-manylinux2014_x86_64.whl name: protobuf - version: 6.33.2 - sha256: d9b19771ca75935b3a4422957bc518b0cecb978b31d1dd12037b088f6bcc0e43 + version: 6.33.4 + sha256: 3df850c2f8db9934de4cf8f9152f8dc2558f49f298f37f90c517e8e5c84c30e9 requires_python: '>=3.9' - conda: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-hb9d3cd8_1002.conda sha256: 9c88f8c64590e9567c6c80823f0328e58d3b1efb0e1c539c0315ceca764e0973 @@ -4300,6 +4325,13 @@ packages: purls: [] size: 694692 timestamp: 1756385147981 +- pypi: https://files.pythonhosted.org/packages/31/18/9129c1f70d7294d6318da5f9e95bbcbe90a215b188f0ab01269878c20f52/vbarua_substrait_protobuf-0.1.0.dev0-py3-none-any.whl + name: vbarua-substrait-protobuf + version: 0.1.0.dev0 + sha256: 14694293d3e829e4e680d5d07e9b08863cf6476683e80dda27c72063c78d67d2 + requires_dist: + - protobuf>=5,<7 + requires_python: '>=3.10,<3.14' - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.3-h41ae7f8_34.conda sha256: 9dc40c2610a6e6727d635c62cced5ef30b7b30123f5ef67d6139e23d21744b3a md5: 1e610f2416b6acdd231c5f573d754a0f diff --git a/pyproject.toml b/pyproject.toml index 35d0c87..bb05bbc 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,7 +5,10 @@ authors = [{name = "Substrait contributors", email = "substrait@googlegroups.com license = {text = "Apache-2.0"} readme = "README.md" requires-python = ">=3.10,<3.14" -dependencies = ["protobuf >=5,<7"] +dependencies = [ + "protobuf >=5,<7", + "vbarua-substrait-protobuf>=0.1.0.dev0", +] dynamic = ["version"] [tool.setuptools_scm] diff --git a/src/substrait/__init__.py b/src/substrait/__init__.py deleted file mode 100644 index 21354e1..0000000 --- a/src/substrait/__init__.py +++ /dev/null @@ -1,8 +0,0 @@ -try: - from ._version import __version__ # noqa: F401 -except ImportError: - pass - -__substrait_version__ = "0.79.0" -__substrait_hash__ = "92d2e75" -__minimum_substrait_version__ = "0.30.0" diff --git a/src/substrait/builders/extended_expression.py b/src/substrait/builders/extended_expression.py index 88ec5fd..23059b1 100644 --- a/src/substrait/builders/extended_expression.py +++ b/src/substrait/builders/extended_expression.py @@ -2,10 +2,11 @@ from datetime import date from typing import Any, Callable, Iterable, Union -import substrait.gen.proto.algebra_pb2 as stalg -import substrait.gen.proto.extended_expression_pb2 as stee -import substrait.gen.proto.extensions.extensions_pb2 as ste -import substrait.gen.proto.type_pb2 as stp +import substrait.algebra_pb2 as stalg +import substrait.extended_expression_pb2 as stee +import substrait.extensions.extensions_pb2 as ste +import substrait.type_pb2 as stp + from substrait.extension_registry import ExtensionRegistry from substrait.type_inference import infer_extended_expression_schema from substrait.utils import ( diff --git a/src/substrait/builders/plan.py b/src/substrait/builders/plan.py index 1e28ddb..ff04c13 100644 --- a/src/substrait/builders/plan.py +++ b/src/substrait/builders/plan.py @@ -8,23 +8,24 @@ import re from typing import Callable, Iterable, Optional, Union -import substrait.gen.proto.algebra_pb2 as stalg -import substrait.gen.proto.extended_expression_pb2 as stee -import substrait.gen.proto.plan_pb2 as stp -import substrait.gen.proto.type_pb2 as stt -from substrait import __substrait_version__ +import substrait.algebra_pb2 as stalg +import substrait.extended_expression_pb2 as stee +import substrait.plan_pb2 as stp +import substrait.type_pb2 as stt +from substrait.extensions.extensions_pb2 import AdvancedExtension + from substrait.builders.extended_expression import ( ExtendedExpressionOrUnbound, resolve_expression, ) from substrait.extension_registry import ExtensionRegistry -from substrait.gen.proto.extensions.extensions_pb2 import AdvancedExtension from substrait.type_inference import infer_plan_schema from substrait.utils import ( merge_extension_declarations, merge_extension_uris, merge_extension_urns, ) +from substrait.version import substrait_version UnboundPlan = Callable[[ExtensionRegistry], stp.Plan] @@ -33,7 +34,7 @@ def _create_default_version(): p = re.compile(r"(\d+)\.(\d+)\.(\d+)") - m = p.match(__substrait_version__) + m = p.match(substrait_version) global default_version default_version = stp.Version( major_number=int(m.group(1)), diff --git a/src/substrait/builders/type.py b/src/substrait/builders/type.py index 92b560a..d84b6a1 100644 --- a/src/substrait/builders/type.py +++ b/src/substrait/builders/type.py @@ -1,6 +1,6 @@ from typing import Iterable -import substrait.gen.proto.type_pb2 as stt +import substrait.type_pb2 as stt def boolean(nullable=True) -> stt.Type: diff --git a/src/substrait/dataframe/expression.py b/src/substrait/dataframe/expression.py index e57c6b6..8f97737 100644 --- a/src/substrait/dataframe/expression.py +++ b/src/substrait/dataframe/expression.py @@ -1,5 +1,6 @@ -import substrait.gen.proto.extended_expression_pb2 as stee -import substrait.gen.proto.type_pb2 as stp +import substrait.extended_expression_pb2 as stee +import substrait.type_pb2 as stp + from substrait.builders.extended_expression import ( ExtendedExpressionOrUnbound, UnboundExtendedExpression, diff --git a/src/substrait/derivation_expression.py b/src/substrait/derivation_expression.py index 17950c6..a3817c4 100644 --- a/src/substrait/derivation_expression.py +++ b/src/substrait/derivation_expression.py @@ -1,10 +1,10 @@ from typing import Optional from antlr4 import CommonTokenStream, InputStream +from substrait.type_pb2 import NamedStruct, Type from substrait.gen.antlr.SubstraitTypeLexer import SubstraitTypeLexer from substrait.gen.antlr.SubstraitTypeParser import SubstraitTypeParser -from substrait.gen.proto.type_pb2 import NamedStruct, Type def _evaluate(x, values: dict): diff --git a/src/substrait/extensions/__init__.py b/src/substrait/extension_files/__init__.py similarity index 100% rename from src/substrait/extensions/__init__.py rename to src/substrait/extension_files/__init__.py diff --git a/src/substrait/extensions/extension_types.yaml b/src/substrait/extension_files/extension_types.yaml similarity index 100% rename from src/substrait/extensions/extension_types.yaml rename to src/substrait/extension_files/extension_types.yaml diff --git a/src/substrait/extensions/functions_aggregate_approx.yaml b/src/substrait/extension_files/functions_aggregate_approx.yaml similarity index 100% rename from src/substrait/extensions/functions_aggregate_approx.yaml rename to src/substrait/extension_files/functions_aggregate_approx.yaml diff --git a/src/substrait/extensions/functions_aggregate_decimal_output.yaml b/src/substrait/extension_files/functions_aggregate_decimal_output.yaml similarity index 100% rename from src/substrait/extensions/functions_aggregate_decimal_output.yaml rename to src/substrait/extension_files/functions_aggregate_decimal_output.yaml diff --git a/src/substrait/extensions/functions_aggregate_generic.yaml b/src/substrait/extension_files/functions_aggregate_generic.yaml similarity index 100% rename from src/substrait/extensions/functions_aggregate_generic.yaml rename to src/substrait/extension_files/functions_aggregate_generic.yaml diff --git a/src/substrait/extensions/functions_arithmetic.yaml b/src/substrait/extension_files/functions_arithmetic.yaml similarity index 100% rename from src/substrait/extensions/functions_arithmetic.yaml rename to src/substrait/extension_files/functions_arithmetic.yaml diff --git a/src/substrait/extensions/functions_arithmetic_decimal.yaml b/src/substrait/extension_files/functions_arithmetic_decimal.yaml similarity index 100% rename from src/substrait/extensions/functions_arithmetic_decimal.yaml rename to src/substrait/extension_files/functions_arithmetic_decimal.yaml diff --git a/src/substrait/extensions/functions_boolean.yaml b/src/substrait/extension_files/functions_boolean.yaml similarity index 100% rename from src/substrait/extensions/functions_boolean.yaml rename to src/substrait/extension_files/functions_boolean.yaml diff --git a/src/substrait/extensions/functions_comparison.yaml b/src/substrait/extension_files/functions_comparison.yaml similarity index 100% rename from src/substrait/extensions/functions_comparison.yaml rename to src/substrait/extension_files/functions_comparison.yaml diff --git a/src/substrait/extensions/functions_datetime.yaml b/src/substrait/extension_files/functions_datetime.yaml similarity index 100% rename from src/substrait/extensions/functions_datetime.yaml rename to src/substrait/extension_files/functions_datetime.yaml diff --git a/src/substrait/extensions/functions_geometry.yaml b/src/substrait/extension_files/functions_geometry.yaml similarity index 100% rename from src/substrait/extensions/functions_geometry.yaml rename to src/substrait/extension_files/functions_geometry.yaml diff --git a/src/substrait/extensions/functions_list.yaml b/src/substrait/extension_files/functions_list.yaml similarity index 100% rename from src/substrait/extensions/functions_list.yaml rename to src/substrait/extension_files/functions_list.yaml diff --git a/src/substrait/extensions/functions_logarithmic.yaml b/src/substrait/extension_files/functions_logarithmic.yaml similarity index 100% rename from src/substrait/extensions/functions_logarithmic.yaml rename to src/substrait/extension_files/functions_logarithmic.yaml diff --git a/src/substrait/extensions/functions_rounding.yaml b/src/substrait/extension_files/functions_rounding.yaml similarity index 100% rename from src/substrait/extensions/functions_rounding.yaml rename to src/substrait/extension_files/functions_rounding.yaml diff --git a/src/substrait/extensions/functions_rounding_decimal.yaml b/src/substrait/extension_files/functions_rounding_decimal.yaml similarity index 100% rename from src/substrait/extensions/functions_rounding_decimal.yaml rename to src/substrait/extension_files/functions_rounding_decimal.yaml diff --git a/src/substrait/extensions/functions_set.yaml b/src/substrait/extension_files/functions_set.yaml similarity index 100% rename from src/substrait/extensions/functions_set.yaml rename to src/substrait/extension_files/functions_set.yaml diff --git a/src/substrait/extensions/functions_string.yaml b/src/substrait/extension_files/functions_string.yaml similarity index 100% rename from src/substrait/extensions/functions_string.yaml rename to src/substrait/extension_files/functions_string.yaml diff --git a/src/substrait/extensions/type_variations.yaml b/src/substrait/extension_files/type_variations.yaml similarity index 100% rename from src/substrait/extensions/type_variations.yaml rename to src/substrait/extension_files/type_variations.yaml diff --git a/src/substrait/extensions/unknown.yaml b/src/substrait/extension_files/unknown.yaml similarity index 100% rename from src/substrait/extensions/unknown.yaml rename to src/substrait/extension_files/unknown.yaml diff --git a/src/substrait/extension_registry/function_entry.py b/src/substrait/extension_registry/function_entry.py index cec9860..5189a6f 100644 --- a/src/substrait/extension_registry/function_entry.py +++ b/src/substrait/extension_registry/function_entry.py @@ -3,9 +3,10 @@ from enum import Enum from typing import Optional, Union +from substrait.type_pb2 import Type + from substrait.derivation_expression import _parse, evaluate from substrait.gen.json import simple_extensions as se -from substrait.gen.proto.type_pb2 import Type from .signature_checker_helpers import covers, normalize_substrait_type_names diff --git a/src/substrait/extension_registry/registry.py b/src/substrait/extension_registry/registry.py index 7d48388..b95fa2a 100644 --- a/src/substrait/extension_registry/registry.py +++ b/src/substrait/extension_registry/registry.py @@ -8,9 +8,9 @@ from typing import Optional, Union import yaml +from substrait.type_pb2 import Type from substrait.bimap import UriUrnBiDiMap -from substrait.gen.proto.type_pb2 import Type from substrait.simple_extension_utils import build_simple_extensions from .function_entry import FunctionEntry, FunctionType @@ -32,7 +32,7 @@ def __init__(self, load_default_extensions=True) -> None: # Bidirectional URI <-> URN mapping (temporary during migration) self._uri_urn_bimap = UriUrnBiDiMap() if load_default_extensions: - for fpath in importlib_files("substrait.extensions").glob( # type: ignore + for fpath in importlib_files("substrait.extension_files").glob( # type: ignore "functions*.yaml" ): # Derive URI from DEFAULT_URN_PREFIX and filename diff --git a/src/substrait/extension_registry/signature_checker_helpers.py b/src/substrait/extension_registry/signature_checker_helpers.py index 4c932fd..405f027 100644 --- a/src/substrait/extension_registry/signature_checker_helpers.py +++ b/src/substrait/extension_registry/signature_checker_helpers.py @@ -2,9 +2,10 @@ from typing import Dict +from substrait.type_pb2 import Type + from substrait.derivation_expression import _evaluate from substrait.gen.antlr.SubstraitTypeParser import SubstraitTypeParser -from substrait.gen.proto.type_pb2 import Type from .exceptions import UnhandledParameterizedTypeError, UnrecognizedSubstraitTypeError diff --git a/src/substrait/gen/__init__.pyi b/src/substrait/gen/__init__.pyi index 3f49c72..432f7de 100644 --- a/src/substrait/gen/__init__.pyi +++ b/src/substrait/gen/__init__.pyi @@ -1,4 +1,3 @@ -from . import proto from . import antlr from . import json from . import version diff --git a/src/substrait/gen/proto/__init__.py b/src/substrait/gen/proto/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/src/substrait/gen/proto/algebra_pb2.py b/src/substrait/gen/proto/algebra_pb2.py deleted file mode 100644 index 6b8faf8..0000000 --- a/src/substrait/gen/proto/algebra_pb2.py +++ /dev/null @@ -1,376 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE -# source: substrait/gen/proto/algebra.proto -# Protobuf Python Version: 5.29.5 -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import runtime_version as _runtime_version -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 5, - 29, - 5, - '', - 'substrait/gen/proto/algebra.proto' -) -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 -from substrait.gen.proto.extensions import extensions_pb2 as substrait_dot_gen_dot_proto_dot_extensions_dot_extensions__pb2 -from substrait.gen.proto import type_pb2 as substrait_dot_gen_dot_proto_dot_type__pb2 - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!substrait/gen/proto/algebra.proto\x12\x13substrait.gen.proto\x1a\x19google/protobuf/any.proto\x1a/substrait/gen/proto/extensions/extensions.proto\x1a\x1esubstrait/gen/proto/type.proto\"\x8c\x0e\n\tRelCommon\x12?\n\x06\x64irect\x18\x01 \x01(\x0b\x32%.substrait.gen.proto.RelCommon.DirectH\x00R\x06\x64irect\x12\x39\n\x04\x65mit\x18\x02 \x01(\x0b\x32#.substrait.gen.proto.RelCommon.EmitH\x00R\x04\x65mit\x12\x37\n\x04hint\x18\x03 \x01(\x0b\x32#.substrait.gen.proto.RelCommon.HintR\x04hint\x12`\n\x12\x61\x64vanced_extension\x18\x04 \x01(\x0b\x32\x31.substrait.gen.proto.extensions.AdvancedExtensionR\x11\x61\x64vancedExtension\x1a\x08\n\x06\x44irect\x1a-\n\x04\x45mit\x12%\n\x0eoutput_mapping\x18\x01 \x03(\x05R\routputMapping\x1a\xa1\x0b\n\x04Hint\x12?\n\x05stats\x18\x01 \x01(\x0b\x32).substrait.gen.proto.RelCommon.Hint.StatsR\x05stats\x12U\n\nconstraint\x18\x02 \x01(\x0b\x32\x35.substrait.gen.proto.RelCommon.Hint.RuntimeConstraintR\nconstraint\x12\x14\n\x05\x61lias\x18\x03 \x01(\tR\x05\x61lias\x12!\n\x0coutput_names\x18\x04 \x03(\tR\x0boutputNames\x12`\n\x12\x61\x64vanced_extension\x18\n \x01(\x0b\x32\x31.substrait.gen.proto.extensions.AdvancedExtensionR\x11\x61\x64vancedExtension\x12\x63\n\x12saved_computations\x18\x0b \x03(\x0b\x32\x34.substrait.gen.proto.RelCommon.Hint.SavedComputationR\x11savedComputations\x12\x66\n\x13loaded_computations\x18\x0c \x03(\x0b\x32\x35.substrait.gen.proto.RelCommon.Hint.LoadedComputationR\x12loadedComputations\x1a\xa7\x01\n\x05Stats\x12\x1b\n\trow_count\x18\x01 \x01(\x01R\x08rowCount\x12\x1f\n\x0brecord_size\x18\x02 \x01(\x01R\nrecordSize\x12`\n\x12\x61\x64vanced_extension\x18\n \x01(\x0b\x32\x31.substrait.gen.proto.extensions.AdvancedExtensionR\x11\x61\x64vancedExtension\x1au\n\x11RuntimeConstraint\x12`\n\x12\x61\x64vanced_extension\x18\n \x01(\x0b\x32\x31.substrait.gen.proto.extensions.AdvancedExtensionR\x11\x61\x64vancedExtension\x1a\xe4\x01\n\x10SavedComputation\x12%\n\x0e\x63omputation_id\x18\x01 \x01(\x05R\rcomputationId\x12G\n\x04type\x18\x02 \x01(\x0e\x32\x33.substrait.gen.proto.RelCommon.Hint.ComputationTypeR\x04type\x12`\n\x12\x61\x64vanced_extension\x18\n \x01(\x0b\x32\x31.substrait.gen.proto.extensions.AdvancedExtensionR\x11\x61\x64vancedExtension\x1a\xf8\x01\n\x11LoadedComputation\x12\x38\n\x18\x63omputation_id_reference\x18\x01 \x01(\x05R\x16\x63omputationIdReference\x12G\n\x04type\x18\x02 \x01(\x0e\x32\x33.substrait.gen.proto.RelCommon.Hint.ComputationTypeR\x04type\x12`\n\x12\x61\x64vanced_extension\x18\n \x01(\x0b\x32\x31.substrait.gen.proto.extensions.AdvancedExtensionR\x11\x61\x64vancedExtension\"\x95\x01\n\x0f\x43omputationType\x12 \n\x1c\x43OMPUTATION_TYPE_UNSPECIFIED\x10\x00\x12\x1e\n\x1a\x43OMPUTATION_TYPE_HASHTABLE\x10\x01\x12!\n\x1d\x43OMPUTATION_TYPE_BLOOM_FILTER\x10\x02\x12\x1d\n\x18\x43OMPUTATION_TYPE_UNKNOWN\x10\x8fNB\x0b\n\temit_kind\"\xba\x16\n\x07ReadRel\x12\x36\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\x1e.substrait.gen.proto.RelCommonR\x06\x63ommon\x12\x41\n\x0b\x62\x61se_schema\x18\x02 \x01(\x0b\x32 .substrait.gen.proto.NamedStructR\nbaseSchema\x12\x37\n\x06\x66ilter\x18\x03 \x01(\x0b\x32\x1f.substrait.gen.proto.ExpressionR\x06\x66ilter\x12M\n\x12\x62\x65st_effort_filter\x18\x0b \x01(\x0b\x32\x1f.substrait.gen.proto.ExpressionR\x10\x62\x65stEffortFilter\x12N\n\nprojection\x18\x04 \x01(\x0b\x32..substrait.gen.proto.Expression.MaskExpressionR\nprojection\x12`\n\x12\x61\x64vanced_extension\x18\n \x01(\x0b\x32\x31.substrait.gen.proto.extensions.AdvancedExtensionR\x11\x61\x64vancedExtension\x12P\n\rvirtual_table\x18\x05 \x01(\x0b\x32).substrait.gen.proto.ReadRel.VirtualTableH\x00R\x0cvirtualTable\x12J\n\x0blocal_files\x18\x06 \x01(\x0b\x32\'.substrait.gen.proto.ReadRel.LocalFilesH\x00R\nlocalFiles\x12J\n\x0bnamed_table\x18\x07 \x01(\x0b\x32\'.substrait.gen.proto.ReadRel.NamedTableH\x00R\nnamedTable\x12V\n\x0f\x65xtension_table\x18\x08 \x01(\x0b\x32+.substrait.gen.proto.ReadRel.ExtensionTableH\x00R\x0e\x65xtensionTable\x12P\n\riceberg_table\x18\t \x01(\x0b\x32).substrait.gen.proto.ReadRel.IcebergTableH\x00R\x0cicebergTable\x1a\x84\x01\n\nNamedTable\x12\x14\n\x05names\x18\x01 \x03(\tR\x05names\x12`\n\x12\x61\x64vanced_extension\x18\n \x01(\x0b\x32\x31.substrait.gen.proto.extensions.AdvancedExtensionR\x11\x61\x64vancedExtension\x1a\x8a\x02\n\x0cIcebergTable\x12T\n\x06\x64irect\x18\x01 \x01(\x0b\x32:.substrait.gen.proto.ReadRel.IcebergTable.MetadataFileReadH\x00R\x06\x64irect\x1a\x95\x01\n\x10MetadataFileRead\x12!\n\x0cmetadata_uri\x18\x01 \x01(\tR\x0bmetadataUri\x12!\n\x0bsnapshot_id\x18\x02 \x01(\tH\x00R\nsnapshotId\x12/\n\x12snapshot_timestamp\x18\x03 \x01(\x03H\x00R\x11snapshotTimestampB\n\n\x08snapshotB\x0c\n\ntable_type\x1a\xab\x01\n\x0cVirtualTable\x12J\n\x06values\x18\x01 \x03(\x0b\x32..substrait.gen.proto.Expression.Literal.StructB\x02\x18\x01R\x06values\x12O\n\x0b\x65xpressions\x18\x02 \x03(\x0b\x32-.substrait.gen.proto.Expression.Nested.StructR\x0b\x65xpressions\x1a>\n\x0e\x45xtensionTable\x12,\n\x06\x64\x65tail\x18\x01 \x01(\x0b\x32\x14.google.protobuf.AnyR\x06\x64\x65tail\x1a\xd6\n\n\nLocalFiles\x12I\n\x05items\x18\x01 \x03(\x0b\x32\x33.substrait.gen.proto.ReadRel.LocalFiles.FileOrFilesR\x05items\x12`\n\x12\x61\x64vanced_extension\x18\n \x01(\x0b\x32\x31.substrait.gen.proto.extensions.AdvancedExtensionR\x11\x61\x64vancedExtension\x1a\x9a\t\n\x0b\x46ileOrFiles\x12\x1b\n\x08uri_path\x18\x01 \x01(\tH\x00R\x07uriPath\x12$\n\ruri_path_glob\x18\x02 \x01(\tH\x00R\x0buriPathGlob\x12\x1b\n\x08uri_file\x18\x03 \x01(\tH\x00R\x07uriFile\x12\x1f\n\nuri_folder\x18\x04 \x01(\tH\x00R\turiFolder\x12\'\n\x0fpartition_index\x18\x06 \x01(\x04R\x0epartitionIndex\x12\x14\n\x05start\x18\x07 \x01(\x04R\x05start\x12\x16\n\x06length\x18\x08 \x01(\x04R\x06length\x12\x62\n\x07parquet\x18\t \x01(\x0b\x32\x46.substrait.gen.proto.ReadRel.LocalFiles.FileOrFiles.ParquetReadOptionsH\x01R\x07parquet\x12\\\n\x05\x61rrow\x18\n \x01(\x0b\x32\x44.substrait.gen.proto.ReadRel.LocalFiles.FileOrFiles.ArrowReadOptionsH\x01R\x05\x61rrow\x12V\n\x03orc\x18\x0b \x01(\x0b\x32\x42.substrait.gen.proto.ReadRel.LocalFiles.FileOrFiles.OrcReadOptionsH\x01R\x03orc\x12\x34\n\textension\x18\x0c \x01(\x0b\x32\x14.google.protobuf.AnyH\x01R\textension\x12Y\n\x04\x64wrf\x18\r \x01(\x0b\x32\x43.substrait.gen.proto.ReadRel.LocalFiles.FileOrFiles.DwrfReadOptionsH\x01R\x04\x64wrf\x12k\n\x04text\x18\x0e \x01(\x0b\x32U.substrait.gen.proto.ReadRel.LocalFiles.FileOrFiles.DelimiterSeparatedTextReadOptionsH\x01R\x04text\x1a\x14\n\x12ParquetReadOptions\x1a\x12\n\x10\x41rrowReadOptions\x1a\x10\n\x0eOrcReadOptions\x1a\x11\n\x0f\x44wrfReadOptions\x1a\xa1\x02\n!DelimiterSeparatedTextReadOptions\x12\'\n\x0f\x66ield_delimiter\x18\x01 \x01(\tR\x0e\x66ieldDelimiter\x12\"\n\rmax_line_size\x18\x02 \x01(\x04R\x0bmaxLineSize\x12\x14\n\x05quote\x18\x03 \x01(\tR\x05quote\x12/\n\x14header_lines_to_skip\x18\x04 \x01(\x04R\x11headerLinesToSkip\x12\x16\n\x06\x65scape\x18\x05 \x01(\tR\x06\x65scape\x12\x36\n\x15value_treated_as_null\x18\x06 \x01(\tH\x00R\x12valueTreatedAsNull\x88\x01\x01\x42\x18\n\x16_value_treated_as_nullB\x0b\n\tpath_typeB\r\n\x0b\x66ile_formatJ\x04\x08\x05\x10\x06R\x06\x66ormatB\x0b\n\tread_type\"\x99\x02\n\nProjectRel\x12\x36\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\x1e.substrait.gen.proto.RelCommonR\x06\x63ommon\x12.\n\x05input\x18\x02 \x01(\x0b\x32\x18.substrait.gen.proto.RelR\x05input\x12\x41\n\x0b\x65xpressions\x18\x03 \x03(\x0b\x32\x1f.substrait.gen.proto.ExpressionR\x0b\x65xpressions\x12`\n\x12\x61\x64vanced_extension\x18\n \x01(\x0b\x32\x31.substrait.gen.proto.extensions.AdvancedExtensionR\x11\x61\x64vancedExtension\"\x93\x06\n\x07JoinRel\x12\x36\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\x1e.substrait.gen.proto.RelCommonR\x06\x63ommon\x12,\n\x04left\x18\x02 \x01(\x0b\x32\x18.substrait.gen.proto.RelR\x04left\x12.\n\x05right\x18\x03 \x01(\x0b\x32\x18.substrait.gen.proto.RelR\x05right\x12?\n\nexpression\x18\x04 \x01(\x0b\x32\x1f.substrait.gen.proto.ExpressionR\nexpression\x12I\n\x10post_join_filter\x18\x05 \x01(\x0b\x32\x1f.substrait.gen.proto.ExpressionR\x0epostJoinFilter\x12\x39\n\x04type\x18\x06 \x01(\x0e\x32%.substrait.gen.proto.JoinRel.JoinTypeR\x04type\x12`\n\x12\x61\x64vanced_extension\x18\n \x01(\x0b\x32\x31.substrait.gen.proto.extensions.AdvancedExtensionR\x11\x61\x64vancedExtension\"\xc8\x02\n\x08JoinType\x12\x19\n\x15JOIN_TYPE_UNSPECIFIED\x10\x00\x12\x13\n\x0fJOIN_TYPE_INNER\x10\x01\x12\x13\n\x0fJOIN_TYPE_OUTER\x10\x02\x12\x12\n\x0eJOIN_TYPE_LEFT\x10\x03\x12\x13\n\x0fJOIN_TYPE_RIGHT\x10\x04\x12\x17\n\x13JOIN_TYPE_LEFT_SEMI\x10\x05\x12\x17\n\x13JOIN_TYPE_LEFT_ANTI\x10\x06\x12\x19\n\x15JOIN_TYPE_LEFT_SINGLE\x10\x07\x12\x18\n\x14JOIN_TYPE_RIGHT_SEMI\x10\x08\x12\x18\n\x14JOIN_TYPE_RIGHT_ANTI\x10\t\x12\x1a\n\x16JOIN_TYPE_RIGHT_SINGLE\x10\n\x12\x17\n\x13JOIN_TYPE_LEFT_MARK\x10\x0b\x12\x18\n\x14JOIN_TYPE_RIGHT_MARK\x10\x0c\"\x82\x02\n\x08\x43rossRel\x12\x36\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\x1e.substrait.gen.proto.RelCommonR\x06\x63ommon\x12,\n\x04left\x18\x02 \x01(\x0b\x32\x18.substrait.gen.proto.RelR\x04left\x12.\n\x05right\x18\x03 \x01(\x0b\x32\x18.substrait.gen.proto.RelR\x05right\x12`\n\x12\x61\x64vanced_extension\x18\n \x01(\x0b\x32\x31.substrait.gen.proto.extensions.AdvancedExtensionR\x11\x61\x64vancedExtension\"\xb1\x03\n\x08\x46\x65tchRel\x12\x36\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\x1e.substrait.gen.proto.RelCommonR\x06\x63ommon\x12.\n\x05input\x18\x02 \x01(\x0b\x32\x18.substrait.gen.proto.RelR\x05input\x12\x1c\n\x06offset\x18\x03 \x01(\x03\x42\x02\x18\x01H\x00R\x06offset\x12\x42\n\x0boffset_expr\x18\x05 \x01(\x0b\x32\x1f.substrait.gen.proto.ExpressionH\x00R\noffsetExpr\x12\x1a\n\x05\x63ount\x18\x04 \x01(\x03\x42\x02\x18\x01H\x01R\x05\x63ount\x12@\n\ncount_expr\x18\x06 \x01(\x0b\x32\x1f.substrait.gen.proto.ExpressionH\x01R\tcountExpr\x12`\n\x12\x61\x64vanced_extension\x18\n \x01(\x0b\x32\x31.substrait.gen.proto.extensions.AdvancedExtensionR\x11\x61\x64vancedExtensionB\r\n\x0boffset_modeB\x0c\n\ncount_mode\"\xde\x05\n\x0c\x41ggregateRel\x12\x36\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\x1e.substrait.gen.proto.RelCommonR\x06\x63ommon\x12.\n\x05input\x18\x02 \x01(\x0b\x32\x18.substrait.gen.proto.RelR\x05input\x12H\n\tgroupings\x18\x03 \x03(\x0b\x32*.substrait.gen.proto.AggregateRel.GroupingR\tgroupings\x12\x45\n\x08measures\x18\x04 \x03(\x0b\x32).substrait.gen.proto.AggregateRel.MeasureR\x08measures\x12R\n\x14grouping_expressions\x18\x05 \x03(\x0b\x32\x1f.substrait.gen.proto.ExpressionR\x13groupingExpressions\x12`\n\x12\x61\x64vanced_extension\x18\n \x01(\x0b\x32\x31.substrait.gen.proto.extensions.AdvancedExtensionR\x11\x61\x64vancedExtension\x1a\x97\x01\n\x08Grouping\x12V\n\x14grouping_expressions\x18\x01 \x03(\x0b\x32\x1f.substrait.gen.proto.ExpressionB\x02\x18\x01R\x13groupingExpressions\x12\x33\n\x15\x65xpression_references\x18\x02 \x03(\rR\x14\x65xpressionReferences\x1a\x84\x01\n\x07Measure\x12@\n\x07measure\x18\x01 \x01(\x0b\x32&.substrait.gen.proto.AggregateFunctionR\x07measure\x12\x37\n\x06\x66ilter\x18\x02 \x01(\x0b\x32\x1f.substrait.gen.proto.ExpressionR\x06\x66ilter\"\x8e\t\n\x1c\x43onsistentPartitionWindowRel\x12\x36\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\x1e.substrait.gen.proto.RelCommonR\x06\x63ommon\x12.\n\x05input\x18\x02 \x01(\x0b\x32\x18.substrait.gen.proto.RelR\x05input\x12n\n\x10window_functions\x18\x03 \x03(\x0b\x32\x43.substrait.gen.proto.ConsistentPartitionWindowRel.WindowRelFunctionR\x0fwindowFunctions\x12T\n\x15partition_expressions\x18\x04 \x03(\x0b\x32\x1f.substrait.gen.proto.ExpressionR\x14partitionExpressions\x12\x34\n\x05sorts\x18\x05 \x03(\x0b\x32\x1e.substrait.gen.proto.SortFieldR\x05sorts\x12`\n\x12\x61\x64vanced_extension\x18\n \x01(\x0b\x32\x31.substrait.gen.proto.extensions.AdvancedExtensionR\x11\x61\x64vancedExtension\x1a\xa7\x05\n\x11WindowRelFunction\x12-\n\x12\x66unction_reference\x18\x01 \x01(\rR\x11\x66unctionReference\x12\x43\n\targuments\x18\t \x03(\x0b\x32%.substrait.gen.proto.FunctionArgumentR\targuments\x12=\n\x07options\x18\x0b \x03(\x0b\x32#.substrait.gen.proto.FunctionOptionR\x07options\x12:\n\x0boutput_type\x18\x07 \x01(\x0b\x32\x19.substrait.gen.proto.TypeR\noutputType\x12;\n\x05phase\x18\x06 \x01(\x0e\x32%.substrait.gen.proto.AggregationPhaseR\x05phase\x12\\\n\ninvocation\x18\n \x01(\x0e\x32<.substrait.gen.proto.AggregateFunction.AggregationInvocationR\ninvocation\x12U\n\x0blower_bound\x18\x05 \x01(\x0b\x32\x34.substrait.gen.proto.Expression.WindowFunction.BoundR\nlowerBound\x12U\n\x0bupper_bound\x18\x04 \x01(\x0b\x32\x34.substrait.gen.proto.Expression.WindowFunction.BoundR\nupperBound\x12Z\n\x0b\x62ounds_type\x18\x0c \x01(\x0e\x32\x39.substrait.gen.proto.Expression.WindowFunction.BoundsTypeR\nboundsType\"\x89\x02\n\x07SortRel\x12\x36\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\x1e.substrait.gen.proto.RelCommonR\x06\x63ommon\x12.\n\x05input\x18\x02 \x01(\x0b\x32\x18.substrait.gen.proto.RelR\x05input\x12\x34\n\x05sorts\x18\x03 \x03(\x0b\x32\x1e.substrait.gen.proto.SortFieldR\x05sorts\x12`\n\x12\x61\x64vanced_extension\x18\n \x01(\x0b\x32\x31.substrait.gen.proto.extensions.AdvancedExtensionR\x11\x61\x64vancedExtension\"\x94\x02\n\tFilterRel\x12\x36\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\x1e.substrait.gen.proto.RelCommonR\x06\x63ommon\x12.\n\x05input\x18\x02 \x01(\x0b\x32\x18.substrait.gen.proto.RelR\x05input\x12=\n\tcondition\x18\x03 \x01(\x0b\x32\x1f.substrait.gen.proto.ExpressionR\tcondition\x12`\n\x12\x61\x64vanced_extension\x18\n \x01(\x0b\x32\x31.substrait.gen.proto.extensions.AdvancedExtensionR\x11\x61\x64vancedExtension\"\x96\x04\n\x06SetRel\x12\x36\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\x1e.substrait.gen.proto.RelCommonR\x06\x63ommon\x12\x30\n\x06inputs\x18\x02 \x03(\x0b\x32\x18.substrait.gen.proto.RelR\x06inputs\x12\x31\n\x02op\x18\x03 \x01(\x0e\x32!.substrait.gen.proto.SetRel.SetOpR\x02op\x12`\n\x12\x61\x64vanced_extension\x18\n \x01(\x0b\x32\x31.substrait.gen.proto.extensions.AdvancedExtensionR\x11\x61\x64vancedExtension\"\x8c\x02\n\x05SetOp\x12\x16\n\x12SET_OP_UNSPECIFIED\x10\x00\x12\x18\n\x14SET_OP_MINUS_PRIMARY\x10\x01\x12\x1c\n\x18SET_OP_MINUS_PRIMARY_ALL\x10\x07\x12\x19\n\x15SET_OP_MINUS_MULTISET\x10\x02\x12\x1f\n\x1bSET_OP_INTERSECTION_PRIMARY\x10\x03\x12 \n\x1cSET_OP_INTERSECTION_MULTISET\x10\x04\x12$\n SET_OP_INTERSECTION_MULTISET_ALL\x10\x08\x12\x19\n\x15SET_OP_UNION_DISTINCT\x10\x05\x12\x14\n\x10SET_OP_UNION_ALL\x10\x06\"\xaa\x01\n\x12\x45xtensionSingleRel\x12\x36\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\x1e.substrait.gen.proto.RelCommonR\x06\x63ommon\x12.\n\x05input\x18\x02 \x01(\x0b\x32\x18.substrait.gen.proto.RelR\x05input\x12,\n\x06\x64\x65tail\x18\x03 \x01(\x0b\x32\x14.google.protobuf.AnyR\x06\x64\x65tail\"x\n\x10\x45xtensionLeafRel\x12\x36\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\x1e.substrait.gen.proto.RelCommonR\x06\x63ommon\x12,\n\x06\x64\x65tail\x18\x02 \x01(\x0b\x32\x14.google.protobuf.AnyR\x06\x64\x65tail\"\xab\x01\n\x11\x45xtensionMultiRel\x12\x36\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\x1e.substrait.gen.proto.RelCommonR\x06\x63ommon\x12\x30\n\x06inputs\x18\x02 \x03(\x0b\x32\x18.substrait.gen.proto.RelR\x06inputs\x12,\n\x06\x64\x65tail\x18\x03 \x01(\x0b\x32\x14.google.protobuf.AnyR\x06\x64\x65tail\"\x92\n\n\x0b\x45xchangeRel\x12\x36\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\x1e.substrait.gen.proto.RelCommonR\x06\x63ommon\x12.\n\x05input\x18\x02 \x01(\x0b\x32\x18.substrait.gen.proto.RelR\x05input\x12\'\n\x0fpartition_count\x18\x03 \x01(\x05R\x0epartitionCount\x12I\n\x07targets\x18\x04 \x03(\x0b\x32/.substrait.gen.proto.ExchangeRel.ExchangeTargetR\x07targets\x12\\\n\x11scatter_by_fields\x18\x05 \x01(\x0b\x32..substrait.gen.proto.ExchangeRel.ScatterFieldsH\x00R\x0fscatterByFields\x12^\n\rsingle_target\x18\x06 \x01(\x0b\x32\x37.substrait.gen.proto.ExchangeRel.SingleBucketExpressionH\x00R\x0csingleTarget\x12[\n\x0cmulti_target\x18\x07 \x01(\x0b\x32\x36.substrait.gen.proto.ExchangeRel.MultiBucketExpressionH\x00R\x0bmultiTarget\x12N\n\x0bround_robin\x18\x08 \x01(\x0b\x32+.substrait.gen.proto.ExchangeRel.RoundRobinH\x00R\nroundRobin\x12J\n\tbroadcast\x18\t \x01(\x0b\x32*.substrait.gen.proto.ExchangeRel.BroadcastH\x00R\tbroadcast\x12`\n\x12\x61\x64vanced_extension\x18\n \x01(\x0b\x32\x31.substrait.gen.proto.extensions.AdvancedExtensionR\x11\x61\x64vancedExtension\x1aW\n\rScatterFields\x12\x46\n\x06\x66ields\x18\x01 \x03(\x0b\x32..substrait.gen.proto.Expression.FieldReferenceR\x06\x66ields\x1aY\n\x16SingleBucketExpression\x12?\n\nexpression\x18\x01 \x01(\x0b\x32\x1f.substrait.gen.proto.ExpressionR\nexpression\x1a\x8a\x01\n\x15MultiBucketExpression\x12?\n\nexpression\x18\x01 \x01(\x0b\x32\x1f.substrait.gen.proto.ExpressionR\nexpression\x12\x30\n\x14\x63onstrained_to_count\x18\x02 \x01(\x08R\x12\x63onstrainedToCount\x1a\x0b\n\tBroadcast\x1a\"\n\nRoundRobin\x12\x14\n\x05\x65xact\x18\x01 \x01(\x08R\x05\x65xact\x1a\x8a\x01\n\x0e\x45xchangeTarget\x12!\n\x0cpartition_id\x18\x01 \x03(\x05R\x0bpartitionId\x12\x12\n\x03uri\x18\x02 \x01(\tH\x00R\x03uri\x12\x32\n\x08\x65xtended\x18\x03 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00R\x08\x65xtendedB\r\n\x0btarget_typeB\x0f\n\rexchange_kind\"\xd0\x03\n\tExpandRel\x12\x36\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\x1e.substrait.gen.proto.RelCommonR\x06\x63ommon\x12.\n\x05input\x18\x02 \x01(\x0b\x32\x18.substrait.gen.proto.RelR\x05input\x12\x42\n\x06\x66ields\x18\x04 \x03(\x0b\x32*.substrait.gen.proto.ExpandRel.ExpandFieldR\x06\x66ields\x1a\xc3\x01\n\x0b\x45xpandField\x12X\n\x0fswitching_field\x18\x02 \x01(\x0b\x32-.substrait.gen.proto.ExpandRel.SwitchingFieldH\x00R\x0eswitchingField\x12L\n\x10\x63onsistent_field\x18\x03 \x01(\x0b\x32\x1f.substrait.gen.proto.ExpressionH\x00R\x0f\x63onsistentFieldB\x0c\n\nfield_type\x1aQ\n\x0eSwitchingField\x12?\n\nduplicates\x18\x01 \x03(\x0b\x32\x1f.substrait.gen.proto.ExpressionR\nduplicates\"O\n\x07RelRoot\x12.\n\x05input\x18\x01 \x01(\x0b\x32\x18.substrait.gen.proto.RelR\x05input\x12\x14\n\x05names\x18\x02 \x03(\tR\x05names\"\x84\x0b\n\x03Rel\x12\x32\n\x04read\x18\x01 \x01(\x0b\x32\x1c.substrait.gen.proto.ReadRelH\x00R\x04read\x12\x38\n\x06\x66ilter\x18\x02 \x01(\x0b\x32\x1e.substrait.gen.proto.FilterRelH\x00R\x06\x66ilter\x12\x35\n\x05\x66\x65tch\x18\x03 \x01(\x0b\x32\x1d.substrait.gen.proto.FetchRelH\x00R\x05\x66\x65tch\x12\x41\n\taggregate\x18\x04 \x01(\x0b\x32!.substrait.gen.proto.AggregateRelH\x00R\taggregate\x12\x32\n\x04sort\x18\x05 \x01(\x0b\x32\x1c.substrait.gen.proto.SortRelH\x00R\x04sort\x12\x32\n\x04join\x18\x06 \x01(\x0b\x32\x1c.substrait.gen.proto.JoinRelH\x00R\x04join\x12;\n\x07project\x18\x07 \x01(\x0b\x32\x1f.substrait.gen.proto.ProjectRelH\x00R\x07project\x12/\n\x03set\x18\x08 \x01(\x0b\x32\x1b.substrait.gen.proto.SetRelH\x00R\x03set\x12T\n\x10\x65xtension_single\x18\t \x01(\x0b\x32\'.substrait.gen.proto.ExtensionSingleRelH\x00R\x0f\x65xtensionSingle\x12Q\n\x0f\x65xtension_multi\x18\n \x01(\x0b\x32&.substrait.gen.proto.ExtensionMultiRelH\x00R\x0e\x65xtensionMulti\x12N\n\x0e\x65xtension_leaf\x18\x0b \x01(\x0b\x32%.substrait.gen.proto.ExtensionLeafRelH\x00R\rextensionLeaf\x12\x35\n\x05\x63ross\x18\x0c \x01(\x0b\x32\x1d.substrait.gen.proto.CrossRelH\x00R\x05\x63ross\x12\x41\n\treference\x18\x15 \x01(\x0b\x32!.substrait.gen.proto.ReferenceRelH\x00R\treference\x12\x35\n\x05write\x18\x13 \x01(\x0b\x32\x1d.substrait.gen.proto.WriteRelH\x00R\x05write\x12/\n\x03\x64\x64l\x18\x14 \x01(\x0b\x32\x1b.substrait.gen.proto.DdlRelH\x00R\x03\x64\x64l\x12\x38\n\x06update\x18\x16 \x01(\x0b\x32\x1e.substrait.gen.proto.UpdateRelH\x00R\x06update\x12?\n\thash_join\x18\r \x01(\x0b\x32 .substrait.gen.proto.HashJoinRelH\x00R\x08hashJoin\x12\x42\n\nmerge_join\x18\x0e \x01(\x0b\x32!.substrait.gen.proto.MergeJoinRelH\x00R\tmergeJoin\x12R\n\x10nested_loop_join\x18\x12 \x01(\x0b\x32&.substrait.gen.proto.NestedLoopJoinRelH\x00R\x0enestedLoopJoin\x12K\n\x06window\x18\x11 \x01(\x0b\x32\x31.substrait.gen.proto.ConsistentPartitionWindowRelH\x00R\x06window\x12>\n\x08\x65xchange\x18\x0f \x01(\x0b\x32 .substrait.gen.proto.ExchangeRelH\x00R\x08\x65xchange\x12\x38\n\x06\x65xpand\x18\x10 \x01(\x0b\x32\x1e.substrait.gen.proto.ExpandRelH\x00R\x06\x65xpandB\n\n\x08rel_type\"\x8a\x01\n\x10NamedObjectWrite\x12\x14\n\x05names\x18\x01 \x03(\tR\x05names\x12`\n\x12\x61\x64vanced_extension\x18\n \x01(\x0b\x32\x31.substrait.gen.proto.extensions.AdvancedExtensionR\x11\x61\x64vancedExtension\"?\n\x0f\x45xtensionObject\x12,\n\x06\x64\x65tail\x18\x01 \x01(\x0b\x32\x14.google.protobuf.AnyR\x06\x64\x65tail\"\x84\x07\n\x06\x44\x64lRel\x12J\n\x0cnamed_object\x18\x01 \x01(\x0b\x32%.substrait.gen.proto.NamedObjectWriteH\x00R\x0bnamedObject\x12Q\n\x10\x65xtension_object\x18\x02 \x01(\x0b\x32$.substrait.gen.proto.ExtensionObjectH\x00R\x0f\x65xtensionObject\x12\x43\n\x0ctable_schema\x18\x03 \x01(\x0b\x32 .substrait.gen.proto.NamedStructR\x0btableSchema\x12U\n\x0etable_defaults\x18\x04 \x01(\x0b\x32..substrait.gen.proto.Expression.Literal.StructR\rtableDefaults\x12=\n\x06object\x18\x05 \x01(\x0e\x32%.substrait.gen.proto.DdlRel.DdlObjectR\x06object\x12\x31\n\x02op\x18\x06 \x01(\x0e\x32!.substrait.gen.proto.DdlRel.DdlOpR\x02op\x12\x41\n\x0fview_definition\x18\x07 \x01(\x0b\x32\x18.substrait.gen.proto.RelR\x0eviewDefinition\x12\x36\n\x06\x63ommon\x18\x08 \x01(\x0b\x32\x1e.substrait.gen.proto.RelCommonR\x06\x63ommon\x12`\n\x12\x61\x64vanced_extension\x18\t \x01(\x0b\x32\x31.substrait.gen.proto.extensions.AdvancedExtensionR\x11\x61\x64vancedExtension\"R\n\tDdlObject\x12\x1a\n\x16\x44\x44L_OBJECT_UNSPECIFIED\x10\x00\x12\x14\n\x10\x44\x44L_OBJECT_TABLE\x10\x01\x12\x13\n\x0f\x44\x44L_OBJECT_VIEW\x10\x02\"\x8d\x01\n\x05\x44\x64lOp\x12\x16\n\x12\x44\x44L_OP_UNSPECIFIED\x10\x00\x12\x11\n\rDDL_OP_CREATE\x10\x01\x12\x1c\n\x18\x44\x44L_OP_CREATE_OR_REPLACE\x10\x02\x12\x10\n\x0c\x44\x44L_OP_ALTER\x10\x03\x12\x0f\n\x0b\x44\x44L_OP_DROP\x10\x04\x12\x18\n\x14\x44\x44L_OP_DROP_IF_EXIST\x10\x05\x42\x0c\n\nwrite_type\"\x99\x08\n\x08WriteRel\x12H\n\x0bnamed_table\x18\x01 \x01(\x0b\x32%.substrait.gen.proto.NamedObjectWriteH\x00R\nnamedTable\x12O\n\x0f\x65xtension_table\x18\x02 \x01(\x0b\x32$.substrait.gen.proto.ExtensionObjectH\x00R\x0e\x65xtensionTable\x12\x43\n\x0ctable_schema\x18\x03 \x01(\x0b\x32 .substrait.gen.proto.NamedStructR\x0btableSchema\x12\x35\n\x02op\x18\x04 \x01(\x0e\x32%.substrait.gen.proto.WriteRel.WriteOpR\x02op\x12.\n\x05input\x18\x05 \x01(\x0b\x32\x18.substrait.gen.proto.RelR\x05input\x12I\n\x0b\x63reate_mode\x18\x08 \x01(\x0e\x32(.substrait.gen.proto.WriteRel.CreateModeR\ncreateMode\x12@\n\x06output\x18\x06 \x01(\x0e\x32(.substrait.gen.proto.WriteRel.OutputModeR\x06output\x12\x36\n\x06\x63ommon\x18\x07 \x01(\x0b\x32\x1e.substrait.gen.proto.RelCommonR\x06\x63ommon\x12`\n\x12\x61\x64vanced_extension\x18\t \x01(\x0b\x32\x31.substrait.gen.proto.extensions.AdvancedExtensionR\x11\x61\x64vancedExtension\"u\n\x07WriteOp\x12\x18\n\x14WRITE_OP_UNSPECIFIED\x10\x00\x12\x13\n\x0fWRITE_OP_INSERT\x10\x01\x12\x13\n\x0fWRITE_OP_DELETE\x10\x02\x12\x13\n\x0fWRITE_OP_UPDATE\x10\x03\x12\x11\n\rWRITE_OP_CTAS\x10\x04\"\xb1\x01\n\nCreateMode\x12\x1b\n\x17\x43REATE_MODE_UNSPECIFIED\x10\x00\x12 \n\x1c\x43REATE_MODE_APPEND_IF_EXISTS\x10\x01\x12!\n\x1d\x43REATE_MODE_REPLACE_IF_EXISTS\x10\x02\x12 \n\x1c\x43REATE_MODE_IGNORE_IF_EXISTS\x10\x03\x12\x1f\n\x1b\x43REATE_MODE_ERROR_IF_EXISTS\x10\x04\"f\n\nOutputMode\x12\x1b\n\x17OUTPUT_MODE_UNSPECIFIED\x10\x00\x12\x19\n\x15OUTPUT_MODE_NO_OUTPUT\x10\x01\x12 \n\x1cOUTPUT_MODE_MODIFIED_RECORDS\x10\x02\x42\x0c\n\nwrite_type\"\xa8\x04\n\tUpdateRel\x12\x42\n\x0bnamed_table\x18\x01 \x01(\x0b\x32\x1f.substrait.gen.proto.NamedTableH\x00R\nnamedTable\x12\x43\n\x0ctable_schema\x18\x02 \x01(\x0b\x32 .substrait.gen.proto.NamedStructR\x0btableSchema\x12=\n\tcondition\x18\x03 \x01(\x0b\x32\x1f.substrait.gen.proto.ExpressionR\tcondition\x12\\\n\x0ftransformations\x18\x04 \x03(\x0b\x32\x32.substrait.gen.proto.UpdateRel.TransformExpressionR\x0ftransformations\x12`\n\x12\x61\x64vanced_extension\x18\x05 \x01(\x0b\x32\x31.substrait.gen.proto.extensions.AdvancedExtensionR\x11\x61\x64vancedExtension\x1a\x83\x01\n\x13TransformExpression\x12G\n\x0etransformation\x18\x01 \x01(\x0b\x32\x1f.substrait.gen.proto.ExpressionR\x0etransformation\x12#\n\rcolumn_target\x18\x02 \x01(\x05R\x0c\x63olumnTargetB\r\n\x0bupdate_type\"\x84\x01\n\nNamedTable\x12\x14\n\x05names\x18\x01 \x03(\tR\x05names\x12`\n\x12\x61\x64vanced_extension\x18\n \x01(\x0b\x32\x31.substrait.gen.proto.extensions.AdvancedExtensionR\x11\x61\x64vancedExtension\"\xe3\x04\n\x11\x43omparisonJoinKey\x12\x42\n\x04left\x18\x01 \x01(\x0b\x32..substrait.gen.proto.Expression.FieldReferenceR\x04left\x12\x44\n\x05right\x18\x02 \x01(\x0b\x32..substrait.gen.proto.Expression.FieldReferenceR\x05right\x12U\n\ncomparison\x18\x03 \x01(\x0b\x32\x35.substrait.gen.proto.ComparisonJoinKey.ComparisonTypeR\ncomparison\x1a\xb3\x01\n\x0e\x43omparisonType\x12U\n\x06simple\x18\x01 \x01(\x0e\x32;.substrait.gen.proto.ComparisonJoinKey.SimpleComparisonTypeH\x00R\x06simple\x12<\n\x19\x63ustom_function_reference\x18\x02 \x01(\rH\x00R\x17\x63ustomFunctionReferenceB\x0c\n\ninner_type\"\xb6\x01\n\x14SimpleComparisonType\x12&\n\"SIMPLE_COMPARISON_TYPE_UNSPECIFIED\x10\x00\x12\x1d\n\x19SIMPLE_COMPARISON_TYPE_EQ\x10\x01\x12/\n+SIMPLE_COMPARISON_TYPE_IS_NOT_DISTINCT_FROM\x10\x02\x12&\n\"SIMPLE_COMPARISON_TYPE_MIGHT_EQUAL\x10\x03\"\xe0\x08\n\x0bHashJoinRel\x12\x36\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\x1e.substrait.gen.proto.RelCommonR\x06\x63ommon\x12,\n\x04left\x18\x02 \x01(\x0b\x32\x18.substrait.gen.proto.RelR\x04left\x12.\n\x05right\x18\x03 \x01(\x0b\x32\x18.substrait.gen.proto.RelR\x05right\x12O\n\tleft_keys\x18\x04 \x03(\x0b\x32..substrait.gen.proto.Expression.FieldReferenceB\x02\x18\x01R\x08leftKeys\x12Q\n\nright_keys\x18\x05 \x03(\x0b\x32..substrait.gen.proto.Expression.FieldReferenceB\x02\x18\x01R\trightKeys\x12:\n\x04keys\x18\x08 \x03(\x0b\x32&.substrait.gen.proto.ComparisonJoinKeyR\x04keys\x12I\n\x10post_join_filter\x18\x06 \x01(\x0b\x32\x1f.substrait.gen.proto.ExpressionR\x0epostJoinFilter\x12=\n\x04type\x18\x07 \x01(\x0e\x32).substrait.gen.proto.HashJoinRel.JoinTypeR\x04type\x12L\n\x0b\x62uild_input\x18\t \x01(\x0e\x32+.substrait.gen.proto.HashJoinRel.BuildInputR\nbuildInput\x12`\n\x12\x61\x64vanced_extension\x18\n \x01(\x0b\x32\x31.substrait.gen.proto.extensions.AdvancedExtensionR\x11\x61\x64vancedExtension\"\xc8\x02\n\x08JoinType\x12\x19\n\x15JOIN_TYPE_UNSPECIFIED\x10\x00\x12\x13\n\x0fJOIN_TYPE_INNER\x10\x01\x12\x13\n\x0fJOIN_TYPE_OUTER\x10\x02\x12\x12\n\x0eJOIN_TYPE_LEFT\x10\x03\x12\x13\n\x0fJOIN_TYPE_RIGHT\x10\x04\x12\x17\n\x13JOIN_TYPE_LEFT_SEMI\x10\x05\x12\x18\n\x14JOIN_TYPE_RIGHT_SEMI\x10\x06\x12\x17\n\x13JOIN_TYPE_LEFT_ANTI\x10\x07\x12\x18\n\x14JOIN_TYPE_RIGHT_ANTI\x10\x08\x12\x19\n\x15JOIN_TYPE_LEFT_SINGLE\x10\t\x12\x1a\n\x16JOIN_TYPE_RIGHT_SINGLE\x10\n\x12\x17\n\x13JOIN_TYPE_LEFT_MARK\x10\x0b\x12\x18\n\x14JOIN_TYPE_RIGHT_MARK\x10\x0c\"V\n\nBuildInput\x12\x1b\n\x17\x42UILD_INPUT_UNSPECIFIED\x10\x00\x12\x14\n\x10\x42UILD_INPUT_LEFT\x10\x01\x12\x15\n\x11\x42UILD_INPUT_RIGHT\x10\x02\"\xbc\x07\n\x0cMergeJoinRel\x12\x36\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\x1e.substrait.gen.proto.RelCommonR\x06\x63ommon\x12,\n\x04left\x18\x02 \x01(\x0b\x32\x18.substrait.gen.proto.RelR\x04left\x12.\n\x05right\x18\x03 \x01(\x0b\x32\x18.substrait.gen.proto.RelR\x05right\x12O\n\tleft_keys\x18\x04 \x03(\x0b\x32..substrait.gen.proto.Expression.FieldReferenceB\x02\x18\x01R\x08leftKeys\x12Q\n\nright_keys\x18\x05 \x03(\x0b\x32..substrait.gen.proto.Expression.FieldReferenceB\x02\x18\x01R\trightKeys\x12:\n\x04keys\x18\x08 \x03(\x0b\x32&.substrait.gen.proto.ComparisonJoinKeyR\x04keys\x12I\n\x10post_join_filter\x18\x06 \x01(\x0b\x32\x1f.substrait.gen.proto.ExpressionR\x0epostJoinFilter\x12>\n\x04type\x18\x07 \x01(\x0e\x32*.substrait.gen.proto.MergeJoinRel.JoinTypeR\x04type\x12`\n\x12\x61\x64vanced_extension\x18\n \x01(\x0b\x32\x31.substrait.gen.proto.extensions.AdvancedExtensionR\x11\x61\x64vancedExtension\"\xc8\x02\n\x08JoinType\x12\x19\n\x15JOIN_TYPE_UNSPECIFIED\x10\x00\x12\x13\n\x0fJOIN_TYPE_INNER\x10\x01\x12\x13\n\x0fJOIN_TYPE_OUTER\x10\x02\x12\x12\n\x0eJOIN_TYPE_LEFT\x10\x03\x12\x13\n\x0fJOIN_TYPE_RIGHT\x10\x04\x12\x17\n\x13JOIN_TYPE_LEFT_SEMI\x10\x05\x12\x18\n\x14JOIN_TYPE_RIGHT_SEMI\x10\x06\x12\x17\n\x13JOIN_TYPE_LEFT_ANTI\x10\x07\x12\x18\n\x14JOIN_TYPE_RIGHT_ANTI\x10\x08\x12\x19\n\x15JOIN_TYPE_LEFT_SINGLE\x10\t\x12\x1a\n\x16JOIN_TYPE_RIGHT_SINGLE\x10\n\x12\x17\n\x13JOIN_TYPE_LEFT_MARK\x10\x0b\x12\x18\n\x14JOIN_TYPE_RIGHT_MARK\x10\x0c\"\xdc\x05\n\x11NestedLoopJoinRel\x12\x36\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\x1e.substrait.gen.proto.RelCommonR\x06\x63ommon\x12,\n\x04left\x18\x02 \x01(\x0b\x32\x18.substrait.gen.proto.RelR\x04left\x12.\n\x05right\x18\x03 \x01(\x0b\x32\x18.substrait.gen.proto.RelR\x05right\x12?\n\nexpression\x18\x04 \x01(\x0b\x32\x1f.substrait.gen.proto.ExpressionR\nexpression\x12\x43\n\x04type\x18\x05 \x01(\x0e\x32/.substrait.gen.proto.NestedLoopJoinRel.JoinTypeR\x04type\x12`\n\x12\x61\x64vanced_extension\x18\n \x01(\x0b\x32\x31.substrait.gen.proto.extensions.AdvancedExtensionR\x11\x61\x64vancedExtension\"\xc8\x02\n\x08JoinType\x12\x19\n\x15JOIN_TYPE_UNSPECIFIED\x10\x00\x12\x13\n\x0fJOIN_TYPE_INNER\x10\x01\x12\x13\n\x0fJOIN_TYPE_OUTER\x10\x02\x12\x12\n\x0eJOIN_TYPE_LEFT\x10\x03\x12\x13\n\x0fJOIN_TYPE_RIGHT\x10\x04\x12\x17\n\x13JOIN_TYPE_LEFT_SEMI\x10\x05\x12\x18\n\x14JOIN_TYPE_RIGHT_SEMI\x10\x06\x12\x17\n\x13JOIN_TYPE_LEFT_ANTI\x10\x07\x12\x18\n\x14JOIN_TYPE_RIGHT_ANTI\x10\x08\x12\x19\n\x15JOIN_TYPE_LEFT_SINGLE\x10\t\x12\x1a\n\x16JOIN_TYPE_RIGHT_SINGLE\x10\n\x12\x17\n\x13JOIN_TYPE_LEFT_MARK\x10\x0b\x12\x18\n\x14JOIN_TYPE_RIGHT_MARK\x10\x0c\"\x9e\x01\n\x10\x46unctionArgument\x12\x14\n\x04\x65num\x18\x01 \x01(\tH\x00R\x04\x65num\x12/\n\x04type\x18\x02 \x01(\x0b\x32\x19.substrait.gen.proto.TypeH\x00R\x04type\x12\x37\n\x05value\x18\x03 \x01(\x0b\x32\x1f.substrait.gen.proto.ExpressionH\x00R\x05valueB\n\n\x08\x61rg_type\"D\n\x0e\x46unctionOption\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1e\n\npreference\x18\x02 \x03(\tR\npreference\"\xfdj\n\nExpression\x12\x43\n\x07literal\x18\x01 \x01(\x0b\x32\'.substrait.gen.proto.Expression.LiteralH\x00R\x07literal\x12N\n\tselection\x18\x02 \x01(\x0b\x32..substrait.gen.proto.Expression.FieldReferenceH\x00R\tselection\x12Y\n\x0fscalar_function\x18\x03 \x01(\x0b\x32..substrait.gen.proto.Expression.ScalarFunctionH\x00R\x0escalarFunction\x12Y\n\x0fwindow_function\x18\x05 \x01(\x0b\x32..substrait.gen.proto.Expression.WindowFunctionH\x00R\x0ewindowFunction\x12\x41\n\x07if_then\x18\x06 \x01(\x0b\x32&.substrait.gen.proto.Expression.IfThenH\x00R\x06ifThen\x12_\n\x11switch_expression\x18\x07 \x01(\x0b\x32\x30.substrait.gen.proto.Expression.SwitchExpressionH\x00R\x10switchExpression\x12Z\n\x10singular_or_list\x18\x08 \x01(\x0b\x32..substrait.gen.proto.Expression.SingularOrListH\x00R\x0esingularOrList\x12Q\n\rmulti_or_list\x18\t \x01(\x0b\x32+.substrait.gen.proto.Expression.MultiOrListH\x00R\x0bmultiOrList\x12:\n\x04\x63\x61st\x18\x0b \x01(\x0b\x32$.substrait.gen.proto.Expression.CastH\x00R\x04\x63\x61st\x12\x46\n\x08subquery\x18\x0c \x01(\x0b\x32(.substrait.gen.proto.Expression.SubqueryH\x00R\x08subquery\x12@\n\x06nested\x18\r \x01(\x0b\x32&.substrait.gen.proto.Expression.NestedH\x00R\x06nested\x12T\n\x11\x64ynamic_parameter\x18\x0e \x01(\x0b\x32%.substrait.gen.proto.DynamicParameterH\x00R\x10\x64ynamicParameter\x12@\n\x06lambda\x18\x0f \x01(\x0b\x32&.substrait.gen.proto.Expression.LambdaH\x00R\x06lambda\x12_\n\x11lambda_invocation\x18\x10 \x01(\x0b\x32\x30.substrait.gen.proto.Expression.LambdaInvocationH\x00R\x10lambdaInvocation\x12>\n\x04\x65num\x18\n \x01(\x0b\x32$.substrait.gen.proto.Expression.EnumB\x02\x18\x01H\x00R\x04\x65num\x1a\x94\x01\n\x04\x45num\x12\x1e\n\tspecified\x18\x01 \x01(\tH\x00R\tspecified\x12N\n\x0bunspecified\x18\x02 \x01(\x0b\x32*.substrait.gen.proto.Expression.Enum.EmptyH\x00R\x0bunspecified\x1a\x0b\n\x05\x45mpty:\x02\x18\x01:\x02\x18\x01\x42\x0b\n\tenum_kind\x1a\xf9\x19\n\x07Literal\x12\x1a\n\x07\x62oolean\x18\x01 \x01(\x08H\x00R\x07\x62oolean\x12\x10\n\x02i8\x18\x02 \x01(\x05H\x00R\x02i8\x12\x12\n\x03i16\x18\x03 \x01(\x05H\x00R\x03i16\x12\x12\n\x03i32\x18\x05 \x01(\x05H\x00R\x03i32\x12\x12\n\x03i64\x18\x07 \x01(\x03H\x00R\x03i64\x12\x14\n\x04\x66p32\x18\n \x01(\x02H\x00R\x04\x66p32\x12\x14\n\x04\x66p64\x18\x0b \x01(\x01H\x00R\x04\x66p64\x12\x18\n\x06string\x18\x0c \x01(\tH\x00R\x06string\x12\x18\n\x06\x62inary\x18\r \x01(\x0cH\x00R\x06\x62inary\x12\"\n\ttimestamp\x18\x0e \x01(\x03\x42\x02\x18\x01H\x00R\ttimestamp\x12\x14\n\x04\x64\x61te\x18\x10 \x01(\x05H\x00R\x04\x64\x61te\x12\x14\n\x04time\x18\x11 \x01(\x03H\x00R\x04time\x12r\n\x16interval_year_to_month\x18\x13 \x01(\x0b\x32;.substrait.gen.proto.Expression.Literal.IntervalYearToMonthH\x00R\x13intervalYearToMonth\x12r\n\x16interval_day_to_second\x18\x14 \x01(\x0b\x32;.substrait.gen.proto.Expression.Literal.IntervalDayToSecondH\x00R\x13intervalDayToSecond\x12g\n\x11interval_compound\x18$ \x01(\x0b\x32\x38.substrait.gen.proto.Expression.Literal.IntervalCompoundH\x00R\x10intervalCompound\x12\x1f\n\nfixed_char\x18\x15 \x01(\tH\x00R\tfixedChar\x12L\n\x08var_char\x18\x16 \x01(\x0b\x32/.substrait.gen.proto.Expression.Literal.VarCharH\x00R\x07varChar\x12#\n\x0c\x66ixed_binary\x18\x17 \x01(\x0cH\x00R\x0b\x66ixedBinary\x12K\n\x07\x64\x65\x63imal\x18\x18 \x01(\x0b\x32/.substrait.gen.proto.Expression.Literal.DecimalH\x00R\x07\x64\x65\x63imal\x12^\n\x0eprecision_time\x18% \x01(\x0b\x32\x35.substrait.gen.proto.Expression.Literal.PrecisionTimeH\x00R\rprecisionTime\x12m\n\x13precision_timestamp\x18\" \x01(\x0b\x32:.substrait.gen.proto.Expression.Literal.PrecisionTimestampH\x00R\x12precisionTimestamp\x12r\n\x16precision_timestamp_tz\x18# \x01(\x0b\x32:.substrait.gen.proto.Expression.Literal.PrecisionTimestampH\x00R\x14precisionTimestampTz\x12H\n\x06struct\x18\x19 \x01(\x0b\x32..substrait.gen.proto.Expression.Literal.StructH\x00R\x06struct\x12?\n\x03map\x18\x1a \x01(\x0b\x32+.substrait.gen.proto.Expression.Literal.MapH\x00R\x03map\x12\'\n\x0ctimestamp_tz\x18\x1b \x01(\x03\x42\x02\x18\x01H\x00R\x0btimestampTz\x12\x14\n\x04uuid\x18\x1c \x01(\x0cH\x00R\x04uuid\x12/\n\x04null\x18\x1d \x01(\x0b\x32\x19.substrait.gen.proto.TypeH\x00R\x04null\x12\x42\n\x04list\x18\x1e \x01(\x0b\x32,.substrait.gen.proto.Expression.Literal.ListH\x00R\x04list\x12?\n\nempty_list\x18\x1f \x01(\x0b\x32\x1e.substrait.gen.proto.Type.ListH\x00R\temptyList\x12<\n\tempty_map\x18 \x01(\x0b\x32\x1d.substrait.gen.proto.Type.MapH\x00R\x08\x65mptyMap\x12X\n\x0cuser_defined\x18! \x01(\x0b\x32\x33.substrait.gen.proto.Expression.Literal.UserDefinedH\x00R\x0buserDefined\x12\x1a\n\x08nullable\x18\x32 \x01(\x08R\x08nullable\x12\x38\n\x18type_variation_reference\x18\x33 \x01(\rR\x16typeVariationReference\x1a\x37\n\x07VarChar\x12\x14\n\x05value\x18\x01 \x01(\tR\x05value\x12\x16\n\x06length\x18\x02 \x01(\rR\x06length\x1aS\n\x07\x44\x65\x63imal\x12\x14\n\x05value\x18\x01 \x01(\x0cR\x05value\x12\x1c\n\tprecision\x18\x02 \x01(\x05R\tprecision\x12\x14\n\x05scale\x18\x03 \x01(\x05R\x05scale\x1a\x43\n\rPrecisionTime\x12\x1c\n\tprecision\x18\x01 \x01(\x05R\tprecision\x12\x14\n\x05value\x18\x02 \x01(\x03R\x05value\x1aH\n\x12PrecisionTimestamp\x12\x1c\n\tprecision\x18\x01 \x01(\x05R\tprecision\x12\x14\n\x05value\x18\x02 \x01(\x03R\x05value\x1a\xe1\x01\n\x03Map\x12S\n\nkey_values\x18\x01 \x03(\x0b\x32\x34.substrait.gen.proto.Expression.Literal.Map.KeyValueR\tkeyValues\x1a\x84\x01\n\x08KeyValue\x12\x39\n\x03key\x18\x01 \x01(\x0b\x32\'.substrait.gen.proto.Expression.LiteralR\x03key\x12=\n\x05value\x18\x02 \x01(\x0b\x32\'.substrait.gen.proto.Expression.LiteralR\x05value\x1a\x43\n\x13IntervalYearToMonth\x12\x14\n\x05years\x18\x01 \x01(\x05R\x05years\x12\x16\n\x06months\x18\x02 \x01(\x05R\x06months\x1a\xbf\x01\n\x13IntervalDayToSecond\x12\x12\n\x04\x64\x61ys\x18\x01 \x01(\x05R\x04\x64\x61ys\x12\x18\n\x07seconds\x18\x02 \x01(\x05R\x07seconds\x12(\n\x0cmicroseconds\x18\x03 \x01(\x05\x42\x02\x18\x01H\x00R\x0cmicroseconds\x12\x1e\n\tprecision\x18\x04 \x01(\x05H\x00R\tprecision\x12\x1e\n\nsubseconds\x18\x05 \x01(\x03R\nsubsecondsB\x10\n\x0eprecision_mode\x1a\xf6\x01\n\x10IntervalCompound\x12p\n\x16interval_year_to_month\x18\x01 \x01(\x0b\x32;.substrait.gen.proto.Expression.Literal.IntervalYearToMonthR\x13intervalYearToMonth\x12p\n\x16interval_day_to_second\x18\x02 \x01(\x0b\x32;.substrait.gen.proto.Expression.Literal.IntervalDayToSecondR\x13intervalDayToSecond\x1aI\n\x06Struct\x12?\n\x06\x66ields\x18\x01 \x03(\x0b\x32\'.substrait.gen.proto.Expression.LiteralR\x06\x66ields\x1aG\n\x04List\x12?\n\x06values\x18\x01 \x03(\x0b\x32\'.substrait.gen.proto.Expression.LiteralR\x06values\x1a\xcb\x02\n\x0bUserDefined\x12\'\n\x0etype_reference\x18\x01 \x01(\rH\x00R\rtypeReference\x12\x32\n\x14type_alias_reference\x18\x05 \x01(\rH\x00R\x12typeAliasReference\x12L\n\x0ftype_parameters\x18\x03 \x03(\x0b\x32#.substrait.gen.proto.Type.ParameterR\x0etypeParameters\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x14.google.protobuf.AnyH\x01R\x05value\x12H\n\x06struct\x18\x04 \x01(\x0b\x32..substrait.gen.proto.Expression.Literal.StructH\x01R\x06structB\x12\n\x10type_anchor_typeB\x05\n\x03valB\x0e\n\x0cliteral_type\x1a\x8f\x05\n\x06Nested\x12\x1a\n\x08nullable\x18\x01 \x01(\x08R\x08nullable\x12\x38\n\x18type_variation_reference\x18\x02 \x01(\rR\x16typeVariationReference\x12G\n\x06struct\x18\x03 \x01(\x0b\x32-.substrait.gen.proto.Expression.Nested.StructH\x00R\x06struct\x12\x41\n\x04list\x18\x04 \x01(\x0b\x32+.substrait.gen.proto.Expression.Nested.ListH\x00R\x04list\x12>\n\x03map\x18\x05 \x01(\x0b\x32*.substrait.gen.proto.Expression.Nested.MapH\x00R\x03map\x1a\xcf\x01\n\x03Map\x12R\n\nkey_values\x18\x01 \x03(\x0b\x32\x33.substrait.gen.proto.Expression.Nested.Map.KeyValueR\tkeyValues\x1at\n\x08KeyValue\x12\x31\n\x03key\x18\x01 \x01(\x0b\x32\x1f.substrait.gen.proto.ExpressionR\x03key\x12\x35\n\x05value\x18\x02 \x01(\x0b\x32\x1f.substrait.gen.proto.ExpressionR\x05value\x1a\x41\n\x06Struct\x12\x37\n\x06\x66ields\x18\x01 \x03(\x0b\x32\x1f.substrait.gen.proto.ExpressionR\x06\x66ields\x1a?\n\x04List\x12\x37\n\x06values\x18\x01 \x03(\x0b\x32\x1f.substrait.gen.proto.ExpressionR\x06valuesB\r\n\x0bnested_type\x1a\x7f\n\x06Lambda\x12@\n\nparameters\x18\x01 \x01(\x0b\x32 .substrait.gen.proto.Type.StructR\nparameters\x12\x33\n\x04\x62ody\x18\x02 \x01(\x0b\x32\x1f.substrait.gen.proto.ExpressionR\x04\x62ody\x1a\x9f\x01\n\x10LambdaInvocation\x12>\n\x06lambda\x18\x01 \x01(\x0b\x32&.substrait.gen.proto.Expression.LambdaR\x06lambda\x12K\n\targuments\x18\x02 \x01(\x0b\x32-.substrait.gen.proto.Expression.Nested.StructR\targuments\x1a\xb8\x02\n\x0eScalarFunction\x12-\n\x12\x66unction_reference\x18\x01 \x01(\rR\x11\x66unctionReference\x12\x43\n\targuments\x18\x04 \x03(\x0b\x32%.substrait.gen.proto.FunctionArgumentR\targuments\x12=\n\x07options\x18\x05 \x03(\x0b\x32#.substrait.gen.proto.FunctionOptionR\x07options\x12:\n\x0boutput_type\x18\x03 \x01(\x0b\x32\x19.substrait.gen.proto.TypeR\noutputType\x12\x37\n\x04\x61rgs\x18\x02 \x03(\x0b\x32\x1f.substrait.gen.proto.ExpressionB\x02\x18\x01R\x04\x61rgs\x1a\xa7\x0b\n\x0eWindowFunction\x12-\n\x12\x66unction_reference\x18\x01 \x01(\rR\x11\x66unctionReference\x12\x43\n\targuments\x18\t \x03(\x0b\x32%.substrait.gen.proto.FunctionArgumentR\targuments\x12=\n\x07options\x18\x0b \x03(\x0b\x32#.substrait.gen.proto.FunctionOptionR\x07options\x12:\n\x0boutput_type\x18\x07 \x01(\x0b\x32\x19.substrait.gen.proto.TypeR\noutputType\x12;\n\x05phase\x18\x06 \x01(\x0e\x32%.substrait.gen.proto.AggregationPhaseR\x05phase\x12\x34\n\x05sorts\x18\x03 \x03(\x0b\x32\x1e.substrait.gen.proto.SortFieldR\x05sorts\x12\\\n\ninvocation\x18\n \x01(\x0e\x32<.substrait.gen.proto.AggregateFunction.AggregationInvocationR\ninvocation\x12?\n\npartitions\x18\x02 \x03(\x0b\x32\x1f.substrait.gen.proto.ExpressionR\npartitions\x12Z\n\x0b\x62ounds_type\x18\x0c \x01(\x0e\x32\x39.substrait.gen.proto.Expression.WindowFunction.BoundsTypeR\nboundsType\x12U\n\x0blower_bound\x18\x05 \x01(\x0b\x32\x34.substrait.gen.proto.Expression.WindowFunction.BoundR\nlowerBound\x12U\n\x0bupper_bound\x18\x04 \x01(\x0b\x32\x34.substrait.gen.proto.Expression.WindowFunction.BoundR\nupperBound\x12\x37\n\x04\x61rgs\x18\x08 \x03(\x0b\x32\x1f.substrait.gen.proto.ExpressionB\x02\x18\x01R\x04\x61rgs\x1a\xf8\x03\n\x05\x42ound\x12^\n\tpreceding\x18\x01 \x01(\x0b\x32>.substrait.gen.proto.Expression.WindowFunction.Bound.PrecedingH\x00R\tpreceding\x12^\n\tfollowing\x18\x02 \x01(\x0b\x32>.substrait.gen.proto.Expression.WindowFunction.Bound.FollowingH\x00R\tfollowing\x12\x62\n\x0b\x63urrent_row\x18\x03 \x01(\x0b\x32?.substrait.gen.proto.Expression.WindowFunction.Bound.CurrentRowH\x00R\ncurrentRow\x12^\n\tunbounded\x18\x04 \x01(\x0b\x32>.substrait.gen.proto.Expression.WindowFunction.Bound.UnboundedH\x00R\tunbounded\x1a#\n\tPreceding\x12\x16\n\x06offset\x18\x01 \x01(\x03R\x06offset\x1a#\n\tFollowing\x12\x16\n\x06offset\x18\x01 \x01(\x03R\x06offset\x1a\x0c\n\nCurrentRow\x1a\x0b\n\tUnboundedB\x06\n\x04kind\"V\n\nBoundsType\x12\x1b\n\x17\x42OUNDS_TYPE_UNSPECIFIED\x10\x00\x12\x14\n\x10\x42OUNDS_TYPE_ROWS\x10\x01\x12\x15\n\x11\x42OUNDS_TYPE_RANGE\x10\x02\x1a\xf2\x01\n\x06IfThen\x12\x41\n\x03ifs\x18\x01 \x03(\x0b\x32/.substrait.gen.proto.Expression.IfThen.IfClauseR\x03ifs\x12\x33\n\x04\x65lse\x18\x02 \x01(\x0b\x32\x1f.substrait.gen.proto.ExpressionR\x04\x65lse\x1ap\n\x08IfClause\x12/\n\x02if\x18\x01 \x01(\x0b\x32\x1f.substrait.gen.proto.ExpressionR\x02if\x12\x33\n\x04then\x18\x02 \x01(\x0b\x32\x1f.substrait.gen.proto.ExpressionR\x04then\x1a\xca\x02\n\x04\x43\x61st\x12-\n\x04type\x18\x01 \x01(\x0b\x32\x19.substrait.gen.proto.TypeR\x04type\x12\x35\n\x05input\x18\x02 \x01(\x0b\x32\x1f.substrait.gen.proto.ExpressionR\x05input\x12_\n\x10\x66\x61ilure_behavior\x18\x03 \x01(\x0e\x32\x34.substrait.gen.proto.Expression.Cast.FailureBehaviorR\x0f\x66\x61ilureBehavior\"{\n\x0f\x46\x61ilureBehavior\x12 \n\x1c\x46\x41ILURE_BEHAVIOR_UNSPECIFIED\x10\x00\x12 \n\x1c\x46\x41ILURE_BEHAVIOR_RETURN_NULL\x10\x01\x12$\n FAILURE_BEHAVIOR_THROW_EXCEPTION\x10\x02\x1a\xc3\x02\n\x10SwitchExpression\x12\x35\n\x05match\x18\x03 \x01(\x0b\x32\x1f.substrait.gen.proto.ExpressionR\x05match\x12J\n\x03ifs\x18\x01 \x03(\x0b\x32\x38.substrait.gen.proto.Expression.SwitchExpression.IfValueR\x03ifs\x12\x33\n\x04\x65lse\x18\x02 \x01(\x0b\x32\x1f.substrait.gen.proto.ExpressionR\x04\x65lse\x1aw\n\x07IfValue\x12\x37\n\x02if\x18\x01 \x01(\x0b\x32\'.substrait.gen.proto.Expression.LiteralR\x02if\x12\x33\n\x04then\x18\x02 \x01(\x0b\x32\x1f.substrait.gen.proto.ExpressionR\x04then\x1a\x82\x01\n\x0eSingularOrList\x12\x35\n\x05value\x18\x01 \x01(\x0b\x32\x1f.substrait.gen.proto.ExpressionR\x05value\x12\x39\n\x07options\x18\x02 \x03(\x0b\x32\x1f.substrait.gen.proto.ExpressionR\x07options\x1a\xd5\x01\n\x0bMultiOrList\x12\x35\n\x05value\x18\x01 \x03(\x0b\x32\x1f.substrait.gen.proto.ExpressionR\x05value\x12L\n\x07options\x18\x02 \x03(\x0b\x32\x32.substrait.gen.proto.Expression.MultiOrList.RecordR\x07options\x1a\x41\n\x06Record\x12\x37\n\x06\x66ields\x18\x01 \x03(\x0b\x32\x1f.substrait.gen.proto.ExpressionR\x06\x66ields\x1a\xbb\x04\n\x10\x45mbeddedFunction\x12=\n\targuments\x18\x01 \x03(\x0b\x32\x1f.substrait.gen.proto.ExpressionR\targuments\x12:\n\x0boutput_type\x18\x02 \x01(\x0b\x32\x19.substrait.gen.proto.TypeR\noutputType\x12}\n\x16python_pickle_function\x18\x03 \x01(\x0b\x32\x45.substrait.gen.proto.Expression.EmbeddedFunction.PythonPickleFunctionH\x00R\x14pythonPickleFunction\x12z\n\x15web_assembly_function\x18\x04 \x01(\x0b\x32\x44.substrait.gen.proto.Expression.EmbeddedFunction.WebAssemblyFunctionH\x00R\x13webAssemblyFunction\x1aV\n\x14PythonPickleFunction\x12\x1a\n\x08\x66unction\x18\x01 \x01(\x0cR\x08\x66unction\x12\"\n\x0cprerequisite\x18\x02 \x03(\tR\x0cprerequisite\x1aQ\n\x13WebAssemblyFunction\x12\x16\n\x06script\x18\x01 \x01(\x0cR\x06script\x12\"\n\x0cprerequisite\x18\x02 \x03(\tR\x0cprerequisiteB\x06\n\x04kind\x1a\xaf\x05\n\x10ReferenceSegment\x12R\n\x07map_key\x18\x01 \x01(\x0b\x32\x37.substrait.gen.proto.Expression.ReferenceSegment.MapKeyH\x00R\x06mapKey\x12\x61\n\x0cstruct_field\x18\x02 \x01(\x0b\x32<.substrait.gen.proto.Expression.ReferenceSegment.StructFieldH\x00R\x0bstructField\x12\x61\n\x0clist_element\x18\x03 \x01(\x0b\x32<.substrait.gen.proto.Expression.ReferenceSegment.ListElementH\x00R\x0blistElement\x1a\x92\x01\n\x06MapKey\x12@\n\x07map_key\x18\x01 \x01(\x0b\x32\'.substrait.gen.proto.Expression.LiteralR\x06mapKey\x12\x46\n\x05\x63hild\x18\x02 \x01(\x0b\x32\x30.substrait.gen.proto.Expression.ReferenceSegmentR\x05\x63hild\x1ak\n\x0bStructField\x12\x14\n\x05\x66ield\x18\x01 \x01(\x05R\x05\x66ield\x12\x46\n\x05\x63hild\x18\x02 \x01(\x0b\x32\x30.substrait.gen.proto.Expression.ReferenceSegmentR\x05\x63hild\x1am\n\x0bListElement\x12\x16\n\x06offset\x18\x01 \x01(\x05R\x06offset\x12\x46\n\x05\x63hild\x18\x02 \x01(\x0b\x32\x30.substrait.gen.proto.Expression.ReferenceSegmentR\x05\x63hildB\x10\n\x0ereference_type\x1a\xa4\x0c\n\x0eMaskExpression\x12S\n\x06select\x18\x01 \x01(\x0b\x32;.substrait.gen.proto.Expression.MaskExpression.StructSelectR\x06select\x12\x38\n\x18maintain_singular_struct\x18\x02 \x01(\x08R\x16maintainSingularStruct\x1a\x86\x02\n\x06Select\x12U\n\x06struct\x18\x01 \x01(\x0b\x32;.substrait.gen.proto.Expression.MaskExpression.StructSelectH\x00R\x06struct\x12O\n\x04list\x18\x02 \x01(\x0b\x32\x39.substrait.gen.proto.Expression.MaskExpression.ListSelectH\x00R\x04list\x12L\n\x03map\x18\x03 \x01(\x0b\x32\x38.substrait.gen.proto.Expression.MaskExpression.MapSelectH\x00R\x03mapB\x06\n\x04type\x1al\n\x0cStructSelect\x12\\\n\x0cstruct_items\x18\x01 \x03(\x0b\x32\x39.substrait.gen.proto.Expression.MaskExpression.StructItemR\x0bstructItems\x1ao\n\nStructItem\x12\x14\n\x05\x66ield\x18\x01 \x01(\x05R\x05\x66ield\x12K\n\x05\x63hild\x18\x02 \x01(\x0b\x32\x35.substrait.gen.proto.Expression.MaskExpression.SelectR\x05\x63hild\x1a\x8e\x04\n\nListSelect\x12\x66\n\tselection\x18\x01 \x03(\x0b\x32H.substrait.gen.proto.Expression.MaskExpression.ListSelect.ListSelectItemR\tselection\x12K\n\x05\x63hild\x18\x02 \x01(\x0b\x32\x35.substrait.gen.proto.Expression.MaskExpression.SelectR\x05\x63hild\x1a\xca\x02\n\x0eListSelectItem\x12j\n\x04item\x18\x01 \x01(\x0b\x32T.substrait.gen.proto.Expression.MaskExpression.ListSelect.ListSelectItem.ListElementH\x00R\x04item\x12j\n\x05slice\x18\x02 \x01(\x0b\x32R.substrait.gen.proto.Expression.MaskExpression.ListSelect.ListSelectItem.ListSliceH\x00R\x05slice\x1a#\n\x0bListElement\x12\x14\n\x05\x66ield\x18\x01 \x01(\x05R\x05\x66ield\x1a\x33\n\tListSlice\x12\x14\n\x05start\x18\x01 \x01(\x05R\x05start\x12\x10\n\x03\x65nd\x18\x02 \x01(\x05R\x03\x65ndB\x06\n\x04type\x1a\x89\x03\n\tMapSelect\x12S\n\x03key\x18\x01 \x01(\x0b\x32?.substrait.gen.proto.Expression.MaskExpression.MapSelect.MapKeyH\x00R\x03key\x12k\n\nexpression\x18\x02 \x01(\x0b\x32I.substrait.gen.proto.Expression.MaskExpression.MapSelect.MapKeyExpressionH\x00R\nexpression\x12K\n\x05\x63hild\x18\x03 \x01(\x0b\x32\x35.substrait.gen.proto.Expression.MaskExpression.SelectR\x05\x63hild\x1a!\n\x06MapKey\x12\x17\n\x07map_key\x18\x01 \x01(\tR\x06mapKey\x1a@\n\x10MapKeyExpression\x12,\n\x12map_key_expression\x18\x01 \x01(\tR\x10mapKeyExpressionB\x08\n\x06select\x1a\x82\x06\n\x0e\x46ieldReference\x12]\n\x10\x64irect_reference\x18\x01 \x01(\x0b\x32\x30.substrait.gen.proto.Expression.ReferenceSegmentH\x00R\x0f\x64irectReference\x12[\n\x10masked_reference\x18\x02 \x01(\x0b\x32..substrait.gen.proto.Expression.MaskExpressionH\x00R\x0fmaskedReference\x12\x41\n\nexpression\x18\x03 \x01(\x0b\x32\x1f.substrait.gen.proto.ExpressionH\x01R\nexpression\x12\x65\n\x0eroot_reference\x18\x04 \x01(\x0b\x32<.substrait.gen.proto.Expression.FieldReference.RootReferenceH\x01R\rrootReference\x12h\n\x0fouter_reference\x18\x05 \x01(\x0b\x32=.substrait.gen.proto.Expression.FieldReference.OuterReferenceH\x01R\x0eouterReference\x12\x87\x01\n\x1alambda_parameter_reference\x18\x06 \x01(\x0b\x32G.substrait.gen.proto.Expression.FieldReference.LambdaParameterReferenceH\x01R\x18lambdaParameterReference\x1a\x0f\n\rRootReference\x1a-\n\x0eOuterReference\x12\x1b\n\tsteps_out\x18\x01 \x01(\rR\x08stepsOut\x1a\x37\n\x18LambdaParameterReference\x12\x1b\n\tsteps_out\x18\x01 \x01(\rR\x08stepsOutB\x10\n\x0ereference_typeB\x0b\n\troot_type\x1a\x97\x0b\n\x08Subquery\x12I\n\x06scalar\x18\x01 \x01(\x0b\x32/.substrait.gen.proto.Expression.Subquery.ScalarH\x00R\x06scalar\x12Y\n\x0cin_predicate\x18\x02 \x01(\x0b\x32\x34.substrait.gen.proto.Expression.Subquery.InPredicateH\x00R\x0binPredicate\x12\\\n\rset_predicate\x18\x03 \x01(\x0b\x32\x35.substrait.gen.proto.Expression.Subquery.SetPredicateH\x00R\x0csetPredicate\x12_\n\x0eset_comparison\x18\x04 \x01(\x0b\x32\x36.substrait.gen.proto.Expression.Subquery.SetComparisonH\x00R\rsetComparison\x1a\x38\n\x06Scalar\x12.\n\x05input\x18\x01 \x01(\x0b\x32\x18.substrait.gen.proto.RelR\x05input\x1a~\n\x0bInPredicate\x12\x39\n\x07needles\x18\x01 \x03(\x0b\x32\x1f.substrait.gen.proto.ExpressionR\x07needles\x12\x34\n\x08haystack\x18\x02 \x01(\x0b\x32\x18.substrait.gen.proto.RelR\x08haystack\x1a\x85\x02\n\x0cSetPredicate\x12\x64\n\x0cpredicate_op\x18\x01 \x01(\x0e\x32\x41.substrait.gen.proto.Expression.Subquery.SetPredicate.PredicateOpR\x0bpredicateOp\x12\x30\n\x06tuples\x18\x02 \x01(\x0b\x32\x18.substrait.gen.proto.RelR\x06tuples\"]\n\x0bPredicateOp\x12\x1c\n\x18PREDICATE_OP_UNSPECIFIED\x10\x00\x12\x17\n\x13PREDICATE_OP_EXISTS\x10\x01\x12\x17\n\x13PREDICATE_OP_UNIQUE\x10\x02\x1a\xd2\x04\n\rSetComparison\x12\x65\n\x0creduction_op\x18\x01 \x01(\x0e\x32\x42.substrait.gen.proto.Expression.Subquery.SetComparison.ReductionOpR\x0breductionOp\x12h\n\rcomparison_op\x18\x02 \x01(\x0e\x32\x43.substrait.gen.proto.Expression.Subquery.SetComparison.ComparisonOpR\x0c\x63omparisonOp\x12\x33\n\x04left\x18\x03 \x01(\x0b\x32\x1f.substrait.gen.proto.ExpressionR\x04left\x12.\n\x05right\x18\x04 \x01(\x0b\x32\x18.substrait.gen.proto.RelR\x05right\"\xb1\x01\n\x0c\x43omparisonOp\x12\x1d\n\x19\x43OMPARISON_OP_UNSPECIFIED\x10\x00\x12\x14\n\x10\x43OMPARISON_OP_EQ\x10\x01\x12\x14\n\x10\x43OMPARISON_OP_NE\x10\x02\x12\x14\n\x10\x43OMPARISON_OP_LT\x10\x03\x12\x14\n\x10\x43OMPARISON_OP_GT\x10\x04\x12\x14\n\x10\x43OMPARISON_OP_LE\x10\x05\x12\x14\n\x10\x43OMPARISON_OP_GE\x10\x06\"W\n\x0bReductionOp\x12\x1c\n\x18REDUCTION_OP_UNSPECIFIED\x10\x00\x12\x14\n\x10REDUCTION_OP_ANY\x10\x01\x12\x14\n\x10REDUCTION_OP_ALL\x10\x02\x42\x0f\n\rsubquery_typeB\n\n\x08rex_type\"r\n\x10\x44ynamicParameter\x12-\n\x04type\x18\x01 \x01(\x0b\x32\x19.substrait.gen.proto.TypeR\x04type\x12/\n\x13parameter_reference\x18\x02 \x01(\rR\x12parameterReference\"\xc1\x03\n\tSortField\x12\x33\n\x04\x65xpr\x18\x01 \x01(\x0b\x32\x1f.substrait.gen.proto.ExpressionR\x04\x65xpr\x12L\n\tdirection\x18\x02 \x01(\x0e\x32,.substrait.gen.proto.SortField.SortDirectionH\x00R\tdirection\x12\x44\n\x1d\x63omparison_function_reference\x18\x03 \x01(\rH\x00R\x1b\x63omparisonFunctionReference\"\xdd\x01\n\rSortDirection\x12\x1e\n\x1aSORT_DIRECTION_UNSPECIFIED\x10\x00\x12\"\n\x1eSORT_DIRECTION_ASC_NULLS_FIRST\x10\x01\x12!\n\x1dSORT_DIRECTION_ASC_NULLS_LAST\x10\x02\x12#\n\x1fSORT_DIRECTION_DESC_NULLS_FIRST\x10\x03\x12\"\n\x1eSORT_DIRECTION_DESC_NULLS_LAST\x10\x04\x12\x1c\n\x18SORT_DIRECTION_CLUSTERED\x10\x05\x42\x0b\n\tsort_kind\"\x93\x05\n\x11\x41ggregateFunction\x12-\n\x12\x66unction_reference\x18\x01 \x01(\rR\x11\x66unctionReference\x12\x43\n\targuments\x18\x07 \x03(\x0b\x32%.substrait.gen.proto.FunctionArgumentR\targuments\x12=\n\x07options\x18\x08 \x03(\x0b\x32#.substrait.gen.proto.FunctionOptionR\x07options\x12:\n\x0boutput_type\x18\x05 \x01(\x0b\x32\x19.substrait.gen.proto.TypeR\noutputType\x12;\n\x05phase\x18\x04 \x01(\x0e\x32%.substrait.gen.proto.AggregationPhaseR\x05phase\x12\x34\n\x05sorts\x18\x03 \x03(\x0b\x32\x1e.substrait.gen.proto.SortFieldR\x05sorts\x12\\\n\ninvocation\x18\x06 \x01(\x0e\x32<.substrait.gen.proto.AggregateFunction.AggregationInvocationR\ninvocation\x12\x37\n\x04\x61rgs\x18\x02 \x03(\x0b\x32\x1f.substrait.gen.proto.ExpressionB\x02\x18\x01R\x04\x61rgs\"\x84\x01\n\x15\x41ggregationInvocation\x12&\n\"AGGREGATION_INVOCATION_UNSPECIFIED\x10\x00\x12\x1e\n\x1a\x41GGREGATION_INVOCATION_ALL\x10\x01\x12#\n\x1f\x41GGREGATION_INVOCATION_DISTINCT\x10\x02\"7\n\x0cReferenceRel\x12\'\n\x0fsubtree_ordinal\x18\x01 \x01(\x05R\x0esubtreeOrdinal*\xef\x01\n\x10\x41ggregationPhase\x12!\n\x1d\x41GGREGATION_PHASE_UNSPECIFIED\x10\x00\x12-\n)AGGREGATION_PHASE_INITIAL_TO_INTERMEDIATE\x10\x01\x12\x32\n.AGGREGATION_PHASE_INTERMEDIATE_TO_INTERMEDIATE\x10\x02\x12\'\n#AGGREGATION_PHASE_INITIAL_TO_RESULT\x10\x03\x12,\n(AGGREGATION_PHASE_INTERMEDIATE_TO_RESULT\x10\x04\x42?\n\x1cio.substrait.gen.proto.protoP\x01\xaa\x02\x1cSubstrait.Gen.Proto.Protobufb\x06proto3') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'substrait.gen.proto.algebra_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\034io.substrait.gen.proto.protoP\001\252\002\034Substrait.Gen.Proto.Protobuf' - _globals['_READREL_VIRTUALTABLE'].fields_by_name['values']._loaded_options = None - _globals['_READREL_VIRTUALTABLE'].fields_by_name['values']._serialized_options = b'\030\001' - _globals['_FETCHREL'].fields_by_name['offset']._loaded_options = None - _globals['_FETCHREL'].fields_by_name['offset']._serialized_options = b'\030\001' - _globals['_FETCHREL'].fields_by_name['count']._loaded_options = None - _globals['_FETCHREL'].fields_by_name['count']._serialized_options = b'\030\001' - _globals['_AGGREGATEREL_GROUPING'].fields_by_name['grouping_expressions']._loaded_options = None - _globals['_AGGREGATEREL_GROUPING'].fields_by_name['grouping_expressions']._serialized_options = b'\030\001' - _globals['_HASHJOINREL'].fields_by_name['left_keys']._loaded_options = None - _globals['_HASHJOINREL'].fields_by_name['left_keys']._serialized_options = b'\030\001' - _globals['_HASHJOINREL'].fields_by_name['right_keys']._loaded_options = None - _globals['_HASHJOINREL'].fields_by_name['right_keys']._serialized_options = b'\030\001' - _globals['_MERGEJOINREL'].fields_by_name['left_keys']._loaded_options = None - _globals['_MERGEJOINREL'].fields_by_name['left_keys']._serialized_options = b'\030\001' - _globals['_MERGEJOINREL'].fields_by_name['right_keys']._loaded_options = None - _globals['_MERGEJOINREL'].fields_by_name['right_keys']._serialized_options = b'\030\001' - _globals['_EXPRESSION_ENUM_EMPTY']._loaded_options = None - _globals['_EXPRESSION_ENUM_EMPTY']._serialized_options = b'\030\001' - _globals['_EXPRESSION_ENUM']._loaded_options = None - _globals['_EXPRESSION_ENUM']._serialized_options = b'\030\001' - _globals['_EXPRESSION_LITERAL_INTERVALDAYTOSECOND'].fields_by_name['microseconds']._loaded_options = None - _globals['_EXPRESSION_LITERAL_INTERVALDAYTOSECOND'].fields_by_name['microseconds']._serialized_options = b'\030\001' - _globals['_EXPRESSION_LITERAL'].fields_by_name['timestamp']._loaded_options = None - _globals['_EXPRESSION_LITERAL'].fields_by_name['timestamp']._serialized_options = b'\030\001' - _globals['_EXPRESSION_LITERAL'].fields_by_name['timestamp_tz']._loaded_options = None - _globals['_EXPRESSION_LITERAL'].fields_by_name['timestamp_tz']._serialized_options = b'\030\001' - _globals['_EXPRESSION_SCALARFUNCTION'].fields_by_name['args']._loaded_options = None - _globals['_EXPRESSION_SCALARFUNCTION'].fields_by_name['args']._serialized_options = b'\030\001' - _globals['_EXPRESSION_WINDOWFUNCTION'].fields_by_name['args']._loaded_options = None - _globals['_EXPRESSION_WINDOWFUNCTION'].fields_by_name['args']._serialized_options = b'\030\001' - _globals['_EXPRESSION'].fields_by_name['enum']._loaded_options = None - _globals['_EXPRESSION'].fields_by_name['enum']._serialized_options = b'\030\001' - _globals['_AGGREGATEFUNCTION'].fields_by_name['args']._loaded_options = None - _globals['_AGGREGATEFUNCTION'].fields_by_name['args']._serialized_options = b'\030\001' - _globals['_AGGREGATIONPHASE']._serialized_start=34841 - _globals['_AGGREGATIONPHASE']._serialized_end=35080 - _globals['_RELCOMMON']._serialized_start=167 - _globals['_RELCOMMON']._serialized_end=1971 - _globals['_RELCOMMON_DIRECT']._serialized_start=459 - _globals['_RELCOMMON_DIRECT']._serialized_end=467 - _globals['_RELCOMMON_EMIT']._serialized_start=469 - _globals['_RELCOMMON_EMIT']._serialized_end=514 - _globals['_RELCOMMON_HINT']._serialized_start=517 - _globals['_RELCOMMON_HINT']._serialized_end=1958 - _globals['_RELCOMMON_HINT_STATS']._serialized_start=1038 - _globals['_RELCOMMON_HINT_STATS']._serialized_end=1205 - _globals['_RELCOMMON_HINT_RUNTIMECONSTRAINT']._serialized_start=1207 - _globals['_RELCOMMON_HINT_RUNTIMECONSTRAINT']._serialized_end=1324 - _globals['_RELCOMMON_HINT_SAVEDCOMPUTATION']._serialized_start=1327 - _globals['_RELCOMMON_HINT_SAVEDCOMPUTATION']._serialized_end=1555 - _globals['_RELCOMMON_HINT_LOADEDCOMPUTATION']._serialized_start=1558 - _globals['_RELCOMMON_HINT_LOADEDCOMPUTATION']._serialized_end=1806 - _globals['_RELCOMMON_HINT_COMPUTATIONTYPE']._serialized_start=1809 - _globals['_RELCOMMON_HINT_COMPUTATIONTYPE']._serialized_end=1958 - _globals['_READREL']._serialized_start=1974 - _globals['_READREL']._serialized_end=4848 - _globals['_READREL_NAMEDTABLE']._serialized_start=2827 - _globals['_READREL_NAMEDTABLE']._serialized_end=2959 - _globals['_READREL_ICEBERGTABLE']._serialized_start=2962 - _globals['_READREL_ICEBERGTABLE']._serialized_end=3228 - _globals['_READREL_ICEBERGTABLE_METADATAFILEREAD']._serialized_start=3065 - _globals['_READREL_ICEBERGTABLE_METADATAFILEREAD']._serialized_end=3214 - _globals['_READREL_VIRTUALTABLE']._serialized_start=3231 - _globals['_READREL_VIRTUALTABLE']._serialized_end=3402 - _globals['_READREL_EXTENSIONTABLE']._serialized_start=3404 - _globals['_READREL_EXTENSIONTABLE']._serialized_end=3466 - _globals['_READREL_LOCALFILES']._serialized_start=3469 - _globals['_READREL_LOCALFILES']._serialized_end=4835 - _globals['_READREL_LOCALFILES_FILEORFILES']._serialized_start=3657 - _globals['_READREL_LOCALFILES_FILEORFILES']._serialized_end=4835 - _globals['_READREL_LOCALFILES_FILEORFILES_PARQUETREADOPTIONS']._serialized_start=4424 - _globals['_READREL_LOCALFILES_FILEORFILES_PARQUETREADOPTIONS']._serialized_end=4444 - _globals['_READREL_LOCALFILES_FILEORFILES_ARROWREADOPTIONS']._serialized_start=4446 - _globals['_READREL_LOCALFILES_FILEORFILES_ARROWREADOPTIONS']._serialized_end=4464 - _globals['_READREL_LOCALFILES_FILEORFILES_ORCREADOPTIONS']._serialized_start=4466 - _globals['_READREL_LOCALFILES_FILEORFILES_ORCREADOPTIONS']._serialized_end=4482 - _globals['_READREL_LOCALFILES_FILEORFILES_DWRFREADOPTIONS']._serialized_start=4484 - _globals['_READREL_LOCALFILES_FILEORFILES_DWRFREADOPTIONS']._serialized_end=4501 - _globals['_READREL_LOCALFILES_FILEORFILES_DELIMITERSEPARATEDTEXTREADOPTIONS']._serialized_start=4504 - _globals['_READREL_LOCALFILES_FILEORFILES_DELIMITERSEPARATEDTEXTREADOPTIONS']._serialized_end=4793 - _globals['_PROJECTREL']._serialized_start=4851 - _globals['_PROJECTREL']._serialized_end=5132 - _globals['_JOINREL']._serialized_start=5135 - _globals['_JOINREL']._serialized_end=5922 - _globals['_JOINREL_JOINTYPE']._serialized_start=5594 - _globals['_JOINREL_JOINTYPE']._serialized_end=5922 - _globals['_CROSSREL']._serialized_start=5925 - _globals['_CROSSREL']._serialized_end=6183 - _globals['_FETCHREL']._serialized_start=6186 - _globals['_FETCHREL']._serialized_end=6619 - _globals['_AGGREGATEREL']._serialized_start=6622 - _globals['_AGGREGATEREL']._serialized_end=7356 - _globals['_AGGREGATEREL_GROUPING']._serialized_start=7070 - _globals['_AGGREGATEREL_GROUPING']._serialized_end=7221 - _globals['_AGGREGATEREL_MEASURE']._serialized_start=7224 - _globals['_AGGREGATEREL_MEASURE']._serialized_end=7356 - _globals['_CONSISTENTPARTITIONWINDOWREL']._serialized_start=7359 - _globals['_CONSISTENTPARTITIONWINDOWREL']._serialized_end=8525 - _globals['_CONSISTENTPARTITIONWINDOWREL_WINDOWRELFUNCTION']._serialized_start=7846 - _globals['_CONSISTENTPARTITIONWINDOWREL_WINDOWRELFUNCTION']._serialized_end=8525 - _globals['_SORTREL']._serialized_start=8528 - _globals['_SORTREL']._serialized_end=8793 - _globals['_FILTERREL']._serialized_start=8796 - _globals['_FILTERREL']._serialized_end=9072 - _globals['_SETREL']._serialized_start=9075 - _globals['_SETREL']._serialized_end=9609 - _globals['_SETREL_SETOP']._serialized_start=9341 - _globals['_SETREL_SETOP']._serialized_end=9609 - _globals['_EXTENSIONSINGLEREL']._serialized_start=9612 - _globals['_EXTENSIONSINGLEREL']._serialized_end=9782 - _globals['_EXTENSIONLEAFREL']._serialized_start=9784 - _globals['_EXTENSIONLEAFREL']._serialized_end=9904 - _globals['_EXTENSIONMULTIREL']._serialized_start=9907 - _globals['_EXTENSIONMULTIREL']._serialized_end=10078 - _globals['_EXCHANGEREL']._serialized_start=10081 - _globals['_EXCHANGEREL']._serialized_end=11379 - _globals['_EXCHANGEREL_SCATTERFIELDS']._serialized_start=10853 - _globals['_EXCHANGEREL_SCATTERFIELDS']._serialized_end=10940 - _globals['_EXCHANGEREL_SINGLEBUCKETEXPRESSION']._serialized_start=10942 - _globals['_EXCHANGEREL_SINGLEBUCKETEXPRESSION']._serialized_end=11031 - _globals['_EXCHANGEREL_MULTIBUCKETEXPRESSION']._serialized_start=11034 - _globals['_EXCHANGEREL_MULTIBUCKETEXPRESSION']._serialized_end=11172 - _globals['_EXCHANGEREL_BROADCAST']._serialized_start=11174 - _globals['_EXCHANGEREL_BROADCAST']._serialized_end=11185 - _globals['_EXCHANGEREL_ROUNDROBIN']._serialized_start=11187 - _globals['_EXCHANGEREL_ROUNDROBIN']._serialized_end=11221 - _globals['_EXCHANGEREL_EXCHANGETARGET']._serialized_start=11224 - _globals['_EXCHANGEREL_EXCHANGETARGET']._serialized_end=11362 - _globals['_EXPANDREL']._serialized_start=11382 - _globals['_EXPANDREL']._serialized_end=11846 - _globals['_EXPANDREL_EXPANDFIELD']._serialized_start=11568 - _globals['_EXPANDREL_EXPANDFIELD']._serialized_end=11763 - _globals['_EXPANDREL_SWITCHINGFIELD']._serialized_start=11765 - _globals['_EXPANDREL_SWITCHINGFIELD']._serialized_end=11846 - _globals['_RELROOT']._serialized_start=11848 - _globals['_RELROOT']._serialized_end=11927 - _globals['_REL']._serialized_start=11930 - _globals['_REL']._serialized_end=13342 - _globals['_NAMEDOBJECTWRITE']._serialized_start=13345 - _globals['_NAMEDOBJECTWRITE']._serialized_end=13483 - _globals['_EXTENSIONOBJECT']._serialized_start=13485 - _globals['_EXTENSIONOBJECT']._serialized_end=13548 - _globals['_DDLREL']._serialized_start=13551 - _globals['_DDLREL']._serialized_end=14451 - _globals['_DDLREL_DDLOBJECT']._serialized_start=14211 - _globals['_DDLREL_DDLOBJECT']._serialized_end=14293 - _globals['_DDLREL_DDLOP']._serialized_start=14296 - _globals['_DDLREL_DDLOP']._serialized_end=14437 - _globals['_WRITEREL']._serialized_start=14454 - _globals['_WRITEREL']._serialized_end=15503 - _globals['_WRITEREL_WRITEOP']._serialized_start=15088 - _globals['_WRITEREL_WRITEOP']._serialized_end=15205 - _globals['_WRITEREL_CREATEMODE']._serialized_start=15208 - _globals['_WRITEREL_CREATEMODE']._serialized_end=15385 - _globals['_WRITEREL_OUTPUTMODE']._serialized_start=15387 - _globals['_WRITEREL_OUTPUTMODE']._serialized_end=15489 - _globals['_UPDATEREL']._serialized_start=15506 - _globals['_UPDATEREL']._serialized_end=16058 - _globals['_UPDATEREL_TRANSFORMEXPRESSION']._serialized_start=15912 - _globals['_UPDATEREL_TRANSFORMEXPRESSION']._serialized_end=16043 - _globals['_NAMEDTABLE']._serialized_start=2827 - _globals['_NAMEDTABLE']._serialized_end=2959 - _globals['_COMPARISONJOINKEY']._serialized_start=16196 - _globals['_COMPARISONJOINKEY']._serialized_end=16807 - _globals['_COMPARISONJOINKEY_COMPARISONTYPE']._serialized_start=16443 - _globals['_COMPARISONJOINKEY_COMPARISONTYPE']._serialized_end=16622 - _globals['_COMPARISONJOINKEY_SIMPLECOMPARISONTYPE']._serialized_start=16625 - _globals['_COMPARISONJOINKEY_SIMPLECOMPARISONTYPE']._serialized_end=16807 - _globals['_HASHJOINREL']._serialized_start=16810 - _globals['_HASHJOINREL']._serialized_end=17930 - _globals['_HASHJOINREL_JOINTYPE']._serialized_start=17514 - _globals['_HASHJOINREL_JOINTYPE']._serialized_end=17842 - _globals['_HASHJOINREL_BUILDINPUT']._serialized_start=17844 - _globals['_HASHJOINREL_BUILDINPUT']._serialized_end=17930 - _globals['_MERGEJOINREL']._serialized_start=17933 - _globals['_MERGEJOINREL']._serialized_end=18889 - _globals['_MERGEJOINREL_JOINTYPE']._serialized_start=17514 - _globals['_MERGEJOINREL_JOINTYPE']._serialized_end=17842 - _globals['_NESTEDLOOPJOINREL']._serialized_start=18892 - _globals['_NESTEDLOOPJOINREL']._serialized_end=19624 - _globals['_NESTEDLOOPJOINREL_JOINTYPE']._serialized_start=17514 - _globals['_NESTEDLOOPJOINREL_JOINTYPE']._serialized_end=17842 - _globals['_FUNCTIONARGUMENT']._serialized_start=19627 - _globals['_FUNCTIONARGUMENT']._serialized_end=19785 - _globals['_FUNCTIONOPTION']._serialized_start=19787 - _globals['_FUNCTIONOPTION']._serialized_end=19855 - _globals['_EXPRESSION']._serialized_start=19858 - _globals['_EXPRESSION']._serialized_end=33551 - _globals['_EXPRESSION_ENUM']._serialized_start=21054 - _globals['_EXPRESSION_ENUM']._serialized_end=21202 - _globals['_EXPRESSION_ENUM_EMPTY']._serialized_start=21174 - _globals['_EXPRESSION_ENUM_EMPTY']._serialized_end=21185 - _globals['_EXPRESSION_LITERAL']._serialized_start=21205 - _globals['_EXPRESSION_LITERAL']._serialized_end=24526 - _globals['_EXPRESSION_LITERAL_VARCHAR']._serialized_start=23005 - _globals['_EXPRESSION_LITERAL_VARCHAR']._serialized_end=23060 - _globals['_EXPRESSION_LITERAL_DECIMAL']._serialized_start=23062 - _globals['_EXPRESSION_LITERAL_DECIMAL']._serialized_end=23145 - _globals['_EXPRESSION_LITERAL_PRECISIONTIME']._serialized_start=23147 - _globals['_EXPRESSION_LITERAL_PRECISIONTIME']._serialized_end=23214 - _globals['_EXPRESSION_LITERAL_PRECISIONTIMESTAMP']._serialized_start=23216 - _globals['_EXPRESSION_LITERAL_PRECISIONTIMESTAMP']._serialized_end=23288 - _globals['_EXPRESSION_LITERAL_MAP']._serialized_start=23291 - _globals['_EXPRESSION_LITERAL_MAP']._serialized_end=23516 - _globals['_EXPRESSION_LITERAL_MAP_KEYVALUE']._serialized_start=23384 - _globals['_EXPRESSION_LITERAL_MAP_KEYVALUE']._serialized_end=23516 - _globals['_EXPRESSION_LITERAL_INTERVALYEARTOMONTH']._serialized_start=23518 - _globals['_EXPRESSION_LITERAL_INTERVALYEARTOMONTH']._serialized_end=23585 - _globals['_EXPRESSION_LITERAL_INTERVALDAYTOSECOND']._serialized_start=23588 - _globals['_EXPRESSION_LITERAL_INTERVALDAYTOSECOND']._serialized_end=23779 - _globals['_EXPRESSION_LITERAL_INTERVALCOMPOUND']._serialized_start=23782 - _globals['_EXPRESSION_LITERAL_INTERVALCOMPOUND']._serialized_end=24028 - _globals['_EXPRESSION_LITERAL_STRUCT']._serialized_start=24030 - _globals['_EXPRESSION_LITERAL_STRUCT']._serialized_end=24103 - _globals['_EXPRESSION_LITERAL_LIST']._serialized_start=24105 - _globals['_EXPRESSION_LITERAL_LIST']._serialized_end=24176 - _globals['_EXPRESSION_LITERAL_USERDEFINED']._serialized_start=24179 - _globals['_EXPRESSION_LITERAL_USERDEFINED']._serialized_end=24510 - _globals['_EXPRESSION_NESTED']._serialized_start=24529 - _globals['_EXPRESSION_NESTED']._serialized_end=25184 - _globals['_EXPRESSION_NESTED_MAP']._serialized_start=24830 - _globals['_EXPRESSION_NESTED_MAP']._serialized_end=25037 - _globals['_EXPRESSION_NESTED_MAP_KEYVALUE']._serialized_start=24921 - _globals['_EXPRESSION_NESTED_MAP_KEYVALUE']._serialized_end=25037 - _globals['_EXPRESSION_NESTED_STRUCT']._serialized_start=25039 - _globals['_EXPRESSION_NESTED_STRUCT']._serialized_end=25104 - _globals['_EXPRESSION_NESTED_LIST']._serialized_start=25106 - _globals['_EXPRESSION_NESTED_LIST']._serialized_end=25169 - _globals['_EXPRESSION_LAMBDA']._serialized_start=25186 - _globals['_EXPRESSION_LAMBDA']._serialized_end=25313 - _globals['_EXPRESSION_LAMBDAINVOCATION']._serialized_start=25316 - _globals['_EXPRESSION_LAMBDAINVOCATION']._serialized_end=25475 - _globals['_EXPRESSION_SCALARFUNCTION']._serialized_start=25478 - _globals['_EXPRESSION_SCALARFUNCTION']._serialized_end=25790 - _globals['_EXPRESSION_WINDOWFUNCTION']._serialized_start=25793 - _globals['_EXPRESSION_WINDOWFUNCTION']._serialized_end=27240 - _globals['_EXPRESSION_WINDOWFUNCTION_BOUND']._serialized_start=26648 - _globals['_EXPRESSION_WINDOWFUNCTION_BOUND']._serialized_end=27152 - _globals['_EXPRESSION_WINDOWFUNCTION_BOUND_PRECEDING']._serialized_start=27045 - _globals['_EXPRESSION_WINDOWFUNCTION_BOUND_PRECEDING']._serialized_end=27080 - _globals['_EXPRESSION_WINDOWFUNCTION_BOUND_FOLLOWING']._serialized_start=27082 - _globals['_EXPRESSION_WINDOWFUNCTION_BOUND_FOLLOWING']._serialized_end=27117 - _globals['_EXPRESSION_WINDOWFUNCTION_BOUND_CURRENTROW']._serialized_start=27119 - _globals['_EXPRESSION_WINDOWFUNCTION_BOUND_CURRENTROW']._serialized_end=27131 - _globals['_EXPRESSION_WINDOWFUNCTION_BOUND_UNBOUNDED']._serialized_start=27133 - _globals['_EXPRESSION_WINDOWFUNCTION_BOUND_UNBOUNDED']._serialized_end=27144 - _globals['_EXPRESSION_WINDOWFUNCTION_BOUNDSTYPE']._serialized_start=27154 - _globals['_EXPRESSION_WINDOWFUNCTION_BOUNDSTYPE']._serialized_end=27240 - _globals['_EXPRESSION_IFTHEN']._serialized_start=27243 - _globals['_EXPRESSION_IFTHEN']._serialized_end=27485 - _globals['_EXPRESSION_IFTHEN_IFCLAUSE']._serialized_start=27373 - _globals['_EXPRESSION_IFTHEN_IFCLAUSE']._serialized_end=27485 - _globals['_EXPRESSION_CAST']._serialized_start=27488 - _globals['_EXPRESSION_CAST']._serialized_end=27818 - _globals['_EXPRESSION_CAST_FAILUREBEHAVIOR']._serialized_start=27695 - _globals['_EXPRESSION_CAST_FAILUREBEHAVIOR']._serialized_end=27818 - _globals['_EXPRESSION_SWITCHEXPRESSION']._serialized_start=27821 - _globals['_EXPRESSION_SWITCHEXPRESSION']._serialized_end=28144 - _globals['_EXPRESSION_SWITCHEXPRESSION_IFVALUE']._serialized_start=28025 - _globals['_EXPRESSION_SWITCHEXPRESSION_IFVALUE']._serialized_end=28144 - _globals['_EXPRESSION_SINGULARORLIST']._serialized_start=28147 - _globals['_EXPRESSION_SINGULARORLIST']._serialized_end=28277 - _globals['_EXPRESSION_MULTIORLIST']._serialized_start=28280 - _globals['_EXPRESSION_MULTIORLIST']._serialized_end=28493 - _globals['_EXPRESSION_MULTIORLIST_RECORD']._serialized_start=28428 - _globals['_EXPRESSION_MULTIORLIST_RECORD']._serialized_end=28493 - _globals['_EXPRESSION_EMBEDDEDFUNCTION']._serialized_start=28496 - _globals['_EXPRESSION_EMBEDDEDFUNCTION']._serialized_end=29067 - _globals['_EXPRESSION_EMBEDDEDFUNCTION_PYTHONPICKLEFUNCTION']._serialized_start=28890 - _globals['_EXPRESSION_EMBEDDEDFUNCTION_PYTHONPICKLEFUNCTION']._serialized_end=28976 - _globals['_EXPRESSION_EMBEDDEDFUNCTION_WEBASSEMBLYFUNCTION']._serialized_start=28978 - _globals['_EXPRESSION_EMBEDDEDFUNCTION_WEBASSEMBLYFUNCTION']._serialized_end=29059 - _globals['_EXPRESSION_REFERENCESEGMENT']._serialized_start=29070 - _globals['_EXPRESSION_REFERENCESEGMENT']._serialized_end=29757 - _globals['_EXPRESSION_REFERENCESEGMENT_MAPKEY']._serialized_start=29373 - _globals['_EXPRESSION_REFERENCESEGMENT_MAPKEY']._serialized_end=29519 - _globals['_EXPRESSION_REFERENCESEGMENT_STRUCTFIELD']._serialized_start=29521 - _globals['_EXPRESSION_REFERENCESEGMENT_STRUCTFIELD']._serialized_end=29628 - _globals['_EXPRESSION_REFERENCESEGMENT_LISTELEMENT']._serialized_start=29630 - _globals['_EXPRESSION_REFERENCESEGMENT_LISTELEMENT']._serialized_end=29739 - _globals['_EXPRESSION_MASKEXPRESSION']._serialized_start=29760 - _globals['_EXPRESSION_MASKEXPRESSION']._serialized_end=31332 - _globals['_EXPRESSION_MASKEXPRESSION_SELECT']._serialized_start=29922 - _globals['_EXPRESSION_MASKEXPRESSION_SELECT']._serialized_end=30184 - _globals['_EXPRESSION_MASKEXPRESSION_STRUCTSELECT']._serialized_start=30186 - _globals['_EXPRESSION_MASKEXPRESSION_STRUCTSELECT']._serialized_end=30294 - _globals['_EXPRESSION_MASKEXPRESSION_STRUCTITEM']._serialized_start=30296 - _globals['_EXPRESSION_MASKEXPRESSION_STRUCTITEM']._serialized_end=30407 - _globals['_EXPRESSION_MASKEXPRESSION_LISTSELECT']._serialized_start=30410 - _globals['_EXPRESSION_MASKEXPRESSION_LISTSELECT']._serialized_end=30936 - _globals['_EXPRESSION_MASKEXPRESSION_LISTSELECT_LISTSELECTITEM']._serialized_start=30606 - _globals['_EXPRESSION_MASKEXPRESSION_LISTSELECT_LISTSELECTITEM']._serialized_end=30936 - _globals['_EXPRESSION_MASKEXPRESSION_LISTSELECT_LISTSELECTITEM_LISTELEMENT']._serialized_start=30840 - _globals['_EXPRESSION_MASKEXPRESSION_LISTSELECT_LISTSELECTITEM_LISTELEMENT']._serialized_end=30875 - _globals['_EXPRESSION_MASKEXPRESSION_LISTSELECT_LISTSELECTITEM_LISTSLICE']._serialized_start=30877 - _globals['_EXPRESSION_MASKEXPRESSION_LISTSELECT_LISTSELECTITEM_LISTSLICE']._serialized_end=30928 - _globals['_EXPRESSION_MASKEXPRESSION_MAPSELECT']._serialized_start=30939 - _globals['_EXPRESSION_MASKEXPRESSION_MAPSELECT']._serialized_end=31332 - _globals['_EXPRESSION_MASKEXPRESSION_MAPSELECT_MAPKEY']._serialized_start=31223 - _globals['_EXPRESSION_MASKEXPRESSION_MAPSELECT_MAPKEY']._serialized_end=31256 - _globals['_EXPRESSION_MASKEXPRESSION_MAPSELECT_MAPKEYEXPRESSION']._serialized_start=31258 - _globals['_EXPRESSION_MASKEXPRESSION_MAPSELECT_MAPKEYEXPRESSION']._serialized_end=31322 - _globals['_EXPRESSION_FIELDREFERENCE']._serialized_start=31335 - _globals['_EXPRESSION_FIELDREFERENCE']._serialized_end=32105 - _globals['_EXPRESSION_FIELDREFERENCE_ROOTREFERENCE']._serialized_start=31955 - _globals['_EXPRESSION_FIELDREFERENCE_ROOTREFERENCE']._serialized_end=31970 - _globals['_EXPRESSION_FIELDREFERENCE_OUTERREFERENCE']._serialized_start=31972 - _globals['_EXPRESSION_FIELDREFERENCE_OUTERREFERENCE']._serialized_end=32017 - _globals['_EXPRESSION_FIELDREFERENCE_LAMBDAPARAMETERREFERENCE']._serialized_start=32019 - _globals['_EXPRESSION_FIELDREFERENCE_LAMBDAPARAMETERREFERENCE']._serialized_end=32074 - _globals['_EXPRESSION_SUBQUERY']._serialized_start=32108 - _globals['_EXPRESSION_SUBQUERY']._serialized_end=33539 - _globals['_EXPRESSION_SUBQUERY_SCALAR']._serialized_start=32477 - _globals['_EXPRESSION_SUBQUERY_SCALAR']._serialized_end=32533 - _globals['_EXPRESSION_SUBQUERY_INPREDICATE']._serialized_start=32535 - _globals['_EXPRESSION_SUBQUERY_INPREDICATE']._serialized_end=32661 - _globals['_EXPRESSION_SUBQUERY_SETPREDICATE']._serialized_start=32664 - _globals['_EXPRESSION_SUBQUERY_SETPREDICATE']._serialized_end=32925 - _globals['_EXPRESSION_SUBQUERY_SETPREDICATE_PREDICATEOP']._serialized_start=32832 - _globals['_EXPRESSION_SUBQUERY_SETPREDICATE_PREDICATEOP']._serialized_end=32925 - _globals['_EXPRESSION_SUBQUERY_SETCOMPARISON']._serialized_start=32928 - _globals['_EXPRESSION_SUBQUERY_SETCOMPARISON']._serialized_end=33522 - _globals['_EXPRESSION_SUBQUERY_SETCOMPARISON_COMPARISONOP']._serialized_start=33256 - _globals['_EXPRESSION_SUBQUERY_SETCOMPARISON_COMPARISONOP']._serialized_end=33433 - _globals['_EXPRESSION_SUBQUERY_SETCOMPARISON_REDUCTIONOP']._serialized_start=33435 - _globals['_EXPRESSION_SUBQUERY_SETCOMPARISON_REDUCTIONOP']._serialized_end=33522 - _globals['_DYNAMICPARAMETER']._serialized_start=33553 - _globals['_DYNAMICPARAMETER']._serialized_end=33667 - _globals['_SORTFIELD']._serialized_start=33670 - _globals['_SORTFIELD']._serialized_end=34119 - _globals['_SORTFIELD_SORTDIRECTION']._serialized_start=33885 - _globals['_SORTFIELD_SORTDIRECTION']._serialized_end=34106 - _globals['_AGGREGATEFUNCTION']._serialized_start=34122 - _globals['_AGGREGATEFUNCTION']._serialized_end=34781 - _globals['_AGGREGATEFUNCTION_AGGREGATIONINVOCATION']._serialized_start=34649 - _globals['_AGGREGATEFUNCTION_AGGREGATIONINVOCATION']._serialized_end=34781 - _globals['_REFERENCEREL']._serialized_start=34783 - _globals['_REFERENCEREL']._serialized_end=34838 -# @@protoc_insertion_point(module_scope) diff --git a/src/substrait/gen/proto/algebra_pb2.pyi b/src/substrait/gen/proto/algebra_pb2.pyi deleted file mode 100644 index 919d3a6..0000000 --- a/src/substrait/gen/proto/algebra_pb2.pyi +++ /dev/null @@ -1,4565 +0,0 @@ -""" -@generated by mypy-protobuf. Do not edit manually! -isort:skip_file -SPDX-License-Identifier: Apache-2.0""" - -import builtins -import collections.abc -import google.protobuf.any_pb2 -import google.protobuf.descriptor -import google.protobuf.internal.containers -import google.protobuf.internal.enum_type_wrapper -import google.protobuf.message -import substrait.gen.proto.extensions.extensions_pb2 -import substrait.gen.proto.type_pb2 -import sys -import typing - -if sys.version_info >= (3, 10): - import typing as typing_extensions -else: - import typing_extensions - -if sys.version_info >= (3, 13): - from warnings import deprecated -else: - from typing_extensions import deprecated - -DESCRIPTOR: google.protobuf.descriptor.FileDescriptor - -class _AggregationPhase: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - -class _AggregationPhaseEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_AggregationPhase.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - AGGREGATION_PHASE_UNSPECIFIED: _AggregationPhase.ValueType # 0 - """Implies `INTERMEDIATE_TO_RESULT`.""" - AGGREGATION_PHASE_INITIAL_TO_INTERMEDIATE: _AggregationPhase.ValueType # 1 - """Specifies that the function should be run only up to the point of - generating an intermediate value, to be further aggregated later using - INTERMEDIATE_TO_INTERMEDIATE or INTERMEDIATE_TO_RESULT. - """ - AGGREGATION_PHASE_INTERMEDIATE_TO_INTERMEDIATE: _AggregationPhase.ValueType # 2 - """Specifies that the inputs of the aggregate or window function are the - intermediate values of the function, and that the output should also be - an intermediate value, to be further aggregated later using - INTERMEDIATE_TO_INTERMEDIATE or INTERMEDIATE_TO_RESULT. - """ - AGGREGATION_PHASE_INITIAL_TO_RESULT: _AggregationPhase.ValueType # 3 - """A complete invocation: the function should aggregate the given set of - inputs to yield a single return value. This style must be used for - aggregate or window functions that are not decomposable. - """ - AGGREGATION_PHASE_INTERMEDIATE_TO_RESULT: _AggregationPhase.ValueType # 4 - """Specifies that the inputs of the aggregate or window function are the - intermediate values of the function, generated previously using - INITIAL_TO_INTERMEDIATE and possibly INTERMEDIATE_TO_INTERMEDIATE calls. - This call should combine the intermediate values to yield the final - return value. - """ - -class AggregationPhase(_AggregationPhase, metaclass=_AggregationPhaseEnumTypeWrapper): - """Describes which part of an aggregation or window function to perform within - the context of distributed algorithms. - """ - -AGGREGATION_PHASE_UNSPECIFIED: AggregationPhase.ValueType # 0 -"""Implies `INTERMEDIATE_TO_RESULT`.""" -AGGREGATION_PHASE_INITIAL_TO_INTERMEDIATE: AggregationPhase.ValueType # 1 -"""Specifies that the function should be run only up to the point of -generating an intermediate value, to be further aggregated later using -INTERMEDIATE_TO_INTERMEDIATE or INTERMEDIATE_TO_RESULT. -""" -AGGREGATION_PHASE_INTERMEDIATE_TO_INTERMEDIATE: AggregationPhase.ValueType # 2 -"""Specifies that the inputs of the aggregate or window function are the -intermediate values of the function, and that the output should also be -an intermediate value, to be further aggregated later using -INTERMEDIATE_TO_INTERMEDIATE or INTERMEDIATE_TO_RESULT. -""" -AGGREGATION_PHASE_INITIAL_TO_RESULT: AggregationPhase.ValueType # 3 -"""A complete invocation: the function should aggregate the given set of -inputs to yield a single return value. This style must be used for -aggregate or window functions that are not decomposable. -""" -AGGREGATION_PHASE_INTERMEDIATE_TO_RESULT: AggregationPhase.ValueType # 4 -"""Specifies that the inputs of the aggregate or window function are the -intermediate values of the function, generated previously using -INITIAL_TO_INTERMEDIATE and possibly INTERMEDIATE_TO_INTERMEDIATE calls. -This call should combine the intermediate values to yield the final -return value. -""" -Global___AggregationPhase: typing_extensions.TypeAlias = AggregationPhase - -@typing.final -class RelCommon(google.protobuf.message.Message): - """Common fields for all relational operators""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing.final - class Direct(google.protobuf.message.Message): - """Direct indicates no change on presence and ordering of fields in the output""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - def __init__( - self, - ) -> None: ... - - @typing.final - class Emit(google.protobuf.message.Message): - """Remap which fields are output and in which order""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - OUTPUT_MAPPING_FIELD_NUMBER: builtins.int - @property - def output_mapping(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ... - def __init__( - self, - *, - output_mapping: collections.abc.Iterable[builtins.int] | None = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["output_mapping", b"output_mapping"]) -> None: ... - - @typing.final - class Hint(google.protobuf.message.Message): - """Changes to the operation that can influence efficiency/performance but - should not impact correctness. - """ - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _ComputationType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _ComputationTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[RelCommon.Hint._ComputationType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - COMPUTATION_TYPE_UNSPECIFIED: RelCommon.Hint._ComputationType.ValueType # 0 - COMPUTATION_TYPE_HASHTABLE: RelCommon.Hint._ComputationType.ValueType # 1 - COMPUTATION_TYPE_BLOOM_FILTER: RelCommon.Hint._ComputationType.ValueType # 2 - COMPUTATION_TYPE_UNKNOWN: RelCommon.Hint._ComputationType.ValueType # 9999 - - class ComputationType(_ComputationType, metaclass=_ComputationTypeEnumTypeWrapper): ... - COMPUTATION_TYPE_UNSPECIFIED: RelCommon.Hint.ComputationType.ValueType # 0 - COMPUTATION_TYPE_HASHTABLE: RelCommon.Hint.ComputationType.ValueType # 1 - COMPUTATION_TYPE_BLOOM_FILTER: RelCommon.Hint.ComputationType.ValueType # 2 - COMPUTATION_TYPE_UNKNOWN: RelCommon.Hint.ComputationType.ValueType # 9999 - - @typing.final - class Stats(google.protobuf.message.Message): - """The statistics related to a hint (physical properties of records)""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - ROW_COUNT_FIELD_NUMBER: builtins.int - RECORD_SIZE_FIELD_NUMBER: builtins.int - ADVANCED_EXTENSION_FIELD_NUMBER: builtins.int - row_count: builtins.float - record_size: builtins.float - @property - def advanced_extension(self) -> substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension: ... - def __init__( - self, - *, - row_count: builtins.float = ..., - record_size: builtins.float = ..., - advanced_extension: substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension", "record_size", b"record_size", "row_count", b"row_count"]) -> None: ... - - @typing.final - class RuntimeConstraint(google.protobuf.message.Message): - """TODO: nodes, cpu threads/%, memory, iops, etc.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - ADVANCED_EXTENSION_FIELD_NUMBER: builtins.int - @property - def advanced_extension(self) -> substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension: ... - def __init__( - self, - *, - advanced_extension: substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension"]) -> None: ... - - @typing.final - class SavedComputation(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - COMPUTATION_ID_FIELD_NUMBER: builtins.int - TYPE_FIELD_NUMBER: builtins.int - ADVANCED_EXTENSION_FIELD_NUMBER: builtins.int - computation_id: builtins.int - """The value corresponds to a plan unique number for that datastructure. Any particular - computation may be saved only once but it may be loaded multiple times. - """ - type: Global___RelCommon.Hint.ComputationType.ValueType - """The type of this computation. While a plan may use COMPUTATION_TYPE_UNKNOWN for all - of its types it is recommended to use a more specific type so that the optimization - is more portable. The consumer should be able to decide if an unknown type here - matches the same unknown type at a different plan and ignore the optimization if they - are mismatched. - """ - @property - def advanced_extension(self) -> substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension: ... - def __init__( - self, - *, - computation_id: builtins.int = ..., - type: Global___RelCommon.Hint.ComputationType.ValueType = ..., - advanced_extension: substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension", "computation_id", b"computation_id", "type", b"type"]) -> None: ... - - @typing.final - class LoadedComputation(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - COMPUTATION_ID_REFERENCE_FIELD_NUMBER: builtins.int - TYPE_FIELD_NUMBER: builtins.int - ADVANCED_EXTENSION_FIELD_NUMBER: builtins.int - computation_id_reference: builtins.int - """The value corresponds to a plan unique number for that datastructure. Any particular - computation may be saved only once but it may be loaded multiple times. - """ - type: Global___RelCommon.Hint.ComputationType.ValueType - """The type of this computation. While a plan may use COMPUTATION_TYPE_UNKNOWN for all - of its types it is recommended to use a more specific type so that the optimization - is more portable. The consumer should be able to decide if an unknown type here - matches the same unknown type at a different plan and ignore the optimization if they - are mismatched. - """ - @property - def advanced_extension(self) -> substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension: ... - def __init__( - self, - *, - computation_id_reference: builtins.int = ..., - type: Global___RelCommon.Hint.ComputationType.ValueType = ..., - advanced_extension: substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension", "computation_id_reference", b"computation_id_reference", "type", b"type"]) -> None: ... - - STATS_FIELD_NUMBER: builtins.int - CONSTRAINT_FIELD_NUMBER: builtins.int - ALIAS_FIELD_NUMBER: builtins.int - OUTPUT_NAMES_FIELD_NUMBER: builtins.int - ADVANCED_EXTENSION_FIELD_NUMBER: builtins.int - SAVED_COMPUTATIONS_FIELD_NUMBER: builtins.int - LOADED_COMPUTATIONS_FIELD_NUMBER: builtins.int - alias: builtins.str - """Name (alias) for this relation. Can be used for e.g. qualifying the relation (see e.g. - Spark's SubqueryAlias), or debugging. - """ - @property - def stats(self) -> Global___RelCommon.Hint.Stats: ... - @property - def constraint(self) -> Global___RelCommon.Hint.RuntimeConstraint: ... - @property - def output_names(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: - """Assigns alternative output field names for any relation. Equivalent to the names field - in RelRoot but applies to the output of the relation this RelCommon is attached to. - """ - - @property - def advanced_extension(self) -> substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension: ... - @property - def saved_computations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___RelCommon.Hint.SavedComputation]: - """Save or load a system-specific computation for use in optimizing a remote operation. - The anchor refers to the source/destination of the computation. The computation type - and number refer to the current relation. - """ - - @property - def loaded_computations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___RelCommon.Hint.LoadedComputation]: ... - def __init__( - self, - *, - stats: Global___RelCommon.Hint.Stats | None = ..., - constraint: Global___RelCommon.Hint.RuntimeConstraint | None = ..., - alias: builtins.str = ..., - output_names: collections.abc.Iterable[builtins.str] | None = ..., - advanced_extension: substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension | None = ..., - saved_computations: collections.abc.Iterable[Global___RelCommon.Hint.SavedComputation] | None = ..., - loaded_computations: collections.abc.Iterable[Global___RelCommon.Hint.LoadedComputation] | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension", "constraint", b"constraint", "stats", b"stats"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension", "alias", b"alias", "constraint", b"constraint", "loaded_computations", b"loaded_computations", "output_names", b"output_names", "saved_computations", b"saved_computations", "stats", b"stats"]) -> None: ... - - DIRECT_FIELD_NUMBER: builtins.int - EMIT_FIELD_NUMBER: builtins.int - HINT_FIELD_NUMBER: builtins.int - ADVANCED_EXTENSION_FIELD_NUMBER: builtins.int - @property - def direct(self) -> Global___RelCommon.Direct: - """The underlying relation is output as is (no reordering or projection of columns)""" - - @property - def emit(self) -> Global___RelCommon.Emit: - """Allows to control for order and inclusion of fields""" - - @property - def hint(self) -> Global___RelCommon.Hint: ... - @property - def advanced_extension(self) -> substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension: ... - def __init__( - self, - *, - direct: Global___RelCommon.Direct | None = ..., - emit: Global___RelCommon.Emit | None = ..., - hint: Global___RelCommon.Hint | None = ..., - advanced_extension: substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension", "direct", b"direct", "emit", b"emit", "emit_kind", b"emit_kind", "hint", b"hint"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension", "direct", b"direct", "emit", b"emit", "emit_kind", b"emit_kind", "hint", b"hint"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["emit_kind", b"emit_kind"]) -> typing.Literal["direct", "emit"] | None: ... - -Global___RelCommon: typing_extensions.TypeAlias = RelCommon - -@typing.final -class ReadRel(google.protobuf.message.Message): - """The scan operator of base data (physical or virtual), including filtering and projection.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing.final - class NamedTable(google.protobuf.message.Message): - """A base table. The list of string is used to represent namespacing (e.g., mydb.mytable). - This assumes shared catalog between systems exchanging a message. - """ - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - NAMES_FIELD_NUMBER: builtins.int - ADVANCED_EXTENSION_FIELD_NUMBER: builtins.int - @property - def names(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... - @property - def advanced_extension(self) -> substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension: ... - def __init__( - self, - *, - names: collections.abc.Iterable[builtins.str] | None = ..., - advanced_extension: substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension", "names", b"names"]) -> None: ... - - @typing.final - class IcebergTable(google.protobuf.message.Message): - """Read an Iceberg Table""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing.final - class MetadataFileRead(google.protobuf.message.Message): - """Read an Iceberg table using a metadata file. Implicit assumption: required credentials are already known by plan consumer.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - METADATA_URI_FIELD_NUMBER: builtins.int - SNAPSHOT_ID_FIELD_NUMBER: builtins.int - SNAPSHOT_TIMESTAMP_FIELD_NUMBER: builtins.int - metadata_uri: builtins.str - """the specific uri of a metadata file (e.g. s3://mybucket/mytable/-.metadata.json)""" - snapshot_id: builtins.str - """the snapshot id to read.""" - snapshot_timestamp: builtins.int - """the timestamp that should be used to select the snapshot (Time passed in microseconds since 1970-01-01 00:00:00.000000 in UTC)""" - def __init__( - self, - *, - metadata_uri: builtins.str = ..., - snapshot_id: builtins.str = ..., - snapshot_timestamp: builtins.int = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["snapshot", b"snapshot", "snapshot_id", b"snapshot_id", "snapshot_timestamp", b"snapshot_timestamp"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["metadata_uri", b"metadata_uri", "snapshot", b"snapshot", "snapshot_id", b"snapshot_id", "snapshot_timestamp", b"snapshot_timestamp"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["snapshot", b"snapshot"]) -> typing.Literal["snapshot_id", "snapshot_timestamp"] | None: ... - - DIRECT_FIELD_NUMBER: builtins.int - @property - def direct(self) -> Global___ReadRel.IcebergTable.MetadataFileRead: - """future: add catalog table types (e.g. rest api, latest metadata in path, etc)""" - - def __init__( - self, - *, - direct: Global___ReadRel.IcebergTable.MetadataFileRead | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["direct", b"direct", "table_type", b"table_type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["direct", b"direct", "table_type", b"table_type"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["table_type", b"table_type"]) -> typing.Literal["direct"] | None: ... - - @typing.final - class VirtualTable(google.protobuf.message.Message): - """A table composed of expressions.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - VALUES_FIELD_NUMBER: builtins.int - EXPRESSIONS_FIELD_NUMBER: builtins.int - @property - def values(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___Expression.Literal.Struct]: ... - @property - def expressions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___Expression.Nested.Struct]: ... - def __init__( - self, - *, - values: collections.abc.Iterable[Global___Expression.Literal.Struct] | None = ..., - expressions: collections.abc.Iterable[Global___Expression.Nested.Struct] | None = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["expressions", b"expressions", "values", b"values"]) -> None: ... - - @typing.final - class ExtensionTable(google.protobuf.message.Message): - """A stub type that can be used to extend/introduce new table types outside - the specification. - """ - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - DETAIL_FIELD_NUMBER: builtins.int - @property - def detail(self) -> google.protobuf.any_pb2.Any: ... - def __init__( - self, - *, - detail: google.protobuf.any_pb2.Any | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["detail", b"detail"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["detail", b"detail"]) -> None: ... - - @typing.final - class LocalFiles(google.protobuf.message.Message): - """Represents a list of locally-accessible files in input of a scan operation""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing.final - class FileOrFiles(google.protobuf.message.Message): - """Many files consist of indivisible chunks (e.g. parquet row groups - or CSV rows). If a slice partially selects an indivisible chunk - then the consumer should employ some rule to decide which slice to - include the chunk in (e.g. include it in the slice that contains - the midpoint of the chunk) - """ - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing.final - class ParquetReadOptions(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - def __init__( - self, - ) -> None: ... - - @typing.final - class ArrowReadOptions(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - def __init__( - self, - ) -> None: ... - - @typing.final - class OrcReadOptions(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - def __init__( - self, - ) -> None: ... - - @typing.final - class DwrfReadOptions(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - def __init__( - self, - ) -> None: ... - - @typing.final - class DelimiterSeparatedTextReadOptions(google.protobuf.message.Message): - """Delimiter separated files may be compressed. The reader should - autodetect this and decompress as needed. - """ - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - FIELD_DELIMITER_FIELD_NUMBER: builtins.int - MAX_LINE_SIZE_FIELD_NUMBER: builtins.int - QUOTE_FIELD_NUMBER: builtins.int - HEADER_LINES_TO_SKIP_FIELD_NUMBER: builtins.int - ESCAPE_FIELD_NUMBER: builtins.int - VALUE_TREATED_AS_NULL_FIELD_NUMBER: builtins.int - field_delimiter: builtins.str - """The character(s) used to separate fields. Common values are comma, - tab, and pipe. Multiple characters are allowed. - """ - max_line_size: builtins.int - """The maximum number of bytes to read from a single line. If a line - exceeds this limit the resulting behavior is undefined. - """ - quote: builtins.str - """The character(s) used to quote strings. Common values are single - and double quotation marks. - """ - header_lines_to_skip: builtins.int - """The number of lines to skip at the beginning of the file.""" - escape: builtins.str - """The character used to escape characters in strings. Backslash is - a common value. Note that a double quote mark can also be used as an - escape character but the external quotes should be removed first. - """ - value_treated_as_null: builtins.str - """If this value is encountered (including empty string), the resulting - value is null instead. Leave unset to disable. If this value is - provided, the effective schema of this file is comprised entirely of - nullable strings. If not provided, the effective schema is instead - made up of non-nullable strings. - """ - def __init__( - self, - *, - field_delimiter: builtins.str = ..., - max_line_size: builtins.int = ..., - quote: builtins.str = ..., - header_lines_to_skip: builtins.int = ..., - escape: builtins.str = ..., - value_treated_as_null: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["_value_treated_as_null", b"_value_treated_as_null", "value_treated_as_null", b"value_treated_as_null"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["_value_treated_as_null", b"_value_treated_as_null", "escape", b"escape", "field_delimiter", b"field_delimiter", "header_lines_to_skip", b"header_lines_to_skip", "max_line_size", b"max_line_size", "quote", b"quote", "value_treated_as_null", b"value_treated_as_null"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["_value_treated_as_null", b"_value_treated_as_null"]) -> typing.Literal["value_treated_as_null"] | None: ... - - URI_PATH_FIELD_NUMBER: builtins.int - URI_PATH_GLOB_FIELD_NUMBER: builtins.int - URI_FILE_FIELD_NUMBER: builtins.int - URI_FOLDER_FIELD_NUMBER: builtins.int - PARTITION_INDEX_FIELD_NUMBER: builtins.int - START_FIELD_NUMBER: builtins.int - LENGTH_FIELD_NUMBER: builtins.int - PARQUET_FIELD_NUMBER: builtins.int - ARROW_FIELD_NUMBER: builtins.int - ORC_FIELD_NUMBER: builtins.int - EXTENSION_FIELD_NUMBER: builtins.int - DWRF_FIELD_NUMBER: builtins.int - TEXT_FIELD_NUMBER: builtins.int - uri_path: builtins.str - """A URI that can refer to either a single folder or a single file""" - uri_path_glob: builtins.str - """A URI where the path portion is a glob expression that can - identify zero or more paths. - Consumers should support the POSIX syntax. The recursive - globstar (**) may not be supported. - """ - uri_file: builtins.str - """A URI that refers to a single file""" - uri_folder: builtins.str - """A URI that refers to a single folder""" - partition_index: builtins.int - """The index of the partition this item belongs to""" - start: builtins.int - """The start position in byte to read from this item""" - length: builtins.int - """The length in byte to read from this item""" - @property - def parquet(self) -> Global___ReadRel.LocalFiles.FileOrFiles.ParquetReadOptions: ... - @property - def arrow(self) -> Global___ReadRel.LocalFiles.FileOrFiles.ArrowReadOptions: ... - @property - def orc(self) -> Global___ReadRel.LocalFiles.FileOrFiles.OrcReadOptions: ... - @property - def extension(self) -> google.protobuf.any_pb2.Any: ... - @property - def dwrf(self) -> Global___ReadRel.LocalFiles.FileOrFiles.DwrfReadOptions: ... - @property - def text(self) -> Global___ReadRel.LocalFiles.FileOrFiles.DelimiterSeparatedTextReadOptions: ... - def __init__( - self, - *, - uri_path: builtins.str = ..., - uri_path_glob: builtins.str = ..., - uri_file: builtins.str = ..., - uri_folder: builtins.str = ..., - partition_index: builtins.int = ..., - start: builtins.int = ..., - length: builtins.int = ..., - parquet: Global___ReadRel.LocalFiles.FileOrFiles.ParquetReadOptions | None = ..., - arrow: Global___ReadRel.LocalFiles.FileOrFiles.ArrowReadOptions | None = ..., - orc: Global___ReadRel.LocalFiles.FileOrFiles.OrcReadOptions | None = ..., - extension: google.protobuf.any_pb2.Any | None = ..., - dwrf: Global___ReadRel.LocalFiles.FileOrFiles.DwrfReadOptions | None = ..., - text: Global___ReadRel.LocalFiles.FileOrFiles.DelimiterSeparatedTextReadOptions | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["arrow", b"arrow", "dwrf", b"dwrf", "extension", b"extension", "file_format", b"file_format", "orc", b"orc", "parquet", b"parquet", "path_type", b"path_type", "text", b"text", "uri_file", b"uri_file", "uri_folder", b"uri_folder", "uri_path", b"uri_path", "uri_path_glob", b"uri_path_glob"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["arrow", b"arrow", "dwrf", b"dwrf", "extension", b"extension", "file_format", b"file_format", "length", b"length", "orc", b"orc", "parquet", b"parquet", "partition_index", b"partition_index", "path_type", b"path_type", "start", b"start", "text", b"text", "uri_file", b"uri_file", "uri_folder", b"uri_folder", "uri_path", b"uri_path", "uri_path_glob", b"uri_path_glob"]) -> None: ... - @typing.overload - def WhichOneof(self, oneof_group: typing.Literal["file_format", b"file_format"]) -> typing.Literal["parquet", "arrow", "orc", "extension", "dwrf", "text"] | None: ... - @typing.overload - def WhichOneof(self, oneof_group: typing.Literal["path_type", b"path_type"]) -> typing.Literal["uri_path", "uri_path_glob", "uri_file", "uri_folder"] | None: ... - - ITEMS_FIELD_NUMBER: builtins.int - ADVANCED_EXTENSION_FIELD_NUMBER: builtins.int - @property - def items(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___ReadRel.LocalFiles.FileOrFiles]: ... - @property - def advanced_extension(self) -> substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension: ... - def __init__( - self, - *, - items: collections.abc.Iterable[Global___ReadRel.LocalFiles.FileOrFiles] | None = ..., - advanced_extension: substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension", "items", b"items"]) -> None: ... - - COMMON_FIELD_NUMBER: builtins.int - BASE_SCHEMA_FIELD_NUMBER: builtins.int - FILTER_FIELD_NUMBER: builtins.int - BEST_EFFORT_FILTER_FIELD_NUMBER: builtins.int - PROJECTION_FIELD_NUMBER: builtins.int - ADVANCED_EXTENSION_FIELD_NUMBER: builtins.int - VIRTUAL_TABLE_FIELD_NUMBER: builtins.int - LOCAL_FILES_FIELD_NUMBER: builtins.int - NAMED_TABLE_FIELD_NUMBER: builtins.int - EXTENSION_TABLE_FIELD_NUMBER: builtins.int - ICEBERG_TABLE_FIELD_NUMBER: builtins.int - @property - def common(self) -> Global___RelCommon: ... - @property - def base_schema(self) -> substrait.gen.proto.type_pb2.NamedStruct: ... - @property - def filter(self) -> Global___Expression: ... - @property - def best_effort_filter(self) -> Global___Expression: ... - @property - def projection(self) -> Global___Expression.MaskExpression: ... - @property - def advanced_extension(self) -> substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension: ... - @property - def virtual_table(self) -> Global___ReadRel.VirtualTable: ... - @property - def local_files(self) -> Global___ReadRel.LocalFiles: ... - @property - def named_table(self) -> Global___ReadRel.NamedTable: ... - @property - def extension_table(self) -> Global___ReadRel.ExtensionTable: ... - @property - def iceberg_table(self) -> Global___ReadRel.IcebergTable: ... - def __init__( - self, - *, - common: Global___RelCommon | None = ..., - base_schema: substrait.gen.proto.type_pb2.NamedStruct | None = ..., - filter: Global___Expression | None = ..., - best_effort_filter: Global___Expression | None = ..., - projection: Global___Expression.MaskExpression | None = ..., - advanced_extension: substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension | None = ..., - virtual_table: Global___ReadRel.VirtualTable | None = ..., - local_files: Global___ReadRel.LocalFiles | None = ..., - named_table: Global___ReadRel.NamedTable | None = ..., - extension_table: Global___ReadRel.ExtensionTable | None = ..., - iceberg_table: Global___ReadRel.IcebergTable | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension", "base_schema", b"base_schema", "best_effort_filter", b"best_effort_filter", "common", b"common", "extension_table", b"extension_table", "filter", b"filter", "iceberg_table", b"iceberg_table", "local_files", b"local_files", "named_table", b"named_table", "projection", b"projection", "read_type", b"read_type", "virtual_table", b"virtual_table"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension", "base_schema", b"base_schema", "best_effort_filter", b"best_effort_filter", "common", b"common", "extension_table", b"extension_table", "filter", b"filter", "iceberg_table", b"iceberg_table", "local_files", b"local_files", "named_table", b"named_table", "projection", b"projection", "read_type", b"read_type", "virtual_table", b"virtual_table"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["read_type", b"read_type"]) -> typing.Literal["virtual_table", "local_files", "named_table", "extension_table", "iceberg_table"] | None: ... - -Global___ReadRel: typing_extensions.TypeAlias = ReadRel - -@typing.final -class ProjectRel(google.protobuf.message.Message): - """This operator allows to represent calculated expressions of fields (e.g., a+b). Direct/Emit are used to represent classical relational projections""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - COMMON_FIELD_NUMBER: builtins.int - INPUT_FIELD_NUMBER: builtins.int - EXPRESSIONS_FIELD_NUMBER: builtins.int - ADVANCED_EXTENSION_FIELD_NUMBER: builtins.int - @property - def common(self) -> Global___RelCommon: ... - @property - def input(self) -> Global___Rel: ... - @property - def expressions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___Expression]: ... - @property - def advanced_extension(self) -> substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension: ... - def __init__( - self, - *, - common: Global___RelCommon | None = ..., - input: Global___Rel | None = ..., - expressions: collections.abc.Iterable[Global___Expression] | None = ..., - advanced_extension: substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension", "common", b"common", "input", b"input"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension", "common", b"common", "expressions", b"expressions", "input", b"input"]) -> None: ... - -Global___ProjectRel: typing_extensions.TypeAlias = ProjectRel - -@typing.final -class JoinRel(google.protobuf.message.Message): - """The binary JOIN relational operator left-join-right, including various join types, a join condition and post_join_filter expression""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _JoinType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _JoinTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[JoinRel._JoinType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - JOIN_TYPE_UNSPECIFIED: JoinRel._JoinType.ValueType # 0 - JOIN_TYPE_INNER: JoinRel._JoinType.ValueType # 1 - JOIN_TYPE_OUTER: JoinRel._JoinType.ValueType # 2 - JOIN_TYPE_LEFT: JoinRel._JoinType.ValueType # 3 - JOIN_TYPE_RIGHT: JoinRel._JoinType.ValueType # 4 - JOIN_TYPE_LEFT_SEMI: JoinRel._JoinType.ValueType # 5 - JOIN_TYPE_LEFT_ANTI: JoinRel._JoinType.ValueType # 6 - JOIN_TYPE_LEFT_SINGLE: JoinRel._JoinType.ValueType # 7 - JOIN_TYPE_RIGHT_SEMI: JoinRel._JoinType.ValueType # 8 - JOIN_TYPE_RIGHT_ANTI: JoinRel._JoinType.ValueType # 9 - JOIN_TYPE_RIGHT_SINGLE: JoinRel._JoinType.ValueType # 10 - JOIN_TYPE_LEFT_MARK: JoinRel._JoinType.ValueType # 11 - JOIN_TYPE_RIGHT_MARK: JoinRel._JoinType.ValueType # 12 - - class JoinType(_JoinType, metaclass=_JoinTypeEnumTypeWrapper): ... - JOIN_TYPE_UNSPECIFIED: JoinRel.JoinType.ValueType # 0 - JOIN_TYPE_INNER: JoinRel.JoinType.ValueType # 1 - JOIN_TYPE_OUTER: JoinRel.JoinType.ValueType # 2 - JOIN_TYPE_LEFT: JoinRel.JoinType.ValueType # 3 - JOIN_TYPE_RIGHT: JoinRel.JoinType.ValueType # 4 - JOIN_TYPE_LEFT_SEMI: JoinRel.JoinType.ValueType # 5 - JOIN_TYPE_LEFT_ANTI: JoinRel.JoinType.ValueType # 6 - JOIN_TYPE_LEFT_SINGLE: JoinRel.JoinType.ValueType # 7 - JOIN_TYPE_RIGHT_SEMI: JoinRel.JoinType.ValueType # 8 - JOIN_TYPE_RIGHT_ANTI: JoinRel.JoinType.ValueType # 9 - JOIN_TYPE_RIGHT_SINGLE: JoinRel.JoinType.ValueType # 10 - JOIN_TYPE_LEFT_MARK: JoinRel.JoinType.ValueType # 11 - JOIN_TYPE_RIGHT_MARK: JoinRel.JoinType.ValueType # 12 - - COMMON_FIELD_NUMBER: builtins.int - LEFT_FIELD_NUMBER: builtins.int - RIGHT_FIELD_NUMBER: builtins.int - EXPRESSION_FIELD_NUMBER: builtins.int - POST_JOIN_FILTER_FIELD_NUMBER: builtins.int - TYPE_FIELD_NUMBER: builtins.int - ADVANCED_EXTENSION_FIELD_NUMBER: builtins.int - type: Global___JoinRel.JoinType.ValueType - @property - def common(self) -> Global___RelCommon: ... - @property - def left(self) -> Global___Rel: ... - @property - def right(self) -> Global___Rel: ... - @property - def expression(self) -> Global___Expression: ... - @property - def post_join_filter(self) -> Global___Expression: ... - @property - def advanced_extension(self) -> substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension: ... - def __init__( - self, - *, - common: Global___RelCommon | None = ..., - left: Global___Rel | None = ..., - right: Global___Rel | None = ..., - expression: Global___Expression | None = ..., - post_join_filter: Global___Expression | None = ..., - type: Global___JoinRel.JoinType.ValueType = ..., - advanced_extension: substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension", "common", b"common", "expression", b"expression", "left", b"left", "post_join_filter", b"post_join_filter", "right", b"right"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension", "common", b"common", "expression", b"expression", "left", b"left", "post_join_filter", b"post_join_filter", "right", b"right", "type", b"type"]) -> None: ... - -Global___JoinRel: typing_extensions.TypeAlias = JoinRel - -@typing.final -class CrossRel(google.protobuf.message.Message): - """Cartesian product relational operator of two tables (left and right)""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - COMMON_FIELD_NUMBER: builtins.int - LEFT_FIELD_NUMBER: builtins.int - RIGHT_FIELD_NUMBER: builtins.int - ADVANCED_EXTENSION_FIELD_NUMBER: builtins.int - @property - def common(self) -> Global___RelCommon: ... - @property - def left(self) -> Global___Rel: ... - @property - def right(self) -> Global___Rel: ... - @property - def advanced_extension(self) -> substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension: ... - def __init__( - self, - *, - common: Global___RelCommon | None = ..., - left: Global___Rel | None = ..., - right: Global___Rel | None = ..., - advanced_extension: substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension", "common", b"common", "left", b"left", "right", b"right"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension", "common", b"common", "left", b"left", "right", b"right"]) -> None: ... - -Global___CrossRel: typing_extensions.TypeAlias = CrossRel - -@typing.final -class FetchRel(google.protobuf.message.Message): - """The relational operator representing LIMIT/OFFSET or TOP type semantics.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - COMMON_FIELD_NUMBER: builtins.int - INPUT_FIELD_NUMBER: builtins.int - OFFSET_FIELD_NUMBER: builtins.int - OFFSET_EXPR_FIELD_NUMBER: builtins.int - COUNT_FIELD_NUMBER: builtins.int - COUNT_EXPR_FIELD_NUMBER: builtins.int - ADVANCED_EXTENSION_FIELD_NUMBER: builtins.int - offset: builtins.int - """the offset expressed in number of records - Deprecated: use `offset_expr` instead - """ - count: builtins.int - """the amount of records to return - use -1 to signal that ALL records should be returned - Deprecated: use `count_expr` instead - """ - @property - def common(self) -> Global___RelCommon: ... - @property - def input(self) -> Global___Rel: ... - @property - def offset_expr(self) -> Global___Expression: - """Expression evaluated into a non-negative integer specifying the number - of records to skip. An expression evaluating to null is treated as 0. - Evaluating to a negative integer should result in an error. - Recommended type for offset is int64. - """ - - @property - def count_expr(self) -> Global___Expression: - """Expression evaluated into a non-negative integer specifying the number - of records to return. An expression evaluating to null signals that ALL - records should be returned. - Evaluating to a negative integer should result in an error. - Recommended type for count is int64. - """ - - @property - def advanced_extension(self) -> substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension: ... - def __init__( - self, - *, - common: Global___RelCommon | None = ..., - input: Global___Rel | None = ..., - offset: builtins.int = ..., - offset_expr: Global___Expression | None = ..., - count: builtins.int = ..., - count_expr: Global___Expression | None = ..., - advanced_extension: substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension", "common", b"common", "count", b"count", "count_expr", b"count_expr", "count_mode", b"count_mode", "input", b"input", "offset", b"offset", "offset_expr", b"offset_expr", "offset_mode", b"offset_mode"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension", "common", b"common", "count", b"count", "count_expr", b"count_expr", "count_mode", b"count_mode", "input", b"input", "offset", b"offset", "offset_expr", b"offset_expr", "offset_mode", b"offset_mode"]) -> None: ... - @typing.overload - def WhichOneof(self, oneof_group: typing.Literal["count_mode", b"count_mode"]) -> typing.Literal["count", "count_expr"] | None: ... - @typing.overload - def WhichOneof(self, oneof_group: typing.Literal["offset_mode", b"offset_mode"]) -> typing.Literal["offset", "offset_expr"] | None: ... - -Global___FetchRel: typing_extensions.TypeAlias = FetchRel - -@typing.final -class AggregateRel(google.protobuf.message.Message): - """The relational operator representing a GROUP BY Aggregate""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing.final - class Grouping(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - GROUPING_EXPRESSIONS_FIELD_NUMBER: builtins.int - EXPRESSION_REFERENCES_FIELD_NUMBER: builtins.int - @property - def grouping_expressions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___Expression]: - """Deprecated in favor of `expression_references` below.""" - - @property - def expression_references(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: - """A list of zero or more references to grouping expressions, i.e., indices - into the `grouping_expression` list. - """ - - def __init__( - self, - *, - grouping_expressions: collections.abc.Iterable[Global___Expression] | None = ..., - expression_references: collections.abc.Iterable[builtins.int] | None = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["expression_references", b"expression_references", "grouping_expressions", b"grouping_expressions"]) -> None: ... - - @typing.final - class Measure(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - MEASURE_FIELD_NUMBER: builtins.int - FILTER_FIELD_NUMBER: builtins.int - @property - def measure(self) -> Global___AggregateFunction: ... - @property - def filter(self) -> Global___Expression: - """An optional boolean expression that acts to filter which records are - included in the measure. True means include this record for calculation - within the measure. - Helps to support SUM() FILTER(WHERE...) syntax without masking opportunities for optimization - """ - - def __init__( - self, - *, - measure: Global___AggregateFunction | None = ..., - filter: Global___Expression | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["filter", b"filter", "measure", b"measure"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["filter", b"filter", "measure", b"measure"]) -> None: ... - - COMMON_FIELD_NUMBER: builtins.int - INPUT_FIELD_NUMBER: builtins.int - GROUPINGS_FIELD_NUMBER: builtins.int - MEASURES_FIELD_NUMBER: builtins.int - GROUPING_EXPRESSIONS_FIELD_NUMBER: builtins.int - ADVANCED_EXTENSION_FIELD_NUMBER: builtins.int - @property - def common(self) -> Global___RelCommon: ... - @property - def input(self) -> Global___Rel: - """Input of the aggregation""" - - @property - def groupings(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___AggregateRel.Grouping]: - """A list of zero or more grouping sets that the aggregation measures should - be calculated for. There must be at least one grouping set if there are no - measures (but it can be the empty grouping set). - """ - - @property - def measures(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___AggregateRel.Measure]: - """A list of one or more aggregate expressions along with an optional filter. - Required if there are no groupings. - """ - - @property - def grouping_expressions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___Expression]: - """A list of zero or more grouping expressions that grouping sets (i.e., - `Grouping` messages in the `groupings` field) can reference. Each - expression in this list must be referred to by at least one - `Grouping.expression_references`. - """ - - @property - def advanced_extension(self) -> substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension: ... - def __init__( - self, - *, - common: Global___RelCommon | None = ..., - input: Global___Rel | None = ..., - groupings: collections.abc.Iterable[Global___AggregateRel.Grouping] | None = ..., - measures: collections.abc.Iterable[Global___AggregateRel.Measure] | None = ..., - grouping_expressions: collections.abc.Iterable[Global___Expression] | None = ..., - advanced_extension: substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension", "common", b"common", "input", b"input"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension", "common", b"common", "grouping_expressions", b"grouping_expressions", "groupings", b"groupings", "input", b"input", "measures", b"measures"]) -> None: ... - -Global___AggregateRel: typing_extensions.TypeAlias = AggregateRel - -@typing.final -class ConsistentPartitionWindowRel(google.protobuf.message.Message): - """ConsistentPartitionWindowRel provides the ability to perform calculations across sets of rows - that are related to the current query row. It can be used to execute window functions where - all the windows share the same partitioning and ordering. - """ - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing.final - class WindowRelFunction(google.protobuf.message.Message): - """This message mirrors the `WindowFunction` message but removes the fields defining the partition, - sorts, and bounds, since those must be consistent across the various functions in this rel. Refer - to the `WindowFunction` message for a description of these fields. - """ - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - FUNCTION_REFERENCE_FIELD_NUMBER: builtins.int - ARGUMENTS_FIELD_NUMBER: builtins.int - OPTIONS_FIELD_NUMBER: builtins.int - OUTPUT_TYPE_FIELD_NUMBER: builtins.int - PHASE_FIELD_NUMBER: builtins.int - INVOCATION_FIELD_NUMBER: builtins.int - LOWER_BOUND_FIELD_NUMBER: builtins.int - UPPER_BOUND_FIELD_NUMBER: builtins.int - BOUNDS_TYPE_FIELD_NUMBER: builtins.int - function_reference: builtins.int - phase: Global___AggregationPhase.ValueType - invocation: Global___AggregateFunction.AggregationInvocation.ValueType - bounds_type: Global___Expression.WindowFunction.BoundsType.ValueType - @property - def arguments(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___FunctionArgument]: ... - @property - def options(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___FunctionOption]: ... - @property - def output_type(self) -> substrait.gen.proto.type_pb2.Type: ... - @property - def lower_bound(self) -> Global___Expression.WindowFunction.Bound: ... - @property - def upper_bound(self) -> Global___Expression.WindowFunction.Bound: ... - def __init__( - self, - *, - function_reference: builtins.int = ..., - arguments: collections.abc.Iterable[Global___FunctionArgument] | None = ..., - options: collections.abc.Iterable[Global___FunctionOption] | None = ..., - output_type: substrait.gen.proto.type_pb2.Type | None = ..., - phase: Global___AggregationPhase.ValueType = ..., - invocation: Global___AggregateFunction.AggregationInvocation.ValueType = ..., - lower_bound: Global___Expression.WindowFunction.Bound | None = ..., - upper_bound: Global___Expression.WindowFunction.Bound | None = ..., - bounds_type: Global___Expression.WindowFunction.BoundsType.ValueType = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["lower_bound", b"lower_bound", "output_type", b"output_type", "upper_bound", b"upper_bound"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["arguments", b"arguments", "bounds_type", b"bounds_type", "function_reference", b"function_reference", "invocation", b"invocation", "lower_bound", b"lower_bound", "options", b"options", "output_type", b"output_type", "phase", b"phase", "upper_bound", b"upper_bound"]) -> None: ... - - COMMON_FIELD_NUMBER: builtins.int - INPUT_FIELD_NUMBER: builtins.int - WINDOW_FUNCTIONS_FIELD_NUMBER: builtins.int - PARTITION_EXPRESSIONS_FIELD_NUMBER: builtins.int - SORTS_FIELD_NUMBER: builtins.int - ADVANCED_EXTENSION_FIELD_NUMBER: builtins.int - @property - def common(self) -> Global___RelCommon: ... - @property - def input(self) -> Global___Rel: ... - @property - def window_functions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___ConsistentPartitionWindowRel.WindowRelFunction]: ... - @property - def partition_expressions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___Expression]: ... - @property - def sorts(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___SortField]: ... - @property - def advanced_extension(self) -> substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension: ... - def __init__( - self, - *, - common: Global___RelCommon | None = ..., - input: Global___Rel | None = ..., - window_functions: collections.abc.Iterable[Global___ConsistentPartitionWindowRel.WindowRelFunction] | None = ..., - partition_expressions: collections.abc.Iterable[Global___Expression] | None = ..., - sorts: collections.abc.Iterable[Global___SortField] | None = ..., - advanced_extension: substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension", "common", b"common", "input", b"input"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension", "common", b"common", "input", b"input", "partition_expressions", b"partition_expressions", "sorts", b"sorts", "window_functions", b"window_functions"]) -> None: ... - -Global___ConsistentPartitionWindowRel: typing_extensions.TypeAlias = ConsistentPartitionWindowRel - -@typing.final -class SortRel(google.protobuf.message.Message): - """The ORDERY BY (or sorting) relational operator. Beside describing a base relation, it includes a list of fields to sort on""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - COMMON_FIELD_NUMBER: builtins.int - INPUT_FIELD_NUMBER: builtins.int - SORTS_FIELD_NUMBER: builtins.int - ADVANCED_EXTENSION_FIELD_NUMBER: builtins.int - @property - def common(self) -> Global___RelCommon: ... - @property - def input(self) -> Global___Rel: ... - @property - def sorts(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___SortField]: ... - @property - def advanced_extension(self) -> substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension: ... - def __init__( - self, - *, - common: Global___RelCommon | None = ..., - input: Global___Rel | None = ..., - sorts: collections.abc.Iterable[Global___SortField] | None = ..., - advanced_extension: substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension", "common", b"common", "input", b"input"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension", "common", b"common", "input", b"input", "sorts", b"sorts"]) -> None: ... - -Global___SortRel: typing_extensions.TypeAlias = SortRel - -@typing.final -class FilterRel(google.protobuf.message.Message): - """The relational operator capturing simple FILTERs (as in the WHERE clause of SQL)""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - COMMON_FIELD_NUMBER: builtins.int - INPUT_FIELD_NUMBER: builtins.int - CONDITION_FIELD_NUMBER: builtins.int - ADVANCED_EXTENSION_FIELD_NUMBER: builtins.int - @property - def common(self) -> Global___RelCommon: ... - @property - def input(self) -> Global___Rel: ... - @property - def condition(self) -> Global___Expression: ... - @property - def advanced_extension(self) -> substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension: ... - def __init__( - self, - *, - common: Global___RelCommon | None = ..., - input: Global___Rel | None = ..., - condition: Global___Expression | None = ..., - advanced_extension: substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension", "common", b"common", "condition", b"condition", "input", b"input"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension", "common", b"common", "condition", b"condition", "input", b"input"]) -> None: ... - -Global___FilterRel: typing_extensions.TypeAlias = FilterRel - -@typing.final -class SetRel(google.protobuf.message.Message): - """The relational set operators (intersection/union/etc..)""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _SetOp: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _SetOpEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[SetRel._SetOp.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - SET_OP_UNSPECIFIED: SetRel._SetOp.ValueType # 0 - SET_OP_MINUS_PRIMARY: SetRel._SetOp.ValueType # 1 - SET_OP_MINUS_PRIMARY_ALL: SetRel._SetOp.ValueType # 7 - SET_OP_MINUS_MULTISET: SetRel._SetOp.ValueType # 2 - SET_OP_INTERSECTION_PRIMARY: SetRel._SetOp.ValueType # 3 - SET_OP_INTERSECTION_MULTISET: SetRel._SetOp.ValueType # 4 - SET_OP_INTERSECTION_MULTISET_ALL: SetRel._SetOp.ValueType # 8 - SET_OP_UNION_DISTINCT: SetRel._SetOp.ValueType # 5 - SET_OP_UNION_ALL: SetRel._SetOp.ValueType # 6 - - class SetOp(_SetOp, metaclass=_SetOpEnumTypeWrapper): ... - SET_OP_UNSPECIFIED: SetRel.SetOp.ValueType # 0 - SET_OP_MINUS_PRIMARY: SetRel.SetOp.ValueType # 1 - SET_OP_MINUS_PRIMARY_ALL: SetRel.SetOp.ValueType # 7 - SET_OP_MINUS_MULTISET: SetRel.SetOp.ValueType # 2 - SET_OP_INTERSECTION_PRIMARY: SetRel.SetOp.ValueType # 3 - SET_OP_INTERSECTION_MULTISET: SetRel.SetOp.ValueType # 4 - SET_OP_INTERSECTION_MULTISET_ALL: SetRel.SetOp.ValueType # 8 - SET_OP_UNION_DISTINCT: SetRel.SetOp.ValueType # 5 - SET_OP_UNION_ALL: SetRel.SetOp.ValueType # 6 - - COMMON_FIELD_NUMBER: builtins.int - INPUTS_FIELD_NUMBER: builtins.int - OP_FIELD_NUMBER: builtins.int - ADVANCED_EXTENSION_FIELD_NUMBER: builtins.int - op: Global___SetRel.SetOp.ValueType - @property - def common(self) -> Global___RelCommon: ... - @property - def inputs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___Rel]: - """The first input is the primary input, the remaining are secondary - inputs. There must be at least two inputs. - """ - - @property - def advanced_extension(self) -> substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension: ... - def __init__( - self, - *, - common: Global___RelCommon | None = ..., - inputs: collections.abc.Iterable[Global___Rel] | None = ..., - op: Global___SetRel.SetOp.ValueType = ..., - advanced_extension: substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension", "common", b"common"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension", "common", b"common", "inputs", b"inputs", "op", b"op"]) -> None: ... - -Global___SetRel: typing_extensions.TypeAlias = SetRel - -@typing.final -class ExtensionSingleRel(google.protobuf.message.Message): - """Stub to support extension with a single input""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - COMMON_FIELD_NUMBER: builtins.int - INPUT_FIELD_NUMBER: builtins.int - DETAIL_FIELD_NUMBER: builtins.int - @property - def common(self) -> Global___RelCommon: ... - @property - def input(self) -> Global___Rel: ... - @property - def detail(self) -> google.protobuf.any_pb2.Any: ... - def __init__( - self, - *, - common: Global___RelCommon | None = ..., - input: Global___Rel | None = ..., - detail: google.protobuf.any_pb2.Any | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["common", b"common", "detail", b"detail", "input", b"input"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["common", b"common", "detail", b"detail", "input", b"input"]) -> None: ... - -Global___ExtensionSingleRel: typing_extensions.TypeAlias = ExtensionSingleRel - -@typing.final -class ExtensionLeafRel(google.protobuf.message.Message): - """Stub to support extension with a zero inputs""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - COMMON_FIELD_NUMBER: builtins.int - DETAIL_FIELD_NUMBER: builtins.int - @property - def common(self) -> Global___RelCommon: ... - @property - def detail(self) -> google.protobuf.any_pb2.Any: ... - def __init__( - self, - *, - common: Global___RelCommon | None = ..., - detail: google.protobuf.any_pb2.Any | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["common", b"common", "detail", b"detail"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["common", b"common", "detail", b"detail"]) -> None: ... - -Global___ExtensionLeafRel: typing_extensions.TypeAlias = ExtensionLeafRel - -@typing.final -class ExtensionMultiRel(google.protobuf.message.Message): - """Stub to support extension with multiple inputs""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - COMMON_FIELD_NUMBER: builtins.int - INPUTS_FIELD_NUMBER: builtins.int - DETAIL_FIELD_NUMBER: builtins.int - @property - def common(self) -> Global___RelCommon: ... - @property - def inputs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___Rel]: ... - @property - def detail(self) -> google.protobuf.any_pb2.Any: ... - def __init__( - self, - *, - common: Global___RelCommon | None = ..., - inputs: collections.abc.Iterable[Global___Rel] | None = ..., - detail: google.protobuf.any_pb2.Any | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["common", b"common", "detail", b"detail"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["common", b"common", "detail", b"detail", "inputs", b"inputs"]) -> None: ... - -Global___ExtensionMultiRel: typing_extensions.TypeAlias = ExtensionMultiRel - -@typing.final -class ExchangeRel(google.protobuf.message.Message): - """A redistribution operation""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing.final - class ScatterFields(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - FIELDS_FIELD_NUMBER: builtins.int - @property - def fields(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___Expression.FieldReference]: ... - def __init__( - self, - *, - fields: collections.abc.Iterable[Global___Expression.FieldReference] | None = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["fields", b"fields"]) -> None: ... - - @typing.final - class SingleBucketExpression(google.protobuf.message.Message): - """Returns a single bucket number per record.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - EXPRESSION_FIELD_NUMBER: builtins.int - @property - def expression(self) -> Global___Expression: ... - def __init__( - self, - *, - expression: Global___Expression | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["expression", b"expression"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["expression", b"expression"]) -> None: ... - - @typing.final - class MultiBucketExpression(google.protobuf.message.Message): - """Returns zero or more bucket numbers per record""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - EXPRESSION_FIELD_NUMBER: builtins.int - CONSTRAINED_TO_COUNT_FIELD_NUMBER: builtins.int - constrained_to_count: builtins.bool - @property - def expression(self) -> Global___Expression: ... - def __init__( - self, - *, - expression: Global___Expression | None = ..., - constrained_to_count: builtins.bool = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["expression", b"expression"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["constrained_to_count", b"constrained_to_count", "expression", b"expression"]) -> None: ... - - @typing.final - class Broadcast(google.protobuf.message.Message): - """Send all data to every target.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - def __init__( - self, - ) -> None: ... - - @typing.final - class RoundRobin(google.protobuf.message.Message): - """Route approximately""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - EXACT_FIELD_NUMBER: builtins.int - exact: builtins.bool - """whether the round robin behavior is required to exact (per record) or - approximate. Defaults to approximate. - """ - def __init__( - self, - *, - exact: builtins.bool = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["exact", b"exact"]) -> None: ... - - @typing.final - class ExchangeTarget(google.protobuf.message.Message): - """The message to describe partition targets of an exchange""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - PARTITION_ID_FIELD_NUMBER: builtins.int - URI_FIELD_NUMBER: builtins.int - EXTENDED_FIELD_NUMBER: builtins.int - uri: builtins.str - @property - def partition_id(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: - """Describes the partition id(s) to send. If this is empty, all data is sent - to this target. - """ - - @property - def extended(self) -> google.protobuf.any_pb2.Any: ... - def __init__( - self, - *, - partition_id: collections.abc.Iterable[builtins.int] | None = ..., - uri: builtins.str = ..., - extended: google.protobuf.any_pb2.Any | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["extended", b"extended", "target_type", b"target_type", "uri", b"uri"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["extended", b"extended", "partition_id", b"partition_id", "target_type", b"target_type", "uri", b"uri"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["target_type", b"target_type"]) -> typing.Literal["uri", "extended"] | None: ... - - COMMON_FIELD_NUMBER: builtins.int - INPUT_FIELD_NUMBER: builtins.int - PARTITION_COUNT_FIELD_NUMBER: builtins.int - TARGETS_FIELD_NUMBER: builtins.int - SCATTER_BY_FIELDS_FIELD_NUMBER: builtins.int - SINGLE_TARGET_FIELD_NUMBER: builtins.int - MULTI_TARGET_FIELD_NUMBER: builtins.int - ROUND_ROBIN_FIELD_NUMBER: builtins.int - BROADCAST_FIELD_NUMBER: builtins.int - ADVANCED_EXTENSION_FIELD_NUMBER: builtins.int - partition_count: builtins.int - @property - def common(self) -> Global___RelCommon: ... - @property - def input(self) -> Global___Rel: ... - @property - def targets(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___ExchangeRel.ExchangeTarget]: ... - @property - def scatter_by_fields(self) -> Global___ExchangeRel.ScatterFields: ... - @property - def single_target(self) -> Global___ExchangeRel.SingleBucketExpression: ... - @property - def multi_target(self) -> Global___ExchangeRel.MultiBucketExpression: ... - @property - def round_robin(self) -> Global___ExchangeRel.RoundRobin: ... - @property - def broadcast(self) -> Global___ExchangeRel.Broadcast: ... - @property - def advanced_extension(self) -> substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension: ... - def __init__( - self, - *, - common: Global___RelCommon | None = ..., - input: Global___Rel | None = ..., - partition_count: builtins.int = ..., - targets: collections.abc.Iterable[Global___ExchangeRel.ExchangeTarget] | None = ..., - scatter_by_fields: Global___ExchangeRel.ScatterFields | None = ..., - single_target: Global___ExchangeRel.SingleBucketExpression | None = ..., - multi_target: Global___ExchangeRel.MultiBucketExpression | None = ..., - round_robin: Global___ExchangeRel.RoundRobin | None = ..., - broadcast: Global___ExchangeRel.Broadcast | None = ..., - advanced_extension: substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension", "broadcast", b"broadcast", "common", b"common", "exchange_kind", b"exchange_kind", "input", b"input", "multi_target", b"multi_target", "round_robin", b"round_robin", "scatter_by_fields", b"scatter_by_fields", "single_target", b"single_target"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension", "broadcast", b"broadcast", "common", b"common", "exchange_kind", b"exchange_kind", "input", b"input", "multi_target", b"multi_target", "partition_count", b"partition_count", "round_robin", b"round_robin", "scatter_by_fields", b"scatter_by_fields", "single_target", b"single_target", "targets", b"targets"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["exchange_kind", b"exchange_kind"]) -> typing.Literal["scatter_by_fields", "single_target", "multi_target", "round_robin", "broadcast"] | None: ... - -Global___ExchangeRel: typing_extensions.TypeAlias = ExchangeRel - -@typing.final -class ExpandRel(google.protobuf.message.Message): - """Duplicates records by emitting one or more rows per input row. The number of rows emitted per - input row is the same for all input rows. - - In addition to a field being emitted per input field an extra int64 field is emitted which - contains a zero-indexed ordinal corresponding to the duplicate definition. - """ - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing.final - class ExpandField(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - SWITCHING_FIELD_FIELD_NUMBER: builtins.int - CONSISTENT_FIELD_FIELD_NUMBER: builtins.int - @property - def switching_field(self) -> Global___ExpandRel.SwitchingField: - """Field that switches output based on which duplicate is being output. Every - switching_field should contain the same number of duplicates (so that the output rows - are of consistent size and type). If there are not enough switching field definitions - to match the other field definitions NULL will be returned to fill the extras. - """ - - @property - def consistent_field(self) -> Global___Expression: - """Field that outputs the same value no matter which duplicate is being output. Equivalent - to a switching_field that lists the same expression multiple times. - """ - - def __init__( - self, - *, - switching_field: Global___ExpandRel.SwitchingField | None = ..., - consistent_field: Global___Expression | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["consistent_field", b"consistent_field", "field_type", b"field_type", "switching_field", b"switching_field"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["consistent_field", b"consistent_field", "field_type", b"field_type", "switching_field", b"switching_field"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["field_type", b"field_type"]) -> typing.Literal["switching_field", "consistent_field"] | None: ... - - @typing.final - class SwitchingField(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - DUPLICATES_FIELD_NUMBER: builtins.int - @property - def duplicates(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___Expression]: - """All duplicates must return the same type class but may differ in nullability. The effective - type of the output field will be nullable if any of the duplicate expressions are nullable. - """ - - def __init__( - self, - *, - duplicates: collections.abc.Iterable[Global___Expression] | None = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["duplicates", b"duplicates"]) -> None: ... - - COMMON_FIELD_NUMBER: builtins.int - INPUT_FIELD_NUMBER: builtins.int - FIELDS_FIELD_NUMBER: builtins.int - @property - def common(self) -> Global___RelCommon: ... - @property - def input(self) -> Global___Rel: ... - @property - def fields(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___ExpandRel.ExpandField]: - """There should be one definition here for each input field. Any fields beyond the provided - definitions will be emitted as is (as if a consistent_field record with an identity - expression was provided). - """ - - def __init__( - self, - *, - common: Global___RelCommon | None = ..., - input: Global___Rel | None = ..., - fields: collections.abc.Iterable[Global___ExpandRel.ExpandField] | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["common", b"common", "input", b"input"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["common", b"common", "fields", b"fields", "input", b"input"]) -> None: ... - -Global___ExpandRel: typing_extensions.TypeAlias = ExpandRel - -@typing.final -class RelRoot(google.protobuf.message.Message): - """A relation with output field names. - - This is for use at the root of a `Rel` tree. - """ - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - INPUT_FIELD_NUMBER: builtins.int - NAMES_FIELD_NUMBER: builtins.int - @property - def input(self) -> Global___Rel: - """A relation""" - - @property - def names(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: - """Field names in depth-first order""" - - def __init__( - self, - *, - input: Global___Rel | None = ..., - names: collections.abc.Iterable[builtins.str] | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["input", b"input"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["input", b"input", "names", b"names"]) -> None: ... - -Global___RelRoot: typing_extensions.TypeAlias = RelRoot - -@typing.final -class Rel(google.protobuf.message.Message): - """A relation (used internally in a plan)""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - READ_FIELD_NUMBER: builtins.int - FILTER_FIELD_NUMBER: builtins.int - FETCH_FIELD_NUMBER: builtins.int - AGGREGATE_FIELD_NUMBER: builtins.int - SORT_FIELD_NUMBER: builtins.int - JOIN_FIELD_NUMBER: builtins.int - PROJECT_FIELD_NUMBER: builtins.int - SET_FIELD_NUMBER: builtins.int - EXTENSION_SINGLE_FIELD_NUMBER: builtins.int - EXTENSION_MULTI_FIELD_NUMBER: builtins.int - EXTENSION_LEAF_FIELD_NUMBER: builtins.int - CROSS_FIELD_NUMBER: builtins.int - REFERENCE_FIELD_NUMBER: builtins.int - WRITE_FIELD_NUMBER: builtins.int - DDL_FIELD_NUMBER: builtins.int - UPDATE_FIELD_NUMBER: builtins.int - HASH_JOIN_FIELD_NUMBER: builtins.int - MERGE_JOIN_FIELD_NUMBER: builtins.int - NESTED_LOOP_JOIN_FIELD_NUMBER: builtins.int - WINDOW_FIELD_NUMBER: builtins.int - EXCHANGE_FIELD_NUMBER: builtins.int - EXPAND_FIELD_NUMBER: builtins.int - @property - def read(self) -> Global___ReadRel: ... - @property - def filter(self) -> Global___FilterRel: ... - @property - def fetch(self) -> Global___FetchRel: ... - @property - def aggregate(self) -> Global___AggregateRel: ... - @property - def sort(self) -> Global___SortRel: ... - @property - def join(self) -> Global___JoinRel: ... - @property - def project(self) -> Global___ProjectRel: ... - @property - def set(self) -> Global___SetRel: ... - @property - def extension_single(self) -> Global___ExtensionSingleRel: ... - @property - def extension_multi(self) -> Global___ExtensionMultiRel: ... - @property - def extension_leaf(self) -> Global___ExtensionLeafRel: ... - @property - def cross(self) -> Global___CrossRel: ... - @property - def reference(self) -> Global___ReferenceRel: ... - @property - def write(self) -> Global___WriteRel: ... - @property - def ddl(self) -> Global___DdlRel: ... - @property - def update(self) -> Global___UpdateRel: ... - @property - def hash_join(self) -> Global___HashJoinRel: - """Physical relations""" - - @property - def merge_join(self) -> Global___MergeJoinRel: ... - @property - def nested_loop_join(self) -> Global___NestedLoopJoinRel: ... - @property - def window(self) -> Global___ConsistentPartitionWindowRel: ... - @property - def exchange(self) -> Global___ExchangeRel: ... - @property - def expand(self) -> Global___ExpandRel: ... - def __init__( - self, - *, - read: Global___ReadRel | None = ..., - filter: Global___FilterRel | None = ..., - fetch: Global___FetchRel | None = ..., - aggregate: Global___AggregateRel | None = ..., - sort: Global___SortRel | None = ..., - join: Global___JoinRel | None = ..., - project: Global___ProjectRel | None = ..., - set: Global___SetRel | None = ..., - extension_single: Global___ExtensionSingleRel | None = ..., - extension_multi: Global___ExtensionMultiRel | None = ..., - extension_leaf: Global___ExtensionLeafRel | None = ..., - cross: Global___CrossRel | None = ..., - reference: Global___ReferenceRel | None = ..., - write: Global___WriteRel | None = ..., - ddl: Global___DdlRel | None = ..., - update: Global___UpdateRel | None = ..., - hash_join: Global___HashJoinRel | None = ..., - merge_join: Global___MergeJoinRel | None = ..., - nested_loop_join: Global___NestedLoopJoinRel | None = ..., - window: Global___ConsistentPartitionWindowRel | None = ..., - exchange: Global___ExchangeRel | None = ..., - expand: Global___ExpandRel | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["aggregate", b"aggregate", "cross", b"cross", "ddl", b"ddl", "exchange", b"exchange", "expand", b"expand", "extension_leaf", b"extension_leaf", "extension_multi", b"extension_multi", "extension_single", b"extension_single", "fetch", b"fetch", "filter", b"filter", "hash_join", b"hash_join", "join", b"join", "merge_join", b"merge_join", "nested_loop_join", b"nested_loop_join", "project", b"project", "read", b"read", "reference", b"reference", "rel_type", b"rel_type", "set", b"set", "sort", b"sort", "update", b"update", "window", b"window", "write", b"write"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["aggregate", b"aggregate", "cross", b"cross", "ddl", b"ddl", "exchange", b"exchange", "expand", b"expand", "extension_leaf", b"extension_leaf", "extension_multi", b"extension_multi", "extension_single", b"extension_single", "fetch", b"fetch", "filter", b"filter", "hash_join", b"hash_join", "join", b"join", "merge_join", b"merge_join", "nested_loop_join", b"nested_loop_join", "project", b"project", "read", b"read", "reference", b"reference", "rel_type", b"rel_type", "set", b"set", "sort", b"sort", "update", b"update", "window", b"window", "write", b"write"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["rel_type", b"rel_type"]) -> typing.Literal["read", "filter", "fetch", "aggregate", "sort", "join", "project", "set", "extension_single", "extension_multi", "extension_leaf", "cross", "reference", "write", "ddl", "update", "hash_join", "merge_join", "nested_loop_join", "window", "exchange", "expand"] | None: ... - -Global___Rel: typing_extensions.TypeAlias = Rel - -@typing.final -class NamedObjectWrite(google.protobuf.message.Message): - """A base object for writing (e.g., a table or a view).""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - NAMES_FIELD_NUMBER: builtins.int - ADVANCED_EXTENSION_FIELD_NUMBER: builtins.int - @property - def names(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: - """The list of string is used to represent namespacing (e.g., mydb.mytable). - This assumes shared catalog between systems exchanging a message. - """ - - @property - def advanced_extension(self) -> substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension: ... - def __init__( - self, - *, - names: collections.abc.Iterable[builtins.str] | None = ..., - advanced_extension: substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension", "names", b"names"]) -> None: ... - -Global___NamedObjectWrite: typing_extensions.TypeAlias = NamedObjectWrite - -@typing.final -class ExtensionObject(google.protobuf.message.Message): - """A stub type that can be used to extend/introduce new table types outside - the specification. - """ - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - DETAIL_FIELD_NUMBER: builtins.int - @property - def detail(self) -> google.protobuf.any_pb2.Any: ... - def __init__( - self, - *, - detail: google.protobuf.any_pb2.Any | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["detail", b"detail"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["detail", b"detail"]) -> None: ... - -Global___ExtensionObject: typing_extensions.TypeAlias = ExtensionObject - -@typing.final -class DdlRel(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _DdlObject: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _DdlObjectEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[DdlRel._DdlObject.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - DDL_OBJECT_UNSPECIFIED: DdlRel._DdlObject.ValueType # 0 - DDL_OBJECT_TABLE: DdlRel._DdlObject.ValueType # 1 - """A Table object in the system""" - DDL_OBJECT_VIEW: DdlRel._DdlObject.ValueType # 2 - """A View object in the system""" - - class DdlObject(_DdlObject, metaclass=_DdlObjectEnumTypeWrapper): ... - DDL_OBJECT_UNSPECIFIED: DdlRel.DdlObject.ValueType # 0 - DDL_OBJECT_TABLE: DdlRel.DdlObject.ValueType # 1 - """A Table object in the system""" - DDL_OBJECT_VIEW: DdlRel.DdlObject.ValueType # 2 - """A View object in the system""" - - class _DdlOp: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _DdlOpEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[DdlRel._DdlOp.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - DDL_OP_UNSPECIFIED: DdlRel._DdlOp.ValueType # 0 - DDL_OP_CREATE: DdlRel._DdlOp.ValueType # 1 - """A create operation (for any object)""" - DDL_OP_CREATE_OR_REPLACE: DdlRel._DdlOp.ValueType # 2 - """A create operation if the object does not exist, or replaces it (equivalent to a DROP + CREATE) if the object already exists""" - DDL_OP_ALTER: DdlRel._DdlOp.ValueType # 3 - """An operation that modifies the schema (e.g., column names, types, default values) for the target object""" - DDL_OP_DROP: DdlRel._DdlOp.ValueType # 4 - """An operation that removes an object from the system""" - DDL_OP_DROP_IF_EXIST: DdlRel._DdlOp.ValueType # 5 - """An operation that removes an object from the system (without throwing an exception if the object did not exist)""" - - class DdlOp(_DdlOp, metaclass=_DdlOpEnumTypeWrapper): ... - DDL_OP_UNSPECIFIED: DdlRel.DdlOp.ValueType # 0 - DDL_OP_CREATE: DdlRel.DdlOp.ValueType # 1 - """A create operation (for any object)""" - DDL_OP_CREATE_OR_REPLACE: DdlRel.DdlOp.ValueType # 2 - """A create operation if the object does not exist, or replaces it (equivalent to a DROP + CREATE) if the object already exists""" - DDL_OP_ALTER: DdlRel.DdlOp.ValueType # 3 - """An operation that modifies the schema (e.g., column names, types, default values) for the target object""" - DDL_OP_DROP: DdlRel.DdlOp.ValueType # 4 - """An operation that removes an object from the system""" - DDL_OP_DROP_IF_EXIST: DdlRel.DdlOp.ValueType # 5 - """An operation that removes an object from the system (without throwing an exception if the object did not exist)""" - - NAMED_OBJECT_FIELD_NUMBER: builtins.int - EXTENSION_OBJECT_FIELD_NUMBER: builtins.int - TABLE_SCHEMA_FIELD_NUMBER: builtins.int - TABLE_DEFAULTS_FIELD_NUMBER: builtins.int - OBJECT_FIELD_NUMBER: builtins.int - OP_FIELD_NUMBER: builtins.int - VIEW_DEFINITION_FIELD_NUMBER: builtins.int - COMMON_FIELD_NUMBER: builtins.int - ADVANCED_EXTENSION_FIELD_NUMBER: builtins.int - object: Global___DdlRel.DdlObject.ValueType - """Which type of object we operate on""" - op: Global___DdlRel.DdlOp.ValueType - """The type of operation to perform""" - @property - def named_object(self) -> Global___NamedObjectWrite: ... - @property - def extension_object(self) -> Global___ExtensionObject: ... - @property - def table_schema(self) -> substrait.gen.proto.type_pb2.NamedStruct: - """The columns that will be modified (representing after-image of a schema change)""" - - @property - def table_defaults(self) -> Global___Expression.Literal.Struct: - """The default values for the columns (representing after-image of a schema change) - E.g., in case of an ALTER TABLE that changes some of the column default values, we expect - the table_defaults Struct to report a full list of default values reflecting the result of applying - the ALTER TABLE operator successfully - """ - - @property - def view_definition(self) -> Global___Rel: - """The body of the CREATE VIEW""" - - @property - def common(self) -> Global___RelCommon: ... - @property - def advanced_extension(self) -> substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension: ... - def __init__( - self, - *, - named_object: Global___NamedObjectWrite | None = ..., - extension_object: Global___ExtensionObject | None = ..., - table_schema: substrait.gen.proto.type_pb2.NamedStruct | None = ..., - table_defaults: Global___Expression.Literal.Struct | None = ..., - object: Global___DdlRel.DdlObject.ValueType = ..., - op: Global___DdlRel.DdlOp.ValueType = ..., - view_definition: Global___Rel | None = ..., - common: Global___RelCommon | None = ..., - advanced_extension: substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension", "common", b"common", "extension_object", b"extension_object", "named_object", b"named_object", "table_defaults", b"table_defaults", "table_schema", b"table_schema", "view_definition", b"view_definition", "write_type", b"write_type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension", "common", b"common", "extension_object", b"extension_object", "named_object", b"named_object", "object", b"object", "op", b"op", "table_defaults", b"table_defaults", "table_schema", b"table_schema", "view_definition", b"view_definition", "write_type", b"write_type"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["write_type", b"write_type"]) -> typing.Literal["named_object", "extension_object"] | None: ... - -Global___DdlRel: typing_extensions.TypeAlias = DdlRel - -@typing.final -class WriteRel(google.protobuf.message.Message): - """The operator that modifies the content of a database (operates on 1 table at a time, but record-selection/source can be - based on joining of multiple tables). - """ - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _WriteOp: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _WriteOpEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[WriteRel._WriteOp.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - WRITE_OP_UNSPECIFIED: WriteRel._WriteOp.ValueType # 0 - WRITE_OP_INSERT: WriteRel._WriteOp.ValueType # 1 - """The insert of new records in a table""" - WRITE_OP_DELETE: WriteRel._WriteOp.ValueType # 2 - """The removal of records from a table""" - WRITE_OP_UPDATE: WriteRel._WriteOp.ValueType # 3 - """The modification of existing records within a table""" - WRITE_OP_CTAS: WriteRel._WriteOp.ValueType # 4 - """The Creation of a new table, and the insert of new records in the table""" - - class WriteOp(_WriteOp, metaclass=_WriteOpEnumTypeWrapper): ... - WRITE_OP_UNSPECIFIED: WriteRel.WriteOp.ValueType # 0 - WRITE_OP_INSERT: WriteRel.WriteOp.ValueType # 1 - """The insert of new records in a table""" - WRITE_OP_DELETE: WriteRel.WriteOp.ValueType # 2 - """The removal of records from a table""" - WRITE_OP_UPDATE: WriteRel.WriteOp.ValueType # 3 - """The modification of existing records within a table""" - WRITE_OP_CTAS: WriteRel.WriteOp.ValueType # 4 - """The Creation of a new table, and the insert of new records in the table""" - - class _CreateMode: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _CreateModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[WriteRel._CreateMode.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - CREATE_MODE_UNSPECIFIED: WriteRel._CreateMode.ValueType # 0 - CREATE_MODE_APPEND_IF_EXISTS: WriteRel._CreateMode.ValueType # 1 - """Append the data to the table if it already exists""" - CREATE_MODE_REPLACE_IF_EXISTS: WriteRel._CreateMode.ValueType # 2 - """Replace the table if it already exists ("OR REPLACE")""" - CREATE_MODE_IGNORE_IF_EXISTS: WriteRel._CreateMode.ValueType # 3 - """Ignore the request if the table already exists ("IF NOT EXISTS")""" - CREATE_MODE_ERROR_IF_EXISTS: WriteRel._CreateMode.ValueType # 4 - """Throw an error if the table already exists (default behavior)""" - - class CreateMode(_CreateMode, metaclass=_CreateModeEnumTypeWrapper): ... - CREATE_MODE_UNSPECIFIED: WriteRel.CreateMode.ValueType # 0 - CREATE_MODE_APPEND_IF_EXISTS: WriteRel.CreateMode.ValueType # 1 - """Append the data to the table if it already exists""" - CREATE_MODE_REPLACE_IF_EXISTS: WriteRel.CreateMode.ValueType # 2 - """Replace the table if it already exists ("OR REPLACE")""" - CREATE_MODE_IGNORE_IF_EXISTS: WriteRel.CreateMode.ValueType # 3 - """Ignore the request if the table already exists ("IF NOT EXISTS")""" - CREATE_MODE_ERROR_IF_EXISTS: WriteRel.CreateMode.ValueType # 4 - """Throw an error if the table already exists (default behavior)""" - - class _OutputMode: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _OutputModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[WriteRel._OutputMode.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - OUTPUT_MODE_UNSPECIFIED: WriteRel._OutputMode.ValueType # 0 - OUTPUT_MODE_NO_OUTPUT: WriteRel._OutputMode.ValueType # 1 - """return no records at all""" - OUTPUT_MODE_MODIFIED_RECORDS: WriteRel._OutputMode.ValueType # 2 - """this mode makes the operator return all the record INSERTED/DELETED/UPDATED by the operator. - The operator returns the AFTER-image of any change. This can be further manipulated by operators upstreams - (e.g., retunring the typical "count of modified records"). - For scenarios in which the BEFORE image is required, the user must implement a spool (via references to - subplans in the body of the Rel input) and return those with anounter PlanRel.relations. - """ - - class OutputMode(_OutputMode, metaclass=_OutputModeEnumTypeWrapper): ... - OUTPUT_MODE_UNSPECIFIED: WriteRel.OutputMode.ValueType # 0 - OUTPUT_MODE_NO_OUTPUT: WriteRel.OutputMode.ValueType # 1 - """return no records at all""" - OUTPUT_MODE_MODIFIED_RECORDS: WriteRel.OutputMode.ValueType # 2 - """this mode makes the operator return all the record INSERTED/DELETED/UPDATED by the operator. - The operator returns the AFTER-image of any change. This can be further manipulated by operators upstreams - (e.g., retunring the typical "count of modified records"). - For scenarios in which the BEFORE image is required, the user must implement a spool (via references to - subplans in the body of the Rel input) and return those with anounter PlanRel.relations. - """ - - NAMED_TABLE_FIELD_NUMBER: builtins.int - EXTENSION_TABLE_FIELD_NUMBER: builtins.int - TABLE_SCHEMA_FIELD_NUMBER: builtins.int - OP_FIELD_NUMBER: builtins.int - INPUT_FIELD_NUMBER: builtins.int - CREATE_MODE_FIELD_NUMBER: builtins.int - OUTPUT_FIELD_NUMBER: builtins.int - COMMON_FIELD_NUMBER: builtins.int - ADVANCED_EXTENSION_FIELD_NUMBER: builtins.int - op: Global___WriteRel.WriteOp.ValueType - """The type of operation to perform""" - create_mode: Global___WriteRel.CreateMode.ValueType - """Used with CTAS to determine what to do if the table already exists""" - output: Global___WriteRel.OutputMode.ValueType - """Output mode determines what is the output of executing this rel""" - @property - def named_table(self) -> Global___NamedObjectWrite: ... - @property - def extension_table(self) -> Global___ExtensionObject: ... - @property - def table_schema(self) -> substrait.gen.proto.type_pb2.NamedStruct: - """The schema of the table (must align with Rel input (e.g., number of leaf fields must match))""" - - @property - def input(self) -> Global___Rel: - """The relation that determines the records to add/remove/modify - the schema must match with table_schema. Default values must be explicitly stated - in a ProjectRel at the top of the input. The match must also - occur in case of DELETE to ensure multi-engine plans are unequivocal. - """ - - @property - def common(self) -> Global___RelCommon: ... - @property - def advanced_extension(self) -> substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension: ... - def __init__( - self, - *, - named_table: Global___NamedObjectWrite | None = ..., - extension_table: Global___ExtensionObject | None = ..., - table_schema: substrait.gen.proto.type_pb2.NamedStruct | None = ..., - op: Global___WriteRel.WriteOp.ValueType = ..., - input: Global___Rel | None = ..., - create_mode: Global___WriteRel.CreateMode.ValueType = ..., - output: Global___WriteRel.OutputMode.ValueType = ..., - common: Global___RelCommon | None = ..., - advanced_extension: substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension", "common", b"common", "extension_table", b"extension_table", "input", b"input", "named_table", b"named_table", "table_schema", b"table_schema", "write_type", b"write_type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension", "common", b"common", "create_mode", b"create_mode", "extension_table", b"extension_table", "input", b"input", "named_table", b"named_table", "op", b"op", "output", b"output", "table_schema", b"table_schema", "write_type", b"write_type"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["write_type", b"write_type"]) -> typing.Literal["named_table", "extension_table"] | None: ... - -Global___WriteRel: typing_extensions.TypeAlias = WriteRel - -@typing.final -class UpdateRel(google.protobuf.message.Message): - """The operator that modifies the columns of a table""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing.final - class TransformExpression(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TRANSFORMATION_FIELD_NUMBER: builtins.int - COLUMN_TARGET_FIELD_NUMBER: builtins.int - column_target: builtins.int - """index of the column to apply the transformation to""" - @property - def transformation(self) -> Global___Expression: - """the transformation to apply""" - - def __init__( - self, - *, - transformation: Global___Expression | None = ..., - column_target: builtins.int = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["transformation", b"transformation"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["column_target", b"column_target", "transformation", b"transformation"]) -> None: ... - - NAMED_TABLE_FIELD_NUMBER: builtins.int - TABLE_SCHEMA_FIELD_NUMBER: builtins.int - CONDITION_FIELD_NUMBER: builtins.int - TRANSFORMATIONS_FIELD_NUMBER: builtins.int - ADVANCED_EXTENSION_FIELD_NUMBER: builtins.int - @property - def named_table(self) -> Global___NamedTable: ... - @property - def table_schema(self) -> substrait.gen.proto.type_pb2.NamedStruct: - """The full schema of the named_table""" - - @property - def condition(self) -> Global___Expression: - """condition to be met for the update to be applied on a record""" - - @property - def transformations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___UpdateRel.TransformExpression]: - """The list of transformations to apply to the columns of the named_table""" - - @property - def advanced_extension(self) -> substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension: ... - def __init__( - self, - *, - named_table: Global___NamedTable | None = ..., - table_schema: substrait.gen.proto.type_pb2.NamedStruct | None = ..., - condition: Global___Expression | None = ..., - transformations: collections.abc.Iterable[Global___UpdateRel.TransformExpression] | None = ..., - advanced_extension: substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension", "condition", b"condition", "named_table", b"named_table", "table_schema", b"table_schema", "update_type", b"update_type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension", "condition", b"condition", "named_table", b"named_table", "table_schema", b"table_schema", "transformations", b"transformations", "update_type", b"update_type"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["update_type", b"update_type"]) -> typing.Literal["named_table"] | None: ... - -Global___UpdateRel: typing_extensions.TypeAlias = UpdateRel - -@typing.final -class NamedTable(google.protobuf.message.Message): - """A base table. The list of string is used to represent namespacing (e.g., mydb.mytable). - This assumes shared catalog between systems exchanging a message. - """ - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - NAMES_FIELD_NUMBER: builtins.int - ADVANCED_EXTENSION_FIELD_NUMBER: builtins.int - @property - def names(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... - @property - def advanced_extension(self) -> substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension: ... - def __init__( - self, - *, - names: collections.abc.Iterable[builtins.str] | None = ..., - advanced_extension: substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension", "names", b"names"]) -> None: ... - -Global___NamedTable: typing_extensions.TypeAlias = NamedTable - -@typing.final -class ComparisonJoinKey(google.protobuf.message.Message): - """Hash joins and merge joins are a specialization of the general join where the join - expression is an series of comparisons between fields that are ANDed together. The - behavior of this comparison is flexible - """ - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _SimpleComparisonType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _SimpleComparisonTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ComparisonJoinKey._SimpleComparisonType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - SIMPLE_COMPARISON_TYPE_UNSPECIFIED: ComparisonJoinKey._SimpleComparisonType.ValueType # 0 - SIMPLE_COMPARISON_TYPE_EQ: ComparisonJoinKey._SimpleComparisonType.ValueType # 1 - """Returns true only if both values are equal and not null""" - SIMPLE_COMPARISON_TYPE_IS_NOT_DISTINCT_FROM: ComparisonJoinKey._SimpleComparisonType.ValueType # 2 - """Returns true if both values are equal and not null - Returns true if both values are null - Returns false if one value is null and the other value is not null - - This can be expressed as a = b OR (isnull(a) AND isnull(b)) - """ - SIMPLE_COMPARISON_TYPE_MIGHT_EQUAL: ComparisonJoinKey._SimpleComparisonType.ValueType # 3 - """Returns true if both values are equal and not null - Returns true if either value is null - - This can be expressed as a = b OR isnull(a = b) - """ - - class SimpleComparisonType(_SimpleComparisonType, metaclass=_SimpleComparisonTypeEnumTypeWrapper): - """Most joins will use one of the following behaviors. To avoid the complexity - of a function lookup we define the common behaviors here - """ - - SIMPLE_COMPARISON_TYPE_UNSPECIFIED: ComparisonJoinKey.SimpleComparisonType.ValueType # 0 - SIMPLE_COMPARISON_TYPE_EQ: ComparisonJoinKey.SimpleComparisonType.ValueType # 1 - """Returns true only if both values are equal and not null""" - SIMPLE_COMPARISON_TYPE_IS_NOT_DISTINCT_FROM: ComparisonJoinKey.SimpleComparisonType.ValueType # 2 - """Returns true if both values are equal and not null - Returns true if both values are null - Returns false if one value is null and the other value is not null - - This can be expressed as a = b OR (isnull(a) AND isnull(b)) - """ - SIMPLE_COMPARISON_TYPE_MIGHT_EQUAL: ComparisonJoinKey.SimpleComparisonType.ValueType # 3 - """Returns true if both values are equal and not null - Returns true if either value is null - - This can be expressed as a = b OR isnull(a = b) - """ - - @typing.final - class ComparisonType(google.protobuf.message.Message): - """Describes how the relation should consider if two rows are a match""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - SIMPLE_FIELD_NUMBER: builtins.int - CUSTOM_FUNCTION_REFERENCE_FIELD_NUMBER: builtins.int - simple: Global___ComparisonJoinKey.SimpleComparisonType.ValueType - """One of the simple comparison behaviors is used""" - custom_function_reference: builtins.int - """A custom comparison behavior is used. This can happen, for example, when using - collations, where we might want to do something like a case-insensitive comparison. - - This must be a binary function with a boolean return type - """ - def __init__( - self, - *, - simple: Global___ComparisonJoinKey.SimpleComparisonType.ValueType = ..., - custom_function_reference: builtins.int = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["custom_function_reference", b"custom_function_reference", "inner_type", b"inner_type", "simple", b"simple"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["custom_function_reference", b"custom_function_reference", "inner_type", b"inner_type", "simple", b"simple"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["inner_type", b"inner_type"]) -> typing.Literal["simple", "custom_function_reference"] | None: ... - - LEFT_FIELD_NUMBER: builtins.int - RIGHT_FIELD_NUMBER: builtins.int - COMPARISON_FIELD_NUMBER: builtins.int - @property - def left(self) -> Global___Expression.FieldReference: - """The key to compare from the left table""" - - @property - def right(self) -> Global___Expression.FieldReference: - """The key to compare from the right table""" - - @property - def comparison(self) -> Global___ComparisonJoinKey.ComparisonType: - """Describes how to compare the two keys""" - - def __init__( - self, - *, - left: Global___Expression.FieldReference | None = ..., - right: Global___Expression.FieldReference | None = ..., - comparison: Global___ComparisonJoinKey.ComparisonType | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["comparison", b"comparison", "left", b"left", "right", b"right"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["comparison", b"comparison", "left", b"left", "right", b"right"]) -> None: ... - -Global___ComparisonJoinKey: typing_extensions.TypeAlias = ComparisonJoinKey - -@typing.final -class HashJoinRel(google.protobuf.message.Message): - """The hash equijoin operator will build a hash table out of one input (default `right`) based on a set of join keys. - It will then probe that hash table for the other input (default `left`), finding matches. - - Two rows are a match if the comparison function returns true for all keys - """ - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _JoinType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _JoinTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[HashJoinRel._JoinType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - JOIN_TYPE_UNSPECIFIED: HashJoinRel._JoinType.ValueType # 0 - JOIN_TYPE_INNER: HashJoinRel._JoinType.ValueType # 1 - JOIN_TYPE_OUTER: HashJoinRel._JoinType.ValueType # 2 - JOIN_TYPE_LEFT: HashJoinRel._JoinType.ValueType # 3 - JOIN_TYPE_RIGHT: HashJoinRel._JoinType.ValueType # 4 - JOIN_TYPE_LEFT_SEMI: HashJoinRel._JoinType.ValueType # 5 - JOIN_TYPE_RIGHT_SEMI: HashJoinRel._JoinType.ValueType # 6 - JOIN_TYPE_LEFT_ANTI: HashJoinRel._JoinType.ValueType # 7 - JOIN_TYPE_RIGHT_ANTI: HashJoinRel._JoinType.ValueType # 8 - JOIN_TYPE_LEFT_SINGLE: HashJoinRel._JoinType.ValueType # 9 - JOIN_TYPE_RIGHT_SINGLE: HashJoinRel._JoinType.ValueType # 10 - JOIN_TYPE_LEFT_MARK: HashJoinRel._JoinType.ValueType # 11 - JOIN_TYPE_RIGHT_MARK: HashJoinRel._JoinType.ValueType # 12 - - class JoinType(_JoinType, metaclass=_JoinTypeEnumTypeWrapper): ... - JOIN_TYPE_UNSPECIFIED: HashJoinRel.JoinType.ValueType # 0 - JOIN_TYPE_INNER: HashJoinRel.JoinType.ValueType # 1 - JOIN_TYPE_OUTER: HashJoinRel.JoinType.ValueType # 2 - JOIN_TYPE_LEFT: HashJoinRel.JoinType.ValueType # 3 - JOIN_TYPE_RIGHT: HashJoinRel.JoinType.ValueType # 4 - JOIN_TYPE_LEFT_SEMI: HashJoinRel.JoinType.ValueType # 5 - JOIN_TYPE_RIGHT_SEMI: HashJoinRel.JoinType.ValueType # 6 - JOIN_TYPE_LEFT_ANTI: HashJoinRel.JoinType.ValueType # 7 - JOIN_TYPE_RIGHT_ANTI: HashJoinRel.JoinType.ValueType # 8 - JOIN_TYPE_LEFT_SINGLE: HashJoinRel.JoinType.ValueType # 9 - JOIN_TYPE_RIGHT_SINGLE: HashJoinRel.JoinType.ValueType # 10 - JOIN_TYPE_LEFT_MARK: HashJoinRel.JoinType.ValueType # 11 - JOIN_TYPE_RIGHT_MARK: HashJoinRel.JoinType.ValueType # 12 - - class _BuildInput: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _BuildInputEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[HashJoinRel._BuildInput.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - BUILD_INPUT_UNSPECIFIED: HashJoinRel._BuildInput.ValueType # 0 - BUILD_INPUT_LEFT: HashJoinRel._BuildInput.ValueType # 1 - BUILD_INPUT_RIGHT: HashJoinRel._BuildInput.ValueType # 2 - - class BuildInput(_BuildInput, metaclass=_BuildInputEnumTypeWrapper): ... - BUILD_INPUT_UNSPECIFIED: HashJoinRel.BuildInput.ValueType # 0 - BUILD_INPUT_LEFT: HashJoinRel.BuildInput.ValueType # 1 - BUILD_INPUT_RIGHT: HashJoinRel.BuildInput.ValueType # 2 - - COMMON_FIELD_NUMBER: builtins.int - LEFT_FIELD_NUMBER: builtins.int - RIGHT_FIELD_NUMBER: builtins.int - LEFT_KEYS_FIELD_NUMBER: builtins.int - RIGHT_KEYS_FIELD_NUMBER: builtins.int - KEYS_FIELD_NUMBER: builtins.int - POST_JOIN_FILTER_FIELD_NUMBER: builtins.int - TYPE_FIELD_NUMBER: builtins.int - BUILD_INPUT_FIELD_NUMBER: builtins.int - ADVANCED_EXTENSION_FIELD_NUMBER: builtins.int - type: Global___HashJoinRel.JoinType.ValueType - build_input: Global___HashJoinRel.BuildInput.ValueType - """Specifies which side of input to build the hash table for this hash join. Default is `BUILD_INPUT_RIGHT`.""" - @property - def common(self) -> Global___RelCommon: ... - @property - def left(self) -> Global___Rel: ... - @property - def right(self) -> Global___Rel: ... - @property - def left_keys(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___Expression.FieldReference]: - """These fields are deprecated in favor of `keys`. If they are set then - the two lists (left_keys and right_keys) must have the same length and - the comparion function is considered to be SimpleEqualityType::EQ - """ - - @property - def right_keys(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___Expression.FieldReference]: ... - @property - def keys(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___ComparisonJoinKey]: - """One or more keys to join on. The relation is invalid if this is empty - (unless the deprecated left_keys/right_keys fields are being used). - - If a custom comparison function is used then it must be consistent with - the hash function used for the keys. - - In other words, the hash function must return the same hash code when the - comparison returns true. For example, if the comparison function is - "equals ignoring case" then the hash function must return the same hash - code for strings that differ only by case. Note: the hash function is not - specified here. It is the responsibility of the consumer to find an appropriate - hash function for a given comparsion function or to reject the plan if it cannot - do so. - """ - - @property - def post_join_filter(self) -> Global___Expression: ... - @property - def advanced_extension(self) -> substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension: ... - def __init__( - self, - *, - common: Global___RelCommon | None = ..., - left: Global___Rel | None = ..., - right: Global___Rel | None = ..., - left_keys: collections.abc.Iterable[Global___Expression.FieldReference] | None = ..., - right_keys: collections.abc.Iterable[Global___Expression.FieldReference] | None = ..., - keys: collections.abc.Iterable[Global___ComparisonJoinKey] | None = ..., - post_join_filter: Global___Expression | None = ..., - type: Global___HashJoinRel.JoinType.ValueType = ..., - build_input: Global___HashJoinRel.BuildInput.ValueType = ..., - advanced_extension: substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension", "common", b"common", "left", b"left", "post_join_filter", b"post_join_filter", "right", b"right"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension", "build_input", b"build_input", "common", b"common", "keys", b"keys", "left", b"left", "left_keys", b"left_keys", "post_join_filter", b"post_join_filter", "right", b"right", "right_keys", b"right_keys", "type", b"type"]) -> None: ... - -Global___HashJoinRel: typing_extensions.TypeAlias = HashJoinRel - -@typing.final -class MergeJoinRel(google.protobuf.message.Message): - """The merge equijoin does a join by taking advantage of two sets that are sorted on the join keys. - This allows the join operation to be done in a streaming fashion. - """ - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _JoinType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _JoinTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[MergeJoinRel._JoinType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - JOIN_TYPE_UNSPECIFIED: MergeJoinRel._JoinType.ValueType # 0 - JOIN_TYPE_INNER: MergeJoinRel._JoinType.ValueType # 1 - JOIN_TYPE_OUTER: MergeJoinRel._JoinType.ValueType # 2 - JOIN_TYPE_LEFT: MergeJoinRel._JoinType.ValueType # 3 - JOIN_TYPE_RIGHT: MergeJoinRel._JoinType.ValueType # 4 - JOIN_TYPE_LEFT_SEMI: MergeJoinRel._JoinType.ValueType # 5 - JOIN_TYPE_RIGHT_SEMI: MergeJoinRel._JoinType.ValueType # 6 - JOIN_TYPE_LEFT_ANTI: MergeJoinRel._JoinType.ValueType # 7 - JOIN_TYPE_RIGHT_ANTI: MergeJoinRel._JoinType.ValueType # 8 - JOIN_TYPE_LEFT_SINGLE: MergeJoinRel._JoinType.ValueType # 9 - JOIN_TYPE_RIGHT_SINGLE: MergeJoinRel._JoinType.ValueType # 10 - JOIN_TYPE_LEFT_MARK: MergeJoinRel._JoinType.ValueType # 11 - JOIN_TYPE_RIGHT_MARK: MergeJoinRel._JoinType.ValueType # 12 - - class JoinType(_JoinType, metaclass=_JoinTypeEnumTypeWrapper): ... - JOIN_TYPE_UNSPECIFIED: MergeJoinRel.JoinType.ValueType # 0 - JOIN_TYPE_INNER: MergeJoinRel.JoinType.ValueType # 1 - JOIN_TYPE_OUTER: MergeJoinRel.JoinType.ValueType # 2 - JOIN_TYPE_LEFT: MergeJoinRel.JoinType.ValueType # 3 - JOIN_TYPE_RIGHT: MergeJoinRel.JoinType.ValueType # 4 - JOIN_TYPE_LEFT_SEMI: MergeJoinRel.JoinType.ValueType # 5 - JOIN_TYPE_RIGHT_SEMI: MergeJoinRel.JoinType.ValueType # 6 - JOIN_TYPE_LEFT_ANTI: MergeJoinRel.JoinType.ValueType # 7 - JOIN_TYPE_RIGHT_ANTI: MergeJoinRel.JoinType.ValueType # 8 - JOIN_TYPE_LEFT_SINGLE: MergeJoinRel.JoinType.ValueType # 9 - JOIN_TYPE_RIGHT_SINGLE: MergeJoinRel.JoinType.ValueType # 10 - JOIN_TYPE_LEFT_MARK: MergeJoinRel.JoinType.ValueType # 11 - JOIN_TYPE_RIGHT_MARK: MergeJoinRel.JoinType.ValueType # 12 - - COMMON_FIELD_NUMBER: builtins.int - LEFT_FIELD_NUMBER: builtins.int - RIGHT_FIELD_NUMBER: builtins.int - LEFT_KEYS_FIELD_NUMBER: builtins.int - RIGHT_KEYS_FIELD_NUMBER: builtins.int - KEYS_FIELD_NUMBER: builtins.int - POST_JOIN_FILTER_FIELD_NUMBER: builtins.int - TYPE_FIELD_NUMBER: builtins.int - ADVANCED_EXTENSION_FIELD_NUMBER: builtins.int - type: Global___MergeJoinRel.JoinType.ValueType - @property - def common(self) -> Global___RelCommon: ... - @property - def left(self) -> Global___Rel: ... - @property - def right(self) -> Global___Rel: ... - @property - def left_keys(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___Expression.FieldReference]: - """These fields are deprecated in favor of `keys`. If they are set then - the two lists (left_keys and right_keys) must have the same length and - the comparion function is considered to be SimpleEqualityType::EQ - """ - - @property - def right_keys(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___Expression.FieldReference]: ... - @property - def keys(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___ComparisonJoinKey]: - """One or more keys to join on. The relation is invalid if this is empty - (unless the deprecated left_keys/right_keys fields are being used). - - If a custom comparison function is used then it must be consistent with - the ordering of the input data. For example, if the comparison function - is "<" then we generally expect the data to be sorted in ascending order. - - If the comparison function is something like "less than ignoring case" then - the data should be sorted appropriately (e.g. both "A" and "a" should come - before "b") - - The sort order is not specified here. It is typically the responsibility of - the producer to ensure the plan sorts the data if needed (although the consumer - is free to do so as well). If possible, the consumer should verify the sort - order and reject invalid plans. - """ - - @property - def post_join_filter(self) -> Global___Expression: ... - @property - def advanced_extension(self) -> substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension: ... - def __init__( - self, - *, - common: Global___RelCommon | None = ..., - left: Global___Rel | None = ..., - right: Global___Rel | None = ..., - left_keys: collections.abc.Iterable[Global___Expression.FieldReference] | None = ..., - right_keys: collections.abc.Iterable[Global___Expression.FieldReference] | None = ..., - keys: collections.abc.Iterable[Global___ComparisonJoinKey] | None = ..., - post_join_filter: Global___Expression | None = ..., - type: Global___MergeJoinRel.JoinType.ValueType = ..., - advanced_extension: substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension", "common", b"common", "left", b"left", "post_join_filter", b"post_join_filter", "right", b"right"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension", "common", b"common", "keys", b"keys", "left", b"left", "left_keys", b"left_keys", "post_join_filter", b"post_join_filter", "right", b"right", "right_keys", b"right_keys", "type", b"type"]) -> None: ... - -Global___MergeJoinRel: typing_extensions.TypeAlias = MergeJoinRel - -@typing.final -class NestedLoopJoinRel(google.protobuf.message.Message): - """The nested loop join (NLJ) operator will hold the entire right input and iterate over it using the - left input, evaluating the join expression on the Cartesian product of all rows. - """ - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _JoinType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _JoinTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[NestedLoopJoinRel._JoinType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - JOIN_TYPE_UNSPECIFIED: NestedLoopJoinRel._JoinType.ValueType # 0 - JOIN_TYPE_INNER: NestedLoopJoinRel._JoinType.ValueType # 1 - JOIN_TYPE_OUTER: NestedLoopJoinRel._JoinType.ValueType # 2 - JOIN_TYPE_LEFT: NestedLoopJoinRel._JoinType.ValueType # 3 - JOIN_TYPE_RIGHT: NestedLoopJoinRel._JoinType.ValueType # 4 - JOIN_TYPE_LEFT_SEMI: NestedLoopJoinRel._JoinType.ValueType # 5 - JOIN_TYPE_RIGHT_SEMI: NestedLoopJoinRel._JoinType.ValueType # 6 - JOIN_TYPE_LEFT_ANTI: NestedLoopJoinRel._JoinType.ValueType # 7 - JOIN_TYPE_RIGHT_ANTI: NestedLoopJoinRel._JoinType.ValueType # 8 - JOIN_TYPE_LEFT_SINGLE: NestedLoopJoinRel._JoinType.ValueType # 9 - JOIN_TYPE_RIGHT_SINGLE: NestedLoopJoinRel._JoinType.ValueType # 10 - JOIN_TYPE_LEFT_MARK: NestedLoopJoinRel._JoinType.ValueType # 11 - JOIN_TYPE_RIGHT_MARK: NestedLoopJoinRel._JoinType.ValueType # 12 - - class JoinType(_JoinType, metaclass=_JoinTypeEnumTypeWrapper): ... - JOIN_TYPE_UNSPECIFIED: NestedLoopJoinRel.JoinType.ValueType # 0 - JOIN_TYPE_INNER: NestedLoopJoinRel.JoinType.ValueType # 1 - JOIN_TYPE_OUTER: NestedLoopJoinRel.JoinType.ValueType # 2 - JOIN_TYPE_LEFT: NestedLoopJoinRel.JoinType.ValueType # 3 - JOIN_TYPE_RIGHT: NestedLoopJoinRel.JoinType.ValueType # 4 - JOIN_TYPE_LEFT_SEMI: NestedLoopJoinRel.JoinType.ValueType # 5 - JOIN_TYPE_RIGHT_SEMI: NestedLoopJoinRel.JoinType.ValueType # 6 - JOIN_TYPE_LEFT_ANTI: NestedLoopJoinRel.JoinType.ValueType # 7 - JOIN_TYPE_RIGHT_ANTI: NestedLoopJoinRel.JoinType.ValueType # 8 - JOIN_TYPE_LEFT_SINGLE: NestedLoopJoinRel.JoinType.ValueType # 9 - JOIN_TYPE_RIGHT_SINGLE: NestedLoopJoinRel.JoinType.ValueType # 10 - JOIN_TYPE_LEFT_MARK: NestedLoopJoinRel.JoinType.ValueType # 11 - JOIN_TYPE_RIGHT_MARK: NestedLoopJoinRel.JoinType.ValueType # 12 - - COMMON_FIELD_NUMBER: builtins.int - LEFT_FIELD_NUMBER: builtins.int - RIGHT_FIELD_NUMBER: builtins.int - EXPRESSION_FIELD_NUMBER: builtins.int - TYPE_FIELD_NUMBER: builtins.int - ADVANCED_EXTENSION_FIELD_NUMBER: builtins.int - type: Global___NestedLoopJoinRel.JoinType.ValueType - @property - def common(self) -> Global___RelCommon: ... - @property - def left(self) -> Global___Rel: ... - @property - def right(self) -> Global___Rel: ... - @property - def expression(self) -> Global___Expression: - """optional, defaults to true (a cartesian join)""" - - @property - def advanced_extension(self) -> substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension: ... - def __init__( - self, - *, - common: Global___RelCommon | None = ..., - left: Global___Rel | None = ..., - right: Global___Rel | None = ..., - expression: Global___Expression | None = ..., - type: Global___NestedLoopJoinRel.JoinType.ValueType = ..., - advanced_extension: substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension", "common", b"common", "expression", b"expression", "left", b"left", "right", b"right"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["advanced_extension", b"advanced_extension", "common", b"common", "expression", b"expression", "left", b"left", "right", b"right", "type", b"type"]) -> None: ... - -Global___NestedLoopJoinRel: typing_extensions.TypeAlias = NestedLoopJoinRel - -@typing.final -class FunctionArgument(google.protobuf.message.Message): - """The argument of a function""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - ENUM_FIELD_NUMBER: builtins.int - TYPE_FIELD_NUMBER: builtins.int - VALUE_FIELD_NUMBER: builtins.int - enum: builtins.str - @property - def type(self) -> substrait.gen.proto.type_pb2.Type: ... - @property - def value(self) -> Global___Expression: ... - def __init__( - self, - *, - enum: builtins.str = ..., - type: substrait.gen.proto.type_pb2.Type | None = ..., - value: Global___Expression | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["arg_type", b"arg_type", "enum", b"enum", "type", b"type", "value", b"value"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["arg_type", b"arg_type", "enum", b"enum", "type", b"type", "value", b"value"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["arg_type", b"arg_type"]) -> typing.Literal["enum", "type", "value"] | None: ... - -Global___FunctionArgument: typing_extensions.TypeAlias = FunctionArgument - -@typing.final -class FunctionOption(google.protobuf.message.Message): - """An optional function argument. Typically used for specifying behavior in - invalid or corner cases. - """ - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - NAME_FIELD_NUMBER: builtins.int - PREFERENCE_FIELD_NUMBER: builtins.int - name: builtins.str - """Name of the option to set. If the consumer does not recognize the - option, it must reject the plan. The name is matched case-insensitively - with option names defined for the function. - """ - @property - def preference(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: - """List of behavior options allowed by the producer. At least one must be - specified; to leave an option unspecified, simply don't add an entry to - `options`. The consumer must use the first option from the list that it - supports. If the consumer supports none of the specified options, it - must reject the plan. The name is matched case-insensitively and must - match one of the option values defined for the option. - """ - - def __init__( - self, - *, - name: builtins.str = ..., - preference: collections.abc.Iterable[builtins.str] | None = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["name", b"name", "preference", b"preference"]) -> None: ... - -Global___FunctionOption: typing_extensions.TypeAlias = FunctionOption - -@typing.final -class Expression(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @deprecated("""This message has been marked as deprecated using proto message options.""") - @typing.final - class Enum(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @deprecated("""This message has been marked as deprecated using proto message options.""") - @typing.final - class Empty(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - def __init__( - self, - ) -> None: ... - - SPECIFIED_FIELD_NUMBER: builtins.int - UNSPECIFIED_FIELD_NUMBER: builtins.int - specified: builtins.str - @property - def unspecified(self) -> Global___Expression.Enum.Empty: ... - def __init__( - self, - *, - specified: builtins.str = ..., - unspecified: Global___Expression.Enum.Empty | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["enum_kind", b"enum_kind", "specified", b"specified", "unspecified", b"unspecified"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["enum_kind", b"enum_kind", "specified", b"specified", "unspecified", b"unspecified"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["enum_kind", b"enum_kind"]) -> typing.Literal["specified", "unspecified"] | None: ... - - @typing.final - class Literal(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing.final - class VarChar(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - VALUE_FIELD_NUMBER: builtins.int - LENGTH_FIELD_NUMBER: builtins.int - value: builtins.str - length: builtins.int - def __init__( - self, - *, - value: builtins.str = ..., - length: builtins.int = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["length", b"length", "value", b"value"]) -> None: ... - - @typing.final - class Decimal(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - VALUE_FIELD_NUMBER: builtins.int - PRECISION_FIELD_NUMBER: builtins.int - SCALE_FIELD_NUMBER: builtins.int - value: builtins.bytes - """little-endian twos-complement integer representation of complete value - (ignoring precision) Always 16 bytes in length - """ - precision: builtins.int - """The maximum number of digits allowed in the value. - the maximum precision is 38. - """ - scale: builtins.int - """declared scale of decimal literal""" - def __init__( - self, - *, - value: builtins.bytes = ..., - precision: builtins.int = ..., - scale: builtins.int = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["precision", b"precision", "scale", b"scale", "value", b"value"]) -> None: ... - - @typing.final - class PrecisionTime(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - PRECISION_FIELD_NUMBER: builtins.int - VALUE_FIELD_NUMBER: builtins.int - precision: builtins.int - """Sub-second precision, 0 means the value given is in seconds, 3 is milliseconds, 6 microseconds, 9 is nanoseconds, 12 is picoseconds""" - value: builtins.int - """Time passed since midnight in precision units.""" - def __init__( - self, - *, - precision: builtins.int = ..., - value: builtins.int = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["precision", b"precision", "value", b"value"]) -> None: ... - - @typing.final - class PrecisionTimestamp(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - PRECISION_FIELD_NUMBER: builtins.int - VALUE_FIELD_NUMBER: builtins.int - precision: builtins.int - """Sub-second precision, 0 means the value given is in seconds, 3 is milliseconds, 6 microseconds, 9 is nanoseconds, 12 is picoseconds""" - value: builtins.int - """Time passed since 1970-01-01 00:00:00.000000 in UTC for PrecisionTimestampTZ and unspecified timezone for PrecisionTimestamp""" - def __init__( - self, - *, - precision: builtins.int = ..., - value: builtins.int = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["precision", b"precision", "value", b"value"]) -> None: ... - - @typing.final - class Map(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing.final - class KeyValue(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - KEY_FIELD_NUMBER: builtins.int - VALUE_FIELD_NUMBER: builtins.int - @property - def key(self) -> Global___Expression.Literal: ... - @property - def value(self) -> Global___Expression.Literal: ... - def __init__( - self, - *, - key: Global___Expression.Literal | None = ..., - value: Global___Expression.Literal | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ... - - KEY_VALUES_FIELD_NUMBER: builtins.int - @property - def key_values(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___Expression.Literal.Map.KeyValue]: ... - def __init__( - self, - *, - key_values: collections.abc.Iterable[Global___Expression.Literal.Map.KeyValue] | None = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["key_values", b"key_values"]) -> None: ... - - @typing.final - class IntervalYearToMonth(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - YEARS_FIELD_NUMBER: builtins.int - MONTHS_FIELD_NUMBER: builtins.int - years: builtins.int - months: builtins.int - def __init__( - self, - *, - years: builtins.int = ..., - months: builtins.int = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["months", b"months", "years", b"years"]) -> None: ... - - @typing.final - class IntervalDayToSecond(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - DAYS_FIELD_NUMBER: builtins.int - SECONDS_FIELD_NUMBER: builtins.int - MICROSECONDS_FIELD_NUMBER: builtins.int - PRECISION_FIELD_NUMBER: builtins.int - SUBSECONDS_FIELD_NUMBER: builtins.int - days: builtins.int - seconds: builtins.int - microseconds: builtins.int - """use precision and subseconds below, they cover and replace microseconds.""" - precision: builtins.int - """Sub-second precision, 0 means the value given is in seconds, 3 is milliseconds, 6 microseconds, 9 is nanoseconds. Should be used with subseconds below.""" - subseconds: builtins.int - """the number of fractional seconds using 1e(-precision) units. Should only be used with precision field, not microseconds.""" - def __init__( - self, - *, - days: builtins.int = ..., - seconds: builtins.int = ..., - microseconds: builtins.int = ..., - precision: builtins.int = ..., - subseconds: builtins.int = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["microseconds", b"microseconds", "precision", b"precision", "precision_mode", b"precision_mode"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["days", b"days", "microseconds", b"microseconds", "precision", b"precision", "precision_mode", b"precision_mode", "seconds", b"seconds", "subseconds", b"subseconds"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["precision_mode", b"precision_mode"]) -> typing.Literal["microseconds", "precision"] | None: ... - - @typing.final - class IntervalCompound(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - INTERVAL_YEAR_TO_MONTH_FIELD_NUMBER: builtins.int - INTERVAL_DAY_TO_SECOND_FIELD_NUMBER: builtins.int - @property - def interval_year_to_month(self) -> Global___Expression.Literal.IntervalYearToMonth: ... - @property - def interval_day_to_second(self) -> Global___Expression.Literal.IntervalDayToSecond: ... - def __init__( - self, - *, - interval_year_to_month: Global___Expression.Literal.IntervalYearToMonth | None = ..., - interval_day_to_second: Global___Expression.Literal.IntervalDayToSecond | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["interval_day_to_second", b"interval_day_to_second", "interval_year_to_month", b"interval_year_to_month"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["interval_day_to_second", b"interval_day_to_second", "interval_year_to_month", b"interval_year_to_month"]) -> None: ... - - @typing.final - class Struct(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - FIELDS_FIELD_NUMBER: builtins.int - @property - def fields(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___Expression.Literal]: - """A possibly heterogeneously typed list of literals""" - - def __init__( - self, - *, - fields: collections.abc.Iterable[Global___Expression.Literal] | None = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["fields", b"fields"]) -> None: ... - - @typing.final - class List(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - VALUES_FIELD_NUMBER: builtins.int - @property - def values(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___Expression.Literal]: - """A homogeneously typed list of literals""" - - def __init__( - self, - *, - values: collections.abc.Iterable[Global___Expression.Literal] | None = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["values", b"values"]) -> None: ... - - @typing.final - class UserDefined(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TYPE_REFERENCE_FIELD_NUMBER: builtins.int - TYPE_ALIAS_REFERENCE_FIELD_NUMBER: builtins.int - TYPE_PARAMETERS_FIELD_NUMBER: builtins.int - VALUE_FIELD_NUMBER: builtins.int - STRUCT_FIELD_NUMBER: builtins.int - type_reference: builtins.int - """points to a type_anchor defined in this plan""" - type_alias_reference: builtins.int - """points to a type_alias_anchor defined in this plan.""" - @property - def type_parameters(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[substrait.gen.proto.type_pb2.Type.Parameter]: - """The parameters to be bound to the type class, if the type class is - parameterizable. - """ - - @property - def value(self) -> google.protobuf.any_pb2.Any: - """the value of the literal, serialized using some type-specific protobuf message""" - - @property - def struct(self) -> Global___Expression.Literal.Struct: - """the value of the literal, serialized using the structure definition in its declaration""" - - def __init__( - self, - *, - type_reference: builtins.int = ..., - type_alias_reference: builtins.int = ..., - type_parameters: collections.abc.Iterable[substrait.gen.proto.type_pb2.Type.Parameter] | None = ..., - value: google.protobuf.any_pb2.Any | None = ..., - struct: Global___Expression.Literal.Struct | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["struct", b"struct", "type_alias_reference", b"type_alias_reference", "type_anchor_type", b"type_anchor_type", "type_reference", b"type_reference", "val", b"val", "value", b"value"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["struct", b"struct", "type_alias_reference", b"type_alias_reference", "type_anchor_type", b"type_anchor_type", "type_parameters", b"type_parameters", "type_reference", b"type_reference", "val", b"val", "value", b"value"]) -> None: ... - @typing.overload - def WhichOneof(self, oneof_group: typing.Literal["type_anchor_type", b"type_anchor_type"]) -> typing.Literal["type_reference", "type_alias_reference"] | None: ... - @typing.overload - def WhichOneof(self, oneof_group: typing.Literal["val", b"val"]) -> typing.Literal["value", "struct"] | None: ... - - BOOLEAN_FIELD_NUMBER: builtins.int - I8_FIELD_NUMBER: builtins.int - I16_FIELD_NUMBER: builtins.int - I32_FIELD_NUMBER: builtins.int - I64_FIELD_NUMBER: builtins.int - FP32_FIELD_NUMBER: builtins.int - FP64_FIELD_NUMBER: builtins.int - STRING_FIELD_NUMBER: builtins.int - BINARY_FIELD_NUMBER: builtins.int - TIMESTAMP_FIELD_NUMBER: builtins.int - DATE_FIELD_NUMBER: builtins.int - TIME_FIELD_NUMBER: builtins.int - INTERVAL_YEAR_TO_MONTH_FIELD_NUMBER: builtins.int - INTERVAL_DAY_TO_SECOND_FIELD_NUMBER: builtins.int - INTERVAL_COMPOUND_FIELD_NUMBER: builtins.int - FIXED_CHAR_FIELD_NUMBER: builtins.int - VAR_CHAR_FIELD_NUMBER: builtins.int - FIXED_BINARY_FIELD_NUMBER: builtins.int - DECIMAL_FIELD_NUMBER: builtins.int - PRECISION_TIME_FIELD_NUMBER: builtins.int - PRECISION_TIMESTAMP_FIELD_NUMBER: builtins.int - PRECISION_TIMESTAMP_TZ_FIELD_NUMBER: builtins.int - STRUCT_FIELD_NUMBER: builtins.int - MAP_FIELD_NUMBER: builtins.int - TIMESTAMP_TZ_FIELD_NUMBER: builtins.int - UUID_FIELD_NUMBER: builtins.int - NULL_FIELD_NUMBER: builtins.int - LIST_FIELD_NUMBER: builtins.int - EMPTY_LIST_FIELD_NUMBER: builtins.int - EMPTY_MAP_FIELD_NUMBER: builtins.int - USER_DEFINED_FIELD_NUMBER: builtins.int - NULLABLE_FIELD_NUMBER: builtins.int - TYPE_VARIATION_REFERENCE_FIELD_NUMBER: builtins.int - boolean: builtins.bool - i8: builtins.int - i16: builtins.int - i32: builtins.int - i64: builtins.int - fp32: builtins.float - fp64: builtins.float - string: builtins.str - binary: builtins.bytes - timestamp: builtins.int - """Timestamp in units of microseconds since the UNIX epoch. - Deprecated in favor of `precision_timestamp`. - """ - date: builtins.int - """Date in units of days since the UNIX epoch.""" - time: builtins.int - """Time in units of microseconds past midnight. - Deprecated in favor of `precision_time`. - """ - fixed_char: builtins.str - fixed_binary: builtins.bytes - timestamp_tz: builtins.int - """Timestamp in units of microseconds since the UNIX epoch. - Deprecated in favor of `precision_timestamp_tz` - """ - uuid: builtins.bytes - nullable: builtins.bool - """Whether the literal_type above should be treated as a nullable type. - Applies to all members of the literal_type oneof EXCEPT: - * Type null (must be nullable by definition) - * Type.List empty_list (use Type.List::nullability) - * Type.Map empty_map (use Type.Map::nullability) - """ - type_variation_reference: builtins.int - """optionally points to a type_variation_anchor defined in this plan. - Applies to all members of union other than the Typed null (which should - directly declare the type variation). - """ - @property - def interval_year_to_month(self) -> Global___Expression.Literal.IntervalYearToMonth: ... - @property - def interval_day_to_second(self) -> Global___Expression.Literal.IntervalDayToSecond: ... - @property - def interval_compound(self) -> Global___Expression.Literal.IntervalCompound: ... - @property - def var_char(self) -> Global___Expression.Literal.VarChar: ... - @property - def decimal(self) -> Global___Expression.Literal.Decimal: ... - @property - def precision_time(self) -> Global___Expression.Literal.PrecisionTime: - """Time in precision units past midnight.""" - - @property - def precision_timestamp(self) -> Global___Expression.Literal.PrecisionTimestamp: ... - @property - def precision_timestamp_tz(self) -> Global___Expression.Literal.PrecisionTimestamp: ... - @property - def struct(self) -> Global___Expression.Literal.Struct: ... - @property - def map(self) -> Global___Expression.Literal.Map: ... - @property - def null(self) -> substrait.gen.proto.type_pb2.Type: - """a typed null literal""" - - @property - def list(self) -> Global___Expression.Literal.List: ... - @property - def empty_list(self) -> substrait.gen.proto.type_pb2.Type.List: ... - @property - def empty_map(self) -> substrait.gen.proto.type_pb2.Type.Map: ... - @property - def user_defined(self) -> Global___Expression.Literal.UserDefined: ... - def __init__( - self, - *, - boolean: builtins.bool = ..., - i8: builtins.int = ..., - i16: builtins.int = ..., - i32: builtins.int = ..., - i64: builtins.int = ..., - fp32: builtins.float = ..., - fp64: builtins.float = ..., - string: builtins.str = ..., - binary: builtins.bytes = ..., - timestamp: builtins.int = ..., - date: builtins.int = ..., - time: builtins.int = ..., - interval_year_to_month: Global___Expression.Literal.IntervalYearToMonth | None = ..., - interval_day_to_second: Global___Expression.Literal.IntervalDayToSecond | None = ..., - interval_compound: Global___Expression.Literal.IntervalCompound | None = ..., - fixed_char: builtins.str = ..., - var_char: Global___Expression.Literal.VarChar | None = ..., - fixed_binary: builtins.bytes = ..., - decimal: Global___Expression.Literal.Decimal | None = ..., - precision_time: Global___Expression.Literal.PrecisionTime | None = ..., - precision_timestamp: Global___Expression.Literal.PrecisionTimestamp | None = ..., - precision_timestamp_tz: Global___Expression.Literal.PrecisionTimestamp | None = ..., - struct: Global___Expression.Literal.Struct | None = ..., - map: Global___Expression.Literal.Map | None = ..., - timestamp_tz: builtins.int = ..., - uuid: builtins.bytes = ..., - null: substrait.gen.proto.type_pb2.Type | None = ..., - list: Global___Expression.Literal.List | None = ..., - empty_list: substrait.gen.proto.type_pb2.Type.List | None = ..., - empty_map: substrait.gen.proto.type_pb2.Type.Map | None = ..., - user_defined: Global___Expression.Literal.UserDefined | None = ..., - nullable: builtins.bool = ..., - type_variation_reference: builtins.int = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["binary", b"binary", "boolean", b"boolean", "date", b"date", "decimal", b"decimal", "empty_list", b"empty_list", "empty_map", b"empty_map", "fixed_binary", b"fixed_binary", "fixed_char", b"fixed_char", "fp32", b"fp32", "fp64", b"fp64", "i16", b"i16", "i32", b"i32", "i64", b"i64", "i8", b"i8", "interval_compound", b"interval_compound", "interval_day_to_second", b"interval_day_to_second", "interval_year_to_month", b"interval_year_to_month", "list", b"list", "literal_type", b"literal_type", "map", b"map", "null", b"null", "precision_time", b"precision_time", "precision_timestamp", b"precision_timestamp", "precision_timestamp_tz", b"precision_timestamp_tz", "string", b"string", "struct", b"struct", "time", b"time", "timestamp", b"timestamp", "timestamp_tz", b"timestamp_tz", "user_defined", b"user_defined", "uuid", b"uuid", "var_char", b"var_char"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["binary", b"binary", "boolean", b"boolean", "date", b"date", "decimal", b"decimal", "empty_list", b"empty_list", "empty_map", b"empty_map", "fixed_binary", b"fixed_binary", "fixed_char", b"fixed_char", "fp32", b"fp32", "fp64", b"fp64", "i16", b"i16", "i32", b"i32", "i64", b"i64", "i8", b"i8", "interval_compound", b"interval_compound", "interval_day_to_second", b"interval_day_to_second", "interval_year_to_month", b"interval_year_to_month", "list", b"list", "literal_type", b"literal_type", "map", b"map", "null", b"null", "nullable", b"nullable", "precision_time", b"precision_time", "precision_timestamp", b"precision_timestamp", "precision_timestamp_tz", b"precision_timestamp_tz", "string", b"string", "struct", b"struct", "time", b"time", "timestamp", b"timestamp", "timestamp_tz", b"timestamp_tz", "type_variation_reference", b"type_variation_reference", "user_defined", b"user_defined", "uuid", b"uuid", "var_char", b"var_char"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["literal_type", b"literal_type"]) -> typing.Literal["boolean", "i8", "i16", "i32", "i64", "fp32", "fp64", "string", "binary", "timestamp", "date", "time", "interval_year_to_month", "interval_day_to_second", "interval_compound", "fixed_char", "var_char", "fixed_binary", "decimal", "precision_time", "precision_timestamp", "precision_timestamp_tz", "struct", "map", "timestamp_tz", "uuid", "null", "list", "empty_list", "empty_map", "user_defined"] | None: ... - - @typing.final - class Nested(google.protobuf.message.Message): - """Expression to dynamically construct nested types.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing.final - class Map(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing.final - class KeyValue(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - KEY_FIELD_NUMBER: builtins.int - VALUE_FIELD_NUMBER: builtins.int - @property - def key(self) -> Global___Expression: - """Mandatory key/value expressions.""" - - @property - def value(self) -> Global___Expression: ... - def __init__( - self, - *, - key: Global___Expression | None = ..., - value: Global___Expression | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ... - - KEY_VALUES_FIELD_NUMBER: builtins.int - @property - def key_values(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___Expression.Nested.Map.KeyValue]: - """One or more key-value pairs. To specify an empty map, use - Literal.empty_map (otherwise type information would be missing). - """ - - def __init__( - self, - *, - key_values: collections.abc.Iterable[Global___Expression.Nested.Map.KeyValue] | None = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["key_values", b"key_values"]) -> None: ... - - @typing.final - class Struct(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - FIELDS_FIELD_NUMBER: builtins.int - @property - def fields(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___Expression]: - """Zero or more possibly heterogeneously-typed list of expressions that - form the struct fields. - """ - - def __init__( - self, - *, - fields: collections.abc.Iterable[Global___Expression] | None = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["fields", b"fields"]) -> None: ... - - @typing.final - class List(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - VALUES_FIELD_NUMBER: builtins.int - @property - def values(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___Expression]: - """A homogeneously-typed list of one or more expressions that form the - list entries. To specify an empty list, use Literal.empty_list - (otherwise type information would be missing). - """ - - def __init__( - self, - *, - values: collections.abc.Iterable[Global___Expression] | None = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["values", b"values"]) -> None: ... - - NULLABLE_FIELD_NUMBER: builtins.int - TYPE_VARIATION_REFERENCE_FIELD_NUMBER: builtins.int - STRUCT_FIELD_NUMBER: builtins.int - LIST_FIELD_NUMBER: builtins.int - MAP_FIELD_NUMBER: builtins.int - nullable: builtins.bool - """Whether the returned nested type is nullable.""" - type_variation_reference: builtins.int - """Optionally points to a type_variation_anchor defined in this plan for - the returned nested type. - """ - @property - def struct(self) -> Global___Expression.Nested.Struct: ... - @property - def list(self) -> Global___Expression.Nested.List: ... - @property - def map(self) -> Global___Expression.Nested.Map: ... - def __init__( - self, - *, - nullable: builtins.bool = ..., - type_variation_reference: builtins.int = ..., - struct: Global___Expression.Nested.Struct | None = ..., - list: Global___Expression.Nested.List | None = ..., - map: Global___Expression.Nested.Map | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["list", b"list", "map", b"map", "nested_type", b"nested_type", "struct", b"struct"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["list", b"list", "map", b"map", "nested_type", b"nested_type", "nullable", b"nullable", "struct", b"struct", "type_variation_reference", b"type_variation_reference"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["nested_type", b"nested_type"]) -> typing.Literal["struct", "list", "map"] | None: ... - - @typing.final - class Lambda(google.protobuf.message.Message): - """A lambda expression representing an inline, anonymous function. - Lambda expressions have parameters and a body expression that can reference - those parameters using FieldReference with FieldReference.LambdaParameterReference as the root_type. - """ - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - PARAMETERS_FIELD_NUMBER: builtins.int - BODY_FIELD_NUMBER: builtins.int - @property - def parameters(self) -> substrait.gen.proto.type_pb2.Type.Struct: - """Parameters this lambda accepts, represented as a struct where each field corresponds - to a parameter. Parameters can be accessed using FieldReference with - FieldReference.LambdaParameterReference as root_type and StructField to select - specific parameters. The struct's nullability must be NULLABILITY_REQUIRED. - """ - - @property - def body(self) -> Global___Expression: - """The lambda body expression. Lambda parameters can be referenced using FieldReference - with FieldReference.LambdaParameterReference as root_type. - """ - - def __init__( - self, - *, - parameters: substrait.gen.proto.type_pb2.Type.Struct | None = ..., - body: Global___Expression | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["body", b"body", "parameters", b"parameters"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["body", b"body", "parameters", b"parameters"]) -> None: ... - - @typing.final - class LambdaInvocation(google.protobuf.message.Message): - """Invokes an inline lambda expression with provided arguments. - Enables immediate invocation patterns like: ((x) -> x * 2)(5) - - The return type is derived from the type of the lambda's body expression. - """ - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - LAMBDA_FIELD_NUMBER: builtins.int - ARGUMENTS_FIELD_NUMBER: builtins.int - @property - def arguments(self) -> Global___Expression.Nested.Struct: - """Arguments to pass to the lambda, as a struct expression. The struct must have - exactly one Expression field for each lambda parameter, and the expression at - each position must have a type that matches the corresponding parameter type. - """ - - def __init__( - self, - *, - arguments: Global___Expression.Nested.Struct | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["arguments", b"arguments", "lambda", b"lambda"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["arguments", b"arguments", "lambda", b"lambda"]) -> None: ... - - @typing.final - class ScalarFunction(google.protobuf.message.Message): - """A scalar function call.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - FUNCTION_REFERENCE_FIELD_NUMBER: builtins.int - ARGUMENTS_FIELD_NUMBER: builtins.int - OPTIONS_FIELD_NUMBER: builtins.int - OUTPUT_TYPE_FIELD_NUMBER: builtins.int - ARGS_FIELD_NUMBER: builtins.int - function_reference: builtins.int - """Points to a function_anchor defined in this plan, which must refer - to a scalar function in the associated YAML file. Required; avoid - using anchor/reference zero. - """ - @property - def arguments(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___FunctionArgument]: - """The arguments to be bound to the function. This must have exactly the - number of arguments specified in the function definition, and the - argument types must also match exactly: - - - Value arguments must be bound using FunctionArgument.value, and - the expression in that must yield a value of a type that a function - overload is defined for. - - Type arguments must be bound using FunctionArgument.type. - - Enum arguments must be bound using FunctionArgument.enum - followed by Enum.specified, with a string that case-insensitively - matches one of the allowed options. - """ - - @property - def options(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___FunctionOption]: - """Options to specify behavior for corner cases, or leave behavior - unspecified if the consumer does not need specific behavior in these - cases. - """ - - @property - def output_type(self) -> substrait.gen.proto.type_pb2.Type: - """Must be set to the return type of the function, exactly as derived - using the declaration in the extension. - """ - - @property - def args(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___Expression]: - """Deprecated; use arguments instead.""" - - def __init__( - self, - *, - function_reference: builtins.int = ..., - arguments: collections.abc.Iterable[Global___FunctionArgument] | None = ..., - options: collections.abc.Iterable[Global___FunctionOption] | None = ..., - output_type: substrait.gen.proto.type_pb2.Type | None = ..., - args: collections.abc.Iterable[Global___Expression] | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["output_type", b"output_type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["args", b"args", "arguments", b"arguments", "function_reference", b"function_reference", "options", b"options", "output_type", b"output_type"]) -> None: ... - - @typing.final - class WindowFunction(google.protobuf.message.Message): - """A window function call.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _BoundsType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _BoundsTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Expression.WindowFunction._BoundsType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - BOUNDS_TYPE_UNSPECIFIED: Expression.WindowFunction._BoundsType.ValueType # 0 - BOUNDS_TYPE_ROWS: Expression.WindowFunction._BoundsType.ValueType # 1 - """The lower and upper bound specify how many rows before and after the current row - the window should extend. - """ - BOUNDS_TYPE_RANGE: Expression.WindowFunction._BoundsType.ValueType # 2 - """The lower and upper bound describe a range of values. The window should include all rows - where the value of the ordering column is greater than or equal to (current_value - lower bound) - and less than or equal to (current_value + upper bound). This bounds type is only valid if there - is a single ordering column. - """ - - class BoundsType(_BoundsType, metaclass=_BoundsTypeEnumTypeWrapper): ... - BOUNDS_TYPE_UNSPECIFIED: Expression.WindowFunction.BoundsType.ValueType # 0 - BOUNDS_TYPE_ROWS: Expression.WindowFunction.BoundsType.ValueType # 1 - """The lower and upper bound specify how many rows before and after the current row - the window should extend. - """ - BOUNDS_TYPE_RANGE: Expression.WindowFunction.BoundsType.ValueType # 2 - """The lower and upper bound describe a range of values. The window should include all rows - where the value of the ordering column is greater than or equal to (current_value - lower bound) - and less than or equal to (current_value + upper bound). This bounds type is only valid if there - is a single ordering column. - """ - - @typing.final - class Bound(google.protobuf.message.Message): - """Defines one of the two boundaries for the window of a window function.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing.final - class Preceding(google.protobuf.message.Message): - """Defines that the bound extends this far back from the current record.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - OFFSET_FIELD_NUMBER: builtins.int - offset: builtins.int - """A strictly positive integer specifying the number of records that - the window extends back from the current record. Required. Use - CurrentRow for offset zero and Following for negative offsets. - """ - def __init__( - self, - *, - offset: builtins.int = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["offset", b"offset"]) -> None: ... - - @typing.final - class Following(google.protobuf.message.Message): - """Defines that the bound extends this far ahead of the current record.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - OFFSET_FIELD_NUMBER: builtins.int - offset: builtins.int - """A strictly positive integer specifying the number of records that - the window extends ahead of the current record. Required. Use - CurrentRow for offset zero and Preceding for negative offsets. - """ - def __init__( - self, - *, - offset: builtins.int = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["offset", b"offset"]) -> None: ... - - @typing.final - class CurrentRow(google.protobuf.message.Message): - """Defines that the bound extends to or from the current record.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - def __init__( - self, - ) -> None: ... - - @typing.final - class Unbounded(google.protobuf.message.Message): - """Defines an "unbounded bound": for lower bounds this means the start - of the partition, and for upper bounds this means the end of the - partition. - """ - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - def __init__( - self, - ) -> None: ... - - PRECEDING_FIELD_NUMBER: builtins.int - FOLLOWING_FIELD_NUMBER: builtins.int - CURRENT_ROW_FIELD_NUMBER: builtins.int - UNBOUNDED_FIELD_NUMBER: builtins.int - @property - def preceding(self) -> Global___Expression.WindowFunction.Bound.Preceding: - """The bound extends some number of records behind the current record.""" - - @property - def following(self) -> Global___Expression.WindowFunction.Bound.Following: - """The bound extends some number of records ahead of the current - record. - """ - - @property - def current_row(self) -> Global___Expression.WindowFunction.Bound.CurrentRow: - """The bound extends to the current record.""" - - @property - def unbounded(self) -> Global___Expression.WindowFunction.Bound.Unbounded: - """The bound extends to the start of the partition or the end of the - partition, depending on whether this represents the upper or lower - bound. - """ - - def __init__( - self, - *, - preceding: Global___Expression.WindowFunction.Bound.Preceding | None = ..., - following: Global___Expression.WindowFunction.Bound.Following | None = ..., - current_row: Global___Expression.WindowFunction.Bound.CurrentRow | None = ..., - unbounded: Global___Expression.WindowFunction.Bound.Unbounded | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["current_row", b"current_row", "following", b"following", "kind", b"kind", "preceding", b"preceding", "unbounded", b"unbounded"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["current_row", b"current_row", "following", b"following", "kind", b"kind", "preceding", b"preceding", "unbounded", b"unbounded"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["kind", b"kind"]) -> typing.Literal["preceding", "following", "current_row", "unbounded"] | None: ... - - FUNCTION_REFERENCE_FIELD_NUMBER: builtins.int - ARGUMENTS_FIELD_NUMBER: builtins.int - OPTIONS_FIELD_NUMBER: builtins.int - OUTPUT_TYPE_FIELD_NUMBER: builtins.int - PHASE_FIELD_NUMBER: builtins.int - SORTS_FIELD_NUMBER: builtins.int - INVOCATION_FIELD_NUMBER: builtins.int - PARTITIONS_FIELD_NUMBER: builtins.int - BOUNDS_TYPE_FIELD_NUMBER: builtins.int - LOWER_BOUND_FIELD_NUMBER: builtins.int - UPPER_BOUND_FIELD_NUMBER: builtins.int - ARGS_FIELD_NUMBER: builtins.int - function_reference: builtins.int - """Points to a function_anchor defined in this plan. The function must be: - - a window function - - an aggregate function - - An aggregate function referenced here should be treated as a window - function with Window Type STREAMING - - Required; 0 is considered to be a valid anchor/reference. - """ - phase: Global___AggregationPhase.ValueType - """Describes which part of the window function to perform within the - context of distributed algorithms. Required. Must be set to - INITIAL_TO_RESULT for window functions that are not decomposable. - """ - invocation: Global___AggregateFunction.AggregationInvocation.ValueType - """Specifies whether equivalent records are merged before being aggregated. - Optional, defaults to AGGREGATION_INVOCATION_ALL. - """ - bounds_type: Global___Expression.WindowFunction.BoundsType.ValueType - """Defines the bounds type: ROWS, RANGE""" - @property - def arguments(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___FunctionArgument]: - """The arguments to be bound to the function. This must have exactly the - number of arguments specified in the function definition, and the - argument types must also match exactly: - - - Value arguments must be bound using FunctionArgument.value, and - the expression in that must yield a value of a type that a function - overload is defined for. - - Type arguments must be bound using FunctionArgument.type, and a - function overload must be defined for that type. - - Enum arguments must be bound using FunctionArgument.enum - followed by Enum.specified, with a string that case-insensitively - matches one of the allowed options. - """ - - @property - def options(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___FunctionOption]: - """Options to specify behavior for corner cases, or leave behavior - unspecified if the consumer does not need specific behavior in these - cases. - """ - - @property - def output_type(self) -> substrait.gen.proto.type_pb2.Type: - """Must be set to the return type of the function, exactly as derived - using the declaration in the extension. - """ - - @property - def sorts(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___SortField]: - """If specified, the records that are part of the window defined by - upper_bound and lower_bound are ordered according to this list - before they are aggregated. The first sort field has the highest - priority; only if a sort field determines two records to be equivalent - is the next field queried. This field is optional, and is only allowed - if the window function is defined to support sorting. - """ - - @property - def partitions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___Expression]: - """When one or more partition expressions are specified, two records are - considered to be in the same partition if and only if these expressions - yield an equal record of values for both. When computing the window - function, only the subset of records within the bounds that are also in - the same partition as the current record are aggregated. - """ - - @property - def lower_bound(self) -> Global___Expression.WindowFunction.Bound: - """Defines the record relative to the current record from which the window - extends. The bound is inclusive. If the lower bound indexes a record - greater than the upper bound, TODO (null range/no records passed? - wrapping around as if lower/upper were swapped? error? null?). - Optional; defaults to the start of the partition. - """ - - @property - def upper_bound(self) -> Global___Expression.WindowFunction.Bound: - """Defines the record relative to the current record up to which the window - extends. The bound is inclusive. If the upper bound indexes a record - less than the lower bound, TODO (null range/no records passed? - wrapping around as if lower/upper were swapped? error? null?). - Optional; defaults to the end of the partition. - """ - - @property - def args(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___Expression]: - """Deprecated; use arguments instead.""" - - def __init__( - self, - *, - function_reference: builtins.int = ..., - arguments: collections.abc.Iterable[Global___FunctionArgument] | None = ..., - options: collections.abc.Iterable[Global___FunctionOption] | None = ..., - output_type: substrait.gen.proto.type_pb2.Type | None = ..., - phase: Global___AggregationPhase.ValueType = ..., - sorts: collections.abc.Iterable[Global___SortField] | None = ..., - invocation: Global___AggregateFunction.AggregationInvocation.ValueType = ..., - partitions: collections.abc.Iterable[Global___Expression] | None = ..., - bounds_type: Global___Expression.WindowFunction.BoundsType.ValueType = ..., - lower_bound: Global___Expression.WindowFunction.Bound | None = ..., - upper_bound: Global___Expression.WindowFunction.Bound | None = ..., - args: collections.abc.Iterable[Global___Expression] | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["lower_bound", b"lower_bound", "output_type", b"output_type", "upper_bound", b"upper_bound"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["args", b"args", "arguments", b"arguments", "bounds_type", b"bounds_type", "function_reference", b"function_reference", "invocation", b"invocation", "lower_bound", b"lower_bound", "options", b"options", "output_type", b"output_type", "partitions", b"partitions", "phase", b"phase", "sorts", b"sorts", "upper_bound", b"upper_bound"]) -> None: ... - - @typing.final - class IfThen(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing.final - class IfClause(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - IF_FIELD_NUMBER: builtins.int - THEN_FIELD_NUMBER: builtins.int - @property - def then(self) -> Global___Expression: ... - def __init__( - self, - *, - then: Global___Expression | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["if", b"if", "then", b"then"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["if", b"if", "then", b"then"]) -> None: ... - - IFS_FIELD_NUMBER: builtins.int - ELSE_FIELD_NUMBER: builtins.int - @property - def ifs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___Expression.IfThen.IfClause]: - """A list of one or more IfClauses""" - - def __init__( - self, - *, - ifs: collections.abc.Iterable[Global___Expression.IfThen.IfClause] | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["else", b"else"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["else", b"else", "ifs", b"ifs"]) -> None: ... - - @typing.final - class Cast(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _FailureBehavior: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _FailureBehaviorEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Expression.Cast._FailureBehavior.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - FAILURE_BEHAVIOR_UNSPECIFIED: Expression.Cast._FailureBehavior.ValueType # 0 - FAILURE_BEHAVIOR_RETURN_NULL: Expression.Cast._FailureBehavior.ValueType # 1 - FAILURE_BEHAVIOR_THROW_EXCEPTION: Expression.Cast._FailureBehavior.ValueType # 2 - - class FailureBehavior(_FailureBehavior, metaclass=_FailureBehaviorEnumTypeWrapper): ... - FAILURE_BEHAVIOR_UNSPECIFIED: Expression.Cast.FailureBehavior.ValueType # 0 - FAILURE_BEHAVIOR_RETURN_NULL: Expression.Cast.FailureBehavior.ValueType # 1 - FAILURE_BEHAVIOR_THROW_EXCEPTION: Expression.Cast.FailureBehavior.ValueType # 2 - - TYPE_FIELD_NUMBER: builtins.int - INPUT_FIELD_NUMBER: builtins.int - FAILURE_BEHAVIOR_FIELD_NUMBER: builtins.int - failure_behavior: Global___Expression.Cast.FailureBehavior.ValueType - @property - def type(self) -> substrait.gen.proto.type_pb2.Type: ... - @property - def input(self) -> Global___Expression: ... - def __init__( - self, - *, - type: substrait.gen.proto.type_pb2.Type | None = ..., - input: Global___Expression | None = ..., - failure_behavior: Global___Expression.Cast.FailureBehavior.ValueType = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["input", b"input", "type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["failure_behavior", b"failure_behavior", "input", b"input", "type", b"type"]) -> None: ... - - @typing.final - class SwitchExpression(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing.final - class IfValue(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - IF_FIELD_NUMBER: builtins.int - THEN_FIELD_NUMBER: builtins.int - @property - def then(self) -> Global___Expression: ... - def __init__( - self, - *, - then: Global___Expression | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["if", b"if", "then", b"then"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["if", b"if", "then", b"then"]) -> None: ... - - MATCH_FIELD_NUMBER: builtins.int - IFS_FIELD_NUMBER: builtins.int - ELSE_FIELD_NUMBER: builtins.int - @property - def match(self) -> Global___Expression: ... - @property - def ifs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___Expression.SwitchExpression.IfValue]: ... - def __init__( - self, - *, - match: Global___Expression | None = ..., - ifs: collections.abc.Iterable[Global___Expression.SwitchExpression.IfValue] | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["else", b"else", "match", b"match"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["else", b"else", "ifs", b"ifs", "match", b"match"]) -> None: ... - - @typing.final - class SingularOrList(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - VALUE_FIELD_NUMBER: builtins.int - OPTIONS_FIELD_NUMBER: builtins.int - @property - def value(self) -> Global___Expression: ... - @property - def options(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___Expression]: ... - def __init__( - self, - *, - value: Global___Expression | None = ..., - options: collections.abc.Iterable[Global___Expression] | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["value", b"value"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["options", b"options", "value", b"value"]) -> None: ... - - @typing.final - class MultiOrList(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing.final - class Record(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - FIELDS_FIELD_NUMBER: builtins.int - @property - def fields(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___Expression]: ... - def __init__( - self, - *, - fields: collections.abc.Iterable[Global___Expression] | None = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["fields", b"fields"]) -> None: ... - - VALUE_FIELD_NUMBER: builtins.int - OPTIONS_FIELD_NUMBER: builtins.int - @property - def value(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___Expression]: ... - @property - def options(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___Expression.MultiOrList.Record]: ... - def __init__( - self, - *, - value: collections.abc.Iterable[Global___Expression] | None = ..., - options: collections.abc.Iterable[Global___Expression.MultiOrList.Record] | None = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["options", b"options", "value", b"value"]) -> None: ... - - @typing.final - class EmbeddedFunction(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing.final - class PythonPickleFunction(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - FUNCTION_FIELD_NUMBER: builtins.int - PREREQUISITE_FIELD_NUMBER: builtins.int - function: builtins.bytes - @property - def prerequisite(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... - def __init__( - self, - *, - function: builtins.bytes = ..., - prerequisite: collections.abc.Iterable[builtins.str] | None = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["function", b"function", "prerequisite", b"prerequisite"]) -> None: ... - - @typing.final - class WebAssemblyFunction(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - SCRIPT_FIELD_NUMBER: builtins.int - PREREQUISITE_FIELD_NUMBER: builtins.int - script: builtins.bytes - @property - def prerequisite(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... - def __init__( - self, - *, - script: builtins.bytes = ..., - prerequisite: collections.abc.Iterable[builtins.str] | None = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["prerequisite", b"prerequisite", "script", b"script"]) -> None: ... - - ARGUMENTS_FIELD_NUMBER: builtins.int - OUTPUT_TYPE_FIELD_NUMBER: builtins.int - PYTHON_PICKLE_FUNCTION_FIELD_NUMBER: builtins.int - WEB_ASSEMBLY_FUNCTION_FIELD_NUMBER: builtins.int - @property - def arguments(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___Expression]: ... - @property - def output_type(self) -> substrait.gen.proto.type_pb2.Type: ... - @property - def python_pickle_function(self) -> Global___Expression.EmbeddedFunction.PythonPickleFunction: ... - @property - def web_assembly_function(self) -> Global___Expression.EmbeddedFunction.WebAssemblyFunction: ... - def __init__( - self, - *, - arguments: collections.abc.Iterable[Global___Expression] | None = ..., - output_type: substrait.gen.proto.type_pb2.Type | None = ..., - python_pickle_function: Global___Expression.EmbeddedFunction.PythonPickleFunction | None = ..., - web_assembly_function: Global___Expression.EmbeddedFunction.WebAssemblyFunction | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["kind", b"kind", "output_type", b"output_type", "python_pickle_function", b"python_pickle_function", "web_assembly_function", b"web_assembly_function"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["arguments", b"arguments", "kind", b"kind", "output_type", b"output_type", "python_pickle_function", b"python_pickle_function", "web_assembly_function", b"web_assembly_function"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["kind", b"kind"]) -> typing.Literal["python_pickle_function", "web_assembly_function"] | None: ... - - @typing.final - class ReferenceSegment(google.protobuf.message.Message): - """A way to reference the inner property of a complex record. Can reference - either a map key by literal, a struct field by the ordinal position of - the desired field or a particular element in an array. Supports - expressions that would roughly translate to something similar to: - a.b[2].c['my_map_key'].x where a,b,c and x are struct field references - (ordinalized in the internal representation here), [2] is a list offset - and ['my_map_key'] is a reference into a map field. - """ - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing.final - class MapKey(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - MAP_KEY_FIELD_NUMBER: builtins.int - CHILD_FIELD_NUMBER: builtins.int - @property - def map_key(self) -> Global___Expression.Literal: - """literal based reference to specific possible value in map.""" - - @property - def child(self) -> Global___Expression.ReferenceSegment: - """Optional child segment""" - - def __init__( - self, - *, - map_key: Global___Expression.Literal | None = ..., - child: Global___Expression.ReferenceSegment | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["child", b"child", "map_key", b"map_key"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["child", b"child", "map_key", b"map_key"]) -> None: ... - - @typing.final - class StructField(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - FIELD_FIELD_NUMBER: builtins.int - CHILD_FIELD_NUMBER: builtins.int - field: builtins.int - """zero-indexed ordinal position of field in struct""" - @property - def child(self) -> Global___Expression.ReferenceSegment: - """Optional child segment""" - - def __init__( - self, - *, - field: builtins.int = ..., - child: Global___Expression.ReferenceSegment | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["child", b"child"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["child", b"child", "field", b"field"]) -> None: ... - - @typing.final - class ListElement(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - OFFSET_FIELD_NUMBER: builtins.int - CHILD_FIELD_NUMBER: builtins.int - offset: builtins.int - """zero-indexed ordinal position of element in list""" - @property - def child(self) -> Global___Expression.ReferenceSegment: - """Optional child segment""" - - def __init__( - self, - *, - offset: builtins.int = ..., - child: Global___Expression.ReferenceSegment | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["child", b"child"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["child", b"child", "offset", b"offset"]) -> None: ... - - MAP_KEY_FIELD_NUMBER: builtins.int - STRUCT_FIELD_FIELD_NUMBER: builtins.int - LIST_ELEMENT_FIELD_NUMBER: builtins.int - @property - def map_key(self) -> Global___Expression.ReferenceSegment.MapKey: ... - @property - def struct_field(self) -> Global___Expression.ReferenceSegment.StructField: ... - @property - def list_element(self) -> Global___Expression.ReferenceSegment.ListElement: ... - def __init__( - self, - *, - map_key: Global___Expression.ReferenceSegment.MapKey | None = ..., - struct_field: Global___Expression.ReferenceSegment.StructField | None = ..., - list_element: Global___Expression.ReferenceSegment.ListElement | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["list_element", b"list_element", "map_key", b"map_key", "reference_type", b"reference_type", "struct_field", b"struct_field"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["list_element", b"list_element", "map_key", b"map_key", "reference_type", b"reference_type", "struct_field", b"struct_field"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["reference_type", b"reference_type"]) -> typing.Literal["map_key", "struct_field", "list_element"] | None: ... - - @typing.final - class MaskExpression(google.protobuf.message.Message): - """A reference that takes an existing subtype and selectively removes fields - from it. For example, one might initially have an inner struct with 100 - fields but a a particular operation only needs to interact with only 2 of - those 100 fields. In this situation, one would use a mask expression to - eliminate the 98 fields that are not relevant to the rest of the operation - pipeline. - - Note that this does not fundamentally alter the structure of data beyond - the elimination of unnecessary elements. - """ - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing.final - class Select(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - STRUCT_FIELD_NUMBER: builtins.int - LIST_FIELD_NUMBER: builtins.int - MAP_FIELD_NUMBER: builtins.int - @property - def struct(self) -> Global___Expression.MaskExpression.StructSelect: ... - @property - def list(self) -> Global___Expression.MaskExpression.ListSelect: ... - @property - def map(self) -> Global___Expression.MaskExpression.MapSelect: ... - def __init__( - self, - *, - struct: Global___Expression.MaskExpression.StructSelect | None = ..., - list: Global___Expression.MaskExpression.ListSelect | None = ..., - map: Global___Expression.MaskExpression.MapSelect | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["list", b"list", "map", b"map", "struct", b"struct", "type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["list", b"list", "map", b"map", "struct", b"struct", "type", b"type"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["type", b"type"]) -> typing.Literal["struct", "list", "map"] | None: ... - - @typing.final - class StructSelect(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - STRUCT_ITEMS_FIELD_NUMBER: builtins.int - @property - def struct_items(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___Expression.MaskExpression.StructItem]: ... - def __init__( - self, - *, - struct_items: collections.abc.Iterable[Global___Expression.MaskExpression.StructItem] | None = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["struct_items", b"struct_items"]) -> None: ... - - @typing.final - class StructItem(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - FIELD_FIELD_NUMBER: builtins.int - CHILD_FIELD_NUMBER: builtins.int - field: builtins.int - @property - def child(self) -> Global___Expression.MaskExpression.Select: ... - def __init__( - self, - *, - field: builtins.int = ..., - child: Global___Expression.MaskExpression.Select | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["child", b"child"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["child", b"child", "field", b"field"]) -> None: ... - - @typing.final - class ListSelect(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing.final - class ListSelectItem(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing.final - class ListElement(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - FIELD_FIELD_NUMBER: builtins.int - field: builtins.int - def __init__( - self, - *, - field: builtins.int = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["field", b"field"]) -> None: ... - - @typing.final - class ListSlice(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - START_FIELD_NUMBER: builtins.int - END_FIELD_NUMBER: builtins.int - start: builtins.int - end: builtins.int - def __init__( - self, - *, - start: builtins.int = ..., - end: builtins.int = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["end", b"end", "start", b"start"]) -> None: ... - - ITEM_FIELD_NUMBER: builtins.int - SLICE_FIELD_NUMBER: builtins.int - @property - def item(self) -> Global___Expression.MaskExpression.ListSelect.ListSelectItem.ListElement: ... - @property - def slice(self) -> Global___Expression.MaskExpression.ListSelect.ListSelectItem.ListSlice: ... - def __init__( - self, - *, - item: Global___Expression.MaskExpression.ListSelect.ListSelectItem.ListElement | None = ..., - slice: Global___Expression.MaskExpression.ListSelect.ListSelectItem.ListSlice | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["item", b"item", "slice", b"slice", "type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["item", b"item", "slice", b"slice", "type", b"type"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["type", b"type"]) -> typing.Literal["item", "slice"] | None: ... - - SELECTION_FIELD_NUMBER: builtins.int - CHILD_FIELD_NUMBER: builtins.int - @property - def selection(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___Expression.MaskExpression.ListSelect.ListSelectItem]: ... - @property - def child(self) -> Global___Expression.MaskExpression.Select: ... - def __init__( - self, - *, - selection: collections.abc.Iterable[Global___Expression.MaskExpression.ListSelect.ListSelectItem] | None = ..., - child: Global___Expression.MaskExpression.Select | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["child", b"child"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["child", b"child", "selection", b"selection"]) -> None: ... - - @typing.final - class MapSelect(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing.final - class MapKey(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - MAP_KEY_FIELD_NUMBER: builtins.int - map_key: builtins.str - def __init__( - self, - *, - map_key: builtins.str = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["map_key", b"map_key"]) -> None: ... - - @typing.final - class MapKeyExpression(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - MAP_KEY_EXPRESSION_FIELD_NUMBER: builtins.int - map_key_expression: builtins.str - def __init__( - self, - *, - map_key_expression: builtins.str = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["map_key_expression", b"map_key_expression"]) -> None: ... - - KEY_FIELD_NUMBER: builtins.int - EXPRESSION_FIELD_NUMBER: builtins.int - CHILD_FIELD_NUMBER: builtins.int - @property - def key(self) -> Global___Expression.MaskExpression.MapSelect.MapKey: ... - @property - def expression(self) -> Global___Expression.MaskExpression.MapSelect.MapKeyExpression: ... - @property - def child(self) -> Global___Expression.MaskExpression.Select: ... - def __init__( - self, - *, - key: Global___Expression.MaskExpression.MapSelect.MapKey | None = ..., - expression: Global___Expression.MaskExpression.MapSelect.MapKeyExpression | None = ..., - child: Global___Expression.MaskExpression.Select | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["child", b"child", "expression", b"expression", "key", b"key", "select", b"select"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["child", b"child", "expression", b"expression", "key", b"key", "select", b"select"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["select", b"select"]) -> typing.Literal["key", "expression"] | None: ... - - SELECT_FIELD_NUMBER: builtins.int - MAINTAIN_SINGULAR_STRUCT_FIELD_NUMBER: builtins.int - maintain_singular_struct: builtins.bool - @property - def select(self) -> Global___Expression.MaskExpression.StructSelect: ... - def __init__( - self, - *, - select: Global___Expression.MaskExpression.StructSelect | None = ..., - maintain_singular_struct: builtins.bool = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["select", b"select"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["maintain_singular_struct", b"maintain_singular_struct", "select", b"select"]) -> None: ... - - @typing.final - class FieldReference(google.protobuf.message.Message): - """A reference to data within a structured object, supporting navigation into - nested fields. The root_type specifies the origin of the data (input record, - outer query, lambda parameters, or an arbitrary expression), and the - reference_type specifies how to navigate from that root (either a direct - path to a single element or a mask selecting multiple elements). - """ - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing.final - class RootReference(google.protobuf.message.Message): - """Singleton that expresses this FieldReference is rooted off the root - incoming record type - """ - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - def __init__( - self, - ) -> None: ... - - @typing.final - class OuterReference(google.protobuf.message.Message): - """A root reference for the outer relation's subquery""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - STEPS_OUT_FIELD_NUMBER: builtins.int - steps_out: builtins.int - """number of subquery boundaries to traverse up for this field's reference - - This value must be >= 1 - """ - def __init__( - self, - *, - steps_out: builtins.int = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["steps_out", b"steps_out"]) -> None: ... - - @typing.final - class LambdaParameterReference(google.protobuf.message.Message): - """A reference to a lambda parameter within a lambda body expression. - This identifies which lambda scope to reference, treating its parameters - as a struct. Use FieldReference with this as root_type to access specific - parameters or nested fields within parameters. - """ - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - STEPS_OUT_FIELD_NUMBER: builtins.int - steps_out: builtins.int - """Number of lambda boundaries to traverse up for this reference. - For nested lambdas: - 0 = innermost lambda (current lambda's parameters as a struct) - 1 = one lambda level out (outer lambda's parameters as a struct) - 2 = two lambda levels out, etc. - """ - def __init__( - self, - *, - steps_out: builtins.int = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["steps_out", b"steps_out"]) -> None: ... - - DIRECT_REFERENCE_FIELD_NUMBER: builtins.int - MASKED_REFERENCE_FIELD_NUMBER: builtins.int - EXPRESSION_FIELD_NUMBER: builtins.int - ROOT_REFERENCE_FIELD_NUMBER: builtins.int - OUTER_REFERENCE_FIELD_NUMBER: builtins.int - LAMBDA_PARAMETER_REFERENCE_FIELD_NUMBER: builtins.int - @property - def direct_reference(self) -> Global___Expression.ReferenceSegment: ... - @property - def masked_reference(self) -> Global___Expression.MaskExpression: ... - @property - def expression(self) -> Global___Expression: ... - @property - def root_reference(self) -> Global___Expression.FieldReference.RootReference: ... - @property - def outer_reference(self) -> Global___Expression.FieldReference.OuterReference: ... - @property - def lambda_parameter_reference(self) -> Global___Expression.FieldReference.LambdaParameterReference: ... - def __init__( - self, - *, - direct_reference: Global___Expression.ReferenceSegment | None = ..., - masked_reference: Global___Expression.MaskExpression | None = ..., - expression: Global___Expression | None = ..., - root_reference: Global___Expression.FieldReference.RootReference | None = ..., - outer_reference: Global___Expression.FieldReference.OuterReference | None = ..., - lambda_parameter_reference: Global___Expression.FieldReference.LambdaParameterReference | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["direct_reference", b"direct_reference", "expression", b"expression", "lambda_parameter_reference", b"lambda_parameter_reference", "masked_reference", b"masked_reference", "outer_reference", b"outer_reference", "reference_type", b"reference_type", "root_reference", b"root_reference", "root_type", b"root_type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["direct_reference", b"direct_reference", "expression", b"expression", "lambda_parameter_reference", b"lambda_parameter_reference", "masked_reference", b"masked_reference", "outer_reference", b"outer_reference", "reference_type", b"reference_type", "root_reference", b"root_reference", "root_type", b"root_type"]) -> None: ... - @typing.overload - def WhichOneof(self, oneof_group: typing.Literal["reference_type", b"reference_type"]) -> typing.Literal["direct_reference", "masked_reference"] | None: ... - @typing.overload - def WhichOneof(self, oneof_group: typing.Literal["root_type", b"root_type"]) -> typing.Literal["expression", "root_reference", "outer_reference", "lambda_parameter_reference"] | None: ... - - @typing.final - class Subquery(google.protobuf.message.Message): - """Subquery relation expression""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing.final - class Scalar(google.protobuf.message.Message): - """A subquery with one row and one column. This is often an aggregate - though not required to be. - """ - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - INPUT_FIELD_NUMBER: builtins.int - @property - def input(self) -> Global___Rel: ... - def __init__( - self, - *, - input: Global___Rel | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["input", b"input"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["input", b"input"]) -> None: ... - - @typing.final - class InPredicate(google.protobuf.message.Message): - """Predicate checking that the left expression is contained in the right - subquery - - Examples: - - x IN (SELECT * FROM t) - (x, y) IN (SELECT a, b FROM t) - """ - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - NEEDLES_FIELD_NUMBER: builtins.int - HAYSTACK_FIELD_NUMBER: builtins.int - @property - def needles(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___Expression]: ... - @property - def haystack(self) -> Global___Rel: ... - def __init__( - self, - *, - needles: collections.abc.Iterable[Global___Expression] | None = ..., - haystack: Global___Rel | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["haystack", b"haystack"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["haystack", b"haystack", "needles", b"needles"]) -> None: ... - - @typing.final - class SetPredicate(google.protobuf.message.Message): - """A predicate over a set of rows in the form of a subquery - EXISTS and UNIQUE are common SQL forms of this operation. - """ - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _PredicateOp: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _PredicateOpEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Expression.Subquery.SetPredicate._PredicateOp.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - PREDICATE_OP_UNSPECIFIED: Expression.Subquery.SetPredicate._PredicateOp.ValueType # 0 - PREDICATE_OP_EXISTS: Expression.Subquery.SetPredicate._PredicateOp.ValueType # 1 - PREDICATE_OP_UNIQUE: Expression.Subquery.SetPredicate._PredicateOp.ValueType # 2 - - class PredicateOp(_PredicateOp, metaclass=_PredicateOpEnumTypeWrapper): ... - PREDICATE_OP_UNSPECIFIED: Expression.Subquery.SetPredicate.PredicateOp.ValueType # 0 - PREDICATE_OP_EXISTS: Expression.Subquery.SetPredicate.PredicateOp.ValueType # 1 - PREDICATE_OP_UNIQUE: Expression.Subquery.SetPredicate.PredicateOp.ValueType # 2 - - PREDICATE_OP_FIELD_NUMBER: builtins.int - TUPLES_FIELD_NUMBER: builtins.int - predicate_op: Global___Expression.Subquery.SetPredicate.PredicateOp.ValueType - """TODO: should allow expressions""" - @property - def tuples(self) -> Global___Rel: ... - def __init__( - self, - *, - predicate_op: Global___Expression.Subquery.SetPredicate.PredicateOp.ValueType = ..., - tuples: Global___Rel | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["tuples", b"tuples"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["predicate_op", b"predicate_op", "tuples", b"tuples"]) -> None: ... - - @typing.final - class SetComparison(google.protobuf.message.Message): - """A subquery comparison using ANY or ALL. - Examples: - - SELECT * - FROM t1 - WHERE x < ANY(SELECT y from t2) - """ - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _ComparisonOp: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _ComparisonOpEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Expression.Subquery.SetComparison._ComparisonOp.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - COMPARISON_OP_UNSPECIFIED: Expression.Subquery.SetComparison._ComparisonOp.ValueType # 0 - COMPARISON_OP_EQ: Expression.Subquery.SetComparison._ComparisonOp.ValueType # 1 - COMPARISON_OP_NE: Expression.Subquery.SetComparison._ComparisonOp.ValueType # 2 - COMPARISON_OP_LT: Expression.Subquery.SetComparison._ComparisonOp.ValueType # 3 - COMPARISON_OP_GT: Expression.Subquery.SetComparison._ComparisonOp.ValueType # 4 - COMPARISON_OP_LE: Expression.Subquery.SetComparison._ComparisonOp.ValueType # 5 - COMPARISON_OP_GE: Expression.Subquery.SetComparison._ComparisonOp.ValueType # 6 - - class ComparisonOp(_ComparisonOp, metaclass=_ComparisonOpEnumTypeWrapper): ... - COMPARISON_OP_UNSPECIFIED: Expression.Subquery.SetComparison.ComparisonOp.ValueType # 0 - COMPARISON_OP_EQ: Expression.Subquery.SetComparison.ComparisonOp.ValueType # 1 - COMPARISON_OP_NE: Expression.Subquery.SetComparison.ComparisonOp.ValueType # 2 - COMPARISON_OP_LT: Expression.Subquery.SetComparison.ComparisonOp.ValueType # 3 - COMPARISON_OP_GT: Expression.Subquery.SetComparison.ComparisonOp.ValueType # 4 - COMPARISON_OP_LE: Expression.Subquery.SetComparison.ComparisonOp.ValueType # 5 - COMPARISON_OP_GE: Expression.Subquery.SetComparison.ComparisonOp.ValueType # 6 - - class _ReductionOp: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _ReductionOpEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Expression.Subquery.SetComparison._ReductionOp.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - REDUCTION_OP_UNSPECIFIED: Expression.Subquery.SetComparison._ReductionOp.ValueType # 0 - REDUCTION_OP_ANY: Expression.Subquery.SetComparison._ReductionOp.ValueType # 1 - REDUCTION_OP_ALL: Expression.Subquery.SetComparison._ReductionOp.ValueType # 2 - - class ReductionOp(_ReductionOp, metaclass=_ReductionOpEnumTypeWrapper): ... - REDUCTION_OP_UNSPECIFIED: Expression.Subquery.SetComparison.ReductionOp.ValueType # 0 - REDUCTION_OP_ANY: Expression.Subquery.SetComparison.ReductionOp.ValueType # 1 - REDUCTION_OP_ALL: Expression.Subquery.SetComparison.ReductionOp.ValueType # 2 - - REDUCTION_OP_FIELD_NUMBER: builtins.int - COMPARISON_OP_FIELD_NUMBER: builtins.int - LEFT_FIELD_NUMBER: builtins.int - RIGHT_FIELD_NUMBER: builtins.int - reduction_op: Global___Expression.Subquery.SetComparison.ReductionOp.ValueType - """ANY or ALL""" - comparison_op: Global___Expression.Subquery.SetComparison.ComparisonOp.ValueType - """A comparison operator""" - @property - def left(self) -> Global___Expression: - """left side of the expression""" - - @property - def right(self) -> Global___Rel: - """right side of the expression""" - - def __init__( - self, - *, - reduction_op: Global___Expression.Subquery.SetComparison.ReductionOp.ValueType = ..., - comparison_op: Global___Expression.Subquery.SetComparison.ComparisonOp.ValueType = ..., - left: Global___Expression | None = ..., - right: Global___Rel | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["left", b"left", "right", b"right"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["comparison_op", b"comparison_op", "left", b"left", "reduction_op", b"reduction_op", "right", b"right"]) -> None: ... - - SCALAR_FIELD_NUMBER: builtins.int - IN_PREDICATE_FIELD_NUMBER: builtins.int - SET_PREDICATE_FIELD_NUMBER: builtins.int - SET_COMPARISON_FIELD_NUMBER: builtins.int - @property - def scalar(self) -> Global___Expression.Subquery.Scalar: - """Scalar subquery""" - - @property - def in_predicate(self) -> Global___Expression.Subquery.InPredicate: - """x IN y predicate""" - - @property - def set_predicate(self) -> Global___Expression.Subquery.SetPredicate: - """EXISTS/UNIQUE predicate""" - - @property - def set_comparison(self) -> Global___Expression.Subquery.SetComparison: - """ANY/ALL predicate""" - - def __init__( - self, - *, - scalar: Global___Expression.Subquery.Scalar | None = ..., - in_predicate: Global___Expression.Subquery.InPredicate | None = ..., - set_predicate: Global___Expression.Subquery.SetPredicate | None = ..., - set_comparison: Global___Expression.Subquery.SetComparison | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["in_predicate", b"in_predicate", "scalar", b"scalar", "set_comparison", b"set_comparison", "set_predicate", b"set_predicate", "subquery_type", b"subquery_type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["in_predicate", b"in_predicate", "scalar", b"scalar", "set_comparison", b"set_comparison", "set_predicate", b"set_predicate", "subquery_type", b"subquery_type"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["subquery_type", b"subquery_type"]) -> typing.Literal["scalar", "in_predicate", "set_predicate", "set_comparison"] | None: ... - - LITERAL_FIELD_NUMBER: builtins.int - SELECTION_FIELD_NUMBER: builtins.int - SCALAR_FUNCTION_FIELD_NUMBER: builtins.int - WINDOW_FUNCTION_FIELD_NUMBER: builtins.int - IF_THEN_FIELD_NUMBER: builtins.int - SWITCH_EXPRESSION_FIELD_NUMBER: builtins.int - SINGULAR_OR_LIST_FIELD_NUMBER: builtins.int - MULTI_OR_LIST_FIELD_NUMBER: builtins.int - CAST_FIELD_NUMBER: builtins.int - SUBQUERY_FIELD_NUMBER: builtins.int - NESTED_FIELD_NUMBER: builtins.int - DYNAMIC_PARAMETER_FIELD_NUMBER: builtins.int - LAMBDA_FIELD_NUMBER: builtins.int - LAMBDA_INVOCATION_FIELD_NUMBER: builtins.int - ENUM_FIELD_NUMBER: builtins.int - @property - def literal(self) -> Global___Expression.Literal: ... - @property - def selection(self) -> Global___Expression.FieldReference: ... - @property - def scalar_function(self) -> Global___Expression.ScalarFunction: ... - @property - def window_function(self) -> Global___Expression.WindowFunction: ... - @property - def if_then(self) -> Global___Expression.IfThen: ... - @property - def switch_expression(self) -> Global___Expression.SwitchExpression: ... - @property - def singular_or_list(self) -> Global___Expression.SingularOrList: ... - @property - def multi_or_list(self) -> Global___Expression.MultiOrList: ... - @property - def cast(self) -> Global___Expression.Cast: ... - @property - def subquery(self) -> Global___Expression.Subquery: ... - @property - def nested(self) -> Global___Expression.Nested: ... - @property - def dynamic_parameter(self) -> Global___DynamicParameter: ... - @property - def lambda_invocation(self) -> Global___Expression.LambdaInvocation: ... - @property - def enum(self) -> Global___Expression.Enum: - """deprecated: enum literals are only sensible in the context of - function arguments, for which FunctionArgument should now be - used - """ - - def __init__( - self, - *, - literal: Global___Expression.Literal | None = ..., - selection: Global___Expression.FieldReference | None = ..., - scalar_function: Global___Expression.ScalarFunction | None = ..., - window_function: Global___Expression.WindowFunction | None = ..., - if_then: Global___Expression.IfThen | None = ..., - switch_expression: Global___Expression.SwitchExpression | None = ..., - singular_or_list: Global___Expression.SingularOrList | None = ..., - multi_or_list: Global___Expression.MultiOrList | None = ..., - cast: Global___Expression.Cast | None = ..., - subquery: Global___Expression.Subquery | None = ..., - nested: Global___Expression.Nested | None = ..., - dynamic_parameter: Global___DynamicParameter | None = ..., - lambda_invocation: Global___Expression.LambdaInvocation | None = ..., - enum: Global___Expression.Enum | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["cast", b"cast", "dynamic_parameter", b"dynamic_parameter", "enum", b"enum", "if_then", b"if_then", "lambda", b"lambda", "lambda_invocation", b"lambda_invocation", "literal", b"literal", "multi_or_list", b"multi_or_list", "nested", b"nested", "rex_type", b"rex_type", "scalar_function", b"scalar_function", "selection", b"selection", "singular_or_list", b"singular_or_list", "subquery", b"subquery", "switch_expression", b"switch_expression", "window_function", b"window_function"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["cast", b"cast", "dynamic_parameter", b"dynamic_parameter", "enum", b"enum", "if_then", b"if_then", "lambda", b"lambda", "lambda_invocation", b"lambda_invocation", "literal", b"literal", "multi_or_list", b"multi_or_list", "nested", b"nested", "rex_type", b"rex_type", "scalar_function", b"scalar_function", "selection", b"selection", "singular_or_list", b"singular_or_list", "subquery", b"subquery", "switch_expression", b"switch_expression", "window_function", b"window_function"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["rex_type", b"rex_type"]) -> typing.Literal["literal", "selection", "scalar_function", "window_function", "if_then", "switch_expression", "singular_or_list", "multi_or_list", "cast", "subquery", "nested", "dynamic_parameter", "lambda", "lambda_invocation", "enum"] | None: ... - -Global___Expression: typing_extensions.TypeAlias = Expression - -@typing.final -class DynamicParameter(google.protobuf.message.Message): - """Expression that represents a dynamic parameter. - Dynamic parameters are identified by a surrogate key within a plan. - """ - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TYPE_FIELD_NUMBER: builtins.int - PARAMETER_REFERENCE_FIELD_NUMBER: builtins.int - parameter_reference: builtins.int - """The surrogate key used within a plan to reference a specific parameter binding.""" - @property - def type(self) -> substrait.gen.proto.type_pb2.Type: - """The type of the dynamic parameter.""" - - def __init__( - self, - *, - type: substrait.gen.proto.type_pb2.Type | None = ..., - parameter_reference: builtins.int = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["parameter_reference", b"parameter_reference", "type", b"type"]) -> None: ... - -Global___DynamicParameter: typing_extensions.TypeAlias = DynamicParameter - -@typing.final -class SortField(google.protobuf.message.Message): - """The description of a field to sort on (including the direction of sorting and null semantics)""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _SortDirection: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _SortDirectionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[SortField._SortDirection.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - SORT_DIRECTION_UNSPECIFIED: SortField._SortDirection.ValueType # 0 - SORT_DIRECTION_ASC_NULLS_FIRST: SortField._SortDirection.ValueType # 1 - SORT_DIRECTION_ASC_NULLS_LAST: SortField._SortDirection.ValueType # 2 - SORT_DIRECTION_DESC_NULLS_FIRST: SortField._SortDirection.ValueType # 3 - SORT_DIRECTION_DESC_NULLS_LAST: SortField._SortDirection.ValueType # 4 - SORT_DIRECTION_CLUSTERED: SortField._SortDirection.ValueType # 5 - - class SortDirection(_SortDirection, metaclass=_SortDirectionEnumTypeWrapper): ... - SORT_DIRECTION_UNSPECIFIED: SortField.SortDirection.ValueType # 0 - SORT_DIRECTION_ASC_NULLS_FIRST: SortField.SortDirection.ValueType # 1 - SORT_DIRECTION_ASC_NULLS_LAST: SortField.SortDirection.ValueType # 2 - SORT_DIRECTION_DESC_NULLS_FIRST: SortField.SortDirection.ValueType # 3 - SORT_DIRECTION_DESC_NULLS_LAST: SortField.SortDirection.ValueType # 4 - SORT_DIRECTION_CLUSTERED: SortField.SortDirection.ValueType # 5 - - EXPR_FIELD_NUMBER: builtins.int - DIRECTION_FIELD_NUMBER: builtins.int - COMPARISON_FUNCTION_REFERENCE_FIELD_NUMBER: builtins.int - direction: Global___SortField.SortDirection.ValueType - comparison_function_reference: builtins.int - @property - def expr(self) -> Global___Expression: ... - def __init__( - self, - *, - expr: Global___Expression | None = ..., - direction: Global___SortField.SortDirection.ValueType = ..., - comparison_function_reference: builtins.int = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["comparison_function_reference", b"comparison_function_reference", "direction", b"direction", "expr", b"expr", "sort_kind", b"sort_kind"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["comparison_function_reference", b"comparison_function_reference", "direction", b"direction", "expr", b"expr", "sort_kind", b"sort_kind"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["sort_kind", b"sort_kind"]) -> typing.Literal["direction", "comparison_function_reference"] | None: ... - -Global___SortField: typing_extensions.TypeAlias = SortField - -@typing.final -class AggregateFunction(google.protobuf.message.Message): - """An aggregate function.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _AggregationInvocation: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _AggregationInvocationEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[AggregateFunction._AggregationInvocation.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - AGGREGATION_INVOCATION_UNSPECIFIED: AggregateFunction._AggregationInvocation.ValueType # 0 - """This default value implies AGGREGATION_INVOCATION_ALL.""" - AGGREGATION_INVOCATION_ALL: AggregateFunction._AggregationInvocation.ValueType # 1 - """Use all values in the aggregation calculation.""" - AGGREGATION_INVOCATION_DISTINCT: AggregateFunction._AggregationInvocation.ValueType # 2 - """Use only distinct values in the aggregation calculation.""" - - class AggregationInvocation(_AggregationInvocation, metaclass=_AggregationInvocationEnumTypeWrapper): - """Method in which equivalent records are merged before being aggregated.""" - - AGGREGATION_INVOCATION_UNSPECIFIED: AggregateFunction.AggregationInvocation.ValueType # 0 - """This default value implies AGGREGATION_INVOCATION_ALL.""" - AGGREGATION_INVOCATION_ALL: AggregateFunction.AggregationInvocation.ValueType # 1 - """Use all values in the aggregation calculation.""" - AGGREGATION_INVOCATION_DISTINCT: AggregateFunction.AggregationInvocation.ValueType # 2 - """Use only distinct values in the aggregation calculation.""" - - FUNCTION_REFERENCE_FIELD_NUMBER: builtins.int - ARGUMENTS_FIELD_NUMBER: builtins.int - OPTIONS_FIELD_NUMBER: builtins.int - OUTPUT_TYPE_FIELD_NUMBER: builtins.int - PHASE_FIELD_NUMBER: builtins.int - SORTS_FIELD_NUMBER: builtins.int - INVOCATION_FIELD_NUMBER: builtins.int - ARGS_FIELD_NUMBER: builtins.int - function_reference: builtins.int - """Points to a function_anchor defined in this plan, which must refer - to an aggregate function in the associated YAML file. Required; 0 is - considered to be a valid anchor/reference. - """ - phase: Global___AggregationPhase.ValueType - """Describes which part of the aggregation to perform within the context of - distributed algorithms. Required. Must be set to INITIAL_TO_RESULT for - aggregate functions that are not decomposable. - """ - invocation: Global___AggregateFunction.AggregationInvocation.ValueType - """Specifies whether equivalent records are merged before being aggregated. - Optional, defaults to AGGREGATION_INVOCATION_ALL. - """ - @property - def arguments(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___FunctionArgument]: - """The arguments to be bound to the function. This must have exactly the - number of arguments specified in the function definition, and the - argument types must also match exactly: - - - Value arguments must be bound using FunctionArgument.value, and - the expression in that must yield a value of a type that a function - overload is defined for. - - Type arguments must be bound using FunctionArgument.type, and a - function overload must be defined for that type. - - Enum arguments must be bound using FunctionArgument.enum - followed by Enum.specified, with a string that case-insensitively - matches one of the allowed options. - - Optional enum arguments must be bound using FunctionArgument.enum - followed by either Enum.specified or Enum.unspecified. If specified, - the string must case-insensitively match one of the allowed options. - """ - - @property - def options(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___FunctionOption]: - """Options to specify behavior for corner cases, or leave behavior - unspecified if the consumer does not need specific behavior in these - cases. - """ - - @property - def output_type(self) -> substrait.gen.proto.type_pb2.Type: - """Must be set to the return type of the function, exactly as derived - using the declaration in the extension. - """ - - @property - def sorts(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___SortField]: - """If specified, the aggregated records are ordered according to this list - before they are aggregated. The first sort field has the highest - priority; only if a sort field determines two records to be equivalent is - the next field queried. This field is optional. - """ - - @property - def args(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___Expression]: - """deprecated; use arguments instead""" - - def __init__( - self, - *, - function_reference: builtins.int = ..., - arguments: collections.abc.Iterable[Global___FunctionArgument] | None = ..., - options: collections.abc.Iterable[Global___FunctionOption] | None = ..., - output_type: substrait.gen.proto.type_pb2.Type | None = ..., - phase: Global___AggregationPhase.ValueType = ..., - sorts: collections.abc.Iterable[Global___SortField] | None = ..., - invocation: Global___AggregateFunction.AggregationInvocation.ValueType = ..., - args: collections.abc.Iterable[Global___Expression] | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["output_type", b"output_type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["args", b"args", "arguments", b"arguments", "function_reference", b"function_reference", "invocation", b"invocation", "options", b"options", "output_type", b"output_type", "phase", b"phase", "sorts", b"sorts"]) -> None: ... - -Global___AggregateFunction: typing_extensions.TypeAlias = AggregateFunction - -@typing.final -class ReferenceRel(google.protobuf.message.Message): - """This rel is used to create references, - in case we refer to a RelRoot field names will be ignored - """ - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - SUBTREE_ORDINAL_FIELD_NUMBER: builtins.int - subtree_ordinal: builtins.int - def __init__( - self, - *, - subtree_ordinal: builtins.int = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["subtree_ordinal", b"subtree_ordinal"]) -> None: ... - -Global___ReferenceRel: typing_extensions.TypeAlias = ReferenceRel diff --git a/src/substrait/gen/proto/capabilities_pb2.py b/src/substrait/gen/proto/capabilities_pb2.py deleted file mode 100644 index 7174e94..0000000 --- a/src/substrait/gen/proto/capabilities_pb2.py +++ /dev/null @@ -1,39 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE -# source: substrait/gen/proto/capabilities.proto -# Protobuf Python Version: 5.29.5 -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import runtime_version as _runtime_version -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 5, - 29, - 5, - '', - 'substrait/gen/proto/capabilities.proto' -) -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&substrait/gen/proto/capabilities.proto\x12\x13substrait.gen.proto\"\xf6\x02\n\x0c\x43\x61pabilities\x12-\n\x12substrait_versions\x18\x01 \x03(\tR\x11substraitVersions\x12?\n\x1c\x61\x64vanced_extension_type_urls\x18\x02 \x03(\tR\x19\x61\x64vancedExtensionTypeUrls\x12^\n\x11simple_extensions\x18\x03 \x03(\x0b\x32\x31.substrait.gen.proto.Capabilities.SimpleExtensionR\x10simpleExtensions\x1a\x95\x01\n\x0fSimpleExtension\x12\x10\n\x03uri\x18\x01 \x01(\tR\x03uri\x12#\n\rfunction_keys\x18\x02 \x03(\tR\x0c\x66unctionKeys\x12\x1b\n\ttype_keys\x18\x03 \x03(\tR\x08typeKeys\x12.\n\x13type_variation_keys\x18\x04 \x03(\tR\x11typeVariationKeysB?\n\x1cio.substrait.gen.proto.protoP\x01\xaa\x02\x1cSubstrait.Gen.Proto.Protobufb\x06proto3') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'substrait.gen.proto.capabilities_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\034io.substrait.gen.proto.protoP\001\252\002\034Substrait.Gen.Proto.Protobuf' - _globals['_CAPABILITIES']._serialized_start=64 - _globals['_CAPABILITIES']._serialized_end=438 - _globals['_CAPABILITIES_SIMPLEEXTENSION']._serialized_start=289 - _globals['_CAPABILITIES_SIMPLEEXTENSION']._serialized_end=438 -# @@protoc_insertion_point(module_scope) diff --git a/src/substrait/gen/proto/capabilities_pb2.pyi b/src/substrait/gen/proto/capabilities_pb2.pyi deleted file mode 100644 index f5db2be..0000000 --- a/src/substrait/gen/proto/capabilities_pb2.pyi +++ /dev/null @@ -1,78 +0,0 @@ -""" -@generated by mypy-protobuf. Do not edit manually! -isort:skip_file -SPDX-License-Identifier: Apache-2.0""" - -import builtins -import collections.abc -import google.protobuf.descriptor -import google.protobuf.internal.containers -import google.protobuf.message -import sys -import typing - -if sys.version_info >= (3, 10): - import typing as typing_extensions -else: - import typing_extensions - -DESCRIPTOR: google.protobuf.descriptor.FileDescriptor - -@typing.final -class Capabilities(google.protobuf.message.Message): - """Defines a set of Capabilities that a system (producer or consumer) supports.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing.final - class SimpleExtension(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - URI_FIELD_NUMBER: builtins.int - FUNCTION_KEYS_FIELD_NUMBER: builtins.int - TYPE_KEYS_FIELD_NUMBER: builtins.int - TYPE_VARIATION_KEYS_FIELD_NUMBER: builtins.int - uri: builtins.str - @property - def function_keys(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... - @property - def type_keys(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... - @property - def type_variation_keys(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... - def __init__( - self, - *, - uri: builtins.str = ..., - function_keys: collections.abc.Iterable[builtins.str] | None = ..., - type_keys: collections.abc.Iterable[builtins.str] | None = ..., - type_variation_keys: collections.abc.Iterable[builtins.str] | None = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["function_keys", b"function_keys", "type_keys", b"type_keys", "type_variation_keys", b"type_variation_keys", "uri", b"uri"]) -> None: ... - - SUBSTRAIT_VERSIONS_FIELD_NUMBER: builtins.int - ADVANCED_EXTENSION_TYPE_URLS_FIELD_NUMBER: builtins.int - SIMPLE_EXTENSIONS_FIELD_NUMBER: builtins.int - @property - def substrait_versions(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: - """List of Substrait versions this system supports""" - - @property - def advanced_extension_type_urls(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: - """list of com.google.Any message types this system supports for advanced - extensions. - """ - - @property - def simple_extensions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___Capabilities.SimpleExtension]: - """list of simple extensions this system supports.""" - - def __init__( - self, - *, - substrait_versions: collections.abc.Iterable[builtins.str] | None = ..., - advanced_extension_type_urls: collections.abc.Iterable[builtins.str] | None = ..., - simple_extensions: collections.abc.Iterable[Global___Capabilities.SimpleExtension] | None = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["advanced_extension_type_urls", b"advanced_extension_type_urls", "simple_extensions", b"simple_extensions", "substrait_versions", b"substrait_versions"]) -> None: ... - -Global___Capabilities: typing_extensions.TypeAlias = Capabilities diff --git a/src/substrait/gen/proto/extended_expression_pb2.py b/src/substrait/gen/proto/extended_expression_pb2.py deleted file mode 100644 index 7073fcb..0000000 --- a/src/substrait/gen/proto/extended_expression_pb2.py +++ /dev/null @@ -1,45 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE -# source: substrait/gen/proto/extended_expression.proto -# Protobuf Python Version: 5.29.5 -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import runtime_version as _runtime_version -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 5, - 29, - 5, - '', - 'substrait/gen/proto/extended_expression.proto' -) -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from substrait.gen.proto import algebra_pb2 as substrait_dot_gen_dot_proto_dot_algebra__pb2 -from substrait.gen.proto.extensions import extensions_pb2 as substrait_dot_gen_dot_proto_dot_extensions_dot_extensions__pb2 -from substrait.gen.proto import plan_pb2 as substrait_dot_gen_dot_proto_dot_plan__pb2 -from substrait.gen.proto import type_pb2 as substrait_dot_gen_dot_proto_dot_type__pb2 - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n-substrait/gen/proto/extended_expression.proto\x12\x13substrait.gen.proto\x1a!substrait/gen/proto/algebra.proto\x1a/substrait/gen/proto/extensions/extensions.proto\x1a\x1esubstrait/gen/proto/plan.proto\x1a\x1esubstrait/gen/proto/type.proto\"\xcc\x01\n\x13\x45xpressionReference\x12\x41\n\nexpression\x18\x01 \x01(\x0b\x32\x1f.substrait.gen.proto.ExpressionH\x00R\nexpression\x12\x42\n\x07measure\x18\x02 \x01(\x0b\x32&.substrait.gen.proto.AggregateFunctionH\x00R\x07measure\x12!\n\x0coutput_names\x18\x03 \x03(\tR\x0boutputNamesB\x0b\n\texpr_type\"\x86\x05\n\x12\x45xtendedExpression\x12\x36\n\x07version\x18\x07 \x01(\x0b\x32\x1c.substrait.gen.proto.VersionR\x07version\x12]\n\x0e\x65xtension_uris\x18\x01 \x03(\x0b\x32\x32.substrait.gen.proto.extensions.SimpleExtensionURIB\x02\x18\x01R\rextensionUris\x12Y\n\x0e\x65xtension_urns\x18\x08 \x03(\x0b\x32\x32.substrait.gen.proto.extensions.SimpleExtensionURNR\rextensionUrns\x12Z\n\nextensions\x18\x02 \x03(\x0b\x32:.substrait.gen.proto.extensions.SimpleExtensionDeclarationR\nextensions\x12M\n\rreferred_expr\x18\x03 \x03(\x0b\x32(.substrait.gen.proto.ExpressionReferenceR\x0creferredExpr\x12\x41\n\x0b\x62\x61se_schema\x18\x04 \x01(\x0b\x32 .substrait.gen.proto.NamedStructR\nbaseSchema\x12\x62\n\x13\x61\x64vanced_extensions\x18\x05 \x01(\x0b\x32\x31.substrait.gen.proto.extensions.AdvancedExtensionR\x12\x61\x64vancedExtensions\x12,\n\x12\x65xpected_type_urls\x18\x06 \x03(\tR\x10\x65xpectedTypeUrlsB?\n\x1cio.substrait.gen.proto.protoP\x01\xaa\x02\x1cSubstrait.Gen.Proto.Protobufb\x06proto3') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'substrait.gen.proto.extended_expression_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\034io.substrait.gen.proto.protoP\001\252\002\034Substrait.Gen.Proto.Protobuf' - _globals['_EXTENDEDEXPRESSION'].fields_by_name['extension_uris']._loaded_options = None - _globals['_EXTENDEDEXPRESSION'].fields_by_name['extension_uris']._serialized_options = b'\030\001' - _globals['_EXPRESSIONREFERENCE']._serialized_start=219 - _globals['_EXPRESSIONREFERENCE']._serialized_end=423 - _globals['_EXTENDEDEXPRESSION']._serialized_start=426 - _globals['_EXTENDEDEXPRESSION']._serialized_end=1072 -# @@protoc_insertion_point(module_scope) diff --git a/src/substrait/gen/proto/extended_expression_pb2.pyi b/src/substrait/gen/proto/extended_expression_pb2.pyi deleted file mode 100644 index 4f8d3c2..0000000 --- a/src/substrait/gen/proto/extended_expression_pb2.pyi +++ /dev/null @@ -1,125 +0,0 @@ -""" -@generated by mypy-protobuf. Do not edit manually! -isort:skip_file -SPDX-License-Identifier: Apache-2.0""" - -import builtins -import collections.abc -import google.protobuf.descriptor -import google.protobuf.internal.containers -import google.protobuf.message -import substrait.gen.proto.algebra_pb2 -import substrait.gen.proto.extensions.extensions_pb2 -import substrait.gen.proto.plan_pb2 -import substrait.gen.proto.type_pb2 -import sys -import typing - -if sys.version_info >= (3, 10): - import typing as typing_extensions -else: - import typing_extensions - -DESCRIPTOR: google.protobuf.descriptor.FileDescriptor - -@typing.final -class ExpressionReference(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - EXPRESSION_FIELD_NUMBER: builtins.int - MEASURE_FIELD_NUMBER: builtins.int - OUTPUT_NAMES_FIELD_NUMBER: builtins.int - @property - def expression(self) -> substrait.gen.proto.algebra_pb2.Expression: ... - @property - def measure(self) -> substrait.gen.proto.algebra_pb2.AggregateFunction: ... - @property - def output_names(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: - """Field names in depth-first order""" - - def __init__( - self, - *, - expression: substrait.gen.proto.algebra_pb2.Expression | None = ..., - measure: substrait.gen.proto.algebra_pb2.AggregateFunction | None = ..., - output_names: collections.abc.Iterable[builtins.str] | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["expr_type", b"expr_type", "expression", b"expression", "measure", b"measure"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["expr_type", b"expr_type", "expression", b"expression", "measure", b"measure", "output_names", b"output_names"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["expr_type", b"expr_type"]) -> typing.Literal["expression", "measure"] | None: ... - -Global___ExpressionReference: typing_extensions.TypeAlias = ExpressionReference - -@typing.final -class ExtendedExpression(google.protobuf.message.Message): - """Describe a set of operations to complete. - For compactness sake, identifiers are normalized at the plan level. - """ - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - VERSION_FIELD_NUMBER: builtins.int - EXTENSION_URIS_FIELD_NUMBER: builtins.int - EXTENSION_URNS_FIELD_NUMBER: builtins.int - EXTENSIONS_FIELD_NUMBER: builtins.int - REFERRED_EXPR_FIELD_NUMBER: builtins.int - BASE_SCHEMA_FIELD_NUMBER: builtins.int - ADVANCED_EXTENSIONS_FIELD_NUMBER: builtins.int - EXPECTED_TYPE_URLS_FIELD_NUMBER: builtins.int - @property - def version(self) -> substrait.gen.proto.plan_pb2.Version: - """Substrait version of the expression. Optional up to 0.17.0, required for later - versions. - """ - - @property - def extension_uris(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[substrait.gen.proto.extensions.extensions_pb2.SimpleExtensionURI]: - """a list of yaml specifications this expression may depend on - this is now deprecated and extension_urns should be used instead. - """ - - @property - def extension_urns(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[substrait.gen.proto.extensions.extensions_pb2.SimpleExtensionURN]: - """a list of extension specifications this expression may depend on, - referenced by Extension URN - """ - - @property - def extensions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[substrait.gen.proto.extensions.extensions_pb2.SimpleExtensionDeclaration]: - """a list of extensions this expression may depend on""" - - @property - def referred_expr(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___ExpressionReference]: - """one or more expression trees with same order in plan rel""" - - @property - def base_schema(self) -> substrait.gen.proto.type_pb2.NamedStruct: ... - @property - def advanced_extensions(self) -> substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension: - """additional extensions associated with this expression.""" - - @property - def expected_type_urls(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: - """A list of com.google.Any entities that this plan may use. Can be used to - warn if some embedded message types are unknown. Note that this list may - include message types that are ignorable (optimizations) or that are - unused. In many cases, a consumer may be able to work with a plan even if - one or more message types defined here are unknown. - """ - - def __init__( - self, - *, - version: substrait.gen.proto.plan_pb2.Version | None = ..., - extension_uris: collections.abc.Iterable[substrait.gen.proto.extensions.extensions_pb2.SimpleExtensionURI] | None = ..., - extension_urns: collections.abc.Iterable[substrait.gen.proto.extensions.extensions_pb2.SimpleExtensionURN] | None = ..., - extensions: collections.abc.Iterable[substrait.gen.proto.extensions.extensions_pb2.SimpleExtensionDeclaration] | None = ..., - referred_expr: collections.abc.Iterable[Global___ExpressionReference] | None = ..., - base_schema: substrait.gen.proto.type_pb2.NamedStruct | None = ..., - advanced_extensions: substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension | None = ..., - expected_type_urls: collections.abc.Iterable[builtins.str] | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["advanced_extensions", b"advanced_extensions", "base_schema", b"base_schema", "version", b"version"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["advanced_extensions", b"advanced_extensions", "base_schema", b"base_schema", "expected_type_urls", b"expected_type_urls", "extension_uris", b"extension_uris", "extension_urns", b"extension_urns", "extensions", b"extensions", "referred_expr", b"referred_expr", "version", b"version"]) -> None: ... - -Global___ExtendedExpression: typing_extensions.TypeAlias = ExtendedExpression diff --git a/src/substrait/gen/proto/extensions/__init__.py b/src/substrait/gen/proto/extensions/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/src/substrait/gen/proto/extensions/extensions_pb2.py b/src/substrait/gen/proto/extensions/extensions_pb2.py deleted file mode 100644 index 9867078..0000000 --- a/src/substrait/gen/proto/extensions/extensions_pb2.py +++ /dev/null @@ -1,58 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE -# source: substrait/gen/proto/extensions/extensions.proto -# Protobuf Python Version: 5.29.5 -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import runtime_version as _runtime_version -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 5, - 29, - 5, - '', - 'substrait/gen/proto/extensions/extensions.proto' -) -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n/substrait/gen/proto/extensions/extensions.proto\x12\x1esubstrait.gen.proto.extensions\x1a\x19google/protobuf/any.proto\"\\\n\x12SimpleExtensionURI\x12\x30\n\x14\x65xtension_uri_anchor\x18\x01 \x01(\rR\x12\x65xtensionUriAnchor\x12\x10\n\x03uri\x18\x02 \x01(\tR\x03uri:\x02\x18\x01\"X\n\x12SimpleExtensionURN\x12\x30\n\x14\x65xtension_urn_anchor\x18\x01 \x01(\rR\x12\x65xtensionUrnAnchor\x12\x10\n\x03urn\x18\x02 \x01(\tR\x03urn\"\x87\x08\n\x1aSimpleExtensionDeclaration\x12q\n\x0e\x65xtension_type\x18\x01 \x01(\x0b\x32H.substrait.gen.proto.extensions.SimpleExtensionDeclaration.ExtensionTypeH\x00R\rextensionType\x12\x8d\x01\n\x18\x65xtension_type_variation\x18\x02 \x01(\x0b\x32Q.substrait.gen.proto.extensions.SimpleExtensionDeclaration.ExtensionTypeVariationH\x00R\x16\x65xtensionTypeVariation\x12}\n\x12\x65xtension_function\x18\x03 \x01(\x0b\x32L.substrait.gen.proto.extensions.SimpleExtensionDeclaration.ExtensionFunctionH\x00R\x11\x65xtensionFunction\x1a\xb8\x01\n\rExtensionType\x12:\n\x17\x65xtension_uri_reference\x18\x01 \x01(\rB\x02\x18\x01R\x15\x65xtensionUriReference\x12\x36\n\x17\x65xtension_urn_reference\x18\x04 \x01(\rR\x15\x65xtensionUrnReference\x12\x1f\n\x0btype_anchor\x18\x02 \x01(\rR\ntypeAnchor\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x1a\xd4\x01\n\x16\x45xtensionTypeVariation\x12:\n\x17\x65xtension_uri_reference\x18\x01 \x01(\rB\x02\x18\x01R\x15\x65xtensionUriReference\x12\x36\n\x17\x65xtension_urn_reference\x18\x04 \x01(\rR\x15\x65xtensionUrnReference\x12\x32\n\x15type_variation_anchor\x18\x02 \x01(\rR\x13typeVariationAnchor\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x1a\xc4\x01\n\x11\x45xtensionFunction\x12:\n\x17\x65xtension_uri_reference\x18\x01 \x01(\rB\x02\x18\x01R\x15\x65xtensionUriReference\x12\x36\n\x17\x65xtension_urn_reference\x18\x04 \x01(\rR\x15\x65xtensionUrnReference\x12\'\n\x0f\x66unction_anchor\x18\x02 \x01(\rR\x0e\x66unctionAnchor\x12\x12\n\x04name\x18\x03 \x01(\tR\x04nameB\x0e\n\x0cmapping_type\"\x85\x01\n\x11\x41\x64vancedExtension\x12\x38\n\x0coptimization\x18\x01 \x03(\x0b\x32\x14.google.protobuf.AnyR\x0coptimization\x12\x36\n\x0b\x65nhancement\x18\x02 \x01(\x0b\x32\x14.google.protobuf.AnyR\x0b\x65nhancementB?\n\x1cio.substrait.gen.proto.protoP\x01\xaa\x02\x1cSubstrait.Gen.Proto.Protobufb\x06proto3') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'substrait.gen.proto.extensions.extensions_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\034io.substrait.gen.proto.protoP\001\252\002\034Substrait.Gen.Proto.Protobuf' - _globals['_SIMPLEEXTENSIONURI']._loaded_options = None - _globals['_SIMPLEEXTENSIONURI']._serialized_options = b'\030\001' - _globals['_SIMPLEEXTENSIONDECLARATION_EXTENSIONTYPE'].fields_by_name['extension_uri_reference']._loaded_options = None - _globals['_SIMPLEEXTENSIONDECLARATION_EXTENSIONTYPE'].fields_by_name['extension_uri_reference']._serialized_options = b'\030\001' - _globals['_SIMPLEEXTENSIONDECLARATION_EXTENSIONTYPEVARIATION'].fields_by_name['extension_uri_reference']._loaded_options = None - _globals['_SIMPLEEXTENSIONDECLARATION_EXTENSIONTYPEVARIATION'].fields_by_name['extension_uri_reference']._serialized_options = b'\030\001' - _globals['_SIMPLEEXTENSIONDECLARATION_EXTENSIONFUNCTION'].fields_by_name['extension_uri_reference']._loaded_options = None - _globals['_SIMPLEEXTENSIONDECLARATION_EXTENSIONFUNCTION'].fields_by_name['extension_uri_reference']._serialized_options = b'\030\001' - _globals['_SIMPLEEXTENSIONURI']._serialized_start=110 - _globals['_SIMPLEEXTENSIONURI']._serialized_end=202 - _globals['_SIMPLEEXTENSIONURN']._serialized_start=204 - _globals['_SIMPLEEXTENSIONURN']._serialized_end=292 - _globals['_SIMPLEEXTENSIONDECLARATION']._serialized_start=295 - _globals['_SIMPLEEXTENSIONDECLARATION']._serialized_end=1326 - _globals['_SIMPLEEXTENSIONDECLARATION_EXTENSIONTYPE']._serialized_start=712 - _globals['_SIMPLEEXTENSIONDECLARATION_EXTENSIONTYPE']._serialized_end=896 - _globals['_SIMPLEEXTENSIONDECLARATION_EXTENSIONTYPEVARIATION']._serialized_start=899 - _globals['_SIMPLEEXTENSIONDECLARATION_EXTENSIONTYPEVARIATION']._serialized_end=1111 - _globals['_SIMPLEEXTENSIONDECLARATION_EXTENSIONFUNCTION']._serialized_start=1114 - _globals['_SIMPLEEXTENSIONDECLARATION_EXTENSIONFUNCTION']._serialized_end=1310 - _globals['_ADVANCEDEXTENSION']._serialized_start=1329 - _globals['_ADVANCEDEXTENSION']._serialized_end=1462 -# @@protoc_insertion_point(module_scope) diff --git a/src/substrait/gen/proto/extensions/extensions_pb2.pyi b/src/substrait/gen/proto/extensions/extensions_pb2.pyi deleted file mode 100644 index 8f4a41d..0000000 --- a/src/substrait/gen/proto/extensions/extensions_pb2.pyi +++ /dev/null @@ -1,238 +0,0 @@ -""" -@generated by mypy-protobuf. Do not edit manually! -isort:skip_file -SPDX-License-Identifier: Apache-2.0""" - -import builtins -import collections.abc -import google.protobuf.any_pb2 -import google.protobuf.descriptor -import google.protobuf.internal.containers -import google.protobuf.message -import sys -import typing - -if sys.version_info >= (3, 10): - import typing as typing_extensions -else: - import typing_extensions - -if sys.version_info >= (3, 13): - from warnings import deprecated -else: - from typing_extensions import deprecated - -DESCRIPTOR: google.protobuf.descriptor.FileDescriptor - -@deprecated("""This message has been marked as deprecated using proto message options.""") -@typing.final -class SimpleExtensionURI(google.protobuf.message.Message): - """This message is deprecated, use SimpleExtensionURN moving forwards""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - EXTENSION_URI_ANCHOR_FIELD_NUMBER: builtins.int - URI_FIELD_NUMBER: builtins.int - extension_uri_anchor: builtins.int - """A surrogate key used in the context of a single plan used to reference the - URI associated with an extension. - """ - uri: builtins.str - """The URI where this extension YAML can be retrieved. This is the "namespace" - of this extension. - """ - def __init__( - self, - *, - extension_uri_anchor: builtins.int = ..., - uri: builtins.str = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["extension_uri_anchor", b"extension_uri_anchor", "uri", b"uri"]) -> None: ... - -Global___SimpleExtensionURI: typing_extensions.TypeAlias = SimpleExtensionURI - -@typing.final -class SimpleExtensionURN(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - EXTENSION_URN_ANCHOR_FIELD_NUMBER: builtins.int - URN_FIELD_NUMBER: builtins.int - extension_urn_anchor: builtins.int - """A surrogate key used in the context of a single plan used to reference the - URN associated with an extension. - """ - urn: builtins.str - """The extension URN that uniquely identifies this extension. This must follow the - format extension:: and serves as the "namespace" of this extension. - """ - def __init__( - self, - *, - extension_urn_anchor: builtins.int = ..., - urn: builtins.str = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["extension_urn_anchor", b"extension_urn_anchor", "urn", b"urn"]) -> None: ... - -Global___SimpleExtensionURN: typing_extensions.TypeAlias = SimpleExtensionURN - -@typing.final -class SimpleExtensionDeclaration(google.protobuf.message.Message): - """Describes a mapping between a specific extension entity and the uri/urn where - that extension can be found. - """ - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing.final - class ExtensionType(google.protobuf.message.Message): - """Describes a Type""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - EXTENSION_URI_REFERENCE_FIELD_NUMBER: builtins.int - EXTENSION_URN_REFERENCE_FIELD_NUMBER: builtins.int - TYPE_ANCHOR_FIELD_NUMBER: builtins.int - NAME_FIELD_NUMBER: builtins.int - extension_uri_reference: builtins.int - """references the extension_uri_anchor defined for a specific extension URI. - this is now deprecated and extension_urn_reference should be used instead. - """ - extension_urn_reference: builtins.int - """references the extension_urn_anchor defined for a specific extension URN. - If both extension_urn_reference and extension_uri_reference are present, - extension_urn_reference takes precedence. - """ - type_anchor: builtins.int - """A surrogate key used in the context of a single plan to reference a - specific extension type - """ - name: builtins.str - """the name of the type in the defined extension YAML.""" - def __init__( - self, - *, - extension_uri_reference: builtins.int = ..., - extension_urn_reference: builtins.int = ..., - type_anchor: builtins.int = ..., - name: builtins.str = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["extension_uri_reference", b"extension_uri_reference", "extension_urn_reference", b"extension_urn_reference", "name", b"name", "type_anchor", b"type_anchor"]) -> None: ... - - @typing.final - class ExtensionTypeVariation(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - EXTENSION_URI_REFERENCE_FIELD_NUMBER: builtins.int - EXTENSION_URN_REFERENCE_FIELD_NUMBER: builtins.int - TYPE_VARIATION_ANCHOR_FIELD_NUMBER: builtins.int - NAME_FIELD_NUMBER: builtins.int - extension_uri_reference: builtins.int - """references the extension_uri_anchor defined for a specific extension URI. - this is now deprecated and extension_urn_reference should be used instead. - """ - extension_urn_reference: builtins.int - """references the extension_urn_anchor defined for a specific extension URN. - If both extension_urn_reference and extension_uri_reference are present, - extension_urn_reference takes precedence. - """ - type_variation_anchor: builtins.int - """A surrogate key used in the context of a single plan to reference a - specific type variation - """ - name: builtins.str - """the name of the type in the defined extension YAML.""" - def __init__( - self, - *, - extension_uri_reference: builtins.int = ..., - extension_urn_reference: builtins.int = ..., - type_variation_anchor: builtins.int = ..., - name: builtins.str = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["extension_uri_reference", b"extension_uri_reference", "extension_urn_reference", b"extension_urn_reference", "name", b"name", "type_variation_anchor", b"type_variation_anchor"]) -> None: ... - - @typing.final - class ExtensionFunction(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - EXTENSION_URI_REFERENCE_FIELD_NUMBER: builtins.int - EXTENSION_URN_REFERENCE_FIELD_NUMBER: builtins.int - FUNCTION_ANCHOR_FIELD_NUMBER: builtins.int - NAME_FIELD_NUMBER: builtins.int - extension_uri_reference: builtins.int - """references the extension_uri_anchor defined for a specific extension URI. - this is now deprecated and extension_urn_reference should be used instead. - """ - extension_urn_reference: builtins.int - """references the extension_urn_anchor defined for a specific extension URN. - If both extension_urn_reference and extension_uri_reference are present, - extension_urn_reference takes precedence. - """ - function_anchor: builtins.int - """A surrogate key used in the context of a single plan to reference a - specific function - """ - name: builtins.str - """A function signature""" - def __init__( - self, - *, - extension_uri_reference: builtins.int = ..., - extension_urn_reference: builtins.int = ..., - function_anchor: builtins.int = ..., - name: builtins.str = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["extension_uri_reference", b"extension_uri_reference", "extension_urn_reference", b"extension_urn_reference", "function_anchor", b"function_anchor", "name", b"name"]) -> None: ... - - EXTENSION_TYPE_FIELD_NUMBER: builtins.int - EXTENSION_TYPE_VARIATION_FIELD_NUMBER: builtins.int - EXTENSION_FUNCTION_FIELD_NUMBER: builtins.int - @property - def extension_type(self) -> Global___SimpleExtensionDeclaration.ExtensionType: ... - @property - def extension_type_variation(self) -> Global___SimpleExtensionDeclaration.ExtensionTypeVariation: ... - @property - def extension_function(self) -> Global___SimpleExtensionDeclaration.ExtensionFunction: ... - def __init__( - self, - *, - extension_type: Global___SimpleExtensionDeclaration.ExtensionType | None = ..., - extension_type_variation: Global___SimpleExtensionDeclaration.ExtensionTypeVariation | None = ..., - extension_function: Global___SimpleExtensionDeclaration.ExtensionFunction | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["extension_function", b"extension_function", "extension_type", b"extension_type", "extension_type_variation", b"extension_type_variation", "mapping_type", b"mapping_type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["extension_function", b"extension_function", "extension_type", b"extension_type", "extension_type_variation", b"extension_type_variation", "mapping_type", b"mapping_type"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["mapping_type", b"mapping_type"]) -> typing.Literal["extension_type", "extension_type_variation", "extension_function"] | None: ... - -Global___SimpleExtensionDeclaration: typing_extensions.TypeAlias = SimpleExtensionDeclaration - -@typing.final -class AdvancedExtension(google.protobuf.message.Message): - """A generic object that can be used to embed additional extension information - into the serialized substrait plan. - """ - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - OPTIMIZATION_FIELD_NUMBER: builtins.int - ENHANCEMENT_FIELD_NUMBER: builtins.int - @property - def optimization(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[google.protobuf.any_pb2.Any]: - """An optimization is helpful information that don't influence semantics. May - be ignored by a consumer. - """ - - @property - def enhancement(self) -> google.protobuf.any_pb2.Any: - """An enhancement alter semantics. Cannot be ignored by a consumer.""" - - def __init__( - self, - *, - optimization: collections.abc.Iterable[google.protobuf.any_pb2.Any] | None = ..., - enhancement: google.protobuf.any_pb2.Any | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["enhancement", b"enhancement"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["enhancement", b"enhancement", "optimization", b"optimization"]) -> None: ... - -Global___AdvancedExtension: typing_extensions.TypeAlias = AdvancedExtension diff --git a/src/substrait/gen/proto/function_pb2.py b/src/substrait/gen/proto/function_pb2.py deleted file mode 100644 index 4ebdfd1..0000000 --- a/src/substrait/gen/proto/function_pb2.py +++ /dev/null @@ -1,68 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE -# source: substrait/gen/proto/function.proto -# Protobuf Python Version: 5.29.5 -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import runtime_version as _runtime_version -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 5, - 29, - 5, - '', - 'substrait/gen/proto/function.proto' -) -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from substrait.gen.proto import parameterized_types_pb2 as substrait_dot_gen_dot_proto_dot_parameterized__types__pb2 -from substrait.gen.proto import type_pb2 as substrait_dot_gen_dot_proto_dot_type__pb2 -from substrait.gen.proto import type_expressions_pb2 as substrait_dot_gen_dot_proto_dot_type__expressions__pb2 - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"substrait/gen/proto/function.proto\x12\x13substrait.gen.proto\x1a-substrait/gen/proto/parameterized_types.proto\x1a\x1esubstrait/gen/proto/type.proto\x1a*substrait/gen/proto/type_expressions.proto\"\xf1\x1b\n\x11\x46unctionSignature\x1a\xc6\x02\n\x10\x46inalArgVariadic\x12\x19\n\x08min_args\x18\x01 \x01(\x03R\x07minArgs\x12\x19\n\x08max_args\x18\x02 \x01(\x03R\x07maxArgs\x12n\n\x0b\x63onsistency\x18\x03 \x01(\x0e\x32L.substrait.gen.proto.FunctionSignature.FinalArgVariadic.ParameterConsistencyR\x0b\x63onsistency\"\x8b\x01\n\x14ParameterConsistency\x12%\n!PARAMETER_CONSISTENCY_UNSPECIFIED\x10\x00\x12$\n PARAMETER_CONSISTENCY_CONSISTENT\x10\x01\x12&\n\"PARAMETER_CONSISTENCY_INCONSISTENT\x10\x02\x1a\x10\n\x0e\x46inalArgNormal\x1a\x84\x05\n\x06Scalar\x12M\n\targuments\x18\x02 \x03(\x0b\x32/.substrait.gen.proto.FunctionSignature.ArgumentR\targuments\x12\x12\n\x04name\x18\x03 \x03(\tR\x04name\x12T\n\x0b\x64\x65scription\x18\x04 \x01(\x0b\x32\x32.substrait.gen.proto.FunctionSignature.DescriptionR\x0b\x64\x65scription\x12$\n\rdeterministic\x18\x07 \x01(\x08R\rdeterministic\x12+\n\x11session_dependent\x18\x08 \x01(\x08R\x10sessionDependent\x12J\n\x0boutput_type\x18\t \x01(\x0b\x32).substrait.gen.proto.DerivationExpressionR\noutputType\x12U\n\x08variadic\x18\n \x01(\x0b\x32\x37.substrait.gen.proto.FunctionSignature.FinalArgVariadicH\x00R\x08variadic\x12O\n\x06normal\x18\x0b \x01(\x0b\x32\x35.substrait.gen.proto.FunctionSignature.FinalArgNormalH\x00R\x06normal\x12_\n\x0fimplementations\x18\x0c \x03(\x0b\x32\x35.substrait.gen.proto.FunctionSignature.ImplementationR\x0fimplementationsB\x19\n\x17\x66inal_variable_behavior\x1a\x82\x06\n\tAggregate\x12M\n\targuments\x18\x02 \x03(\x0b\x32/.substrait.gen.proto.FunctionSignature.ArgumentR\targuments\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12T\n\x0b\x64\x65scription\x18\x04 \x01(\x0b\x32\x32.substrait.gen.proto.FunctionSignature.DescriptionR\x0b\x64\x65scription\x12$\n\rdeterministic\x18\x07 \x01(\x08R\rdeterministic\x12+\n\x11session_dependent\x18\x08 \x01(\x08R\x10sessionDependent\x12J\n\x0boutput_type\x18\t \x01(\x0b\x32).substrait.gen.proto.DerivationExpressionR\noutputType\x12U\n\x08variadic\x18\n \x01(\x0b\x32\x37.substrait.gen.proto.FunctionSignature.FinalArgVariadicH\x00R\x08variadic\x12O\n\x06normal\x18\x0b \x01(\x0b\x32\x35.substrait.gen.proto.FunctionSignature.FinalArgNormalH\x00R\x06normal\x12\x18\n\x07ordered\x18\x0e \x01(\x08R\x07ordered\x12\x17\n\x07max_set\x18\x0c \x01(\x04R\x06maxSet\x12\x46\n\x11intermediate_type\x18\r \x01(\x0b\x32\x19.substrait.gen.proto.TypeR\x10intermediateType\x12_\n\x0fimplementations\x18\x0f \x03(\x0b\x32\x35.substrait.gen.proto.FunctionSignature.ImplementationR\x0fimplementationsB\x19\n\x17\x66inal_variable_behavior\x1a\xcb\x07\n\x06Window\x12M\n\targuments\x18\x02 \x03(\x0b\x32/.substrait.gen.proto.FunctionSignature.ArgumentR\targuments\x12\x12\n\x04name\x18\x03 \x03(\tR\x04name\x12T\n\x0b\x64\x65scription\x18\x04 \x01(\x0b\x32\x32.substrait.gen.proto.FunctionSignature.DescriptionR\x0b\x64\x65scription\x12$\n\rdeterministic\x18\x07 \x01(\x08R\rdeterministic\x12+\n\x11session_dependent\x18\x08 \x01(\x08R\x10sessionDependent\x12V\n\x11intermediate_type\x18\t \x01(\x0b\x32).substrait.gen.proto.DerivationExpressionR\x10intermediateType\x12J\n\x0boutput_type\x18\n \x01(\x0b\x32).substrait.gen.proto.DerivationExpressionR\noutputType\x12U\n\x08variadic\x18\x10 \x01(\x0b\x32\x37.substrait.gen.proto.FunctionSignature.FinalArgVariadicH\x00R\x08variadic\x12O\n\x06normal\x18\x11 \x01(\x0b\x32\x35.substrait.gen.proto.FunctionSignature.FinalArgNormalH\x00R\x06normal\x12\x18\n\x07ordered\x18\x0b \x01(\x08R\x07ordered\x12\x17\n\x07max_set\x18\x0c \x01(\x04R\x06maxSet\x12Y\n\x0bwindow_type\x18\x0e \x01(\x0e\x32\x38.substrait.gen.proto.FunctionSignature.Window.WindowTypeR\nwindowType\x12_\n\x0fimplementations\x18\x0f \x03(\x0b\x32\x35.substrait.gen.proto.FunctionSignature.ImplementationR\x0fimplementations\"_\n\nWindowType\x12\x1b\n\x17WINDOW_TYPE_UNSPECIFIED\x10\x00\x12\x19\n\x15WINDOW_TYPE_STREAMING\x10\x01\x12\x19\n\x15WINDOW_TYPE_PARTITION\x10\x02\x42\x19\n\x17\x66inal_variable_behavior\x1a=\n\x0b\x44\x65scription\x12\x1a\n\x08language\x18\x01 \x01(\tR\x08language\x12\x12\n\x04\x62ody\x18\x02 \x01(\tR\x04\x62ody\x1a\xbb\x01\n\x0eImplementation\x12N\n\x04type\x18\x01 \x01(\x0e\x32:.substrait.gen.proto.FunctionSignature.Implementation.TypeR\x04type\x12\x10\n\x03uri\x18\x02 \x01(\tR\x03uri\"G\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x15\n\x11TYPE_WEB_ASSEMBLY\x10\x01\x12\x12\n\x0eTYPE_TRINO_JAR\x10\x02\x1a\xa9\x04\n\x08\x41rgument\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12U\n\x05value\x18\x02 \x01(\x0b\x32=.substrait.gen.proto.FunctionSignature.Argument.ValueArgumentH\x00R\x05value\x12R\n\x04type\x18\x03 \x01(\x0b\x32<.substrait.gen.proto.FunctionSignature.Argument.TypeArgumentH\x00R\x04type\x12R\n\x04\x65num\x18\x04 \x01(\x0b\x32<.substrait.gen.proto.FunctionSignature.Argument.EnumArgumentH\x00R\x04\x65num\x1ag\n\rValueArgument\x12:\n\x04type\x18\x01 \x01(\x0b\x32&.substrait.gen.proto.ParameterizedTypeR\x04type\x12\x1a\n\x08\x63onstant\x18\x02 \x01(\x08R\x08\x63onstant\x1aJ\n\x0cTypeArgument\x12:\n\x04type\x18\x01 \x01(\x0b\x32&.substrait.gen.proto.ParameterizedTypeR\x04type\x1a\x44\n\x0c\x45numArgument\x12\x18\n\x07options\x18\x01 \x03(\tR\x07options\x12\x1a\n\x08optional\x18\x02 \x01(\x08R\x08optionalB\x0f\n\rargument_kindB?\n\x1cio.substrait.gen.proto.protoP\x01\xaa\x02\x1cSubstrait.Gen.Proto.Protobufb\x06proto3') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'substrait.gen.proto.function_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\034io.substrait.gen.proto.protoP\001\252\002\034Substrait.Gen.Proto.Protobuf' - _globals['_FUNCTIONSIGNATURE']._serialized_start=183 - _globals['_FUNCTIONSIGNATURE']._serialized_end=3752 - _globals['_FUNCTIONSIGNATURE_FINALARGVARIADIC']._serialized_start=205 - _globals['_FUNCTIONSIGNATURE_FINALARGVARIADIC']._serialized_end=531 - _globals['_FUNCTIONSIGNATURE_FINALARGVARIADIC_PARAMETERCONSISTENCY']._serialized_start=392 - _globals['_FUNCTIONSIGNATURE_FINALARGVARIADIC_PARAMETERCONSISTENCY']._serialized_end=531 - _globals['_FUNCTIONSIGNATURE_FINALARGNORMAL']._serialized_start=533 - _globals['_FUNCTIONSIGNATURE_FINALARGNORMAL']._serialized_end=549 - _globals['_FUNCTIONSIGNATURE_SCALAR']._serialized_start=552 - _globals['_FUNCTIONSIGNATURE_SCALAR']._serialized_end=1196 - _globals['_FUNCTIONSIGNATURE_AGGREGATE']._serialized_start=1199 - _globals['_FUNCTIONSIGNATURE_AGGREGATE']._serialized_end=1969 - _globals['_FUNCTIONSIGNATURE_WINDOW']._serialized_start=1972 - _globals['_FUNCTIONSIGNATURE_WINDOW']._serialized_end=2943 - _globals['_FUNCTIONSIGNATURE_WINDOW_WINDOWTYPE']._serialized_start=2821 - _globals['_FUNCTIONSIGNATURE_WINDOW_WINDOWTYPE']._serialized_end=2916 - _globals['_FUNCTIONSIGNATURE_DESCRIPTION']._serialized_start=2945 - _globals['_FUNCTIONSIGNATURE_DESCRIPTION']._serialized_end=3006 - _globals['_FUNCTIONSIGNATURE_IMPLEMENTATION']._serialized_start=3009 - _globals['_FUNCTIONSIGNATURE_IMPLEMENTATION']._serialized_end=3196 - _globals['_FUNCTIONSIGNATURE_IMPLEMENTATION_TYPE']._serialized_start=3125 - _globals['_FUNCTIONSIGNATURE_IMPLEMENTATION_TYPE']._serialized_end=3196 - _globals['_FUNCTIONSIGNATURE_ARGUMENT']._serialized_start=3199 - _globals['_FUNCTIONSIGNATURE_ARGUMENT']._serialized_end=3752 - _globals['_FUNCTIONSIGNATURE_ARGUMENT_VALUEARGUMENT']._serialized_start=3486 - _globals['_FUNCTIONSIGNATURE_ARGUMENT_VALUEARGUMENT']._serialized_end=3589 - _globals['_FUNCTIONSIGNATURE_ARGUMENT_TYPEARGUMENT']._serialized_start=3591 - _globals['_FUNCTIONSIGNATURE_ARGUMENT_TYPEARGUMENT']._serialized_end=3665 - _globals['_FUNCTIONSIGNATURE_ARGUMENT_ENUMARGUMENT']._serialized_start=3667 - _globals['_FUNCTIONSIGNATURE_ARGUMENT_ENUMARGUMENT']._serialized_end=3735 -# @@protoc_insertion_point(module_scope) diff --git a/src/substrait/gen/proto/function_pb2.pyi b/src/substrait/gen/proto/function_pb2.pyi deleted file mode 100644 index 73a0fd8..0000000 --- a/src/substrait/gen/proto/function_pb2.pyi +++ /dev/null @@ -1,391 +0,0 @@ -""" -@generated by mypy-protobuf. Do not edit manually! -isort:skip_file -SPDX-License-Identifier: Apache-2.0""" - -import builtins -import collections.abc -import google.protobuf.descriptor -import google.protobuf.internal.containers -import google.protobuf.internal.enum_type_wrapper -import google.protobuf.message -import substrait.gen.proto.parameterized_types_pb2 -import substrait.gen.proto.type_expressions_pb2 -import substrait.gen.proto.type_pb2 -import sys -import typing - -if sys.version_info >= (3, 10): - import typing as typing_extensions -else: - import typing_extensions - -DESCRIPTOR: google.protobuf.descriptor.FileDescriptor - -@typing.final -class FunctionSignature(google.protobuf.message.Message): - """List of function signatures available.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing.final - class FinalArgVariadic(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _ParameterConsistency: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _ParameterConsistencyEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[FunctionSignature.FinalArgVariadic._ParameterConsistency.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - PARAMETER_CONSISTENCY_UNSPECIFIED: FunctionSignature.FinalArgVariadic._ParameterConsistency.ValueType # 0 - PARAMETER_CONSISTENCY_CONSISTENT: FunctionSignature.FinalArgVariadic._ParameterConsistency.ValueType # 1 - """All argument must be the same concrete type.""" - PARAMETER_CONSISTENCY_INCONSISTENT: FunctionSignature.FinalArgVariadic._ParameterConsistency.ValueType # 2 - """Each argument can be any possible concrete type afforded by the bounds - of any parameter defined in the arguments specification. - """ - - class ParameterConsistency(_ParameterConsistency, metaclass=_ParameterConsistencyEnumTypeWrapper): ... - PARAMETER_CONSISTENCY_UNSPECIFIED: FunctionSignature.FinalArgVariadic.ParameterConsistency.ValueType # 0 - PARAMETER_CONSISTENCY_CONSISTENT: FunctionSignature.FinalArgVariadic.ParameterConsistency.ValueType # 1 - """All argument must be the same concrete type.""" - PARAMETER_CONSISTENCY_INCONSISTENT: FunctionSignature.FinalArgVariadic.ParameterConsistency.ValueType # 2 - """Each argument can be any possible concrete type afforded by the bounds - of any parameter defined in the arguments specification. - """ - - MIN_ARGS_FIELD_NUMBER: builtins.int - MAX_ARGS_FIELD_NUMBER: builtins.int - CONSISTENCY_FIELD_NUMBER: builtins.int - min_args: builtins.int - """the minimum number of arguments allowed for the list of final arguments - (inclusive). - """ - max_args: builtins.int - """the maximum number of arguments allowed for the list of final arguments - (exclusive) - """ - consistency: Global___FunctionSignature.FinalArgVariadic.ParameterConsistency.ValueType - """the type of parameterized type consistency""" - def __init__( - self, - *, - min_args: builtins.int = ..., - max_args: builtins.int = ..., - consistency: Global___FunctionSignature.FinalArgVariadic.ParameterConsistency.ValueType = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["consistency", b"consistency", "max_args", b"max_args", "min_args", b"min_args"]) -> None: ... - - @typing.final - class FinalArgNormal(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - def __init__( - self, - ) -> None: ... - - @typing.final - class Scalar(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - ARGUMENTS_FIELD_NUMBER: builtins.int - NAME_FIELD_NUMBER: builtins.int - DESCRIPTION_FIELD_NUMBER: builtins.int - DETERMINISTIC_FIELD_NUMBER: builtins.int - SESSION_DEPENDENT_FIELD_NUMBER: builtins.int - OUTPUT_TYPE_FIELD_NUMBER: builtins.int - VARIADIC_FIELD_NUMBER: builtins.int - NORMAL_FIELD_NUMBER: builtins.int - IMPLEMENTATIONS_FIELD_NUMBER: builtins.int - deterministic: builtins.bool - session_dependent: builtins.bool - @property - def arguments(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___FunctionSignature.Argument]: ... - @property - def name(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... - @property - def description(self) -> Global___FunctionSignature.Description: ... - @property - def output_type(self) -> substrait.gen.proto.type_expressions_pb2.DerivationExpression: ... - @property - def variadic(self) -> Global___FunctionSignature.FinalArgVariadic: ... - @property - def normal(self) -> Global___FunctionSignature.FinalArgNormal: ... - @property - def implementations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___FunctionSignature.Implementation]: ... - def __init__( - self, - *, - arguments: collections.abc.Iterable[Global___FunctionSignature.Argument] | None = ..., - name: collections.abc.Iterable[builtins.str] | None = ..., - description: Global___FunctionSignature.Description | None = ..., - deterministic: builtins.bool = ..., - session_dependent: builtins.bool = ..., - output_type: substrait.gen.proto.type_expressions_pb2.DerivationExpression | None = ..., - variadic: Global___FunctionSignature.FinalArgVariadic | None = ..., - normal: Global___FunctionSignature.FinalArgNormal | None = ..., - implementations: collections.abc.Iterable[Global___FunctionSignature.Implementation] | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["description", b"description", "final_variable_behavior", b"final_variable_behavior", "normal", b"normal", "output_type", b"output_type", "variadic", b"variadic"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["arguments", b"arguments", "description", b"description", "deterministic", b"deterministic", "final_variable_behavior", b"final_variable_behavior", "implementations", b"implementations", "name", b"name", "normal", b"normal", "output_type", b"output_type", "session_dependent", b"session_dependent", "variadic", b"variadic"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["final_variable_behavior", b"final_variable_behavior"]) -> typing.Literal["variadic", "normal"] | None: ... - - @typing.final - class Aggregate(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - ARGUMENTS_FIELD_NUMBER: builtins.int - NAME_FIELD_NUMBER: builtins.int - DESCRIPTION_FIELD_NUMBER: builtins.int - DETERMINISTIC_FIELD_NUMBER: builtins.int - SESSION_DEPENDENT_FIELD_NUMBER: builtins.int - OUTPUT_TYPE_FIELD_NUMBER: builtins.int - VARIADIC_FIELD_NUMBER: builtins.int - NORMAL_FIELD_NUMBER: builtins.int - ORDERED_FIELD_NUMBER: builtins.int - MAX_SET_FIELD_NUMBER: builtins.int - INTERMEDIATE_TYPE_FIELD_NUMBER: builtins.int - IMPLEMENTATIONS_FIELD_NUMBER: builtins.int - name: builtins.str - deterministic: builtins.bool - session_dependent: builtins.bool - ordered: builtins.bool - max_set: builtins.int - @property - def arguments(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___FunctionSignature.Argument]: ... - @property - def description(self) -> Global___FunctionSignature.Description: ... - @property - def output_type(self) -> substrait.gen.proto.type_expressions_pb2.DerivationExpression: ... - @property - def variadic(self) -> Global___FunctionSignature.FinalArgVariadic: ... - @property - def normal(self) -> Global___FunctionSignature.FinalArgNormal: ... - @property - def intermediate_type(self) -> substrait.gen.proto.type_pb2.Type: ... - @property - def implementations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___FunctionSignature.Implementation]: ... - def __init__( - self, - *, - arguments: collections.abc.Iterable[Global___FunctionSignature.Argument] | None = ..., - name: builtins.str = ..., - description: Global___FunctionSignature.Description | None = ..., - deterministic: builtins.bool = ..., - session_dependent: builtins.bool = ..., - output_type: substrait.gen.proto.type_expressions_pb2.DerivationExpression | None = ..., - variadic: Global___FunctionSignature.FinalArgVariadic | None = ..., - normal: Global___FunctionSignature.FinalArgNormal | None = ..., - ordered: builtins.bool = ..., - max_set: builtins.int = ..., - intermediate_type: substrait.gen.proto.type_pb2.Type | None = ..., - implementations: collections.abc.Iterable[Global___FunctionSignature.Implementation] | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["description", b"description", "final_variable_behavior", b"final_variable_behavior", "intermediate_type", b"intermediate_type", "normal", b"normal", "output_type", b"output_type", "variadic", b"variadic"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["arguments", b"arguments", "description", b"description", "deterministic", b"deterministic", "final_variable_behavior", b"final_variable_behavior", "implementations", b"implementations", "intermediate_type", b"intermediate_type", "max_set", b"max_set", "name", b"name", "normal", b"normal", "ordered", b"ordered", "output_type", b"output_type", "session_dependent", b"session_dependent", "variadic", b"variadic"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["final_variable_behavior", b"final_variable_behavior"]) -> typing.Literal["variadic", "normal"] | None: ... - - @typing.final - class Window(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _WindowType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _WindowTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[FunctionSignature.Window._WindowType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - WINDOW_TYPE_UNSPECIFIED: FunctionSignature.Window._WindowType.ValueType # 0 - WINDOW_TYPE_STREAMING: FunctionSignature.Window._WindowType.ValueType # 1 - WINDOW_TYPE_PARTITION: FunctionSignature.Window._WindowType.ValueType # 2 - - class WindowType(_WindowType, metaclass=_WindowTypeEnumTypeWrapper): ... - WINDOW_TYPE_UNSPECIFIED: FunctionSignature.Window.WindowType.ValueType # 0 - WINDOW_TYPE_STREAMING: FunctionSignature.Window.WindowType.ValueType # 1 - WINDOW_TYPE_PARTITION: FunctionSignature.Window.WindowType.ValueType # 2 - - ARGUMENTS_FIELD_NUMBER: builtins.int - NAME_FIELD_NUMBER: builtins.int - DESCRIPTION_FIELD_NUMBER: builtins.int - DETERMINISTIC_FIELD_NUMBER: builtins.int - SESSION_DEPENDENT_FIELD_NUMBER: builtins.int - INTERMEDIATE_TYPE_FIELD_NUMBER: builtins.int - OUTPUT_TYPE_FIELD_NUMBER: builtins.int - VARIADIC_FIELD_NUMBER: builtins.int - NORMAL_FIELD_NUMBER: builtins.int - ORDERED_FIELD_NUMBER: builtins.int - MAX_SET_FIELD_NUMBER: builtins.int - WINDOW_TYPE_FIELD_NUMBER: builtins.int - IMPLEMENTATIONS_FIELD_NUMBER: builtins.int - deterministic: builtins.bool - session_dependent: builtins.bool - ordered: builtins.bool - max_set: builtins.int - window_type: Global___FunctionSignature.Window.WindowType.ValueType - @property - def arguments(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___FunctionSignature.Argument]: ... - @property - def name(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... - @property - def description(self) -> Global___FunctionSignature.Description: ... - @property - def intermediate_type(self) -> substrait.gen.proto.type_expressions_pb2.DerivationExpression: ... - @property - def output_type(self) -> substrait.gen.proto.type_expressions_pb2.DerivationExpression: ... - @property - def variadic(self) -> Global___FunctionSignature.FinalArgVariadic: ... - @property - def normal(self) -> Global___FunctionSignature.FinalArgNormal: ... - @property - def implementations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___FunctionSignature.Implementation]: ... - def __init__( - self, - *, - arguments: collections.abc.Iterable[Global___FunctionSignature.Argument] | None = ..., - name: collections.abc.Iterable[builtins.str] | None = ..., - description: Global___FunctionSignature.Description | None = ..., - deterministic: builtins.bool = ..., - session_dependent: builtins.bool = ..., - intermediate_type: substrait.gen.proto.type_expressions_pb2.DerivationExpression | None = ..., - output_type: substrait.gen.proto.type_expressions_pb2.DerivationExpression | None = ..., - variadic: Global___FunctionSignature.FinalArgVariadic | None = ..., - normal: Global___FunctionSignature.FinalArgNormal | None = ..., - ordered: builtins.bool = ..., - max_set: builtins.int = ..., - window_type: Global___FunctionSignature.Window.WindowType.ValueType = ..., - implementations: collections.abc.Iterable[Global___FunctionSignature.Implementation] | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["description", b"description", "final_variable_behavior", b"final_variable_behavior", "intermediate_type", b"intermediate_type", "normal", b"normal", "output_type", b"output_type", "variadic", b"variadic"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["arguments", b"arguments", "description", b"description", "deterministic", b"deterministic", "final_variable_behavior", b"final_variable_behavior", "implementations", b"implementations", "intermediate_type", b"intermediate_type", "max_set", b"max_set", "name", b"name", "normal", b"normal", "ordered", b"ordered", "output_type", b"output_type", "session_dependent", b"session_dependent", "variadic", b"variadic", "window_type", b"window_type"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["final_variable_behavior", b"final_variable_behavior"]) -> typing.Literal["variadic", "normal"] | None: ... - - @typing.final - class Description(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - LANGUAGE_FIELD_NUMBER: builtins.int - BODY_FIELD_NUMBER: builtins.int - language: builtins.str - body: builtins.str - def __init__( - self, - *, - language: builtins.str = ..., - body: builtins.str = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["body", b"body", "language", b"language"]) -> None: ... - - @typing.final - class Implementation(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _Type: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _TypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[FunctionSignature.Implementation._Type.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - TYPE_UNSPECIFIED: FunctionSignature.Implementation._Type.ValueType # 0 - TYPE_WEB_ASSEMBLY: FunctionSignature.Implementation._Type.ValueType # 1 - TYPE_TRINO_JAR: FunctionSignature.Implementation._Type.ValueType # 2 - - class Type(_Type, metaclass=_TypeEnumTypeWrapper): ... - TYPE_UNSPECIFIED: FunctionSignature.Implementation.Type.ValueType # 0 - TYPE_WEB_ASSEMBLY: FunctionSignature.Implementation.Type.ValueType # 1 - TYPE_TRINO_JAR: FunctionSignature.Implementation.Type.ValueType # 2 - - TYPE_FIELD_NUMBER: builtins.int - URI_FIELD_NUMBER: builtins.int - type: Global___FunctionSignature.Implementation.Type.ValueType - uri: builtins.str - def __init__( - self, - *, - type: Global___FunctionSignature.Implementation.Type.ValueType = ..., - uri: builtins.str = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["type", b"type", "uri", b"uri"]) -> None: ... - - @typing.final - class Argument(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing.final - class ValueArgument(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TYPE_FIELD_NUMBER: builtins.int - CONSTANT_FIELD_NUMBER: builtins.int - constant: builtins.bool - @property - def type(self) -> substrait.gen.proto.parameterized_types_pb2.ParameterizedType: ... - def __init__( - self, - *, - type: substrait.gen.proto.parameterized_types_pb2.ParameterizedType | None = ..., - constant: builtins.bool = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["constant", b"constant", "type", b"type"]) -> None: ... - - @typing.final - class TypeArgument(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TYPE_FIELD_NUMBER: builtins.int - @property - def type(self) -> substrait.gen.proto.parameterized_types_pb2.ParameterizedType: ... - def __init__( - self, - *, - type: substrait.gen.proto.parameterized_types_pb2.ParameterizedType | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["type", b"type"]) -> None: ... - - @typing.final - class EnumArgument(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - OPTIONS_FIELD_NUMBER: builtins.int - OPTIONAL_FIELD_NUMBER: builtins.int - optional: builtins.bool - @property - def options(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... - def __init__( - self, - *, - options: collections.abc.Iterable[builtins.str] | None = ..., - optional: builtins.bool = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["optional", b"optional", "options", b"options"]) -> None: ... - - NAME_FIELD_NUMBER: builtins.int - VALUE_FIELD_NUMBER: builtins.int - TYPE_FIELD_NUMBER: builtins.int - ENUM_FIELD_NUMBER: builtins.int - name: builtins.str - @property - def value(self) -> Global___FunctionSignature.Argument.ValueArgument: ... - @property - def type(self) -> Global___FunctionSignature.Argument.TypeArgument: ... - @property - def enum(self) -> Global___FunctionSignature.Argument.EnumArgument: ... - def __init__( - self, - *, - name: builtins.str = ..., - value: Global___FunctionSignature.Argument.ValueArgument | None = ..., - type: Global___FunctionSignature.Argument.TypeArgument | None = ..., - enum: Global___FunctionSignature.Argument.EnumArgument | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["argument_kind", b"argument_kind", "enum", b"enum", "type", b"type", "value", b"value"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["argument_kind", b"argument_kind", "enum", b"enum", "name", b"name", "type", b"type", "value", b"value"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["argument_kind", b"argument_kind"]) -> typing.Literal["value", "type", "enum"] | None: ... - - def __init__( - self, - ) -> None: ... - -Global___FunctionSignature: typing_extensions.TypeAlias = FunctionSignature diff --git a/src/substrait/gen/proto/parameterized_types_pb2.py b/src/substrait/gen/proto/parameterized_types_pb2.py deleted file mode 100644 index f98514d..0000000 --- a/src/substrait/gen/proto/parameterized_types_pb2.py +++ /dev/null @@ -1,82 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE -# source: substrait/gen/proto/parameterized_types.proto -# Protobuf Python Version: 5.29.5 -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import runtime_version as _runtime_version -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 5, - 29, - 5, - '', - 'substrait/gen/proto/parameterized_types.proto' -) -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from substrait.gen.proto import type_pb2 as substrait_dot_gen_dot_proto_dot_type__pb2 - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n-substrait/gen/proto/parameterized_types.proto\x12\x13substrait.gen.proto\x1a\x1esubstrait/gen/proto/type.proto\"\x98/\n\x11ParameterizedType\x12\x37\n\x04\x62ool\x18\x01 \x01(\x0b\x32!.substrait.gen.proto.Type.BooleanH\x00R\x04\x62ool\x12.\n\x02i8\x18\x02 \x01(\x0b\x32\x1c.substrait.gen.proto.Type.I8H\x00R\x02i8\x12\x31\n\x03i16\x18\x03 \x01(\x0b\x32\x1d.substrait.gen.proto.Type.I16H\x00R\x03i16\x12\x31\n\x03i32\x18\x05 \x01(\x0b\x32\x1d.substrait.gen.proto.Type.I32H\x00R\x03i32\x12\x31\n\x03i64\x18\x07 \x01(\x0b\x32\x1d.substrait.gen.proto.Type.I64H\x00R\x03i64\x12\x34\n\x04\x66p32\x18\n \x01(\x0b\x32\x1e.substrait.gen.proto.Type.FP32H\x00R\x04\x66p32\x12\x34\n\x04\x66p64\x18\x0b \x01(\x0b\x32\x1e.substrait.gen.proto.Type.FP64H\x00R\x04\x66p64\x12:\n\x06string\x18\x0c \x01(\x0b\x32 .substrait.gen.proto.Type.StringH\x00R\x06string\x12:\n\x06\x62inary\x18\r \x01(\x0b\x32 .substrait.gen.proto.Type.BinaryH\x00R\x06\x62inary\x12G\n\ttimestamp\x18\x0e \x01(\x0b\x32#.substrait.gen.proto.Type.TimestampB\x02\x18\x01H\x00R\ttimestamp\x12\x34\n\x04\x64\x61te\x18\x10 \x01(\x0b\x32\x1e.substrait.gen.proto.Type.DateH\x00R\x04\x64\x61te\x12\x38\n\x04time\x18\x11 \x01(\x0b\x32\x1e.substrait.gen.proto.Type.TimeB\x02\x18\x01H\x00R\x04time\x12M\n\rinterval_year\x18\x13 \x01(\x0b\x32&.substrait.gen.proto.Type.IntervalYearH\x00R\x0cintervalYear\x12\x64\n\x0cinterval_day\x18\x14 \x01(\x0b\x32?.substrait.gen.proto.ParameterizedType.ParameterizedIntervalDayH\x00R\x0bintervalDay\x12s\n\x11interval_compound\x18$ \x01(\x0b\x32\x44.substrait.gen.proto.ParameterizedType.ParameterizedIntervalCompoundH\x00R\x10intervalCompound\x12N\n\x0ctimestamp_tz\x18\x1d \x01(\x0b\x32%.substrait.gen.proto.Type.TimestampTZB\x02\x18\x01H\x00R\x0btimestampTz\x12\x34\n\x04uuid\x18 \x01(\x0b\x32\x1e.substrait.gen.proto.Type.UUIDH\x00R\x04uuid\x12^\n\nfixed_char\x18\x15 \x01(\x0b\x32=.substrait.gen.proto.ParameterizedType.ParameterizedFixedCharH\x00R\tfixedChar\x12W\n\x07varchar\x18\x16 \x01(\x0b\x32;.substrait.gen.proto.ParameterizedType.ParameterizedVarCharH\x00R\x07varchar\x12\x64\n\x0c\x66ixed_binary\x18\x17 \x01(\x0b\x32?.substrait.gen.proto.ParameterizedType.ParameterizedFixedBinaryH\x00R\x0b\x66ixedBinary\x12W\n\x07\x64\x65\x63imal\x18\x18 \x01(\x0b\x32;.substrait.gen.proto.ParameterizedType.ParameterizedDecimalH\x00R\x07\x64\x65\x63imal\x12j\n\x0eprecision_time\x18% \x01(\x0b\x32\x41.substrait.gen.proto.ParameterizedType.ParameterizedPrecisionTimeH\x00R\rprecisionTime\x12y\n\x13precision_timestamp\x18\" \x01(\x0b\x32\x46.substrait.gen.proto.ParameterizedType.ParameterizedPrecisionTimestampH\x00R\x12precisionTimestamp\x12\x80\x01\n\x16precision_timestamp_tz\x18# \x01(\x0b\x32H.substrait.gen.proto.ParameterizedType.ParameterizedPrecisionTimestampTZH\x00R\x14precisionTimestampTz\x12T\n\x06struct\x18\x19 \x01(\x0b\x32:.substrait.gen.proto.ParameterizedType.ParameterizedStructH\x00R\x06struct\x12N\n\x04list\x18\x1b \x01(\x0b\x32\x38.substrait.gen.proto.ParameterizedType.ParameterizedListH\x00R\x04list\x12K\n\x03map\x18\x1c \x01(\x0b\x32\x37.substrait.gen.proto.ParameterizedType.ParameterizedMapH\x00R\x03map\x12\x64\n\x0cuser_defined\x18\x1e \x01(\x0b\x32?.substrait.gen.proto.ParameterizedType.ParameterizedUserDefinedH\x00R\x0buserDefined\x12\x36\n\x14user_defined_pointer\x18\x1f \x01(\rB\x02\x18\x01H\x00R\x12userDefinedPointer\x12]\n\x0etype_parameter\x18! \x01(\x0b\x32\x34.substrait.gen.proto.ParameterizedType.TypeParameterH\x00R\rtypeParameter\x1a\x63\n\rTypeParameter\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12>\n\x06\x62ounds\x18\x02 \x03(\x0b\x32&.substrait.gen.proto.ParameterizedTypeR\x06\x62ounds\x1a\xfa\x01\n\x10IntegerParameter\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12j\n\x15range_start_inclusive\x18\x02 \x01(\x0b\x32\x36.substrait.gen.proto.ParameterizedType.NullableIntegerR\x13rangeStartInclusive\x12\x66\n\x13range_end_exclusive\x18\x03 \x01(\x0b\x32\x36.substrait.gen.proto.ParameterizedType.NullableIntegerR\x11rangeEndExclusive\x1a\'\n\x0fNullableInteger\x12\x14\n\x05value\x18\x01 \x01(\x03R\x05value\x1a\xdc\x01\n\x16ParameterizedFixedChar\x12L\n\x06length\x18\x01 \x01(\x0b\x32\x34.substrait.gen.proto.ParameterizedType.IntegerOptionR\x06length\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x12G\n\x0bnullability\x18\x03 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\xda\x01\n\x14ParameterizedVarChar\x12L\n\x06length\x18\x01 \x01(\x0b\x32\x34.substrait.gen.proto.ParameterizedType.IntegerOptionR\x06length\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x12G\n\x0bnullability\x18\x03 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\xde\x01\n\x18ParameterizedFixedBinary\x12L\n\x06length\x18\x01 \x01(\x0b\x32\x34.substrait.gen.proto.ParameterizedType.IntegerOptionR\x06length\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x12G\n\x0bnullability\x18\x03 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\xac\x02\n\x14ParameterizedDecimal\x12J\n\x05scale\x18\x01 \x01(\x0b\x32\x34.substrait.gen.proto.ParameterizedType.IntegerOptionR\x05scale\x12R\n\tprecision\x18\x02 \x01(\x0b\x32\x34.substrait.gen.proto.ParameterizedType.IntegerOptionR\tprecision\x12+\n\x11variation_pointer\x18\x03 \x01(\rR\x10variationPointer\x12G\n\x0bnullability\x18\x04 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\xe4\x01\n\x18ParameterizedIntervalDay\x12R\n\tprecision\x18\x01 \x01(\x0b\x32\x34.substrait.gen.proto.ParameterizedType.IntegerOptionR\tprecision\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x12G\n\x0bnullability\x18\x03 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\xe9\x01\n\x1dParameterizedIntervalCompound\x12R\n\tprecision\x18\x01 \x01(\x0b\x32\x34.substrait.gen.proto.ParameterizedType.IntegerOptionR\tprecision\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x12G\n\x0bnullability\x18\x03 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\xe6\x01\n\x1aParameterizedPrecisionTime\x12R\n\tprecision\x18\x01 \x01(\x0b\x32\x34.substrait.gen.proto.ParameterizedType.IntegerOptionR\tprecision\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x12G\n\x0bnullability\x18\x03 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\xeb\x01\n\x1fParameterizedPrecisionTimestamp\x12R\n\tprecision\x18\x01 \x01(\x0b\x32\x34.substrait.gen.proto.ParameterizedType.IntegerOptionR\tprecision\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x12G\n\x0bnullability\x18\x03 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\xed\x01\n!ParameterizedPrecisionTimestampTZ\x12R\n\tprecision\x18\x01 \x01(\x0b\x32\x34.substrait.gen.proto.ParameterizedType.IntegerOptionR\tprecision\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x12G\n\x0bnullability\x18\x03 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\xc9\x01\n\x13ParameterizedStruct\x12<\n\x05types\x18\x01 \x03(\x0b\x32&.substrait.gen.proto.ParameterizedTypeR\x05types\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x12G\n\x0bnullability\x18\x03 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\x84\x01\n\x18ParameterizedNamedStruct\x12\x14\n\x05names\x18\x01 \x03(\tR\x05names\x12R\n\x06struct\x18\x02 \x01(\x0b\x32:.substrait.gen.proto.ParameterizedType.ParameterizedStructR\x06struct\x1a\xc5\x01\n\x11ParameterizedList\x12:\n\x04type\x18\x01 \x01(\x0b\x32&.substrait.gen.proto.ParameterizedTypeR\x04type\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x12G\n\x0bnullability\x18\x03 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\x80\x02\n\x10ParameterizedMap\x12\x38\n\x03key\x18\x01 \x01(\x0b\x32&.substrait.gen.proto.ParameterizedTypeR\x03key\x12<\n\x05value\x18\x02 \x01(\x0b\x32&.substrait.gen.proto.ParameterizedTypeR\x05value\x12+\n\x11variation_pointer\x18\x03 \x01(\rR\x10variationPointer\x12G\n\x0bnullability\x18\x04 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\xb3\x01\n\x18ParameterizedUserDefined\x12!\n\x0ctype_pointer\x18\x01 \x01(\rR\x0btypePointer\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x12G\n\x0bnullability\x18\x03 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\x94\x01\n\rIntegerOption\x12\x1a\n\x07literal\x18\x01 \x01(\x05H\x00R\x07literal\x12W\n\tparameter\x18\x02 \x01(\x0b\x32\x37.substrait.gen.proto.ParameterizedType.IntegerParameterH\x00R\tparameterB\x0e\n\x0cinteger_typeB\x06\n\x04kindB?\n\x1cio.substrait.gen.proto.protoP\x01\xaa\x02\x1cSubstrait.Gen.Proto.Protobufb\x06proto3') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'substrait.gen.proto.parameterized_types_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\034io.substrait.gen.proto.protoP\001\252\002\034Substrait.Gen.Proto.Protobuf' - _globals['_PARAMETERIZEDTYPE'].fields_by_name['timestamp']._loaded_options = None - _globals['_PARAMETERIZEDTYPE'].fields_by_name['timestamp']._serialized_options = b'\030\001' - _globals['_PARAMETERIZEDTYPE'].fields_by_name['time']._loaded_options = None - _globals['_PARAMETERIZEDTYPE'].fields_by_name['time']._serialized_options = b'\030\001' - _globals['_PARAMETERIZEDTYPE'].fields_by_name['timestamp_tz']._loaded_options = None - _globals['_PARAMETERIZEDTYPE'].fields_by_name['timestamp_tz']._serialized_options = b'\030\001' - _globals['_PARAMETERIZEDTYPE'].fields_by_name['user_defined_pointer']._loaded_options = None - _globals['_PARAMETERIZEDTYPE'].fields_by_name['user_defined_pointer']._serialized_options = b'\030\001' - _globals['_PARAMETERIZEDTYPE']._serialized_start=103 - _globals['_PARAMETERIZEDTYPE']._serialized_end=6143 - _globals['_PARAMETERIZEDTYPE_TYPEPARAMETER']._serialized_start=2461 - _globals['_PARAMETERIZEDTYPE_TYPEPARAMETER']._serialized_end=2560 - _globals['_PARAMETERIZEDTYPE_INTEGERPARAMETER']._serialized_start=2563 - _globals['_PARAMETERIZEDTYPE_INTEGERPARAMETER']._serialized_end=2813 - _globals['_PARAMETERIZEDTYPE_NULLABLEINTEGER']._serialized_start=2815 - _globals['_PARAMETERIZEDTYPE_NULLABLEINTEGER']._serialized_end=2854 - _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDFIXEDCHAR']._serialized_start=2857 - _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDFIXEDCHAR']._serialized_end=3077 - _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDVARCHAR']._serialized_start=3080 - _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDVARCHAR']._serialized_end=3298 - _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDFIXEDBINARY']._serialized_start=3301 - _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDFIXEDBINARY']._serialized_end=3523 - _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDDECIMAL']._serialized_start=3526 - _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDDECIMAL']._serialized_end=3826 - _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDINTERVALDAY']._serialized_start=3829 - _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDINTERVALDAY']._serialized_end=4057 - _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDINTERVALCOMPOUND']._serialized_start=4060 - _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDINTERVALCOMPOUND']._serialized_end=4293 - _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDPRECISIONTIME']._serialized_start=4296 - _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDPRECISIONTIME']._serialized_end=4526 - _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDPRECISIONTIMESTAMP']._serialized_start=4529 - _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDPRECISIONTIMESTAMP']._serialized_end=4764 - _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDPRECISIONTIMESTAMPTZ']._serialized_start=4767 - _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDPRECISIONTIMESTAMPTZ']._serialized_end=5004 - _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDSTRUCT']._serialized_start=5007 - _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDSTRUCT']._serialized_end=5208 - _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDNAMEDSTRUCT']._serialized_start=5211 - _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDNAMEDSTRUCT']._serialized_end=5343 - _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDLIST']._serialized_start=5346 - _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDLIST']._serialized_end=5543 - _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDMAP']._serialized_start=5546 - _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDMAP']._serialized_end=5802 - _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDUSERDEFINED']._serialized_start=5805 - _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDUSERDEFINED']._serialized_end=5984 - _globals['_PARAMETERIZEDTYPE_INTEGEROPTION']._serialized_start=5987 - _globals['_PARAMETERIZEDTYPE_INTEGEROPTION']._serialized_end=6135 -# @@protoc_insertion_point(module_scope) diff --git a/src/substrait/gen/proto/parameterized_types_pb2.pyi b/src/substrait/gen/proto/parameterized_types_pb2.pyi deleted file mode 100644 index 17cf7b0..0000000 --- a/src/substrait/gen/proto/parameterized_types_pb2.pyi +++ /dev/null @@ -1,533 +0,0 @@ -""" -@generated by mypy-protobuf. Do not edit manually! -isort:skip_file -SPDX-License-Identifier: Apache-2.0""" - -import builtins -import collections.abc -import google.protobuf.descriptor -import google.protobuf.internal.containers -import google.protobuf.message -import substrait.gen.proto.type_pb2 -import sys -import typing - -if sys.version_info >= (3, 10): - import typing as typing_extensions -else: - import typing_extensions - -DESCRIPTOR: google.protobuf.descriptor.FileDescriptor - -@typing.final -class ParameterizedType(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing.final - class TypeParameter(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - NAME_FIELD_NUMBER: builtins.int - BOUNDS_FIELD_NUMBER: builtins.int - name: builtins.str - @property - def bounds(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___ParameterizedType]: ... - def __init__( - self, - *, - name: builtins.str = ..., - bounds: collections.abc.Iterable[Global___ParameterizedType] | None = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["bounds", b"bounds", "name", b"name"]) -> None: ... - - @typing.final - class IntegerParameter(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - NAME_FIELD_NUMBER: builtins.int - RANGE_START_INCLUSIVE_FIELD_NUMBER: builtins.int - RANGE_END_EXCLUSIVE_FIELD_NUMBER: builtins.int - name: builtins.str - @property - def range_start_inclusive(self) -> Global___ParameterizedType.NullableInteger: ... - @property - def range_end_exclusive(self) -> Global___ParameterizedType.NullableInteger: ... - def __init__( - self, - *, - name: builtins.str = ..., - range_start_inclusive: Global___ParameterizedType.NullableInteger | None = ..., - range_end_exclusive: Global___ParameterizedType.NullableInteger | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["range_end_exclusive", b"range_end_exclusive", "range_start_inclusive", b"range_start_inclusive"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["name", b"name", "range_end_exclusive", b"range_end_exclusive", "range_start_inclusive", b"range_start_inclusive"]) -> None: ... - - @typing.final - class NullableInteger(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - VALUE_FIELD_NUMBER: builtins.int - value: builtins.int - def __init__( - self, - *, - value: builtins.int = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["value", b"value"]) -> None: ... - - @typing.final - class ParameterizedFixedChar(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - LENGTH_FIELD_NUMBER: builtins.int - VARIATION_POINTER_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - variation_pointer: builtins.int - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType - @property - def length(self) -> Global___ParameterizedType.IntegerOption: ... - def __init__( - self, - *, - length: Global___ParameterizedType.IntegerOption | None = ..., - variation_pointer: builtins.int = ..., - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["length", b"length"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["length", b"length", "nullability", b"nullability", "variation_pointer", b"variation_pointer"]) -> None: ... - - @typing.final - class ParameterizedVarChar(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - LENGTH_FIELD_NUMBER: builtins.int - VARIATION_POINTER_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - variation_pointer: builtins.int - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType - @property - def length(self) -> Global___ParameterizedType.IntegerOption: ... - def __init__( - self, - *, - length: Global___ParameterizedType.IntegerOption | None = ..., - variation_pointer: builtins.int = ..., - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["length", b"length"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["length", b"length", "nullability", b"nullability", "variation_pointer", b"variation_pointer"]) -> None: ... - - @typing.final - class ParameterizedFixedBinary(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - LENGTH_FIELD_NUMBER: builtins.int - VARIATION_POINTER_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - variation_pointer: builtins.int - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType - @property - def length(self) -> Global___ParameterizedType.IntegerOption: ... - def __init__( - self, - *, - length: Global___ParameterizedType.IntegerOption | None = ..., - variation_pointer: builtins.int = ..., - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["length", b"length"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["length", b"length", "nullability", b"nullability", "variation_pointer", b"variation_pointer"]) -> None: ... - - @typing.final - class ParameterizedDecimal(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - SCALE_FIELD_NUMBER: builtins.int - PRECISION_FIELD_NUMBER: builtins.int - VARIATION_POINTER_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - variation_pointer: builtins.int - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType - @property - def scale(self) -> Global___ParameterizedType.IntegerOption: ... - @property - def precision(self) -> Global___ParameterizedType.IntegerOption: ... - def __init__( - self, - *, - scale: Global___ParameterizedType.IntegerOption | None = ..., - precision: Global___ParameterizedType.IntegerOption | None = ..., - variation_pointer: builtins.int = ..., - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["precision", b"precision", "scale", b"scale"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "precision", b"precision", "scale", b"scale", "variation_pointer", b"variation_pointer"]) -> None: ... - - @typing.final - class ParameterizedIntervalDay(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - PRECISION_FIELD_NUMBER: builtins.int - VARIATION_POINTER_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - variation_pointer: builtins.int - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType - @property - def precision(self) -> Global___ParameterizedType.IntegerOption: ... - def __init__( - self, - *, - precision: Global___ParameterizedType.IntegerOption | None = ..., - variation_pointer: builtins.int = ..., - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["precision", b"precision"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "precision", b"precision", "variation_pointer", b"variation_pointer"]) -> None: ... - - @typing.final - class ParameterizedIntervalCompound(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - PRECISION_FIELD_NUMBER: builtins.int - VARIATION_POINTER_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - variation_pointer: builtins.int - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType - @property - def precision(self) -> Global___ParameterizedType.IntegerOption: ... - def __init__( - self, - *, - precision: Global___ParameterizedType.IntegerOption | None = ..., - variation_pointer: builtins.int = ..., - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["precision", b"precision"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "precision", b"precision", "variation_pointer", b"variation_pointer"]) -> None: ... - - @typing.final - class ParameterizedPrecisionTime(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - PRECISION_FIELD_NUMBER: builtins.int - VARIATION_POINTER_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - variation_pointer: builtins.int - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType - @property - def precision(self) -> Global___ParameterizedType.IntegerOption: ... - def __init__( - self, - *, - precision: Global___ParameterizedType.IntegerOption | None = ..., - variation_pointer: builtins.int = ..., - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["precision", b"precision"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "precision", b"precision", "variation_pointer", b"variation_pointer"]) -> None: ... - - @typing.final - class ParameterizedPrecisionTimestamp(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - PRECISION_FIELD_NUMBER: builtins.int - VARIATION_POINTER_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - variation_pointer: builtins.int - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType - @property - def precision(self) -> Global___ParameterizedType.IntegerOption: ... - def __init__( - self, - *, - precision: Global___ParameterizedType.IntegerOption | None = ..., - variation_pointer: builtins.int = ..., - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["precision", b"precision"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "precision", b"precision", "variation_pointer", b"variation_pointer"]) -> None: ... - - @typing.final - class ParameterizedPrecisionTimestampTZ(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - PRECISION_FIELD_NUMBER: builtins.int - VARIATION_POINTER_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - variation_pointer: builtins.int - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType - @property - def precision(self) -> Global___ParameterizedType.IntegerOption: ... - def __init__( - self, - *, - precision: Global___ParameterizedType.IntegerOption | None = ..., - variation_pointer: builtins.int = ..., - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["precision", b"precision"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "precision", b"precision", "variation_pointer", b"variation_pointer"]) -> None: ... - - @typing.final - class ParameterizedStruct(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TYPES_FIELD_NUMBER: builtins.int - VARIATION_POINTER_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - variation_pointer: builtins.int - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType - @property - def types(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___ParameterizedType]: ... - def __init__( - self, - *, - types: collections.abc.Iterable[Global___ParameterizedType] | None = ..., - variation_pointer: builtins.int = ..., - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "types", b"types", "variation_pointer", b"variation_pointer"]) -> None: ... - - @typing.final - class ParameterizedNamedStruct(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - NAMES_FIELD_NUMBER: builtins.int - STRUCT_FIELD_NUMBER: builtins.int - @property - def names(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: - """list of names in dfs order""" - - @property - def struct(self) -> Global___ParameterizedType.ParameterizedStruct: ... - def __init__( - self, - *, - names: collections.abc.Iterable[builtins.str] | None = ..., - struct: Global___ParameterizedType.ParameterizedStruct | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["struct", b"struct"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["names", b"names", "struct", b"struct"]) -> None: ... - - @typing.final - class ParameterizedList(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TYPE_FIELD_NUMBER: builtins.int - VARIATION_POINTER_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - variation_pointer: builtins.int - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType - @property - def type(self) -> Global___ParameterizedType: ... - def __init__( - self, - *, - type: Global___ParameterizedType | None = ..., - variation_pointer: builtins.int = ..., - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "type", b"type", "variation_pointer", b"variation_pointer"]) -> None: ... - - @typing.final - class ParameterizedMap(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - KEY_FIELD_NUMBER: builtins.int - VALUE_FIELD_NUMBER: builtins.int - VARIATION_POINTER_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - variation_pointer: builtins.int - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType - @property - def key(self) -> Global___ParameterizedType: ... - @property - def value(self) -> Global___ParameterizedType: ... - def __init__( - self, - *, - key: Global___ParameterizedType | None = ..., - value: Global___ParameterizedType | None = ..., - variation_pointer: builtins.int = ..., - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["key", b"key", "nullability", b"nullability", "value", b"value", "variation_pointer", b"variation_pointer"]) -> None: ... - - @typing.final - class ParameterizedUserDefined(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TYPE_POINTER_FIELD_NUMBER: builtins.int - VARIATION_POINTER_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - type_pointer: builtins.int - variation_pointer: builtins.int - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType - def __init__( - self, - *, - type_pointer: builtins.int = ..., - variation_pointer: builtins.int = ..., - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "type_pointer", b"type_pointer", "variation_pointer", b"variation_pointer"]) -> None: ... - - @typing.final - class IntegerOption(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - LITERAL_FIELD_NUMBER: builtins.int - PARAMETER_FIELD_NUMBER: builtins.int - literal: builtins.int - @property - def parameter(self) -> Global___ParameterizedType.IntegerParameter: ... - def __init__( - self, - *, - literal: builtins.int = ..., - parameter: Global___ParameterizedType.IntegerParameter | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["integer_type", b"integer_type", "literal", b"literal", "parameter", b"parameter"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["integer_type", b"integer_type", "literal", b"literal", "parameter", b"parameter"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["integer_type", b"integer_type"]) -> typing.Literal["literal", "parameter"] | None: ... - - BOOL_FIELD_NUMBER: builtins.int - I8_FIELD_NUMBER: builtins.int - I16_FIELD_NUMBER: builtins.int - I32_FIELD_NUMBER: builtins.int - I64_FIELD_NUMBER: builtins.int - FP32_FIELD_NUMBER: builtins.int - FP64_FIELD_NUMBER: builtins.int - STRING_FIELD_NUMBER: builtins.int - BINARY_FIELD_NUMBER: builtins.int - TIMESTAMP_FIELD_NUMBER: builtins.int - DATE_FIELD_NUMBER: builtins.int - TIME_FIELD_NUMBER: builtins.int - INTERVAL_YEAR_FIELD_NUMBER: builtins.int - INTERVAL_DAY_FIELD_NUMBER: builtins.int - INTERVAL_COMPOUND_FIELD_NUMBER: builtins.int - TIMESTAMP_TZ_FIELD_NUMBER: builtins.int - UUID_FIELD_NUMBER: builtins.int - FIXED_CHAR_FIELD_NUMBER: builtins.int - VARCHAR_FIELD_NUMBER: builtins.int - FIXED_BINARY_FIELD_NUMBER: builtins.int - DECIMAL_FIELD_NUMBER: builtins.int - PRECISION_TIME_FIELD_NUMBER: builtins.int - PRECISION_TIMESTAMP_FIELD_NUMBER: builtins.int - PRECISION_TIMESTAMP_TZ_FIELD_NUMBER: builtins.int - STRUCT_FIELD_NUMBER: builtins.int - LIST_FIELD_NUMBER: builtins.int - MAP_FIELD_NUMBER: builtins.int - USER_DEFINED_FIELD_NUMBER: builtins.int - USER_DEFINED_POINTER_FIELD_NUMBER: builtins.int - TYPE_PARAMETER_FIELD_NUMBER: builtins.int - user_defined_pointer: builtins.int - """Deprecated in favor of user_defined, which allows nullability and - variations to be specified. If user_defined_pointer is encountered, - treat it as being non-nullable and having the default variation. - """ - @property - def bool(self) -> substrait.gen.proto.type_pb2.Type.Boolean: ... - @property - def i8(self) -> substrait.gen.proto.type_pb2.Type.I8: ... - @property - def i16(self) -> substrait.gen.proto.type_pb2.Type.I16: ... - @property - def i32(self) -> substrait.gen.proto.type_pb2.Type.I32: ... - @property - def i64(self) -> substrait.gen.proto.type_pb2.Type.I64: ... - @property - def fp32(self) -> substrait.gen.proto.type_pb2.Type.FP32: ... - @property - def fp64(self) -> substrait.gen.proto.type_pb2.Type.FP64: ... - @property - def string(self) -> substrait.gen.proto.type_pb2.Type.String: ... - @property - def binary(self) -> substrait.gen.proto.type_pb2.Type.Binary: ... - @property - def timestamp(self) -> substrait.gen.proto.type_pb2.Type.Timestamp: - """Deprecated in favor of `ParameterizedPrecisionTimestamp precision_timestamp`""" - - @property - def date(self) -> substrait.gen.proto.type_pb2.Type.Date: ... - @property - def time(self) -> substrait.gen.proto.type_pb2.Type.Time: - """Deprecated in favor of `ParameterizedPrecisionTime precision_time`""" - - @property - def interval_year(self) -> substrait.gen.proto.type_pb2.Type.IntervalYear: ... - @property - def interval_day(self) -> Global___ParameterizedType.ParameterizedIntervalDay: ... - @property - def interval_compound(self) -> Global___ParameterizedType.ParameterizedIntervalCompound: ... - @property - def timestamp_tz(self) -> substrait.gen.proto.type_pb2.Type.TimestampTZ: - """Deprecated in favor of `ParameterizedPrecisionTimestampTZ precision_timestamp_tz`""" - - @property - def uuid(self) -> substrait.gen.proto.type_pb2.Type.UUID: ... - @property - def fixed_char(self) -> Global___ParameterizedType.ParameterizedFixedChar: ... - @property - def varchar(self) -> Global___ParameterizedType.ParameterizedVarChar: ... - @property - def fixed_binary(self) -> Global___ParameterizedType.ParameterizedFixedBinary: ... - @property - def decimal(self) -> Global___ParameterizedType.ParameterizedDecimal: ... - @property - def precision_time(self) -> Global___ParameterizedType.ParameterizedPrecisionTime: ... - @property - def precision_timestamp(self) -> Global___ParameterizedType.ParameterizedPrecisionTimestamp: ... - @property - def precision_timestamp_tz(self) -> Global___ParameterizedType.ParameterizedPrecisionTimestampTZ: ... - @property - def struct(self) -> Global___ParameterizedType.ParameterizedStruct: ... - @property - def list(self) -> Global___ParameterizedType.ParameterizedList: ... - @property - def map(self) -> Global___ParameterizedType.ParameterizedMap: ... - @property - def user_defined(self) -> Global___ParameterizedType.ParameterizedUserDefined: ... - @property - def type_parameter(self) -> Global___ParameterizedType.TypeParameter: ... - def __init__( - self, - *, - bool: substrait.gen.proto.type_pb2.Type.Boolean | None = ..., - i8: substrait.gen.proto.type_pb2.Type.I8 | None = ..., - i16: substrait.gen.proto.type_pb2.Type.I16 | None = ..., - i32: substrait.gen.proto.type_pb2.Type.I32 | None = ..., - i64: substrait.gen.proto.type_pb2.Type.I64 | None = ..., - fp32: substrait.gen.proto.type_pb2.Type.FP32 | None = ..., - fp64: substrait.gen.proto.type_pb2.Type.FP64 | None = ..., - string: substrait.gen.proto.type_pb2.Type.String | None = ..., - binary: substrait.gen.proto.type_pb2.Type.Binary | None = ..., - timestamp: substrait.gen.proto.type_pb2.Type.Timestamp | None = ..., - date: substrait.gen.proto.type_pb2.Type.Date | None = ..., - time: substrait.gen.proto.type_pb2.Type.Time | None = ..., - interval_year: substrait.gen.proto.type_pb2.Type.IntervalYear | None = ..., - interval_day: Global___ParameterizedType.ParameterizedIntervalDay | None = ..., - interval_compound: Global___ParameterizedType.ParameterizedIntervalCompound | None = ..., - timestamp_tz: substrait.gen.proto.type_pb2.Type.TimestampTZ | None = ..., - uuid: substrait.gen.proto.type_pb2.Type.UUID | None = ..., - fixed_char: Global___ParameterizedType.ParameterizedFixedChar | None = ..., - varchar: Global___ParameterizedType.ParameterizedVarChar | None = ..., - fixed_binary: Global___ParameterizedType.ParameterizedFixedBinary | None = ..., - decimal: Global___ParameterizedType.ParameterizedDecimal | None = ..., - precision_time: Global___ParameterizedType.ParameterizedPrecisionTime | None = ..., - precision_timestamp: Global___ParameterizedType.ParameterizedPrecisionTimestamp | None = ..., - precision_timestamp_tz: Global___ParameterizedType.ParameterizedPrecisionTimestampTZ | None = ..., - struct: Global___ParameterizedType.ParameterizedStruct | None = ..., - list: Global___ParameterizedType.ParameterizedList | None = ..., - map: Global___ParameterizedType.ParameterizedMap | None = ..., - user_defined: Global___ParameterizedType.ParameterizedUserDefined | None = ..., - user_defined_pointer: builtins.int = ..., - type_parameter: Global___ParameterizedType.TypeParameter | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["binary", b"binary", "bool", b"bool", "date", b"date", "decimal", b"decimal", "fixed_binary", b"fixed_binary", "fixed_char", b"fixed_char", "fp32", b"fp32", "fp64", b"fp64", "i16", b"i16", "i32", b"i32", "i64", b"i64", "i8", b"i8", "interval_compound", b"interval_compound", "interval_day", b"interval_day", "interval_year", b"interval_year", "kind", b"kind", "list", b"list", "map", b"map", "precision_time", b"precision_time", "precision_timestamp", b"precision_timestamp", "precision_timestamp_tz", b"precision_timestamp_tz", "string", b"string", "struct", b"struct", "time", b"time", "timestamp", b"timestamp", "timestamp_tz", b"timestamp_tz", "type_parameter", b"type_parameter", "user_defined", b"user_defined", "user_defined_pointer", b"user_defined_pointer", "uuid", b"uuid", "varchar", b"varchar"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["binary", b"binary", "bool", b"bool", "date", b"date", "decimal", b"decimal", "fixed_binary", b"fixed_binary", "fixed_char", b"fixed_char", "fp32", b"fp32", "fp64", b"fp64", "i16", b"i16", "i32", b"i32", "i64", b"i64", "i8", b"i8", "interval_compound", b"interval_compound", "interval_day", b"interval_day", "interval_year", b"interval_year", "kind", b"kind", "list", b"list", "map", b"map", "precision_time", b"precision_time", "precision_timestamp", b"precision_timestamp", "precision_timestamp_tz", b"precision_timestamp_tz", "string", b"string", "struct", b"struct", "time", b"time", "timestamp", b"timestamp", "timestamp_tz", b"timestamp_tz", "type_parameter", b"type_parameter", "user_defined", b"user_defined", "user_defined_pointer", b"user_defined_pointer", "uuid", b"uuid", "varchar", b"varchar"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["kind", b"kind"]) -> typing.Literal["bool", "i8", "i16", "i32", "i64", "fp32", "fp64", "string", "binary", "timestamp", "date", "time", "interval_year", "interval_day", "interval_compound", "timestamp_tz", "uuid", "fixed_char", "varchar", "fixed_binary", "decimal", "precision_time", "precision_timestamp", "precision_timestamp_tz", "struct", "list", "map", "user_defined", "user_defined_pointer", "type_parameter"] | None: ... - -Global___ParameterizedType: typing_extensions.TypeAlias = ParameterizedType diff --git a/src/substrait/gen/proto/plan_pb2.py b/src/substrait/gen/proto/plan_pb2.py deleted file mode 100644 index 8eb8c0c..0000000 --- a/src/substrait/gen/proto/plan_pb2.py +++ /dev/null @@ -1,50 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE -# source: substrait/gen/proto/plan.proto -# Protobuf Python Version: 5.29.5 -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import runtime_version as _runtime_version -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 5, - 29, - 5, - '', - 'substrait/gen/proto/plan.proto' -) -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from substrait.gen.proto import algebra_pb2 as substrait_dot_gen_dot_proto_dot_algebra__pb2 -from substrait.gen.proto.extensions import extensions_pb2 as substrait_dot_gen_dot_proto_dot_extensions_dot_extensions__pb2 -from substrait.gen.proto import type_pb2 as substrait_dot_gen_dot_proto_dot_type__pb2 - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1esubstrait/gen/proto/plan.proto\x12\x13substrait.gen.proto\x1a!substrait/gen/proto/algebra.proto\x1a/substrait/gen/proto/extensions/extensions.proto\x1a\x1esubstrait/gen/proto/type.proto\"w\n\x07PlanRel\x12,\n\x03rel\x18\x01 \x01(\x0b\x32\x18.substrait.gen.proto.RelH\x00R\x03rel\x12\x32\n\x04root\x18\x02 \x01(\x0b\x32\x1c.substrait.gen.proto.RelRootH\x00R\x04rootB\n\n\x08rel_type\"\xc2\x05\n\x04Plan\x12\x36\n\x07version\x18\x06 \x01(\x0b\x32\x1c.substrait.gen.proto.VersionR\x07version\x12]\n\x0e\x65xtension_uris\x18\x01 \x03(\x0b\x32\x32.substrait.gen.proto.extensions.SimpleExtensionURIB\x02\x18\x01R\rextensionUris\x12Y\n\x0e\x65xtension_urns\x18\x08 \x03(\x0b\x32\x32.substrait.gen.proto.extensions.SimpleExtensionURNR\rextensionUrns\x12Z\n\nextensions\x18\x02 \x03(\x0b\x32:.substrait.gen.proto.extensions.SimpleExtensionDeclarationR\nextensions\x12:\n\trelations\x18\x03 \x03(\x0b\x32\x1c.substrait.gen.proto.PlanRelR\trelations\x12\x62\n\x13\x61\x64vanced_extensions\x18\x04 \x01(\x0b\x32\x31.substrait.gen.proto.extensions.AdvancedExtensionR\x12\x61\x64vancedExtensions\x12,\n\x12\x65xpected_type_urls\x18\x05 \x03(\tR\x10\x65xpectedTypeUrls\x12[\n\x12parameter_bindings\x18\x07 \x03(\x0b\x32,.substrait.gen.proto.DynamicParameterBindingR\x11parameterBindings\x12\x41\n\x0ctype_aliases\x18\t \x03(\x0b\x32\x1e.substrait.gen.proto.TypeAliasR\x0btypeAliases\"E\n\x0bPlanVersion\x12\x36\n\x07version\x18\x06 \x01(\x0b\x32\x1c.substrait.gen.proto.VersionR\x07version\"\xa9\x01\n\x07Version\x12!\n\x0cmajor_number\x18\x01 \x01(\rR\x0bmajorNumber\x12!\n\x0cminor_number\x18\x02 \x01(\rR\x0bminorNumber\x12!\n\x0cpatch_number\x18\x03 \x01(\rR\x0bpatchNumber\x12\x19\n\x08git_hash\x18\x04 \x01(\tR\x07gitHash\x12\x1a\n\x08producer\x18\x05 \x01(\tR\x08producer\"\x83\x01\n\x17\x44ynamicParameterBinding\x12)\n\x10parameter_anchor\x18\x01 \x01(\rR\x0fparameterAnchor\x12=\n\x05value\x18\x02 \x01(\x0b\x32\'.substrait.gen.proto.Expression.LiteralR\x05valueB?\n\x1cio.substrait.gen.proto.protoP\x01\xaa\x02\x1cSubstrait.Gen.Proto.Protobufb\x06proto3') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'substrait.gen.proto.plan_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\034io.substrait.gen.proto.protoP\001\252\002\034Substrait.Gen.Proto.Protobuf' - _globals['_PLAN'].fields_by_name['extension_uris']._loaded_options = None - _globals['_PLAN'].fields_by_name['extension_uris']._serialized_options = b'\030\001' - _globals['_PLANREL']._serialized_start=171 - _globals['_PLANREL']._serialized_end=290 - _globals['_PLAN']._serialized_start=293 - _globals['_PLAN']._serialized_end=999 - _globals['_PLANVERSION']._serialized_start=1001 - _globals['_PLANVERSION']._serialized_end=1070 - _globals['_VERSION']._serialized_start=1073 - _globals['_VERSION']._serialized_end=1242 - _globals['_DYNAMICPARAMETERBINDING']._serialized_start=1245 - _globals['_DYNAMICPARAMETERBINDING']._serialized_end=1376 -# @@protoc_insertion_point(module_scope) diff --git a/src/substrait/gen/proto/plan_pb2.pyi b/src/substrait/gen/proto/plan_pb2.pyi deleted file mode 100644 index f40704b..0000000 --- a/src/substrait/gen/proto/plan_pb2.pyi +++ /dev/null @@ -1,234 +0,0 @@ -""" -@generated by mypy-protobuf. Do not edit manually! -isort:skip_file -SPDX-License-Identifier: Apache-2.0""" - -import builtins -import collections.abc -import google.protobuf.descriptor -import google.protobuf.internal.containers -import google.protobuf.message -import substrait.gen.proto.algebra_pb2 -import substrait.gen.proto.extensions.extensions_pb2 -import substrait.gen.proto.type_pb2 -import sys -import typing - -if sys.version_info >= (3, 10): - import typing as typing_extensions -else: - import typing_extensions - -DESCRIPTOR: google.protobuf.descriptor.FileDescriptor - -@typing.final -class PlanRel(google.protobuf.message.Message): - """Either a relation or root relation""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - REL_FIELD_NUMBER: builtins.int - ROOT_FIELD_NUMBER: builtins.int - @property - def rel(self) -> substrait.gen.proto.algebra_pb2.Rel: - """Any relation (used for references and CTEs)""" - - @property - def root(self) -> substrait.gen.proto.algebra_pb2.RelRoot: - """The root of a relation tree""" - - def __init__( - self, - *, - rel: substrait.gen.proto.algebra_pb2.Rel | None = ..., - root: substrait.gen.proto.algebra_pb2.RelRoot | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["rel", b"rel", "rel_type", b"rel_type", "root", b"root"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["rel", b"rel", "rel_type", b"rel_type", "root", b"root"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["rel_type", b"rel_type"]) -> typing.Literal["rel", "root"] | None: ... - -Global___PlanRel: typing_extensions.TypeAlias = PlanRel - -@typing.final -class Plan(google.protobuf.message.Message): - """Describe a set of operations to complete. - For compactness sake, identifiers are normalized at the plan level. - """ - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - VERSION_FIELD_NUMBER: builtins.int - EXTENSION_URIS_FIELD_NUMBER: builtins.int - EXTENSION_URNS_FIELD_NUMBER: builtins.int - EXTENSIONS_FIELD_NUMBER: builtins.int - RELATIONS_FIELD_NUMBER: builtins.int - ADVANCED_EXTENSIONS_FIELD_NUMBER: builtins.int - EXPECTED_TYPE_URLS_FIELD_NUMBER: builtins.int - PARAMETER_BINDINGS_FIELD_NUMBER: builtins.int - TYPE_ALIASES_FIELD_NUMBER: builtins.int - @property - def version(self) -> Global___Version: - """Substrait version of the plan. Optional up to 0.17.0, required for later - versions. - """ - - @property - def extension_uris(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[substrait.gen.proto.extensions.extensions_pb2.SimpleExtensionURI]: - """a list of yaml specifications this plan may depend on - this is now deprecated and extension_urns should be used instead. - """ - - @property - def extension_urns(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[substrait.gen.proto.extensions.extensions_pb2.SimpleExtensionURN]: - """a list of extension URNs this plan may depend on""" - - @property - def extensions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[substrait.gen.proto.extensions.extensions_pb2.SimpleExtensionDeclaration]: - """a list of extensions this plan may depend on""" - - @property - def relations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___PlanRel]: - """one or more relation trees that are associated with this plan.""" - - @property - def advanced_extensions(self) -> substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension: - """additional extensions associated with this plan.""" - - @property - def expected_type_urls(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: - """A list of com.google.Any entities that this plan may use. Can be used to - warn if some embedded message types are unknown. Note that this list may - include message types that are ignorable (optimizations) or that are - unused. In many cases, a consumer may be able to work with a plan even if - one or more message types defined here are unknown. - """ - - @property - def parameter_bindings(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___DynamicParameterBinding]: - """An optional list of bindings for dynamic parameters used in this plan. - Each binding maps a parameter_anchor to its corresponding runtime value. - """ - - @property - def type_aliases(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[substrait.gen.proto.type_pb2.TypeAlias]: - """An optional list of type aliases. Types can be specified here once, and - then referenced within the plan using the TypeAliasReference type. This - feature is intended to assist with the usability of parameterized types, - which require that all parameters be specified when they are declared. - This can bloat plans with redundant redeclarations, especially if the - parameterized types being declared have many parameters (e.g., struct with - many fields, nested parameterized types, string as a type parameter). - """ - - def __init__( - self, - *, - version: Global___Version | None = ..., - extension_uris: collections.abc.Iterable[substrait.gen.proto.extensions.extensions_pb2.SimpleExtensionURI] | None = ..., - extension_urns: collections.abc.Iterable[substrait.gen.proto.extensions.extensions_pb2.SimpleExtensionURN] | None = ..., - extensions: collections.abc.Iterable[substrait.gen.proto.extensions.extensions_pb2.SimpleExtensionDeclaration] | None = ..., - relations: collections.abc.Iterable[Global___PlanRel] | None = ..., - advanced_extensions: substrait.gen.proto.extensions.extensions_pb2.AdvancedExtension | None = ..., - expected_type_urls: collections.abc.Iterable[builtins.str] | None = ..., - parameter_bindings: collections.abc.Iterable[Global___DynamicParameterBinding] | None = ..., - type_aliases: collections.abc.Iterable[substrait.gen.proto.type_pb2.TypeAlias] | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["advanced_extensions", b"advanced_extensions", "version", b"version"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["advanced_extensions", b"advanced_extensions", "expected_type_urls", b"expected_type_urls", "extension_uris", b"extension_uris", "extension_urns", b"extension_urns", "extensions", b"extensions", "parameter_bindings", b"parameter_bindings", "relations", b"relations", "type_aliases", b"type_aliases", "version", b"version"]) -> None: ... - -Global___Plan: typing_extensions.TypeAlias = Plan - -@typing.final -class PlanVersion(google.protobuf.message.Message): - """This message type can be used to deserialize only the version of a Substrait - Plan message. This prevents deserialization errors when there were breaking - changes between the Substrait version of the tool that produced the plan and - the Substrait version used to deserialize it, such that a consumer can emit - a more helpful error message in this case. - """ - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - VERSION_FIELD_NUMBER: builtins.int - @property - def version(self) -> Global___Version: ... - def __init__( - self, - *, - version: Global___Version | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["version", b"version"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["version", b"version"]) -> None: ... - -Global___PlanVersion: typing_extensions.TypeAlias = PlanVersion - -@typing.final -class Version(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - MAJOR_NUMBER_FIELD_NUMBER: builtins.int - MINOR_NUMBER_FIELD_NUMBER: builtins.int - PATCH_NUMBER_FIELD_NUMBER: builtins.int - GIT_HASH_FIELD_NUMBER: builtins.int - PRODUCER_FIELD_NUMBER: builtins.int - major_number: builtins.int - """Substrait version number.""" - minor_number: builtins.int - patch_number: builtins.int - git_hash: builtins.str - """If a particular version of Substrait is used that does not correspond to - a version number exactly (for example when using an unofficial fork or - using a version that is not yet released or is between versions), set this - to the full git hash of the utilized commit of - https://github.com/substrait-io/substrait (or fork thereof), represented - using a lowercase hex ASCII string 40 characters in length. The version - number above should be set to the most recent version tag in the history - of that commit. - """ - producer: builtins.str - """Identifying information for the producer that created this plan. Under - ideal circumstances, consumers should not need this information. However, - it is foreseen that consumers may need to work around bugs in particular - producers in practice, and therefore may need to know which producer - created the plan. - """ - def __init__( - self, - *, - major_number: builtins.int = ..., - minor_number: builtins.int = ..., - patch_number: builtins.int = ..., - git_hash: builtins.str = ..., - producer: builtins.str = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["git_hash", b"git_hash", "major_number", b"major_number", "minor_number", b"minor_number", "patch_number", b"patch_number", "producer", b"producer"]) -> None: ... - -Global___Version: typing_extensions.TypeAlias = Version - -@typing.final -class DynamicParameterBinding(google.protobuf.message.Message): - """Represents a binding for a dynamic parameter.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - PARAMETER_ANCHOR_FIELD_NUMBER: builtins.int - VALUE_FIELD_NUMBER: builtins.int - parameter_anchor: builtins.int - """The parameter anchor that identifies the dynamic parameter reference.""" - @property - def value(self) -> substrait.gen.proto.algebra_pb2.Expression.Literal: - """The literal value assigned to the parameter at runtime. - The type of the literal needs to match the type of the corresponding - DynamicParameter expression in the plan. - """ - - def __init__( - self, - *, - parameter_anchor: builtins.int = ..., - value: substrait.gen.proto.algebra_pb2.Expression.Literal | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["value", b"value"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["parameter_anchor", b"parameter_anchor", "value", b"value"]) -> None: ... - -Global___DynamicParameterBinding: typing_extensions.TypeAlias = DynamicParameterBinding diff --git a/src/substrait/gen/proto/type_expressions_pb2.py b/src/substrait/gen/proto/type_expressions_pb2.py deleted file mode 100644 index 8aba23e..0000000 --- a/src/substrait/gen/proto/type_expressions_pb2.py +++ /dev/null @@ -1,88 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE -# source: substrait/gen/proto/type_expressions.proto -# Protobuf Python Version: 5.29.5 -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import runtime_version as _runtime_version -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 5, - 29, - 5, - '', - 'substrait/gen/proto/type_expressions.proto' -) -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from substrait.gen.proto import type_pb2 as substrait_dot_gen_dot_proto_dot_type__pb2 - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*substrait/gen/proto/type_expressions.proto\x12\x13substrait.gen.proto\x1a\x1esubstrait/gen/proto/type.proto\"\xe0\x37\n\x14\x44\x65rivationExpression\x12\x37\n\x04\x62ool\x18\x01 \x01(\x0b\x32!.substrait.gen.proto.Type.BooleanH\x00R\x04\x62ool\x12.\n\x02i8\x18\x02 \x01(\x0b\x32\x1c.substrait.gen.proto.Type.I8H\x00R\x02i8\x12\x31\n\x03i16\x18\x03 \x01(\x0b\x32\x1d.substrait.gen.proto.Type.I16H\x00R\x03i16\x12\x31\n\x03i32\x18\x05 \x01(\x0b\x32\x1d.substrait.gen.proto.Type.I32H\x00R\x03i32\x12\x31\n\x03i64\x18\x07 \x01(\x0b\x32\x1d.substrait.gen.proto.Type.I64H\x00R\x03i64\x12\x34\n\x04\x66p32\x18\n \x01(\x0b\x32\x1e.substrait.gen.proto.Type.FP32H\x00R\x04\x66p32\x12\x34\n\x04\x66p64\x18\x0b \x01(\x0b\x32\x1e.substrait.gen.proto.Type.FP64H\x00R\x04\x66p64\x12:\n\x06string\x18\x0c \x01(\x0b\x32 .substrait.gen.proto.Type.StringH\x00R\x06string\x12:\n\x06\x62inary\x18\r \x01(\x0b\x32 .substrait.gen.proto.Type.BinaryH\x00R\x06\x62inary\x12G\n\ttimestamp\x18\x0e \x01(\x0b\x32#.substrait.gen.proto.Type.TimestampB\x02\x18\x01H\x00R\ttimestamp\x12\x34\n\x04\x64\x61te\x18\x10 \x01(\x0b\x32\x1e.substrait.gen.proto.Type.DateH\x00R\x04\x64\x61te\x12\x38\n\x04time\x18\x11 \x01(\x0b\x32\x1e.substrait.gen.proto.Type.TimeB\x02\x18\x01H\x00R\x04time\x12M\n\rinterval_year\x18\x13 \x01(\x0b\x32&.substrait.gen.proto.Type.IntervalYearH\x00R\x0cintervalYear\x12N\n\x0ctimestamp_tz\x18\x1d \x01(\x0b\x32%.substrait.gen.proto.Type.TimestampTZB\x02\x18\x01H\x00R\x0btimestampTz\x12\x34\n\x04uuid\x18 \x01(\x0b\x32\x1e.substrait.gen.proto.Type.UUIDH\x00R\x04uuid\x12\x64\n\x0cinterval_day\x18\x14 \x01(\x0b\x32?.substrait.gen.proto.DerivationExpression.ExpressionIntervalDayH\x00R\x0bintervalDay\x12s\n\x11interval_compound\x18* \x01(\x0b\x32\x44.substrait.gen.proto.DerivationExpression.ExpressionIntervalCompoundH\x00R\x10intervalCompound\x12^\n\nfixed_char\x18\x15 \x01(\x0b\x32=.substrait.gen.proto.DerivationExpression.ExpressionFixedCharH\x00R\tfixedChar\x12W\n\x07varchar\x18\x16 \x01(\x0b\x32;.substrait.gen.proto.DerivationExpression.ExpressionVarCharH\x00R\x07varchar\x12\x64\n\x0c\x66ixed_binary\x18\x17 \x01(\x0b\x32?.substrait.gen.proto.DerivationExpression.ExpressionFixedBinaryH\x00R\x0b\x66ixedBinary\x12W\n\x07\x64\x65\x63imal\x18\x18 \x01(\x0b\x32;.substrait.gen.proto.DerivationExpression.ExpressionDecimalH\x00R\x07\x64\x65\x63imal\x12j\n\x0eprecision_time\x18+ \x01(\x0b\x32\x41.substrait.gen.proto.DerivationExpression.ExpressionPrecisionTimeH\x00R\rprecisionTime\x12y\n\x13precision_timestamp\x18( \x01(\x0b\x32\x46.substrait.gen.proto.DerivationExpression.ExpressionPrecisionTimestampH\x00R\x12precisionTimestamp\x12\x80\x01\n\x16precision_timestamp_tz\x18) \x01(\x0b\x32H.substrait.gen.proto.DerivationExpression.ExpressionPrecisionTimestampTZH\x00R\x14precisionTimestampTz\x12T\n\x06struct\x18\x19 \x01(\x0b\x32:.substrait.gen.proto.DerivationExpression.ExpressionStructH\x00R\x06struct\x12N\n\x04list\x18\x1b \x01(\x0b\x32\x38.substrait.gen.proto.DerivationExpression.ExpressionListH\x00R\x04list\x12K\n\x03map\x18\x1c \x01(\x0b\x32\x37.substrait.gen.proto.DerivationExpression.ExpressionMapH\x00R\x03map\x12\x64\n\x0cuser_defined\x18\x1e \x01(\x0b\x32?.substrait.gen.proto.DerivationExpression.ExpressionUserDefinedH\x00R\x0buserDefined\x12\x36\n\x14user_defined_pointer\x18\x1f \x01(\rB\x02\x18\x01H\x00R\x12userDefinedPointer\x12\x30\n\x13type_parameter_name\x18! \x01(\tH\x00R\x11typeParameterName\x12\x36\n\x16integer_parameter_name\x18\" \x01(\tH\x00R\x14integerParameterName\x12)\n\x0finteger_literal\x18# \x01(\x05H\x00R\x0eintegerLiteral\x12N\n\x08unary_op\x18$ \x01(\x0b\x32\x31.substrait.gen.proto.DerivationExpression.UnaryOpH\x00R\x07unaryOp\x12Q\n\tbinary_op\x18% \x01(\x0b\x32\x32.substrait.gen.proto.DerivationExpression.BinaryOpH\x00R\x08\x62inaryOp\x12K\n\x07if_else\x18& \x01(\x0b\x32\x30.substrait.gen.proto.DerivationExpression.IfElseH\x00R\x06ifElse\x12`\n\x0ereturn_program\x18\' \x01(\x0b\x32\x37.substrait.gen.proto.DerivationExpression.ReturnProgramH\x00R\rreturnProgram\x1a\xce\x01\n\x13\x45xpressionFixedChar\x12\x41\n\x06length\x18\x01 \x01(\x0b\x32).substrait.gen.proto.DerivationExpressionR\x06length\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x12G\n\x0bnullability\x18\x03 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\xcc\x01\n\x11\x45xpressionVarChar\x12\x41\n\x06length\x18\x01 \x01(\x0b\x32).substrait.gen.proto.DerivationExpressionR\x06length\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x12G\n\x0bnullability\x18\x03 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\xd0\x01\n\x15\x45xpressionFixedBinary\x12\x41\n\x06length\x18\x01 \x01(\x0b\x32).substrait.gen.proto.DerivationExpressionR\x06length\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x12G\n\x0bnullability\x18\x03 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\x93\x02\n\x11\x45xpressionDecimal\x12?\n\x05scale\x18\x01 \x01(\x0b\x32).substrait.gen.proto.DerivationExpressionR\x05scale\x12G\n\tprecision\x18\x02 \x01(\x0b\x32).substrait.gen.proto.DerivationExpressionR\tprecision\x12+\n\x11variation_pointer\x18\x03 \x01(\rR\x10variationPointer\x12G\n\x0bnullability\x18\x04 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\xd8\x01\n\x17\x45xpressionPrecisionTime\x12G\n\tprecision\x18\x01 \x01(\x0b\x32).substrait.gen.proto.DerivationExpressionR\tprecision\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x12G\n\x0bnullability\x18\x03 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\xdd\x01\n\x1c\x45xpressionPrecisionTimestamp\x12G\n\tprecision\x18\x01 \x01(\x0b\x32).substrait.gen.proto.DerivationExpressionR\tprecision\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x12G\n\x0bnullability\x18\x03 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\xd6\x01\n\x15\x45xpressionIntervalDay\x12G\n\tprecision\x18\x01 \x01(\x0b\x32).substrait.gen.proto.DerivationExpressionR\tprecision\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x12G\n\x0bnullability\x18\x03 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\xdb\x01\n\x1a\x45xpressionIntervalCompound\x12G\n\tprecision\x18\x01 \x01(\x0b\x32).substrait.gen.proto.DerivationExpressionR\tprecision\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x12G\n\x0bnullability\x18\x03 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\xdf\x01\n\x1e\x45xpressionPrecisionTimestampTZ\x12G\n\tprecision\x18\x01 \x01(\x0b\x32).substrait.gen.proto.DerivationExpressionR\tprecision\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x12G\n\x0bnullability\x18\x03 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\xc9\x01\n\x10\x45xpressionStruct\x12?\n\x05types\x18\x01 \x03(\x0b\x32).substrait.gen.proto.DerivationExpressionR\x05types\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x12G\n\x0bnullability\x18\x03 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\x81\x01\n\x15\x45xpressionNamedStruct\x12\x14\n\x05names\x18\x01 \x03(\tR\x05names\x12R\n\x06struct\x18\x02 \x01(\x0b\x32:.substrait.gen.proto.DerivationExpression.ExpressionStructR\x06struct\x1a\xc5\x01\n\x0e\x45xpressionList\x12=\n\x04type\x18\x01 \x01(\x0b\x32).substrait.gen.proto.DerivationExpressionR\x04type\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x12G\n\x0bnullability\x18\x03 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\x83\x02\n\rExpressionMap\x12;\n\x03key\x18\x01 \x01(\x0b\x32).substrait.gen.proto.DerivationExpressionR\x03key\x12?\n\x05value\x18\x02 \x01(\x0b\x32).substrait.gen.proto.DerivationExpressionR\x05value\x12+\n\x11variation_pointer\x18\x03 \x01(\rR\x10variationPointer\x12G\n\x0bnullability\x18\x04 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\xb0\x01\n\x15\x45xpressionUserDefined\x12!\n\x0ctype_pointer\x18\x01 \x01(\rR\x0btypePointer\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x12G\n\x0bnullability\x18\x03 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\xea\x01\n\x06IfElse\x12L\n\x0cif_condition\x18\x01 \x01(\x0b\x32).substrait.gen.proto.DerivationExpressionR\x0bifCondition\x12\x46\n\tif_return\x18\x02 \x01(\x0b\x32).substrait.gen.proto.DerivationExpressionR\x08ifReturn\x12J\n\x0b\x65lse_return\x18\x03 \x01(\x0b\x32).substrait.gen.proto.DerivationExpressionR\nelseReturn\x1a\xeb\x01\n\x07UnaryOp\x12V\n\x07op_type\x18\x01 \x01(\x0e\x32=.substrait.gen.proto.DerivationExpression.UnaryOp.UnaryOpTypeR\x06opType\x12;\n\x03\x61rg\x18\x02 \x01(\x0b\x32).substrait.gen.proto.DerivationExpressionR\x03\x61rg\"K\n\x0bUnaryOpType\x12\x1d\n\x19UNARY_OP_TYPE_UNSPECIFIED\x10\x00\x12\x1d\n\x19UNARY_OP_TYPE_BOOLEAN_NOT\x10\x01\x1a\xd2\x04\n\x08\x42inaryOp\x12X\n\x07op_type\x18\x01 \x01(\x0e\x32?.substrait.gen.proto.DerivationExpression.BinaryOp.BinaryOpTypeR\x06opType\x12=\n\x04\x61rg1\x18\x02 \x01(\x0b\x32).substrait.gen.proto.DerivationExpressionR\x04\x61rg1\x12=\n\x04\x61rg2\x18\x03 \x01(\x0b\x32).substrait.gen.proto.DerivationExpressionR\x04\x61rg2\"\xed\x02\n\x0c\x42inaryOpType\x12\x1e\n\x1a\x42INARY_OP_TYPE_UNSPECIFIED\x10\x00\x12\x17\n\x13\x42INARY_OP_TYPE_PLUS\x10\x01\x12\x18\n\x14\x42INARY_OP_TYPE_MINUS\x10\x02\x12\x1b\n\x17\x42INARY_OP_TYPE_MULTIPLY\x10\x03\x12\x19\n\x15\x42INARY_OP_TYPE_DIVIDE\x10\x04\x12\x16\n\x12\x42INARY_OP_TYPE_MIN\x10\x05\x12\x16\n\x12\x42INARY_OP_TYPE_MAX\x10\x06\x12\x1f\n\x1b\x42INARY_OP_TYPE_GREATER_THAN\x10\x07\x12\x1c\n\x18\x42INARY_OP_TYPE_LESS_THAN\x10\x08\x12\x16\n\x12\x42INARY_OP_TYPE_AND\x10\t\x12\x15\n\x11\x42INARY_OP_TYPE_OR\x10\n\x12\x19\n\x15\x42INARY_OP_TYPE_EQUALS\x10\x0b\x12\x19\n\x15\x42INARY_OP_TYPE_COVERS\x10\x0c\x1a\xb8\x02\n\rReturnProgram\x12\x64\n\x0b\x61ssignments\x18\x01 \x03(\x0b\x32\x42.substrait.gen.proto.DerivationExpression.ReturnProgram.AssignmentR\x0b\x61ssignments\x12T\n\x10\x66inal_expression\x18\x02 \x01(\x0b\x32).substrait.gen.proto.DerivationExpressionR\x0f\x66inalExpression\x1ak\n\nAssignment\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12I\n\nexpression\x18\x02 \x01(\x0b\x32).substrait.gen.proto.DerivationExpressionR\nexpressionB\x06\n\x04kindB?\n\x1cio.substrait.gen.proto.protoP\x01\xaa\x02\x1cSubstrait.Gen.Proto.Protobufb\x06proto3') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'substrait.gen.proto.type_expressions_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\034io.substrait.gen.proto.protoP\001\252\002\034Substrait.Gen.Proto.Protobuf' - _globals['_DERIVATIONEXPRESSION'].fields_by_name['timestamp']._loaded_options = None - _globals['_DERIVATIONEXPRESSION'].fields_by_name['timestamp']._serialized_options = b'\030\001' - _globals['_DERIVATIONEXPRESSION'].fields_by_name['time']._loaded_options = None - _globals['_DERIVATIONEXPRESSION'].fields_by_name['time']._serialized_options = b'\030\001' - _globals['_DERIVATIONEXPRESSION'].fields_by_name['timestamp_tz']._loaded_options = None - _globals['_DERIVATIONEXPRESSION'].fields_by_name['timestamp_tz']._serialized_options = b'\030\001' - _globals['_DERIVATIONEXPRESSION'].fields_by_name['user_defined_pointer']._loaded_options = None - _globals['_DERIVATIONEXPRESSION'].fields_by_name['user_defined_pointer']._serialized_options = b'\030\001' - _globals['_DERIVATIONEXPRESSION']._serialized_start=100 - _globals['_DERIVATIONEXPRESSION']._serialized_end=7236 - _globals['_DERIVATIONEXPRESSION_EXPRESSIONFIXEDCHAR']._serialized_start=2854 - _globals['_DERIVATIONEXPRESSION_EXPRESSIONFIXEDCHAR']._serialized_end=3060 - _globals['_DERIVATIONEXPRESSION_EXPRESSIONVARCHAR']._serialized_start=3063 - _globals['_DERIVATIONEXPRESSION_EXPRESSIONVARCHAR']._serialized_end=3267 - _globals['_DERIVATIONEXPRESSION_EXPRESSIONFIXEDBINARY']._serialized_start=3270 - _globals['_DERIVATIONEXPRESSION_EXPRESSIONFIXEDBINARY']._serialized_end=3478 - _globals['_DERIVATIONEXPRESSION_EXPRESSIONDECIMAL']._serialized_start=3481 - _globals['_DERIVATIONEXPRESSION_EXPRESSIONDECIMAL']._serialized_end=3756 - _globals['_DERIVATIONEXPRESSION_EXPRESSIONPRECISIONTIME']._serialized_start=3759 - _globals['_DERIVATIONEXPRESSION_EXPRESSIONPRECISIONTIME']._serialized_end=3975 - _globals['_DERIVATIONEXPRESSION_EXPRESSIONPRECISIONTIMESTAMP']._serialized_start=3978 - _globals['_DERIVATIONEXPRESSION_EXPRESSIONPRECISIONTIMESTAMP']._serialized_end=4199 - _globals['_DERIVATIONEXPRESSION_EXPRESSIONINTERVALDAY']._serialized_start=4202 - _globals['_DERIVATIONEXPRESSION_EXPRESSIONINTERVALDAY']._serialized_end=4416 - _globals['_DERIVATIONEXPRESSION_EXPRESSIONINTERVALCOMPOUND']._serialized_start=4419 - _globals['_DERIVATIONEXPRESSION_EXPRESSIONINTERVALCOMPOUND']._serialized_end=4638 - _globals['_DERIVATIONEXPRESSION_EXPRESSIONPRECISIONTIMESTAMPTZ']._serialized_start=4641 - _globals['_DERIVATIONEXPRESSION_EXPRESSIONPRECISIONTIMESTAMPTZ']._serialized_end=4864 - _globals['_DERIVATIONEXPRESSION_EXPRESSIONSTRUCT']._serialized_start=4867 - _globals['_DERIVATIONEXPRESSION_EXPRESSIONSTRUCT']._serialized_end=5068 - _globals['_DERIVATIONEXPRESSION_EXPRESSIONNAMEDSTRUCT']._serialized_start=5071 - _globals['_DERIVATIONEXPRESSION_EXPRESSIONNAMEDSTRUCT']._serialized_end=5200 - _globals['_DERIVATIONEXPRESSION_EXPRESSIONLIST']._serialized_start=5203 - _globals['_DERIVATIONEXPRESSION_EXPRESSIONLIST']._serialized_end=5400 - _globals['_DERIVATIONEXPRESSION_EXPRESSIONMAP']._serialized_start=5403 - _globals['_DERIVATIONEXPRESSION_EXPRESSIONMAP']._serialized_end=5662 - _globals['_DERIVATIONEXPRESSION_EXPRESSIONUSERDEFINED']._serialized_start=5665 - _globals['_DERIVATIONEXPRESSION_EXPRESSIONUSERDEFINED']._serialized_end=5841 - _globals['_DERIVATIONEXPRESSION_IFELSE']._serialized_start=5844 - _globals['_DERIVATIONEXPRESSION_IFELSE']._serialized_end=6078 - _globals['_DERIVATIONEXPRESSION_UNARYOP']._serialized_start=6081 - _globals['_DERIVATIONEXPRESSION_UNARYOP']._serialized_end=6316 - _globals['_DERIVATIONEXPRESSION_UNARYOP_UNARYOPTYPE']._serialized_start=6241 - _globals['_DERIVATIONEXPRESSION_UNARYOP_UNARYOPTYPE']._serialized_end=6316 - _globals['_DERIVATIONEXPRESSION_BINARYOP']._serialized_start=6319 - _globals['_DERIVATIONEXPRESSION_BINARYOP']._serialized_end=6913 - _globals['_DERIVATIONEXPRESSION_BINARYOP_BINARYOPTYPE']._serialized_start=6548 - _globals['_DERIVATIONEXPRESSION_BINARYOP_BINARYOPTYPE']._serialized_end=6913 - _globals['_DERIVATIONEXPRESSION_RETURNPROGRAM']._serialized_start=6916 - _globals['_DERIVATIONEXPRESSION_RETURNPROGRAM']._serialized_end=7228 - _globals['_DERIVATIONEXPRESSION_RETURNPROGRAM_ASSIGNMENT']._serialized_start=7121 - _globals['_DERIVATIONEXPRESSION_RETURNPROGRAM_ASSIGNMENT']._serialized_end=7228 -# @@protoc_insertion_point(module_scope) diff --git a/src/substrait/gen/proto/type_expressions_pb2.pyi b/src/substrait/gen/proto/type_expressions_pb2.pyi deleted file mode 100644 index cb7af62..0000000 --- a/src/substrait/gen/proto/type_expressions_pb2.pyi +++ /dev/null @@ -1,630 +0,0 @@ -""" -@generated by mypy-protobuf. Do not edit manually! -isort:skip_file -SPDX-License-Identifier: Apache-2.0""" - -import builtins -import collections.abc -import google.protobuf.descriptor -import google.protobuf.internal.containers -import google.protobuf.internal.enum_type_wrapper -import google.protobuf.message -import substrait.gen.proto.type_pb2 -import sys -import typing - -if sys.version_info >= (3, 10): - import typing as typing_extensions -else: - import typing_extensions - -DESCRIPTOR: google.protobuf.descriptor.FileDescriptor - -@typing.final -class DerivationExpression(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing.final - class ExpressionFixedChar(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - LENGTH_FIELD_NUMBER: builtins.int - VARIATION_POINTER_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - variation_pointer: builtins.int - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType - @property - def length(self) -> Global___DerivationExpression: ... - def __init__( - self, - *, - length: Global___DerivationExpression | None = ..., - variation_pointer: builtins.int = ..., - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["length", b"length"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["length", b"length", "nullability", b"nullability", "variation_pointer", b"variation_pointer"]) -> None: ... - - @typing.final - class ExpressionVarChar(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - LENGTH_FIELD_NUMBER: builtins.int - VARIATION_POINTER_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - variation_pointer: builtins.int - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType - @property - def length(self) -> Global___DerivationExpression: ... - def __init__( - self, - *, - length: Global___DerivationExpression | None = ..., - variation_pointer: builtins.int = ..., - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["length", b"length"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["length", b"length", "nullability", b"nullability", "variation_pointer", b"variation_pointer"]) -> None: ... - - @typing.final - class ExpressionFixedBinary(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - LENGTH_FIELD_NUMBER: builtins.int - VARIATION_POINTER_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - variation_pointer: builtins.int - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType - @property - def length(self) -> Global___DerivationExpression: ... - def __init__( - self, - *, - length: Global___DerivationExpression | None = ..., - variation_pointer: builtins.int = ..., - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["length", b"length"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["length", b"length", "nullability", b"nullability", "variation_pointer", b"variation_pointer"]) -> None: ... - - @typing.final - class ExpressionDecimal(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - SCALE_FIELD_NUMBER: builtins.int - PRECISION_FIELD_NUMBER: builtins.int - VARIATION_POINTER_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - variation_pointer: builtins.int - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType - @property - def scale(self) -> Global___DerivationExpression: ... - @property - def precision(self) -> Global___DerivationExpression: ... - def __init__( - self, - *, - scale: Global___DerivationExpression | None = ..., - precision: Global___DerivationExpression | None = ..., - variation_pointer: builtins.int = ..., - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["precision", b"precision", "scale", b"scale"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "precision", b"precision", "scale", b"scale", "variation_pointer", b"variation_pointer"]) -> None: ... - - @typing.final - class ExpressionPrecisionTime(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - PRECISION_FIELD_NUMBER: builtins.int - VARIATION_POINTER_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - variation_pointer: builtins.int - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType - @property - def precision(self) -> Global___DerivationExpression: ... - def __init__( - self, - *, - precision: Global___DerivationExpression | None = ..., - variation_pointer: builtins.int = ..., - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["precision", b"precision"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "precision", b"precision", "variation_pointer", b"variation_pointer"]) -> None: ... - - @typing.final - class ExpressionPrecisionTimestamp(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - PRECISION_FIELD_NUMBER: builtins.int - VARIATION_POINTER_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - variation_pointer: builtins.int - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType - @property - def precision(self) -> Global___DerivationExpression: ... - def __init__( - self, - *, - precision: Global___DerivationExpression | None = ..., - variation_pointer: builtins.int = ..., - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["precision", b"precision"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "precision", b"precision", "variation_pointer", b"variation_pointer"]) -> None: ... - - @typing.final - class ExpressionIntervalDay(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - PRECISION_FIELD_NUMBER: builtins.int - VARIATION_POINTER_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - variation_pointer: builtins.int - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType - @property - def precision(self) -> Global___DerivationExpression: ... - def __init__( - self, - *, - precision: Global___DerivationExpression | None = ..., - variation_pointer: builtins.int = ..., - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["precision", b"precision"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "precision", b"precision", "variation_pointer", b"variation_pointer"]) -> None: ... - - @typing.final - class ExpressionIntervalCompound(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - PRECISION_FIELD_NUMBER: builtins.int - VARIATION_POINTER_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - variation_pointer: builtins.int - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType - @property - def precision(self) -> Global___DerivationExpression: ... - def __init__( - self, - *, - precision: Global___DerivationExpression | None = ..., - variation_pointer: builtins.int = ..., - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["precision", b"precision"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "precision", b"precision", "variation_pointer", b"variation_pointer"]) -> None: ... - - @typing.final - class ExpressionPrecisionTimestampTZ(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - PRECISION_FIELD_NUMBER: builtins.int - VARIATION_POINTER_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - variation_pointer: builtins.int - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType - @property - def precision(self) -> Global___DerivationExpression: ... - def __init__( - self, - *, - precision: Global___DerivationExpression | None = ..., - variation_pointer: builtins.int = ..., - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["precision", b"precision"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "precision", b"precision", "variation_pointer", b"variation_pointer"]) -> None: ... - - @typing.final - class ExpressionStruct(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TYPES_FIELD_NUMBER: builtins.int - VARIATION_POINTER_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - variation_pointer: builtins.int - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType - @property - def types(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___DerivationExpression]: ... - def __init__( - self, - *, - types: collections.abc.Iterable[Global___DerivationExpression] | None = ..., - variation_pointer: builtins.int = ..., - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "types", b"types", "variation_pointer", b"variation_pointer"]) -> None: ... - - @typing.final - class ExpressionNamedStruct(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - NAMES_FIELD_NUMBER: builtins.int - STRUCT_FIELD_NUMBER: builtins.int - @property - def names(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... - @property - def struct(self) -> Global___DerivationExpression.ExpressionStruct: ... - def __init__( - self, - *, - names: collections.abc.Iterable[builtins.str] | None = ..., - struct: Global___DerivationExpression.ExpressionStruct | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["struct", b"struct"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["names", b"names", "struct", b"struct"]) -> None: ... - - @typing.final - class ExpressionList(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TYPE_FIELD_NUMBER: builtins.int - VARIATION_POINTER_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - variation_pointer: builtins.int - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType - @property - def type(self) -> Global___DerivationExpression: ... - def __init__( - self, - *, - type: Global___DerivationExpression | None = ..., - variation_pointer: builtins.int = ..., - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "type", b"type", "variation_pointer", b"variation_pointer"]) -> None: ... - - @typing.final - class ExpressionMap(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - KEY_FIELD_NUMBER: builtins.int - VALUE_FIELD_NUMBER: builtins.int - VARIATION_POINTER_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - variation_pointer: builtins.int - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType - @property - def key(self) -> Global___DerivationExpression: ... - @property - def value(self) -> Global___DerivationExpression: ... - def __init__( - self, - *, - key: Global___DerivationExpression | None = ..., - value: Global___DerivationExpression | None = ..., - variation_pointer: builtins.int = ..., - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["key", b"key", "nullability", b"nullability", "value", b"value", "variation_pointer", b"variation_pointer"]) -> None: ... - - @typing.final - class ExpressionUserDefined(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TYPE_POINTER_FIELD_NUMBER: builtins.int - VARIATION_POINTER_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - type_pointer: builtins.int - variation_pointer: builtins.int - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType - def __init__( - self, - *, - type_pointer: builtins.int = ..., - variation_pointer: builtins.int = ..., - nullability: substrait.gen.proto.type_pb2.Type.Nullability.ValueType = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "type_pointer", b"type_pointer", "variation_pointer", b"variation_pointer"]) -> None: ... - - @typing.final - class IfElse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - IF_CONDITION_FIELD_NUMBER: builtins.int - IF_RETURN_FIELD_NUMBER: builtins.int - ELSE_RETURN_FIELD_NUMBER: builtins.int - @property - def if_condition(self) -> Global___DerivationExpression: ... - @property - def if_return(self) -> Global___DerivationExpression: ... - @property - def else_return(self) -> Global___DerivationExpression: ... - def __init__( - self, - *, - if_condition: Global___DerivationExpression | None = ..., - if_return: Global___DerivationExpression | None = ..., - else_return: Global___DerivationExpression | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["else_return", b"else_return", "if_condition", b"if_condition", "if_return", b"if_return"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["else_return", b"else_return", "if_condition", b"if_condition", "if_return", b"if_return"]) -> None: ... - - @typing.final - class UnaryOp(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _UnaryOpType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _UnaryOpTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[DerivationExpression.UnaryOp._UnaryOpType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - UNARY_OP_TYPE_UNSPECIFIED: DerivationExpression.UnaryOp._UnaryOpType.ValueType # 0 - UNARY_OP_TYPE_BOOLEAN_NOT: DerivationExpression.UnaryOp._UnaryOpType.ValueType # 1 - - class UnaryOpType(_UnaryOpType, metaclass=_UnaryOpTypeEnumTypeWrapper): ... - UNARY_OP_TYPE_UNSPECIFIED: DerivationExpression.UnaryOp.UnaryOpType.ValueType # 0 - UNARY_OP_TYPE_BOOLEAN_NOT: DerivationExpression.UnaryOp.UnaryOpType.ValueType # 1 - - OP_TYPE_FIELD_NUMBER: builtins.int - ARG_FIELD_NUMBER: builtins.int - op_type: Global___DerivationExpression.UnaryOp.UnaryOpType.ValueType - @property - def arg(self) -> Global___DerivationExpression: ... - def __init__( - self, - *, - op_type: Global___DerivationExpression.UnaryOp.UnaryOpType.ValueType = ..., - arg: Global___DerivationExpression | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["arg", b"arg"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["arg", b"arg", "op_type", b"op_type"]) -> None: ... - - @typing.final - class BinaryOp(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _BinaryOpType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _BinaryOpTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[DerivationExpression.BinaryOp._BinaryOpType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - BINARY_OP_TYPE_UNSPECIFIED: DerivationExpression.BinaryOp._BinaryOpType.ValueType # 0 - BINARY_OP_TYPE_PLUS: DerivationExpression.BinaryOp._BinaryOpType.ValueType # 1 - BINARY_OP_TYPE_MINUS: DerivationExpression.BinaryOp._BinaryOpType.ValueType # 2 - BINARY_OP_TYPE_MULTIPLY: DerivationExpression.BinaryOp._BinaryOpType.ValueType # 3 - BINARY_OP_TYPE_DIVIDE: DerivationExpression.BinaryOp._BinaryOpType.ValueType # 4 - BINARY_OP_TYPE_MIN: DerivationExpression.BinaryOp._BinaryOpType.ValueType # 5 - BINARY_OP_TYPE_MAX: DerivationExpression.BinaryOp._BinaryOpType.ValueType # 6 - BINARY_OP_TYPE_GREATER_THAN: DerivationExpression.BinaryOp._BinaryOpType.ValueType # 7 - BINARY_OP_TYPE_LESS_THAN: DerivationExpression.BinaryOp._BinaryOpType.ValueType # 8 - BINARY_OP_TYPE_AND: DerivationExpression.BinaryOp._BinaryOpType.ValueType # 9 - BINARY_OP_TYPE_OR: DerivationExpression.BinaryOp._BinaryOpType.ValueType # 10 - BINARY_OP_TYPE_EQUALS: DerivationExpression.BinaryOp._BinaryOpType.ValueType # 11 - BINARY_OP_TYPE_COVERS: DerivationExpression.BinaryOp._BinaryOpType.ValueType # 12 - - class BinaryOpType(_BinaryOpType, metaclass=_BinaryOpTypeEnumTypeWrapper): ... - BINARY_OP_TYPE_UNSPECIFIED: DerivationExpression.BinaryOp.BinaryOpType.ValueType # 0 - BINARY_OP_TYPE_PLUS: DerivationExpression.BinaryOp.BinaryOpType.ValueType # 1 - BINARY_OP_TYPE_MINUS: DerivationExpression.BinaryOp.BinaryOpType.ValueType # 2 - BINARY_OP_TYPE_MULTIPLY: DerivationExpression.BinaryOp.BinaryOpType.ValueType # 3 - BINARY_OP_TYPE_DIVIDE: DerivationExpression.BinaryOp.BinaryOpType.ValueType # 4 - BINARY_OP_TYPE_MIN: DerivationExpression.BinaryOp.BinaryOpType.ValueType # 5 - BINARY_OP_TYPE_MAX: DerivationExpression.BinaryOp.BinaryOpType.ValueType # 6 - BINARY_OP_TYPE_GREATER_THAN: DerivationExpression.BinaryOp.BinaryOpType.ValueType # 7 - BINARY_OP_TYPE_LESS_THAN: DerivationExpression.BinaryOp.BinaryOpType.ValueType # 8 - BINARY_OP_TYPE_AND: DerivationExpression.BinaryOp.BinaryOpType.ValueType # 9 - BINARY_OP_TYPE_OR: DerivationExpression.BinaryOp.BinaryOpType.ValueType # 10 - BINARY_OP_TYPE_EQUALS: DerivationExpression.BinaryOp.BinaryOpType.ValueType # 11 - BINARY_OP_TYPE_COVERS: DerivationExpression.BinaryOp.BinaryOpType.ValueType # 12 - - OP_TYPE_FIELD_NUMBER: builtins.int - ARG1_FIELD_NUMBER: builtins.int - ARG2_FIELD_NUMBER: builtins.int - op_type: Global___DerivationExpression.BinaryOp.BinaryOpType.ValueType - @property - def arg1(self) -> Global___DerivationExpression: ... - @property - def arg2(self) -> Global___DerivationExpression: ... - def __init__( - self, - *, - op_type: Global___DerivationExpression.BinaryOp.BinaryOpType.ValueType = ..., - arg1: Global___DerivationExpression | None = ..., - arg2: Global___DerivationExpression | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["arg1", b"arg1", "arg2", b"arg2"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["arg1", b"arg1", "arg2", b"arg2", "op_type", b"op_type"]) -> None: ... - - @typing.final - class ReturnProgram(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing.final - class Assignment(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - NAME_FIELD_NUMBER: builtins.int - EXPRESSION_FIELD_NUMBER: builtins.int - name: builtins.str - @property - def expression(self) -> Global___DerivationExpression: ... - def __init__( - self, - *, - name: builtins.str = ..., - expression: Global___DerivationExpression | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["expression", b"expression"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["expression", b"expression", "name", b"name"]) -> None: ... - - ASSIGNMENTS_FIELD_NUMBER: builtins.int - FINAL_EXPRESSION_FIELD_NUMBER: builtins.int - @property - def assignments(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___DerivationExpression.ReturnProgram.Assignment]: ... - @property - def final_expression(self) -> Global___DerivationExpression: ... - def __init__( - self, - *, - assignments: collections.abc.Iterable[Global___DerivationExpression.ReturnProgram.Assignment] | None = ..., - final_expression: Global___DerivationExpression | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["final_expression", b"final_expression"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["assignments", b"assignments", "final_expression", b"final_expression"]) -> None: ... - - BOOL_FIELD_NUMBER: builtins.int - I8_FIELD_NUMBER: builtins.int - I16_FIELD_NUMBER: builtins.int - I32_FIELD_NUMBER: builtins.int - I64_FIELD_NUMBER: builtins.int - FP32_FIELD_NUMBER: builtins.int - FP64_FIELD_NUMBER: builtins.int - STRING_FIELD_NUMBER: builtins.int - BINARY_FIELD_NUMBER: builtins.int - TIMESTAMP_FIELD_NUMBER: builtins.int - DATE_FIELD_NUMBER: builtins.int - TIME_FIELD_NUMBER: builtins.int - INTERVAL_YEAR_FIELD_NUMBER: builtins.int - TIMESTAMP_TZ_FIELD_NUMBER: builtins.int - UUID_FIELD_NUMBER: builtins.int - INTERVAL_DAY_FIELD_NUMBER: builtins.int - INTERVAL_COMPOUND_FIELD_NUMBER: builtins.int - FIXED_CHAR_FIELD_NUMBER: builtins.int - VARCHAR_FIELD_NUMBER: builtins.int - FIXED_BINARY_FIELD_NUMBER: builtins.int - DECIMAL_FIELD_NUMBER: builtins.int - PRECISION_TIME_FIELD_NUMBER: builtins.int - PRECISION_TIMESTAMP_FIELD_NUMBER: builtins.int - PRECISION_TIMESTAMP_TZ_FIELD_NUMBER: builtins.int - STRUCT_FIELD_NUMBER: builtins.int - LIST_FIELD_NUMBER: builtins.int - MAP_FIELD_NUMBER: builtins.int - USER_DEFINED_FIELD_NUMBER: builtins.int - USER_DEFINED_POINTER_FIELD_NUMBER: builtins.int - TYPE_PARAMETER_NAME_FIELD_NUMBER: builtins.int - INTEGER_PARAMETER_NAME_FIELD_NUMBER: builtins.int - INTEGER_LITERAL_FIELD_NUMBER: builtins.int - UNARY_OP_FIELD_NUMBER: builtins.int - BINARY_OP_FIELD_NUMBER: builtins.int - IF_ELSE_FIELD_NUMBER: builtins.int - RETURN_PROGRAM_FIELD_NUMBER: builtins.int - user_defined_pointer: builtins.int - """Deprecated in favor of user_defined, which allows nullability and - variations to be specified. If user_defined_pointer is encountered, - treat it as being non-nullable and having the default variation. - """ - type_parameter_name: builtins.str - integer_parameter_name: builtins.str - integer_literal: builtins.int - @property - def bool(self) -> substrait.gen.proto.type_pb2.Type.Boolean: ... - @property - def i8(self) -> substrait.gen.proto.type_pb2.Type.I8: ... - @property - def i16(self) -> substrait.gen.proto.type_pb2.Type.I16: ... - @property - def i32(self) -> substrait.gen.proto.type_pb2.Type.I32: ... - @property - def i64(self) -> substrait.gen.proto.type_pb2.Type.I64: ... - @property - def fp32(self) -> substrait.gen.proto.type_pb2.Type.FP32: ... - @property - def fp64(self) -> substrait.gen.proto.type_pb2.Type.FP64: ... - @property - def string(self) -> substrait.gen.proto.type_pb2.Type.String: ... - @property - def binary(self) -> substrait.gen.proto.type_pb2.Type.Binary: ... - @property - def timestamp(self) -> substrait.gen.proto.type_pb2.Type.Timestamp: - """Deprecated in favor of `ExpressionPrecisionTimestamp precision_timestamp`""" - - @property - def date(self) -> substrait.gen.proto.type_pb2.Type.Date: ... - @property - def time(self) -> substrait.gen.proto.type_pb2.Type.Time: - """Deprecated in favor of `ExpressionPrecisionTime precision_time`""" - - @property - def interval_year(self) -> substrait.gen.proto.type_pb2.Type.IntervalYear: ... - @property - def timestamp_tz(self) -> substrait.gen.proto.type_pb2.Type.TimestampTZ: - """Deprecated in favor of `ExpressionPrecisionTimestampTZ precision_timestamp_tz`""" - - @property - def uuid(self) -> substrait.gen.proto.type_pb2.Type.UUID: ... - @property - def interval_day(self) -> Global___DerivationExpression.ExpressionIntervalDay: ... - @property - def interval_compound(self) -> Global___DerivationExpression.ExpressionIntervalCompound: ... - @property - def fixed_char(self) -> Global___DerivationExpression.ExpressionFixedChar: ... - @property - def varchar(self) -> Global___DerivationExpression.ExpressionVarChar: ... - @property - def fixed_binary(self) -> Global___DerivationExpression.ExpressionFixedBinary: ... - @property - def decimal(self) -> Global___DerivationExpression.ExpressionDecimal: ... - @property - def precision_time(self) -> Global___DerivationExpression.ExpressionPrecisionTime: ... - @property - def precision_timestamp(self) -> Global___DerivationExpression.ExpressionPrecisionTimestamp: ... - @property - def precision_timestamp_tz(self) -> Global___DerivationExpression.ExpressionPrecisionTimestampTZ: ... - @property - def struct(self) -> Global___DerivationExpression.ExpressionStruct: ... - @property - def list(self) -> Global___DerivationExpression.ExpressionList: ... - @property - def map(self) -> Global___DerivationExpression.ExpressionMap: ... - @property - def user_defined(self) -> Global___DerivationExpression.ExpressionUserDefined: ... - @property - def unary_op(self) -> Global___DerivationExpression.UnaryOp: ... - @property - def binary_op(self) -> Global___DerivationExpression.BinaryOp: ... - @property - def if_else(self) -> Global___DerivationExpression.IfElse: ... - @property - def return_program(self) -> Global___DerivationExpression.ReturnProgram: ... - def __init__( - self, - *, - bool: substrait.gen.proto.type_pb2.Type.Boolean | None = ..., - i8: substrait.gen.proto.type_pb2.Type.I8 | None = ..., - i16: substrait.gen.proto.type_pb2.Type.I16 | None = ..., - i32: substrait.gen.proto.type_pb2.Type.I32 | None = ..., - i64: substrait.gen.proto.type_pb2.Type.I64 | None = ..., - fp32: substrait.gen.proto.type_pb2.Type.FP32 | None = ..., - fp64: substrait.gen.proto.type_pb2.Type.FP64 | None = ..., - string: substrait.gen.proto.type_pb2.Type.String | None = ..., - binary: substrait.gen.proto.type_pb2.Type.Binary | None = ..., - timestamp: substrait.gen.proto.type_pb2.Type.Timestamp | None = ..., - date: substrait.gen.proto.type_pb2.Type.Date | None = ..., - time: substrait.gen.proto.type_pb2.Type.Time | None = ..., - interval_year: substrait.gen.proto.type_pb2.Type.IntervalYear | None = ..., - timestamp_tz: substrait.gen.proto.type_pb2.Type.TimestampTZ | None = ..., - uuid: substrait.gen.proto.type_pb2.Type.UUID | None = ..., - interval_day: Global___DerivationExpression.ExpressionIntervalDay | None = ..., - interval_compound: Global___DerivationExpression.ExpressionIntervalCompound | None = ..., - fixed_char: Global___DerivationExpression.ExpressionFixedChar | None = ..., - varchar: Global___DerivationExpression.ExpressionVarChar | None = ..., - fixed_binary: Global___DerivationExpression.ExpressionFixedBinary | None = ..., - decimal: Global___DerivationExpression.ExpressionDecimal | None = ..., - precision_time: Global___DerivationExpression.ExpressionPrecisionTime | None = ..., - precision_timestamp: Global___DerivationExpression.ExpressionPrecisionTimestamp | None = ..., - precision_timestamp_tz: Global___DerivationExpression.ExpressionPrecisionTimestampTZ | None = ..., - struct: Global___DerivationExpression.ExpressionStruct | None = ..., - list: Global___DerivationExpression.ExpressionList | None = ..., - map: Global___DerivationExpression.ExpressionMap | None = ..., - user_defined: Global___DerivationExpression.ExpressionUserDefined | None = ..., - user_defined_pointer: builtins.int = ..., - type_parameter_name: builtins.str = ..., - integer_parameter_name: builtins.str = ..., - integer_literal: builtins.int = ..., - unary_op: Global___DerivationExpression.UnaryOp | None = ..., - binary_op: Global___DerivationExpression.BinaryOp | None = ..., - if_else: Global___DerivationExpression.IfElse | None = ..., - return_program: Global___DerivationExpression.ReturnProgram | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["binary", b"binary", "binary_op", b"binary_op", "bool", b"bool", "date", b"date", "decimal", b"decimal", "fixed_binary", b"fixed_binary", "fixed_char", b"fixed_char", "fp32", b"fp32", "fp64", b"fp64", "i16", b"i16", "i32", b"i32", "i64", b"i64", "i8", b"i8", "if_else", b"if_else", "integer_literal", b"integer_literal", "integer_parameter_name", b"integer_parameter_name", "interval_compound", b"interval_compound", "interval_day", b"interval_day", "interval_year", b"interval_year", "kind", b"kind", "list", b"list", "map", b"map", "precision_time", b"precision_time", "precision_timestamp", b"precision_timestamp", "precision_timestamp_tz", b"precision_timestamp_tz", "return_program", b"return_program", "string", b"string", "struct", b"struct", "time", b"time", "timestamp", b"timestamp", "timestamp_tz", b"timestamp_tz", "type_parameter_name", b"type_parameter_name", "unary_op", b"unary_op", "user_defined", b"user_defined", "user_defined_pointer", b"user_defined_pointer", "uuid", b"uuid", "varchar", b"varchar"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["binary", b"binary", "binary_op", b"binary_op", "bool", b"bool", "date", b"date", "decimal", b"decimal", "fixed_binary", b"fixed_binary", "fixed_char", b"fixed_char", "fp32", b"fp32", "fp64", b"fp64", "i16", b"i16", "i32", b"i32", "i64", b"i64", "i8", b"i8", "if_else", b"if_else", "integer_literal", b"integer_literal", "integer_parameter_name", b"integer_parameter_name", "interval_compound", b"interval_compound", "interval_day", b"interval_day", "interval_year", b"interval_year", "kind", b"kind", "list", b"list", "map", b"map", "precision_time", b"precision_time", "precision_timestamp", b"precision_timestamp", "precision_timestamp_tz", b"precision_timestamp_tz", "return_program", b"return_program", "string", b"string", "struct", b"struct", "time", b"time", "timestamp", b"timestamp", "timestamp_tz", b"timestamp_tz", "type_parameter_name", b"type_parameter_name", "unary_op", b"unary_op", "user_defined", b"user_defined", "user_defined_pointer", b"user_defined_pointer", "uuid", b"uuid", "varchar", b"varchar"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["kind", b"kind"]) -> typing.Literal["bool", "i8", "i16", "i32", "i64", "fp32", "fp64", "string", "binary", "timestamp", "date", "time", "interval_year", "timestamp_tz", "uuid", "interval_day", "interval_compound", "fixed_char", "varchar", "fixed_binary", "decimal", "precision_time", "precision_timestamp", "precision_timestamp_tz", "struct", "list", "map", "user_defined", "user_defined_pointer", "type_parameter_name", "integer_parameter_name", "integer_literal", "unary_op", "binary_op", "if_else", "return_program"] | None: ... - -Global___DerivationExpression: typing_extensions.TypeAlias = DerivationExpression diff --git a/src/substrait/gen/proto/type_pb2.py b/src/substrait/gen/proto/type_pb2.py deleted file mode 100644 index 2d6d6b1..0000000 --- a/src/substrait/gen/proto/type_pb2.py +++ /dev/null @@ -1,112 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE -# source: substrait/gen/proto/type.proto -# Protobuf Python Version: 5.29.5 -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import runtime_version as _runtime_version -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 5, - 29, - 5, - '', - 'substrait/gen/proto/type.proto' -) -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1esubstrait/gen/proto/type.proto\x12\x13substrait.gen.proto\x1a\x1bgoogle/protobuf/empty.proto\"\xc3\x39\n\x04Type\x12\x37\n\x04\x62ool\x18\x01 \x01(\x0b\x32!.substrait.gen.proto.Type.BooleanH\x00R\x04\x62ool\x12.\n\x02i8\x18\x02 \x01(\x0b\x32\x1c.substrait.gen.proto.Type.I8H\x00R\x02i8\x12\x31\n\x03i16\x18\x03 \x01(\x0b\x32\x1d.substrait.gen.proto.Type.I16H\x00R\x03i16\x12\x31\n\x03i32\x18\x05 \x01(\x0b\x32\x1d.substrait.gen.proto.Type.I32H\x00R\x03i32\x12\x31\n\x03i64\x18\x07 \x01(\x0b\x32\x1d.substrait.gen.proto.Type.I64H\x00R\x03i64\x12\x34\n\x04\x66p32\x18\n \x01(\x0b\x32\x1e.substrait.gen.proto.Type.FP32H\x00R\x04\x66p32\x12\x34\n\x04\x66p64\x18\x0b \x01(\x0b\x32\x1e.substrait.gen.proto.Type.FP64H\x00R\x04\x66p64\x12:\n\x06string\x18\x0c \x01(\x0b\x32 .substrait.gen.proto.Type.StringH\x00R\x06string\x12:\n\x06\x62inary\x18\r \x01(\x0b\x32 .substrait.gen.proto.Type.BinaryH\x00R\x06\x62inary\x12G\n\ttimestamp\x18\x0e \x01(\x0b\x32#.substrait.gen.proto.Type.TimestampB\x02\x18\x01H\x00R\ttimestamp\x12\x34\n\x04\x64\x61te\x18\x10 \x01(\x0b\x32\x1e.substrait.gen.proto.Type.DateH\x00R\x04\x64\x61te\x12\x34\n\x04time\x18\x11 \x01(\x0b\x32\x1e.substrait.gen.proto.Type.TimeH\x00R\x04time\x12M\n\rinterval_year\x18\x13 \x01(\x0b\x32&.substrait.gen.proto.Type.IntervalYearH\x00R\x0cintervalYear\x12J\n\x0cinterval_day\x18\x14 \x01(\x0b\x32%.substrait.gen.proto.Type.IntervalDayH\x00R\x0bintervalDay\x12Y\n\x11interval_compound\x18# \x01(\x0b\x32*.substrait.gen.proto.Type.IntervalCompoundH\x00R\x10intervalCompound\x12N\n\x0ctimestamp_tz\x18\x1d \x01(\x0b\x32%.substrait.gen.proto.Type.TimestampTZB\x02\x18\x01H\x00R\x0btimestampTz\x12\x34\n\x04uuid\x18 \x01(\x0b\x32\x1e.substrait.gen.proto.Type.UUIDH\x00R\x04uuid\x12\x44\n\nfixed_char\x18\x15 \x01(\x0b\x32#.substrait.gen.proto.Type.FixedCharH\x00R\tfixedChar\x12=\n\x07varchar\x18\x16 \x01(\x0b\x32!.substrait.gen.proto.Type.VarCharH\x00R\x07varchar\x12J\n\x0c\x66ixed_binary\x18\x17 \x01(\x0b\x32%.substrait.gen.proto.Type.FixedBinaryH\x00R\x0b\x66ixedBinary\x12=\n\x07\x64\x65\x63imal\x18\x18 \x01(\x0b\x32!.substrait.gen.proto.Type.DecimalH\x00R\x07\x64\x65\x63imal\x12P\n\x0eprecision_time\x18$ \x01(\x0b\x32\'.substrait.gen.proto.Type.PrecisionTimeH\x00R\rprecisionTime\x12_\n\x13precision_timestamp\x18! \x01(\x0b\x32,.substrait.gen.proto.Type.PrecisionTimestampH\x00R\x12precisionTimestamp\x12\x66\n\x16precision_timestamp_tz\x18\" \x01(\x0b\x32..substrait.gen.proto.Type.PrecisionTimestampTZH\x00R\x14precisionTimestampTz\x12:\n\x06struct\x18\x19 \x01(\x0b\x32 .substrait.gen.proto.Type.StructH\x00R\x06struct\x12\x34\n\x04list\x18\x1b \x01(\x0b\x32\x1e.substrait.gen.proto.Type.ListH\x00R\x04list\x12\x31\n\x03map\x18\x1c \x01(\x0b\x32\x1d.substrait.gen.proto.Type.MapH\x00R\x03map\x12\x34\n\x04\x66unc\x18& \x01(\x0b\x32\x1e.substrait.gen.proto.Type.FuncH\x00R\x04\x66unc\x12J\n\x0cuser_defined\x18\x1e \x01(\x0b\x32%.substrait.gen.proto.Type.UserDefinedH\x00R\x0buserDefined\x12\x43\n\x1buser_defined_type_reference\x18\x1f \x01(\rB\x02\x18\x01H\x00R\x18userDefinedTypeReference\x12\x44\n\x05\x61lias\x18% \x01(\x0b\x32,.substrait.gen.proto.Type.TypeAliasReferenceH\x00R\x05\x61lias\x1a\x8c\x01\n\x07\x42oolean\x12\x38\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x12G\n\x0bnullability\x18\x02 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\x87\x01\n\x02I8\x12\x38\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x12G\n\x0bnullability\x18\x02 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\x88\x01\n\x03I16\x12\x38\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x12G\n\x0bnullability\x18\x02 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\x88\x01\n\x03I32\x12\x38\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x12G\n\x0bnullability\x18\x02 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\x88\x01\n\x03I64\x12\x38\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x12G\n\x0bnullability\x18\x02 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\x89\x01\n\x04\x46P32\x12\x38\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x12G\n\x0bnullability\x18\x02 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\x89\x01\n\x04\x46P64\x12\x38\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x12G\n\x0bnullability\x18\x02 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\x8b\x01\n\x06String\x12\x38\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x12G\n\x0bnullability\x18\x02 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\x8b\x01\n\x06\x42inary\x12\x38\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x12G\n\x0bnullability\x18\x02 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\x8e\x01\n\tTimestamp\x12\x38\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x12G\n\x0bnullability\x18\x02 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\x89\x01\n\x04\x44\x61te\x12\x38\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x12G\n\x0bnullability\x18\x02 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\x89\x01\n\x04Time\x12\x38\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x12G\n\x0bnullability\x18\x02 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\x90\x01\n\x0bTimestampTZ\x12\x38\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x12G\n\x0bnullability\x18\x02 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\x91\x01\n\x0cIntervalYear\x12\x38\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x12G\n\x0bnullability\x18\x02 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\xc1\x01\n\x0bIntervalDay\x12\x38\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x12G\n\x0bnullability\x18\x02 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x12!\n\tprecision\x18\x03 \x01(\x05H\x00R\tprecision\x88\x01\x01\x42\x0c\n\n_precision\x1a\xb3\x01\n\x10IntervalCompound\x12\x38\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x12G\n\x0bnullability\x18\x02 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x12\x1c\n\tprecision\x18\x03 \x01(\x05R\tprecision\x1a\x89\x01\n\x04UUID\x12\x38\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x12G\n\x0bnullability\x18\x02 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\xa6\x01\n\tFixedChar\x12\x16\n\x06length\x18\x01 \x01(\x05R\x06length\x12\x38\n\x18type_variation_reference\x18\x02 \x01(\rR\x16typeVariationReference\x12G\n\x0bnullability\x18\x03 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\xa4\x01\n\x07VarChar\x12\x16\n\x06length\x18\x01 \x01(\x05R\x06length\x12\x38\n\x18type_variation_reference\x18\x02 \x01(\rR\x16typeVariationReference\x12G\n\x0bnullability\x18\x03 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\xa8\x01\n\x0b\x46ixedBinary\x12\x16\n\x06length\x18\x01 \x01(\x05R\x06length\x12\x38\n\x18type_variation_reference\x18\x02 \x01(\rR\x16typeVariationReference\x12G\n\x0bnullability\x18\x03 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\xc0\x01\n\x07\x44\x65\x63imal\x12\x14\n\x05scale\x18\x01 \x01(\x05R\x05scale\x12\x1c\n\tprecision\x18\x02 \x01(\x05R\tprecision\x12\x38\n\x18type_variation_reference\x18\x03 \x01(\rR\x16typeVariationReference\x12G\n\x0bnullability\x18\x04 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\xb0\x01\n\rPrecisionTime\x12\x1c\n\tprecision\x18\x01 \x01(\x05R\tprecision\x12\x38\n\x18type_variation_reference\x18\x02 \x01(\rR\x16typeVariationReference\x12G\n\x0bnullability\x18\x03 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\xb5\x01\n\x12PrecisionTimestamp\x12\x1c\n\tprecision\x18\x01 \x01(\x05R\tprecision\x12\x38\n\x18type_variation_reference\x18\x02 \x01(\rR\x16typeVariationReference\x12G\n\x0bnullability\x18\x03 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\xb7\x01\n\x14PrecisionTimestampTZ\x12\x1c\n\tprecision\x18\x01 \x01(\x05R\tprecision\x12\x38\n\x18type_variation_reference\x18\x02 \x01(\rR\x16typeVariationReference\x12G\n\x0bnullability\x18\x03 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\xbc\x01\n\x06Struct\x12/\n\x05types\x18\x01 \x03(\x0b\x32\x19.substrait.gen.proto.TypeR\x05types\x12\x38\n\x18type_variation_reference\x18\x02 \x01(\rR\x16typeVariationReference\x12G\n\x0bnullability\x18\x03 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\xb8\x01\n\x04List\x12-\n\x04type\x18\x01 \x01(\x0b\x32\x19.substrait.gen.proto.TypeR\x04type\x12\x38\n\x18type_variation_reference\x18\x02 \x01(\rR\x16typeVariationReference\x12G\n\x0bnullability\x18\x03 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\xe6\x01\n\x03Map\x12+\n\x03key\x18\x01 \x01(\x0b\x32\x19.substrait.gen.proto.TypeR\x03key\x12/\n\x05value\x18\x02 \x01(\x0b\x32\x19.substrait.gen.proto.TypeR\x05value\x12\x38\n\x18type_variation_reference\x18\x03 \x01(\rR\x16typeVariationReference\x12G\n\x0bnullability\x18\x04 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\xcf\x01\n\x04\x46unc\x12\x42\n\x0fparameter_types\x18\x01 \x03(\x0b\x32\x19.substrait.gen.proto.TypeR\x0eparameterTypes\x12:\n\x0breturn_type\x18\x02 \x01(\x0b\x32\x19.substrait.gen.proto.TypeR\nreturnType\x12G\n\x0bnullability\x18\x03 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x1a\x85\x02\n\x0bUserDefined\x12%\n\x0etype_reference\x18\x01 \x01(\rR\rtypeReference\x12\x38\n\x18type_variation_reference\x18\x02 \x01(\rR\x16typeVariationReference\x12G\n\x0bnullability\x18\x03 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\x12L\n\x0ftype_parameters\x18\x04 \x03(\x0b\x32#.substrait.gen.proto.Type.ParameterR\x0etypeParameters\x1a\xe8\x01\n\tParameter\x12,\n\x04null\x18\x01 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00R\x04null\x12\x38\n\tdata_type\x18\x02 \x01(\x0b\x32\x19.substrait.gen.proto.TypeH\x00R\x08\x64\x61taType\x12\x1a\n\x07\x62oolean\x18\x03 \x01(\x08H\x00R\x07\x62oolean\x12\x1a\n\x07integer\x18\x04 \x01(\x03H\x00R\x07integer\x12\x14\n\x04\x65num\x18\x05 \x01(\tH\x00R\x04\x65num\x12\x18\n\x06string\x18\x06 \x01(\tH\x00R\x06stringB\x0b\n\tparameter\x1a\x8f\x01\n\x12TypeAliasReference\x12\x30\n\x14type_alias_reference\x18\x01 \x01(\rR\x12typeAliasReference\x12G\n\x0bnullability\x18\x02 \x01(\x0e\x32%.substrait.gen.proto.Type.NullabilityR\x0bnullability\"^\n\x0bNullability\x12\x1b\n\x17NULLABILITY_UNSPECIFIED\x10\x00\x12\x18\n\x14NULLABILITY_NULLABLE\x10\x01\x12\x18\n\x14NULLABILITY_REQUIRED\x10\x02\x42\x06\n\x04kind\"f\n\tTypeAlias\x12*\n\x11type_alias_anchor\x18\x01 \x01(\rR\x0ftypeAliasAnchor\x12-\n\x04type\x18\x02 \x01(\x0b\x32\x19.substrait.gen.proto.TypeR\x04type\"]\n\x0bNamedStruct\x12\x14\n\x05names\x18\x01 \x03(\tR\x05names\x12\x38\n\x06struct\x18\x02 \x01(\x0b\x32 .substrait.gen.proto.Type.StructR\x06structB?\n\x1cio.substrait.gen.proto.protoP\x01\xaa\x02\x1cSubstrait.Gen.Proto.Protobufb\x06proto3') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'substrait.gen.proto.type_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\034io.substrait.gen.proto.protoP\001\252\002\034Substrait.Gen.Proto.Protobuf' - _globals['_TYPE'].fields_by_name['timestamp']._loaded_options = None - _globals['_TYPE'].fields_by_name['timestamp']._serialized_options = b'\030\001' - _globals['_TYPE'].fields_by_name['timestamp_tz']._loaded_options = None - _globals['_TYPE'].fields_by_name['timestamp_tz']._serialized_options = b'\030\001' - _globals['_TYPE'].fields_by_name['user_defined_type_reference']._loaded_options = None - _globals['_TYPE'].fields_by_name['user_defined_type_reference']._serialized_options = b'\030\001' - _globals['_TYPE']._serialized_start=85 - _globals['_TYPE']._serialized_end=7448 - _globals['_TYPE_BOOLEAN']._serialized_start=2130 - _globals['_TYPE_BOOLEAN']._serialized_end=2270 - _globals['_TYPE_I8']._serialized_start=2273 - _globals['_TYPE_I8']._serialized_end=2408 - _globals['_TYPE_I16']._serialized_start=2411 - _globals['_TYPE_I16']._serialized_end=2547 - _globals['_TYPE_I32']._serialized_start=2550 - _globals['_TYPE_I32']._serialized_end=2686 - _globals['_TYPE_I64']._serialized_start=2689 - _globals['_TYPE_I64']._serialized_end=2825 - _globals['_TYPE_FP32']._serialized_start=2828 - _globals['_TYPE_FP32']._serialized_end=2965 - _globals['_TYPE_FP64']._serialized_start=2968 - _globals['_TYPE_FP64']._serialized_end=3105 - _globals['_TYPE_STRING']._serialized_start=3108 - _globals['_TYPE_STRING']._serialized_end=3247 - _globals['_TYPE_BINARY']._serialized_start=3250 - _globals['_TYPE_BINARY']._serialized_end=3389 - _globals['_TYPE_TIMESTAMP']._serialized_start=3392 - _globals['_TYPE_TIMESTAMP']._serialized_end=3534 - _globals['_TYPE_DATE']._serialized_start=3537 - _globals['_TYPE_DATE']._serialized_end=3674 - _globals['_TYPE_TIME']._serialized_start=3677 - _globals['_TYPE_TIME']._serialized_end=3814 - _globals['_TYPE_TIMESTAMPTZ']._serialized_start=3817 - _globals['_TYPE_TIMESTAMPTZ']._serialized_end=3961 - _globals['_TYPE_INTERVALYEAR']._serialized_start=3964 - _globals['_TYPE_INTERVALYEAR']._serialized_end=4109 - _globals['_TYPE_INTERVALDAY']._serialized_start=4112 - _globals['_TYPE_INTERVALDAY']._serialized_end=4305 - _globals['_TYPE_INTERVALCOMPOUND']._serialized_start=4308 - _globals['_TYPE_INTERVALCOMPOUND']._serialized_end=4487 - _globals['_TYPE_UUID']._serialized_start=4490 - _globals['_TYPE_UUID']._serialized_end=4627 - _globals['_TYPE_FIXEDCHAR']._serialized_start=4630 - _globals['_TYPE_FIXEDCHAR']._serialized_end=4796 - _globals['_TYPE_VARCHAR']._serialized_start=4799 - _globals['_TYPE_VARCHAR']._serialized_end=4963 - _globals['_TYPE_FIXEDBINARY']._serialized_start=4966 - _globals['_TYPE_FIXEDBINARY']._serialized_end=5134 - _globals['_TYPE_DECIMAL']._serialized_start=5137 - _globals['_TYPE_DECIMAL']._serialized_end=5329 - _globals['_TYPE_PRECISIONTIME']._serialized_start=5332 - _globals['_TYPE_PRECISIONTIME']._serialized_end=5508 - _globals['_TYPE_PRECISIONTIMESTAMP']._serialized_start=5511 - _globals['_TYPE_PRECISIONTIMESTAMP']._serialized_end=5692 - _globals['_TYPE_PRECISIONTIMESTAMPTZ']._serialized_start=5695 - _globals['_TYPE_PRECISIONTIMESTAMPTZ']._serialized_end=5878 - _globals['_TYPE_STRUCT']._serialized_start=5881 - _globals['_TYPE_STRUCT']._serialized_end=6069 - _globals['_TYPE_LIST']._serialized_start=6072 - _globals['_TYPE_LIST']._serialized_end=6256 - _globals['_TYPE_MAP']._serialized_start=6259 - _globals['_TYPE_MAP']._serialized_end=6489 - _globals['_TYPE_FUNC']._serialized_start=6492 - _globals['_TYPE_FUNC']._serialized_end=6699 - _globals['_TYPE_USERDEFINED']._serialized_start=6702 - _globals['_TYPE_USERDEFINED']._serialized_end=6963 - _globals['_TYPE_PARAMETER']._serialized_start=6966 - _globals['_TYPE_PARAMETER']._serialized_end=7198 - _globals['_TYPE_TYPEALIASREFERENCE']._serialized_start=7201 - _globals['_TYPE_TYPEALIASREFERENCE']._serialized_end=7344 - _globals['_TYPE_NULLABILITY']._serialized_start=7346 - _globals['_TYPE_NULLABILITY']._serialized_end=7440 - _globals['_TYPEALIAS']._serialized_start=7450 - _globals['_TYPEALIAS']._serialized_end=7552 - _globals['_NAMEDSTRUCT']._serialized_start=7554 - _globals['_NAMEDSTRUCT']._serialized_end=7647 -# @@protoc_insertion_point(module_scope) diff --git a/src/substrait/gen/proto/type_pb2.pyi b/src/substrait/gen/proto/type_pb2.pyi deleted file mode 100644 index 983d9dc..0000000 --- a/src/substrait/gen/proto/type_pb2.pyi +++ /dev/null @@ -1,879 +0,0 @@ -""" -@generated by mypy-protobuf. Do not edit manually! -isort:skip_file -SPDX-License-Identifier: Apache-2.0""" - -import builtins -import collections.abc -import google.protobuf.descriptor -import google.protobuf.empty_pb2 -import google.protobuf.internal.containers -import google.protobuf.internal.enum_type_wrapper -import google.protobuf.message -import sys -import typing - -if sys.version_info >= (3, 10): - import typing as typing_extensions -else: - import typing_extensions - -DESCRIPTOR: google.protobuf.descriptor.FileDescriptor - -@typing.final -class Type(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _Nullability: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _NullabilityEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Type._Nullability.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - NULLABILITY_UNSPECIFIED: Type._Nullability.ValueType # 0 - NULLABILITY_NULLABLE: Type._Nullability.ValueType # 1 - NULLABILITY_REQUIRED: Type._Nullability.ValueType # 2 - - class Nullability(_Nullability, metaclass=_NullabilityEnumTypeWrapper): ... - NULLABILITY_UNSPECIFIED: Type.Nullability.ValueType # 0 - NULLABILITY_NULLABLE: Type.Nullability.ValueType # 1 - NULLABILITY_REQUIRED: Type.Nullability.ValueType # 2 - - @typing.final - class Boolean(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TYPE_VARIATION_REFERENCE_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - type_variation_reference: builtins.int - nullability: Global___Type.Nullability.ValueType - def __init__( - self, - *, - type_variation_reference: builtins.int = ..., - nullability: Global___Type.Nullability.ValueType = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "type_variation_reference", b"type_variation_reference"]) -> None: ... - - @typing.final - class I8(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TYPE_VARIATION_REFERENCE_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - type_variation_reference: builtins.int - nullability: Global___Type.Nullability.ValueType - def __init__( - self, - *, - type_variation_reference: builtins.int = ..., - nullability: Global___Type.Nullability.ValueType = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "type_variation_reference", b"type_variation_reference"]) -> None: ... - - @typing.final - class I16(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TYPE_VARIATION_REFERENCE_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - type_variation_reference: builtins.int - nullability: Global___Type.Nullability.ValueType - def __init__( - self, - *, - type_variation_reference: builtins.int = ..., - nullability: Global___Type.Nullability.ValueType = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "type_variation_reference", b"type_variation_reference"]) -> None: ... - - @typing.final - class I32(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TYPE_VARIATION_REFERENCE_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - type_variation_reference: builtins.int - nullability: Global___Type.Nullability.ValueType - def __init__( - self, - *, - type_variation_reference: builtins.int = ..., - nullability: Global___Type.Nullability.ValueType = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "type_variation_reference", b"type_variation_reference"]) -> None: ... - - @typing.final - class I64(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TYPE_VARIATION_REFERENCE_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - type_variation_reference: builtins.int - nullability: Global___Type.Nullability.ValueType - def __init__( - self, - *, - type_variation_reference: builtins.int = ..., - nullability: Global___Type.Nullability.ValueType = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "type_variation_reference", b"type_variation_reference"]) -> None: ... - - @typing.final - class FP32(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TYPE_VARIATION_REFERENCE_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - type_variation_reference: builtins.int - nullability: Global___Type.Nullability.ValueType - def __init__( - self, - *, - type_variation_reference: builtins.int = ..., - nullability: Global___Type.Nullability.ValueType = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "type_variation_reference", b"type_variation_reference"]) -> None: ... - - @typing.final - class FP64(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TYPE_VARIATION_REFERENCE_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - type_variation_reference: builtins.int - nullability: Global___Type.Nullability.ValueType - def __init__( - self, - *, - type_variation_reference: builtins.int = ..., - nullability: Global___Type.Nullability.ValueType = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "type_variation_reference", b"type_variation_reference"]) -> None: ... - - @typing.final - class String(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TYPE_VARIATION_REFERENCE_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - type_variation_reference: builtins.int - nullability: Global___Type.Nullability.ValueType - def __init__( - self, - *, - type_variation_reference: builtins.int = ..., - nullability: Global___Type.Nullability.ValueType = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "type_variation_reference", b"type_variation_reference"]) -> None: ... - - @typing.final - class Binary(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TYPE_VARIATION_REFERENCE_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - type_variation_reference: builtins.int - nullability: Global___Type.Nullability.ValueType - def __init__( - self, - *, - type_variation_reference: builtins.int = ..., - nullability: Global___Type.Nullability.ValueType = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "type_variation_reference", b"type_variation_reference"]) -> None: ... - - @typing.final - class Timestamp(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TYPE_VARIATION_REFERENCE_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - type_variation_reference: builtins.int - nullability: Global___Type.Nullability.ValueType - def __init__( - self, - *, - type_variation_reference: builtins.int = ..., - nullability: Global___Type.Nullability.ValueType = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "type_variation_reference", b"type_variation_reference"]) -> None: ... - - @typing.final - class Date(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TYPE_VARIATION_REFERENCE_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - type_variation_reference: builtins.int - nullability: Global___Type.Nullability.ValueType - def __init__( - self, - *, - type_variation_reference: builtins.int = ..., - nullability: Global___Type.Nullability.ValueType = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "type_variation_reference", b"type_variation_reference"]) -> None: ... - - @typing.final - class Time(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TYPE_VARIATION_REFERENCE_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - type_variation_reference: builtins.int - nullability: Global___Type.Nullability.ValueType - def __init__( - self, - *, - type_variation_reference: builtins.int = ..., - nullability: Global___Type.Nullability.ValueType = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "type_variation_reference", b"type_variation_reference"]) -> None: ... - - @typing.final - class TimestampTZ(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TYPE_VARIATION_REFERENCE_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - type_variation_reference: builtins.int - nullability: Global___Type.Nullability.ValueType - def __init__( - self, - *, - type_variation_reference: builtins.int = ..., - nullability: Global___Type.Nullability.ValueType = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "type_variation_reference", b"type_variation_reference"]) -> None: ... - - @typing.final - class IntervalYear(google.protobuf.message.Message): - """An interval consisting of years and months""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TYPE_VARIATION_REFERENCE_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - type_variation_reference: builtins.int - nullability: Global___Type.Nullability.ValueType - def __init__( - self, - *, - type_variation_reference: builtins.int = ..., - nullability: Global___Type.Nullability.ValueType = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "type_variation_reference", b"type_variation_reference"]) -> None: ... - - @typing.final - class IntervalDay(google.protobuf.message.Message): - """An interval consisting of days, seconds, and microseconds""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TYPE_VARIATION_REFERENCE_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - PRECISION_FIELD_NUMBER: builtins.int - type_variation_reference: builtins.int - nullability: Global___Type.Nullability.ValueType - precision: builtins.int - """Sub-second precision, 0 means the value given is in seconds, 3 is milliseconds, 6 microseconds, 9 is nanoseconds, etc. - if unset, treat as 6. - """ - def __init__( - self, - *, - type_variation_reference: builtins.int = ..., - nullability: Global___Type.Nullability.ValueType = ..., - precision: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["_precision", b"_precision", "precision", b"precision"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["_precision", b"_precision", "nullability", b"nullability", "precision", b"precision", "type_variation_reference", b"type_variation_reference"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["_precision", b"_precision"]) -> typing.Literal["precision"] | None: ... - - @typing.final - class IntervalCompound(google.protobuf.message.Message): - """An interval consisting of the components of both IntervalMonth and IntervalDay""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TYPE_VARIATION_REFERENCE_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - PRECISION_FIELD_NUMBER: builtins.int - type_variation_reference: builtins.int - nullability: Global___Type.Nullability.ValueType - precision: builtins.int - """Sub-second precision, 0 means the value given is in seconds, 3 is milliseconds, 6 microseconds, 9 is nanoseconds, etc.""" - def __init__( - self, - *, - type_variation_reference: builtins.int = ..., - nullability: Global___Type.Nullability.ValueType = ..., - precision: builtins.int = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "precision", b"precision", "type_variation_reference", b"type_variation_reference"]) -> None: ... - - @typing.final - class UUID(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TYPE_VARIATION_REFERENCE_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - type_variation_reference: builtins.int - nullability: Global___Type.Nullability.ValueType - def __init__( - self, - *, - type_variation_reference: builtins.int = ..., - nullability: Global___Type.Nullability.ValueType = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "type_variation_reference", b"type_variation_reference"]) -> None: ... - - @typing.final - class FixedChar(google.protobuf.message.Message): - """Start compound types.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - LENGTH_FIELD_NUMBER: builtins.int - TYPE_VARIATION_REFERENCE_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - length: builtins.int - type_variation_reference: builtins.int - nullability: Global___Type.Nullability.ValueType - def __init__( - self, - *, - length: builtins.int = ..., - type_variation_reference: builtins.int = ..., - nullability: Global___Type.Nullability.ValueType = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["length", b"length", "nullability", b"nullability", "type_variation_reference", b"type_variation_reference"]) -> None: ... - - @typing.final - class VarChar(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - LENGTH_FIELD_NUMBER: builtins.int - TYPE_VARIATION_REFERENCE_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - length: builtins.int - type_variation_reference: builtins.int - nullability: Global___Type.Nullability.ValueType - def __init__( - self, - *, - length: builtins.int = ..., - type_variation_reference: builtins.int = ..., - nullability: Global___Type.Nullability.ValueType = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["length", b"length", "nullability", b"nullability", "type_variation_reference", b"type_variation_reference"]) -> None: ... - - @typing.final - class FixedBinary(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - LENGTH_FIELD_NUMBER: builtins.int - TYPE_VARIATION_REFERENCE_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - length: builtins.int - type_variation_reference: builtins.int - nullability: Global___Type.Nullability.ValueType - def __init__( - self, - *, - length: builtins.int = ..., - type_variation_reference: builtins.int = ..., - nullability: Global___Type.Nullability.ValueType = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["length", b"length", "nullability", b"nullability", "type_variation_reference", b"type_variation_reference"]) -> None: ... - - @typing.final - class Decimal(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - SCALE_FIELD_NUMBER: builtins.int - PRECISION_FIELD_NUMBER: builtins.int - TYPE_VARIATION_REFERENCE_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - scale: builtins.int - precision: builtins.int - type_variation_reference: builtins.int - nullability: Global___Type.Nullability.ValueType - def __init__( - self, - *, - scale: builtins.int = ..., - precision: builtins.int = ..., - type_variation_reference: builtins.int = ..., - nullability: Global___Type.Nullability.ValueType = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "precision", b"precision", "scale", b"scale", "type_variation_reference", b"type_variation_reference"]) -> None: ... - - @typing.final - class PrecisionTime(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - PRECISION_FIELD_NUMBER: builtins.int - TYPE_VARIATION_REFERENCE_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - precision: builtins.int - """Sub-second precision, 0 means the value given is in seconds, 3 is milliseconds, 6 microseconds, 9 is nanoseconds, 12 is picoseconds""" - type_variation_reference: builtins.int - nullability: Global___Type.Nullability.ValueType - def __init__( - self, - *, - precision: builtins.int = ..., - type_variation_reference: builtins.int = ..., - nullability: Global___Type.Nullability.ValueType = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "precision", b"precision", "type_variation_reference", b"type_variation_reference"]) -> None: ... - - @typing.final - class PrecisionTimestamp(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - PRECISION_FIELD_NUMBER: builtins.int - TYPE_VARIATION_REFERENCE_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - precision: builtins.int - """Sub-second precision, 0 means the value given is in seconds, 3 is milliseconds, 6 microseconds, 9 is nanoseconds, 12 is picoseconds""" - type_variation_reference: builtins.int - nullability: Global___Type.Nullability.ValueType - def __init__( - self, - *, - precision: builtins.int = ..., - type_variation_reference: builtins.int = ..., - nullability: Global___Type.Nullability.ValueType = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "precision", b"precision", "type_variation_reference", b"type_variation_reference"]) -> None: ... - - @typing.final - class PrecisionTimestampTZ(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - PRECISION_FIELD_NUMBER: builtins.int - TYPE_VARIATION_REFERENCE_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - precision: builtins.int - """Sub-second precision, 0 means the value given is in seconds, 3 is milliseconds, 6 microseconds, 9 is nanoseconds, 12 is picoseconds""" - type_variation_reference: builtins.int - nullability: Global___Type.Nullability.ValueType - def __init__( - self, - *, - precision: builtins.int = ..., - type_variation_reference: builtins.int = ..., - nullability: Global___Type.Nullability.ValueType = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "precision", b"precision", "type_variation_reference", b"type_variation_reference"]) -> None: ... - - @typing.final - class Struct(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TYPES_FIELD_NUMBER: builtins.int - TYPE_VARIATION_REFERENCE_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - type_variation_reference: builtins.int - nullability: Global___Type.Nullability.ValueType - @property - def types(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___Type]: ... - def __init__( - self, - *, - types: collections.abc.Iterable[Global___Type] | None = ..., - type_variation_reference: builtins.int = ..., - nullability: Global___Type.Nullability.ValueType = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "type_variation_reference", b"type_variation_reference", "types", b"types"]) -> None: ... - - @typing.final - class List(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TYPE_FIELD_NUMBER: builtins.int - TYPE_VARIATION_REFERENCE_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - type_variation_reference: builtins.int - nullability: Global___Type.Nullability.ValueType - @property - def type(self) -> Global___Type: ... - def __init__( - self, - *, - type: Global___Type | None = ..., - type_variation_reference: builtins.int = ..., - nullability: Global___Type.Nullability.ValueType = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "type", b"type", "type_variation_reference", b"type_variation_reference"]) -> None: ... - - @typing.final - class Map(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - KEY_FIELD_NUMBER: builtins.int - VALUE_FIELD_NUMBER: builtins.int - TYPE_VARIATION_REFERENCE_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - type_variation_reference: builtins.int - nullability: Global___Type.Nullability.ValueType - @property - def key(self) -> Global___Type: ... - @property - def value(self) -> Global___Type: ... - def __init__( - self, - *, - key: Global___Type | None = ..., - value: Global___Type | None = ..., - type_variation_reference: builtins.int = ..., - nullability: Global___Type.Nullability.ValueType = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["key", b"key", "nullability", b"nullability", "type_variation_reference", b"type_variation_reference", "value", b"value"]) -> None: ... - - @typing.final - class Func(google.protobuf.message.Message): - """A function type for higher-order functions. - Represents a function that takes parameters of specified types and - returns a value of a specified type. - """ - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - PARAMETER_TYPES_FIELD_NUMBER: builtins.int - RETURN_TYPE_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - nullability: Global___Type.Nullability.ValueType - """Nullability of the function value itself, not its return type. - A nullable function type (e.g., func? i32>) means the function - reference may be null. This is distinct from the return type's - nullability (e.g., func i32?> where the function always exists - but may return null). - """ - @property - def parameter_types(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___Type]: - """Types of parameters this function type accepts.""" - - @property - def return_type(self) -> Global___Type: - """Return type of the function.""" - - def __init__( - self, - *, - parameter_types: collections.abc.Iterable[Global___Type] | None = ..., - return_type: Global___Type | None = ..., - nullability: Global___Type.Nullability.ValueType = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["return_type", b"return_type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "parameter_types", b"parameter_types", "return_type", b"return_type"]) -> None: ... - - @typing.final - class UserDefined(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TYPE_REFERENCE_FIELD_NUMBER: builtins.int - TYPE_VARIATION_REFERENCE_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - TYPE_PARAMETERS_FIELD_NUMBER: builtins.int - type_reference: builtins.int - type_variation_reference: builtins.int - nullability: Global___Type.Nullability.ValueType - @property - def type_parameters(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___Type.Parameter]: ... - def __init__( - self, - *, - type_reference: builtins.int = ..., - type_variation_reference: builtins.int = ..., - nullability: Global___Type.Nullability.ValueType = ..., - type_parameters: collections.abc.Iterable[Global___Type.Parameter] | None = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "type_parameters", b"type_parameters", "type_reference", b"type_reference", "type_variation_reference", b"type_variation_reference"]) -> None: ... - - @typing.final - class Parameter(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - NULL_FIELD_NUMBER: builtins.int - DATA_TYPE_FIELD_NUMBER: builtins.int - BOOLEAN_FIELD_NUMBER: builtins.int - INTEGER_FIELD_NUMBER: builtins.int - ENUM_FIELD_NUMBER: builtins.int - STRING_FIELD_NUMBER: builtins.int - boolean: builtins.bool - """Value parameters, like the 10 in VARCHAR<10>.""" - integer: builtins.int - enum: builtins.str - string: builtins.str - @property - def null(self) -> google.protobuf.empty_pb2.Empty: - """Explicitly null/unspecified parameter, to select the default value (if - any). - """ - - @property - def data_type(self) -> Global___Type: - """Data type parameters, like the i32 in LIST.""" - - def __init__( - self, - *, - null: google.protobuf.empty_pb2.Empty | None = ..., - data_type: Global___Type | None = ..., - boolean: builtins.bool = ..., - integer: builtins.int = ..., - enum: builtins.str = ..., - string: builtins.str = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["boolean", b"boolean", "data_type", b"data_type", "enum", b"enum", "integer", b"integer", "null", b"null", "parameter", b"parameter", "string", b"string"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["boolean", b"boolean", "data_type", b"data_type", "enum", b"enum", "integer", b"integer", "null", b"null", "parameter", b"parameter", "string", b"string"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["parameter", b"parameter"]) -> typing.Literal["null", "data_type", "boolean", "integer", "enum", "string"] | None: ... - - @typing.final - class TypeAliasReference(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TYPE_ALIAS_REFERENCE_FIELD_NUMBER: builtins.int - NULLABILITY_FIELD_NUMBER: builtins.int - type_alias_reference: builtins.int - nullability: Global___Type.Nullability.ValueType - """Nullability of the referenced type alias. Must be specified.""" - def __init__( - self, - *, - type_alias_reference: builtins.int = ..., - nullability: Global___Type.Nullability.ValueType = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "type_alias_reference", b"type_alias_reference"]) -> None: ... - - BOOL_FIELD_NUMBER: builtins.int - I8_FIELD_NUMBER: builtins.int - I16_FIELD_NUMBER: builtins.int - I32_FIELD_NUMBER: builtins.int - I64_FIELD_NUMBER: builtins.int - FP32_FIELD_NUMBER: builtins.int - FP64_FIELD_NUMBER: builtins.int - STRING_FIELD_NUMBER: builtins.int - BINARY_FIELD_NUMBER: builtins.int - TIMESTAMP_FIELD_NUMBER: builtins.int - DATE_FIELD_NUMBER: builtins.int - TIME_FIELD_NUMBER: builtins.int - INTERVAL_YEAR_FIELD_NUMBER: builtins.int - INTERVAL_DAY_FIELD_NUMBER: builtins.int - INTERVAL_COMPOUND_FIELD_NUMBER: builtins.int - TIMESTAMP_TZ_FIELD_NUMBER: builtins.int - UUID_FIELD_NUMBER: builtins.int - FIXED_CHAR_FIELD_NUMBER: builtins.int - VARCHAR_FIELD_NUMBER: builtins.int - FIXED_BINARY_FIELD_NUMBER: builtins.int - DECIMAL_FIELD_NUMBER: builtins.int - PRECISION_TIME_FIELD_NUMBER: builtins.int - PRECISION_TIMESTAMP_FIELD_NUMBER: builtins.int - PRECISION_TIMESTAMP_TZ_FIELD_NUMBER: builtins.int - STRUCT_FIELD_NUMBER: builtins.int - LIST_FIELD_NUMBER: builtins.int - MAP_FIELD_NUMBER: builtins.int - FUNC_FIELD_NUMBER: builtins.int - USER_DEFINED_FIELD_NUMBER: builtins.int - USER_DEFINED_TYPE_REFERENCE_FIELD_NUMBER: builtins.int - ALIAS_FIELD_NUMBER: builtins.int - user_defined_type_reference: builtins.int - """Deprecated in favor of user_defined, which allows nullability and - variations to be specified. If user_defined_type_reference is - encountered, treat it as being non-nullable and having the default - variation. - """ - @property - def bool(self) -> Global___Type.Boolean: ... - @property - def i8(self) -> Global___Type.I8: ... - @property - def i16(self) -> Global___Type.I16: ... - @property - def i32(self) -> Global___Type.I32: ... - @property - def i64(self) -> Global___Type.I64: ... - @property - def fp32(self) -> Global___Type.FP32: ... - @property - def fp64(self) -> Global___Type.FP64: ... - @property - def string(self) -> Global___Type.String: ... - @property - def binary(self) -> Global___Type.Binary: ... - @property - def timestamp(self) -> Global___Type.Timestamp: - """Deprecated in favor of `PrecisionTimestamp precision_timestamp`""" - - @property - def date(self) -> Global___Type.Date: ... - @property - def time(self) -> Global___Type.Time: - """Deprecated in favor of `PrecisionTime precision_time`""" - - @property - def interval_year(self) -> Global___Type.IntervalYear: ... - @property - def interval_day(self) -> Global___Type.IntervalDay: ... - @property - def interval_compound(self) -> Global___Type.IntervalCompound: ... - @property - def timestamp_tz(self) -> Global___Type.TimestampTZ: - """Deprecated in favor of `PrecisionTimestampTZ precision_timestamp_tz`""" - - @property - def uuid(self) -> Global___Type.UUID: ... - @property - def fixed_char(self) -> Global___Type.FixedChar: ... - @property - def varchar(self) -> Global___Type.VarChar: ... - @property - def fixed_binary(self) -> Global___Type.FixedBinary: ... - @property - def decimal(self) -> Global___Type.Decimal: ... - @property - def precision_time(self) -> Global___Type.PrecisionTime: ... - @property - def precision_timestamp(self) -> Global___Type.PrecisionTimestamp: ... - @property - def precision_timestamp_tz(self) -> Global___Type.PrecisionTimestampTZ: - """value is since UNIX epoch in UTC""" - - @property - def struct(self) -> Global___Type.Struct: ... - @property - def list(self) -> Global___Type.List: ... - @property - def map(self) -> Global___Type.Map: ... - @property - def func(self) -> Global___Type.Func: ... - @property - def user_defined(self) -> Global___Type.UserDefined: ... - @property - def alias(self) -> Global___Type.TypeAliasReference: - """Reference an aliased type in `Plan.type_aliases`.""" - - def __init__( - self, - *, - bool: Global___Type.Boolean | None = ..., - i8: Global___Type.I8 | None = ..., - i16: Global___Type.I16 | None = ..., - i32: Global___Type.I32 | None = ..., - i64: Global___Type.I64 | None = ..., - fp32: Global___Type.FP32 | None = ..., - fp64: Global___Type.FP64 | None = ..., - string: Global___Type.String | None = ..., - binary: Global___Type.Binary | None = ..., - timestamp: Global___Type.Timestamp | None = ..., - date: Global___Type.Date | None = ..., - time: Global___Type.Time | None = ..., - interval_year: Global___Type.IntervalYear | None = ..., - interval_day: Global___Type.IntervalDay | None = ..., - interval_compound: Global___Type.IntervalCompound | None = ..., - timestamp_tz: Global___Type.TimestampTZ | None = ..., - uuid: Global___Type.UUID | None = ..., - fixed_char: Global___Type.FixedChar | None = ..., - varchar: Global___Type.VarChar | None = ..., - fixed_binary: Global___Type.FixedBinary | None = ..., - decimal: Global___Type.Decimal | None = ..., - precision_time: Global___Type.PrecisionTime | None = ..., - precision_timestamp: Global___Type.PrecisionTimestamp | None = ..., - precision_timestamp_tz: Global___Type.PrecisionTimestampTZ | None = ..., - struct: Global___Type.Struct | None = ..., - list: Global___Type.List | None = ..., - map: Global___Type.Map | None = ..., - func: Global___Type.Func | None = ..., - user_defined: Global___Type.UserDefined | None = ..., - user_defined_type_reference: builtins.int = ..., - alias: Global___Type.TypeAliasReference | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["alias", b"alias", "binary", b"binary", "bool", b"bool", "date", b"date", "decimal", b"decimal", "fixed_binary", b"fixed_binary", "fixed_char", b"fixed_char", "fp32", b"fp32", "fp64", b"fp64", "func", b"func", "i16", b"i16", "i32", b"i32", "i64", b"i64", "i8", b"i8", "interval_compound", b"interval_compound", "interval_day", b"interval_day", "interval_year", b"interval_year", "kind", b"kind", "list", b"list", "map", b"map", "precision_time", b"precision_time", "precision_timestamp", b"precision_timestamp", "precision_timestamp_tz", b"precision_timestamp_tz", "string", b"string", "struct", b"struct", "time", b"time", "timestamp", b"timestamp", "timestamp_tz", b"timestamp_tz", "user_defined", b"user_defined", "user_defined_type_reference", b"user_defined_type_reference", "uuid", b"uuid", "varchar", b"varchar"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["alias", b"alias", "binary", b"binary", "bool", b"bool", "date", b"date", "decimal", b"decimal", "fixed_binary", b"fixed_binary", "fixed_char", b"fixed_char", "fp32", b"fp32", "fp64", b"fp64", "func", b"func", "i16", b"i16", "i32", b"i32", "i64", b"i64", "i8", b"i8", "interval_compound", b"interval_compound", "interval_day", b"interval_day", "interval_year", b"interval_year", "kind", b"kind", "list", b"list", "map", b"map", "precision_time", b"precision_time", "precision_timestamp", b"precision_timestamp", "precision_timestamp_tz", b"precision_timestamp_tz", "string", b"string", "struct", b"struct", "time", b"time", "timestamp", b"timestamp", "timestamp_tz", b"timestamp_tz", "user_defined", b"user_defined", "user_defined_type_reference", b"user_defined_type_reference", "uuid", b"uuid", "varchar", b"varchar"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["kind", b"kind"]) -> typing.Literal["bool", "i8", "i16", "i32", "i64", "fp32", "fp64", "string", "binary", "timestamp", "date", "time", "interval_year", "interval_day", "interval_compound", "timestamp_tz", "uuid", "fixed_char", "varchar", "fixed_binary", "decimal", "precision_time", "precision_timestamp", "precision_timestamp_tz", "struct", "list", "map", "func", "user_defined", "user_defined_type_reference", "alias"] | None: ... - -Global___Type: typing_extensions.TypeAlias = Type - -@typing.final -class TypeAlias(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TYPE_ALIAS_ANCHOR_FIELD_NUMBER: builtins.int - TYPE_FIELD_NUMBER: builtins.int - type_alias_anchor: builtins.int - """A surrogate key used in the context of a single plan to reference a - specific type alias. - """ - @property - def type(self) -> Global___Type: - """A concrete type to be aliased. - - * All type parameters must be specified. - * Cannot directly be another alias. - * Type parameters can reference other aliased types as long as no circular dependencies are introduced. - * Nullability of aliased type is **ignored**. Nullability must be specified when the aliased type is referenced. - * Type variation may be specified in the aliased type. - """ - - def __init__( - self, - *, - type_alias_anchor: builtins.int = ..., - type: Global___Type | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["type", b"type", "type_alias_anchor", b"type_alias_anchor"]) -> None: ... - -Global___TypeAlias: typing_extensions.TypeAlias = TypeAlias - -@typing.final -class NamedStruct(google.protobuf.message.Message): - """A message for modeling name/type pairs. - - Useful for representing relation schemas. - - Notes: - - * The names field is in depth-first order. - - For example a schema such as: - - a: int64 - b: struct - - would have a `names` field that looks like: - - ["a", "b", "c", "d"] - - * Only struct fields are contained in this field's elements, - * Map keys should be traversed first, then values when producing/consuming - * When used to represent a relation schema, the outermost struct's - nullability should be NULLABILITY_REQUIRED. - """ - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - NAMES_FIELD_NUMBER: builtins.int - STRUCT_FIELD_NUMBER: builtins.int - @property - def names(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: - """list of names in dfs order""" - - @property - def struct(self) -> Global___Type.Struct: ... - def __init__( - self, - *, - names: collections.abc.Iterable[builtins.str] | None = ..., - struct: Global___Type.Struct | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["struct", b"struct"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["names", b"names", "struct", b"struct"]) -> None: ... - -Global___NamedStruct: typing_extensions.TypeAlias = NamedStruct diff --git a/src/substrait/proto.py b/src/substrait/proto.py deleted file mode 100644 index 64dc247..0000000 --- a/src/substrait/proto.py +++ /dev/null @@ -1,39 +0,0 @@ -def _load(): - """Import all substrait protobuf classes as human friendly. - - Instead of forcing users to deal with autogenerated protobuf - modules, importing individual components of the protocol - from submodules etc... this functions loads into the module - all classes representing substrait expressions and loads - the protocol modules with a friendly name making the protocol - more convenient to use. - - substrait.gen.proto.extensions.extensions_pb2.SimpleExtensionDeclaration - becomes substrait.proto.SimpleExtensionDeclaration - """ - import importlib - import inspect - import pkgutil - import sys - - from substrait.gen import proto as _proto - - selfmodule = sys.modules[__name__] - for submodule_info in pkgutil.iter_modules(_proto.__path__): - submodule_name = submodule_info.name - attr_name = submodule_name.replace("_pb2", "") - if submodule_name == "extensions": - # Extensions are in a submodule - submodule_name = "extensions.extensions_pb2" - attr_name = "extensions" - - submodule = importlib.import_module(f".{submodule_name}", _proto.__name__) - setattr(selfmodule, attr_name, submodule) - - for membername, _ in inspect.getmembers(submodule): - member = getattr(submodule, membername) - if inspect.isclass(member): - setattr(selfmodule, membername, member) - - -_load() diff --git a/src/substrait/proto/__init__.py b/src/substrait/proto/__init__.py new file mode 100644 index 0000000..2c670cf --- /dev/null +++ b/src/substrait/proto/__init__.py @@ -0,0 +1,20 @@ +# ruff: noqa: F401 F403 + +import substrait.algebra_pb2 as algebra +import substrait.capabilities_pb2 as capabilities +import substrait.extended_expression_pb2 as extended_expression +import substrait.extensions.extensions_pb2 as extensions +import substrait.function_pb2 as function +import substrait.parameterized_types_pb2 as parameterized_types +import substrait.plan_pb2 as plan +import substrait.type_expressions_pb2 as type_expressions +import substrait.type_pb2 as type +from substrait.algebra_pb2 import * +from substrait.capabilities_pb2 import * +from substrait.extended_expression_pb2 import * +from substrait.extensions.extensions_pb2 import * +from substrait.function_pb2 import * +from substrait.parameterized_types_pb2 import * +from substrait.plan_pb2 import * +from substrait.type_expressions_pb2 import * +from substrait.type_pb2 import * diff --git a/src/substrait/sql/sql_to_substrait.py b/src/substrait/sql/sql_to_substrait.py index 85db3b3..97e317b 100644 --- a/src/substrait/sql/sql_to_substrait.py +++ b/src/substrait/sql/sql_to_substrait.py @@ -5,6 +5,8 @@ from deepdiff import DeepDiff from sqloxide import parse_sql +from substrait import algebra_pb2 as stalg +from substrait import type_pb2 as stt from substrait.builders.extended_expression import ( UnboundExtendedExpression, aggregate_function, @@ -24,8 +26,6 @@ sort, ) from substrait.extension_registry import ExtensionRegistry -from substrait.gen.proto import algebra_pb2 as stalg -from substrait.gen.proto import type_pb2 as stt SchemaResolver = Callable[[str], stt.NamedStruct] diff --git a/src/substrait/type_inference.py b/src/substrait/type_inference.py index cb8faad..1868f25 100644 --- a/src/substrait/type_inference.py +++ b/src/substrait/type_inference.py @@ -1,7 +1,7 @@ -import substrait.gen.proto.algebra_pb2 as stalg -import substrait.gen.proto.extended_expression_pb2 as stee -import substrait.gen.proto.plan_pb2 as stp -import substrait.gen.proto.type_pb2 as stt +import substrait.algebra_pb2 as stalg +import substrait.extended_expression_pb2 as stee +import substrait.plan_pb2 as stp +import substrait.type_pb2 as stt def infer_literal_type(literal: stalg.Expression.Literal) -> stt.Type: diff --git a/src/substrait/utils/__init__.py b/src/substrait/utils/__init__.py index 4d260d1..2b8508a 100644 --- a/src/substrait/utils/__init__.py +++ b/src/substrait/utils/__init__.py @@ -4,8 +4,8 @@ from typing import Iterable -import substrait.gen.proto.extensions.extensions_pb2 as ste -import substrait.gen.proto.type_pb2 as stp +import substrait.extensions.extensions_pb2 as ste +import substrait.type_pb2 as stp def type_num_names(typ: stp.Type): diff --git a/src/substrait/utils/display.py b/src/substrait/utils/display.py index 2148571..cbfd09b 100644 --- a/src/substrait/utils/display.py +++ b/src/substrait/utils/display.py @@ -5,9 +5,9 @@ in a readable format using indentation, -> characters, and colors. """ -import substrait.gen.proto.algebra_pb2 as stalg -import substrait.gen.proto.plan_pb2 as stp -import substrait.gen.proto.type_pb2 as stt +import substrait.algebra_pb2 as stalg +import substrait.plan_pb2 as stp +import substrait.type_pb2 as stt # ANSI color codes diff --git a/src/substrait/version.py b/src/substrait/version.py new file mode 100644 index 0000000..2c324cf --- /dev/null +++ b/src/substrait/version.py @@ -0,0 +1,3 @@ +from importlib.metadata import version + +substrait_version = version("vbarua-substrait-protobuf") diff --git a/tests/builders/extended_expression/test_aggregate_function.py b/tests/builders/extended_expression/test_aggregate_function.py index fd78614..3fbd1f3 100644 --- a/tests/builders/extended_expression/test_aggregate_function.py +++ b/tests/builders/extended_expression/test_aggregate_function.py @@ -1,9 +1,9 @@ +import substrait.algebra_pb2 as stalg +import substrait.extended_expression_pb2 as stee +import substrait.extensions.extensions_pb2 as ste +import substrait.type_pb2 as stt import yaml -import substrait.gen.proto.algebra_pb2 as stalg -import substrait.gen.proto.extended_expression_pb2 as stee -import substrait.gen.proto.extensions.extensions_pb2 as ste -import substrait.gen.proto.type_pb2 as stt from substrait.builders.extended_expression import aggregate_function, literal from substrait.extension_registry import ExtensionRegistry diff --git a/tests/builders/extended_expression/test_cast.py b/tests/builders/extended_expression/test_cast.py index bdad8d1..a4d46dc 100644 --- a/tests/builders/extended_expression/test_cast.py +++ b/tests/builders/extended_expression/test_cast.py @@ -1,6 +1,7 @@ -import substrait.gen.proto.algebra_pb2 as stalg -import substrait.gen.proto.extended_expression_pb2 as stee -import substrait.gen.proto.type_pb2 as stt +import substrait.algebra_pb2 as stalg +import substrait.extended_expression_pb2 as stee +import substrait.type_pb2 as stt + from substrait.builders.extended_expression import cast, literal from substrait.builders.type import i8, i16 from substrait.extension_registry import ExtensionRegistry @@ -47,9 +48,9 @@ def test_cast(): def test_cast_with_extension(): + import substrait.extensions.extensions_pb2 as ste import yaml - import substrait.gen.proto.extensions.extensions_pb2 as ste from substrait.builders.extended_expression import scalar_function registry_with_ext = ExtensionRegistry(load_default_extensions=False) diff --git a/tests/builders/extended_expression/test_column.py b/tests/builders/extended_expression/test_column.py index 0a95a07..9449848 100644 --- a/tests/builders/extended_expression/test_column.py +++ b/tests/builders/extended_expression/test_column.py @@ -1,6 +1,7 @@ -import substrait.gen.proto.algebra_pb2 as stalg -import substrait.gen.proto.extended_expression_pb2 as stee -import substrait.gen.proto.type_pb2 as stt +import substrait.algebra_pb2 as stalg +import substrait.extended_expression_pb2 as stee +import substrait.type_pb2 as stt + from substrait.builders.extended_expression import column struct = stt.Type.Struct( diff --git a/tests/builders/extended_expression/test_if_then.py b/tests/builders/extended_expression/test_if_then.py index 9b600e2..a6b52ec 100644 --- a/tests/builders/extended_expression/test_if_then.py +++ b/tests/builders/extended_expression/test_if_then.py @@ -1,7 +1,8 @@ -import substrait.gen.proto.algebra_pb2 as stalg -import substrait.gen.proto.extended_expression_pb2 as stee -import substrait.gen.proto.extensions.extensions_pb2 as ste -import substrait.gen.proto.type_pb2 as stt +import substrait.algebra_pb2 as stalg +import substrait.extended_expression_pb2 as stee +import substrait.extensions.extensions_pb2 as ste +import substrait.type_pb2 as stt + from substrait.builders.extended_expression import ( column, if_then, diff --git a/tests/builders/extended_expression/test_literal.py b/tests/builders/extended_expression/test_literal.py index 1bd9a7b..bee33df 100644 --- a/tests/builders/extended_expression/test_literal.py +++ b/tests/builders/extended_expression/test_literal.py @@ -1,6 +1,7 @@ from datetime import date -import substrait.gen.proto.algebra_pb2 as stalg +import substrait.algebra_pb2 as stalg + from substrait.builders import type as sttb from substrait.builders.extended_expression import literal diff --git a/tests/builders/extended_expression/test_multi_or_list.py b/tests/builders/extended_expression/test_multi_or_list.py index 793dfd8..8a6a726 100644 --- a/tests/builders/extended_expression/test_multi_or_list.py +++ b/tests/builders/extended_expression/test_multi_or_list.py @@ -1,6 +1,7 @@ -import substrait.gen.proto.algebra_pb2 as stalg -import substrait.gen.proto.extended_expression_pb2 as stee -import substrait.gen.proto.type_pb2 as stt +import substrait.algebra_pb2 as stalg +import substrait.extended_expression_pb2 as stee +import substrait.type_pb2 as stt + from substrait.builders.extended_expression import literal, multi_or_list from substrait.builders.type import i8 from substrait.extension_registry import ExtensionRegistry @@ -84,9 +85,9 @@ def test_singular_or_list(): def test_multi_or_list_with_extension(): + import substrait.extensions.extensions_pb2 as ste import yaml - import substrait.gen.proto.extensions.extensions_pb2 as ste from substrait.builders.extended_expression import scalar_function registry_with_ext = ExtensionRegistry(load_default_extensions=False) diff --git a/tests/builders/extended_expression/test_scalar_function.py b/tests/builders/extended_expression/test_scalar_function.py index fcc5d42..584d7cf 100644 --- a/tests/builders/extended_expression/test_scalar_function.py +++ b/tests/builders/extended_expression/test_scalar_function.py @@ -1,9 +1,9 @@ +import substrait.algebra_pb2 as stalg +import substrait.extended_expression_pb2 as stee +import substrait.extensions.extensions_pb2 as ste +import substrait.type_pb2 as stt import yaml -import substrait.gen.proto.algebra_pb2 as stalg -import substrait.gen.proto.extended_expression_pb2 as stee -import substrait.gen.proto.extensions.extensions_pb2 as ste -import substrait.gen.proto.type_pb2 as stt from substrait.builders.extended_expression import literal, scalar_function from substrait.extension_registry import ExtensionRegistry diff --git a/tests/builders/extended_expression/test_singular_or_list.py b/tests/builders/extended_expression/test_singular_or_list.py index 763c365..b92d12b 100644 --- a/tests/builders/extended_expression/test_singular_or_list.py +++ b/tests/builders/extended_expression/test_singular_or_list.py @@ -1,6 +1,7 @@ -import substrait.gen.proto.algebra_pb2 as stalg -import substrait.gen.proto.extended_expression_pb2 as stee -import substrait.gen.proto.type_pb2 as stt +import substrait.algebra_pb2 as stalg +import substrait.extended_expression_pb2 as stee +import substrait.type_pb2 as stt + from substrait.builders.extended_expression import literal, singular_or_list from substrait.builders.type import i8 from substrait.extension_registry import ExtensionRegistry @@ -53,9 +54,9 @@ def test_singular_or_list(): def test_singular_or_list_with_extension(): + import substrait.extensions.extensions_pb2 as ste import yaml - import substrait.gen.proto.extensions.extensions_pb2 as ste from substrait.builders.extended_expression import scalar_function registry_with_ext = ExtensionRegistry(load_default_extensions=False) diff --git a/tests/builders/extended_expression/test_switch.py b/tests/builders/extended_expression/test_switch.py index cf988e9..4b92d39 100644 --- a/tests/builders/extended_expression/test_switch.py +++ b/tests/builders/extended_expression/test_switch.py @@ -1,6 +1,7 @@ -import substrait.gen.proto.algebra_pb2 as stalg -import substrait.gen.proto.extended_expression_pb2 as stee -import substrait.gen.proto.type_pb2 as stt +import substrait.algebra_pb2 as stalg +import substrait.extended_expression_pb2 as stee +import substrait.type_pb2 as stt + from substrait.builders.extended_expression import literal, switch from substrait.builders.type import i8 from substrait.extension_registry import ExtensionRegistry @@ -77,9 +78,9 @@ def test_switch(): def test_switch_with_extension(): + import substrait.extensions.extensions_pb2 as ste import yaml - import substrait.gen.proto.extensions.extensions_pb2 as ste from substrait.builders.extended_expression import scalar_function registry_with_ext = ExtensionRegistry(load_default_extensions=False) diff --git a/tests/builders/extended_expression/test_window_function.py b/tests/builders/extended_expression/test_window_function.py index 71508aa..e60269e 100644 --- a/tests/builders/extended_expression/test_window_function.py +++ b/tests/builders/extended_expression/test_window_function.py @@ -1,9 +1,9 @@ +import substrait.algebra_pb2 as stalg +import substrait.extended_expression_pb2 as stee +import substrait.extensions.extensions_pb2 as ste +import substrait.type_pb2 as stt import yaml -import substrait.gen.proto.algebra_pb2 as stalg -import substrait.gen.proto.extended_expression_pb2 as stee -import substrait.gen.proto.extensions.extensions_pb2 as ste -import substrait.gen.proto.type_pb2 as stt from substrait.builders.extended_expression import window_function from substrait.extension_registry import ExtensionRegistry diff --git a/tests/builders/plan/test_aggregate.py b/tests/builders/plan/test_aggregate.py index cb41d0e..5b802e9 100644 --- a/tests/builders/plan/test_aggregate.py +++ b/tests/builders/plan/test_aggregate.py @@ -1,9 +1,9 @@ +import substrait.algebra_pb2 as stalg +import substrait.extensions.extensions_pb2 as ste +import substrait.plan_pb2 as stp +import substrait.type_pb2 as stt import yaml -import substrait.gen.proto.algebra_pb2 as stalg -import substrait.gen.proto.extensions.extensions_pb2 as ste -import substrait.gen.proto.plan_pb2 as stp -import substrait.gen.proto.type_pb2 as stt from substrait.builders.extended_expression import aggregate_function, column from substrait.builders.plan import aggregate, default_version, read_named_table from substrait.builders.type import boolean, i64 diff --git a/tests/builders/plan/test_cross.py b/tests/builders/plan/test_cross.py index 468b371..2b63d5b 100644 --- a/tests/builders/plan/test_cross.py +++ b/tests/builders/plan/test_cross.py @@ -1,6 +1,7 @@ -import substrait.gen.proto.algebra_pb2 as stalg -import substrait.gen.proto.plan_pb2 as stp -import substrait.gen.proto.type_pb2 as stt +import substrait.algebra_pb2 as stalg +import substrait.plan_pb2 as stp +import substrait.type_pb2 as stt + from substrait.builders.plan import cross, default_version, read_named_table from substrait.builders.type import boolean, i64, string from substrait.extension_registry import ExtensionRegistry diff --git a/tests/builders/plan/test_fetch.py b/tests/builders/plan/test_fetch.py index 2a989f2..896ef21 100644 --- a/tests/builders/plan/test_fetch.py +++ b/tests/builders/plan/test_fetch.py @@ -1,6 +1,7 @@ -import substrait.gen.proto.algebra_pb2 as stalg -import substrait.gen.proto.plan_pb2 as stp -import substrait.gen.proto.type_pb2 as stt +import substrait.algebra_pb2 as stalg +import substrait.plan_pb2 as stp +import substrait.type_pb2 as stt + from substrait.builders.extended_expression import literal from substrait.builders.plan import default_version, fetch, read_named_table from substrait.builders.type import boolean, i64 diff --git a/tests/builders/plan/test_filter.py b/tests/builders/plan/test_filter.py index e750d81..1b7ce1d 100644 --- a/tests/builders/plan/test_filter.py +++ b/tests/builders/plan/test_filter.py @@ -1,6 +1,7 @@ -import substrait.gen.proto.algebra_pb2 as stalg -import substrait.gen.proto.plan_pb2 as stp -import substrait.gen.proto.type_pb2 as stt +import substrait.algebra_pb2 as stalg +import substrait.plan_pb2 as stp +import substrait.type_pb2 as stt + from substrait.builders.extended_expression import literal from substrait.builders.plan import default_version, filter, read_named_table from substrait.builders.type import boolean, i64 diff --git a/tests/builders/plan/test_join.py b/tests/builders/plan/test_join.py index 6ec9ce7..2983c9c 100644 --- a/tests/builders/plan/test_join.py +++ b/tests/builders/plan/test_join.py @@ -1,6 +1,7 @@ -import substrait.gen.proto.algebra_pb2 as stalg -import substrait.gen.proto.plan_pb2 as stp -import substrait.gen.proto.type_pb2 as stt +import substrait.algebra_pb2 as stalg +import substrait.plan_pb2 as stp +import substrait.type_pb2 as stt + from substrait.builders.extended_expression import literal from substrait.builders.plan import default_version, join, read_named_table from substrait.builders.type import boolean, i64, string diff --git a/tests/builders/plan/test_project.py b/tests/builders/plan/test_project.py index 6d541d0..bca68a5 100644 --- a/tests/builders/plan/test_project.py +++ b/tests/builders/plan/test_project.py @@ -1,6 +1,7 @@ -import substrait.gen.proto.algebra_pb2 as stalg -import substrait.gen.proto.plan_pb2 as stp -import substrait.gen.proto.type_pb2 as stt +import substrait.algebra_pb2 as stalg +import substrait.plan_pb2 as stp +import substrait.type_pb2 as stt + from substrait.builders.extended_expression import column from substrait.builders.plan import default_version, project, read_named_table, select from substrait.builders.type import boolean, i64 diff --git a/tests/builders/plan/test_read.py b/tests/builders/plan/test_read.py index 41c41f0..ebeb4bb 100644 --- a/tests/builders/plan/test_read.py +++ b/tests/builders/plan/test_read.py @@ -1,13 +1,13 @@ import pytest +import substrait.algebra_pb2 as stalg +import substrait.plan_pb2 as stp +import substrait.type_pb2 as stt from google.protobuf import any_pb2 from google.protobuf.wrappers_pb2 import StringValue +from substrait.extensions.extensions_pb2 import AdvancedExtension -import substrait.gen.proto.algebra_pb2 as stalg -import substrait.gen.proto.plan_pb2 as stp -import substrait.gen.proto.type_pb2 as stt from substrait.builders.plan import default_version, read_named_table from substrait.builders.type import boolean, i64 -from substrait.gen.proto.extensions.extensions_pb2 import AdvancedExtension struct = stt.Type.Struct( types=[i64(nullable=False), boolean()], diff --git a/tests/builders/plan/test_set.py b/tests/builders/plan/test_set.py index 3c2d322..45f7e01 100644 --- a/tests/builders/plan/test_set.py +++ b/tests/builders/plan/test_set.py @@ -1,6 +1,7 @@ -import substrait.gen.proto.algebra_pb2 as stalg -import substrait.gen.proto.plan_pb2 as stp -import substrait.gen.proto.type_pb2 as stt +import substrait.algebra_pb2 as stalg +import substrait.plan_pb2 as stp +import substrait.type_pb2 as stt + from substrait.builders.plan import default_version, read_named_table, set from substrait.builders.type import boolean, i64 from substrait.extension_registry import ExtensionRegistry diff --git a/tests/builders/plan/test_sort.py b/tests/builders/plan/test_sort.py index 3bfb606..ac6c1d9 100644 --- a/tests/builders/plan/test_sort.py +++ b/tests/builders/plan/test_sort.py @@ -1,6 +1,7 @@ -import substrait.gen.proto.algebra_pb2 as stalg -import substrait.gen.proto.plan_pb2 as stp -import substrait.gen.proto.type_pb2 as stt +import substrait.algebra_pb2 as stalg +import substrait.plan_pb2 as stp +import substrait.type_pb2 as stt + from substrait.builders.extended_expression import column from substrait.builders.plan import default_version, read_named_table, sort from substrait.builders.type import boolean, i64 diff --git a/tests/builders/plan/test_write.py b/tests/builders/plan/test_write.py index b0e1029..0b26893 100644 --- a/tests/builders/plan/test_write.py +++ b/tests/builders/plan/test_write.py @@ -1,6 +1,7 @@ -import substrait.gen.proto.algebra_pb2 as stalg -import substrait.gen.proto.plan_pb2 as stp -import substrait.gen.proto.type_pb2 as stt +import substrait.algebra_pb2 as stalg +import substrait.plan_pb2 as stp +import substrait.type_pb2 as stt + from substrait.builders.plan import read_named_table, write_named_table from substrait.builders.type import boolean, i64 diff --git a/tests/builders/test_types.py b/tests/builders/test_types.py index c9fe247..2f83864 100644 --- a/tests/builders/test_types.py +++ b/tests/builders/test_types.py @@ -1,6 +1,6 @@ import pytest +import substrait.type_pb2 as stt -import substrait.gen.proto.type_pb2 as stt from substrait.builders.type import boolean, i64, named_struct diff --git a/tests/dataframe/test_df_project.py b/tests/dataframe/test_df_project.py index ced25a4..acfe5b5 100644 --- a/tests/dataframe/test_df_project.py +++ b/tests/dataframe/test_df_project.py @@ -1,7 +1,8 @@ +import substrait.algebra_pb2 as stalg +import substrait.plan_pb2 as stp +import substrait.type_pb2 as stt + import substrait.dataframe as sdf -import substrait.gen.proto.algebra_pb2 as stalg -import substrait.gen.proto.plan_pb2 as stp -import substrait.gen.proto.type_pb2 as stt from substrait.builders.plan import default_version, read_named_table from substrait.builders.type import boolean, i64 from substrait.extension_registry import ExtensionRegistry diff --git a/tests/extension_registry/test_registry_lookup.py b/tests/extension_registry/test_registry_lookup.py index 22199a0..273dab0 100644 --- a/tests/extension_registry/test_registry_lookup.py +++ b/tests/extension_registry/test_registry_lookup.py @@ -1,5 +1,6 @@ +from substrait.type_pb2 import Type + from substrait.builders.type import decimal, i8, i16 -from substrait.gen.proto.type_pb2 import Type def test_non_existing_urn(registry): diff --git a/tests/extension_registry/test_type_coverage.py b/tests/extension_registry/test_type_coverage.py index e82f2c0..8ecb550 100644 --- a/tests/extension_registry/test_type_coverage.py +++ b/tests/extension_registry/test_type_coverage.py @@ -1,11 +1,12 @@ """Tests for the covers() function - type coverage and matching.""" +from substrait.type_pb2 import Type + from substrait.builders.type import decimal, i8, i16, i32, struct from substrait.builders.type import list as list_ from substrait.builders.type import map as map_ from substrait.derivation_expression import _parse from substrait.extension_registry import covers -from substrait.gen.proto.type_pb2 import Type def test_covers(): diff --git a/tests/test_derivation_expression.py b/tests/test_derivation_expression.py index bd1dca6..b757a28 100644 --- a/tests/test_derivation_expression.py +++ b/tests/test_derivation_expression.py @@ -1,5 +1,6 @@ +from substrait.type_pb2 import NamedStruct, Type + from substrait.derivation_expression import evaluate -from substrait.gen.proto.type_pb2 import NamedStruct, Type def test_simple_arithmetic(): diff --git a/tests/test_literal_type_inference.py b/tests/test_literal_type_inference.py index 96c0728..7f128c6 100644 --- a/tests/test_literal_type_inference.py +++ b/tests/test_literal_type_inference.py @@ -1,7 +1,7 @@ import pytest +import substrait.algebra_pb2 as stalg +import substrait.type_pb2 as stt -import substrait.gen.proto.algebra_pb2 as stalg -import substrait.gen.proto.type_pb2 as stt from substrait.type_inference import infer_literal_type testcases = [ diff --git a/tests/test_proto.py b/tests/test_proto.py index b30ef0d..451f1aa 100644 --- a/tests/test_proto.py +++ b/tests/test_proto.py @@ -3,15 +3,15 @@ def test_imports(): """Temporary sanity test""" - from substrait.gen.proto.algebra_pb2 import Expression - from substrait.gen.proto.capabilities_pb2 import Capabilities - from substrait.gen.proto.extended_expression_pb2 import ExtendedExpression - from substrait.gen.proto.extensions.extensions_pb2 import SimpleExtensionURN - from substrait.gen.proto.function_pb2 import FunctionSignature - from substrait.gen.proto.parameterized_types_pb2 import ParameterizedType - from substrait.gen.proto.plan_pb2 import Plan - from substrait.gen.proto.type_expressions_pb2 import DerivationExpression - from substrait.gen.proto.type_pb2 import Type + from substrait.algebra_pb2 import Expression + from substrait.capabilities_pb2 import Capabilities + from substrait.extended_expression_pb2 import ExtendedExpression + from substrait.extensions.extensions_pb2 import SimpleExtensionURN + from substrait.function_pb2 import FunctionSignature + from substrait.parameterized_types_pb2 import ParameterizedType + from substrait.plan_pb2 import Plan + from substrait.type_expressions_pb2 import DerivationExpression + from substrait.type_pb2 import Type def test_proto_proxy_module(): diff --git a/tests/test_type_inference.py b/tests/test_type_inference.py index 8d20eca..af61903 100644 --- a/tests/test_type_inference.py +++ b/tests/test_type_inference.py @@ -1,5 +1,6 @@ -import substrait.gen.proto.algebra_pb2 as stalg -import substrait.gen.proto.type_pb2 as stt +import substrait.algebra_pb2 as stalg +import substrait.type_pb2 as stt + from substrait.type_inference import ( infer_expression_type, infer_nested_type, diff --git a/tests/test_uri_urn_migration.py b/tests/test_uri_urn_migration.py index 0724216..e646622 100644 --- a/tests/test_uri_urn_migration.py +++ b/tests/test_uri_urn_migration.py @@ -7,13 +7,13 @@ is complete across all Substrait implementations. """ +import substrait.algebra_pb2 as stalg +import substrait.extended_expression_pb2 as stex +import substrait.extensions.extensions_pb2 as ste +import substrait.plan_pb2 as stp +import substrait.type_pb2 as stt import yaml -import substrait.gen.proto.algebra_pb2 as stalg -import substrait.gen.proto.extended_expression_pb2 as stex -import substrait.gen.proto.extensions.extensions_pb2 as ste -import substrait.gen.proto.plan_pb2 as stp -import substrait.gen.proto.type_pb2 as stt from substrait.builders.extended_expression import ( aggregate_function, column, diff --git a/tests/test_utils.py b/tests/test_utils.py index 2349e41..ea9374e 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -1,5 +1,6 @@ -import substrait.gen.proto.extensions.extensions_pb2 as ste -import substrait.gen.proto.type_pb2 as stt +import substrait.extensions.extensions_pb2 as ste +import substrait.type_pb2 as stt + from substrait.utils import merge_extension_uris, merge_extension_urns, type_num_names diff --git a/update_submodule.sh b/update_submodule.sh index b818b86..982cc96 100755 --- a/update_submodule.sh +++ b/update_submodule.sh @@ -12,10 +12,4 @@ git submodule update --remote third_party/substrait DIR=$(cd "$(dirname "$0")" && pwd) pushd "${DIR}"/third_party/substrait/ || exit git checkout "$VERSION" -SUBSTRAIT_HASH=$(git rev-parse --short HEAD) popd || exit - -VERSION=${VERSION//v/} - -sed -i "s#__substrait_hash__.*#__substrait_hash__ = \"$SUBSTRAIT_HASH\"#g" src/substrait/__init__.py -sed -i "s#__substrait_version__.*#__substrait_version__ = \"$VERSION\"#g" src/substrait/__init__.py diff --git a/uv.lock b/uv.lock index 8bc2e2b..23dc2e8 100644 --- a/uv.lock +++ b/uv.lock @@ -301,6 +301,7 @@ name = "substrait" source = { editable = "." } dependencies = [ { name = "protobuf" }, + { name = "vbarua-substrait-protobuf" }, ] [package.optional-dependencies] @@ -331,6 +332,7 @@ requires-dist = [ { name = "protobuf", specifier = ">=5,<7" }, { name = "pyyaml", marker = "extra == 'extensions'" }, { name = "sqloxide", marker = "extra == 'sql'" }, + { name = "vbarua-substrait-protobuf", specifier = ">=0.1.0.dev0" }, ] provides-extras = ["extensions", "sql"] @@ -386,3 +388,15 @@ sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac8 wheels = [ { url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548", size = 44614, upload-time = "2025-08-25T13:49:24.86Z" }, ] + +[[package]] +name = "vbarua-substrait-protobuf" +version = "0.1.0.dev0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "protobuf" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/79/0f/79893291b2133c689fa5dd797ea7398b24401ca10ba3cbd32197121b01b2/vbarua_substrait_protobuf-0.1.0.dev0.tar.gz", hash = "sha256:434d505f51c5fab9e254e595831b85d14705385cd843a88928ab3eefee3537fe", size = 82349, upload-time = "2026-01-13T23:42:47.113Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/31/18/9129c1f70d7294d6318da5f9e95bbcbe90a215b188f0ab01269878c20f52/vbarua_substrait_protobuf-0.1.0.dev0-py3-none-any.whl", hash = "sha256:14694293d3e829e4e680d5d07e9b08863cf6476683e80dda27c72063c78d67d2", size = 83496, upload-time = "2026-01-13T23:42:45.715Z" }, +]