snowpark-connect 0.30.1__tar.gz → 0.31.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of snowpark-connect might be problematic. Click here for more details.
- {snowpark_connect-0.30.1/src/snowpark_connect.egg-info → snowpark_connect-0.31.0}/PKG-INFO +3 -2
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/setup.py +2 -1
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/column_name_handler.py +150 -25
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/config.py +51 -16
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/date_time_format_mapping.py +71 -13
- snowpark_connect-0.31.0/src/snowflake/snowpark_connect/error/error_codes.py +50 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/error/error_utils.py +142 -22
- snowpark_connect-0.31.0/src/snowflake/snowpark_connect/error/exceptions.py +37 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/execute_plan/map_execution_command.py +5 -1
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/execute_plan/map_execution_root.py +5 -1
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/execute_plan/utils.py +5 -1
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/function_defaults.py +9 -2
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/literal.py +7 -1
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/map_cast.py +17 -5
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/map_expression.py +48 -4
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/map_extension.py +25 -5
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/map_sql_expression.py +65 -30
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/map_udf.py +10 -2
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/map_unresolved_attribute.py +33 -9
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/map_unresolved_function.py +627 -205
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/map_unresolved_star.py +5 -1
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/map_update_fields.py +14 -4
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/map_window_function.py +18 -3
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/catalogs/abstract_spark_catalog.py +65 -17
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/catalogs/snowflake_catalog.py +34 -12
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/catalogs/utils.py +12 -4
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/io_utils.py +6 -1
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_catalog.py +5 -1
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_column_ops.py +88 -56
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_extension.py +28 -8
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_join.py +21 -10
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_local_relation.py +5 -1
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_relation.py +33 -7
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_row_ops.py +23 -7
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_sql.py +91 -24
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_stats.py +5 -1
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_udtf.py +14 -4
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/read/jdbc_read_dbapi.py +49 -13
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/read/map_read.py +15 -3
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/read/map_read_csv.py +11 -3
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/read/map_read_jdbc.py +17 -5
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/read/map_read_json.py +8 -2
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/read/map_read_parquet.py +13 -3
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/read/map_read_socket.py +11 -3
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/read/map_read_table.py +15 -5
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/read/map_read_text.py +5 -1
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/read/metadata_utils.py +5 -1
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/stage_locator.py +5 -1
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/write/jdbc_write_dbapi.py +19 -3
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/write/map_write.py +131 -34
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/write/map_write_jdbc.py +8 -2
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/resources_initializer.py +5 -1
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/server.py +72 -19
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/type_mapping.py +54 -17
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/context.py +42 -1
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/describe_query_cache.py +3 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/env_utils.py +5 -1
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/identifiers.py +11 -3
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/pandas_udtf_utils.py +8 -4
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/profiling.py +25 -8
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/scala_udf_utils.py +11 -3
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/session.py +5 -1
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/telemetry.py +6 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/temporary_view_cache.py +5 -1
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/udf_cache.py +5 -3
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/udf_helper.py +20 -6
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/udf_utils.py +4 -4
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/udtf_helper.py +5 -1
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/udtf_utils.py +34 -26
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/version.py +1 -1
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0/src/snowpark_connect.egg-info}/PKG-INFO +3 -2
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowpark_connect.egg-info/SOURCES.txt +1 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowpark_connect.egg-info/requires.txt +2 -1
- snowpark_connect-0.30.1/src/snowflake/snowpark_connect/error/exceptions.py +0 -28
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/LICENSE-binary +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/LICENSE.txt +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/NOTICE-binary +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/README.md +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/setup.cfg +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/analyze_plan/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/analyze_plan/map_tree_string.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/client.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/constants.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/control_server.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/dataframe_container.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/dataframe_name_handler.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/empty_dataframe.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/error/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/error/error_mapping.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/execute_plan/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/hybrid_column_map.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/map_unresolved_extract_value.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/typer.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/antlr4-runtime-4.9.3.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/commons-cli-1.5.0.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/commons-codec-1.16.1.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/commons-collections-3.2.2.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/commons-collections4-4.4.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/commons-compiler-3.1.9.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/commons-compress-1.26.0.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/commons-crypto-1.1.0.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/commons-dbcp-1.4.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/commons-io-2.16.1.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/commons-lang-2.6.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/commons-lang3-3.12.0.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/commons-logging-1.1.3.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/commons-math3-3.6.1.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/commons-pool-1.5.4.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/commons-text-1.10.0.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/hadoop-client-api-trimmed-3.3.4.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/jackson-annotations-2.15.2.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/jackson-core-2.15.2.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/jackson-core-asl-1.9.13.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/jackson-databind-2.15.2.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/jackson-dataformat-yaml-2.15.2.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/jackson-datatype-jsr310-2.15.2.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/jackson-module-scala_2.12-2.15.2.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/json4s-ast_2.12-3.7.0-M11.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/json4s-core_2.12-3.7.0-M11.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/json4s-jackson_2.12-3.7.0-M11.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/json4s-native_2.12-3.7.0-M11.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/json4s-scalap_2.12-3.7.0-M11.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/kryo-shaded-4.0.2.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/log4j-1.2-api-2.20.0.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/log4j-api-2.20.0.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/log4j-core-2.20.0.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/log4j-slf4j2-impl-2.20.0.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/paranamer-2.8.3.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/paranamer-2.8.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/sas-scala-udf_2.12-0.1.0.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/scala-collection-compat_2.12-2.7.0.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/scala-library-2.12.18.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/scala-parser-combinators_2.12-2.3.0.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/scala-reflect-2.12.18.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/scala-xml_2.12-2.1.0.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/slf4j-api-2.0.7.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-catalyst_2.12-3.5.6.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-common-utils_2.12-3.5.6.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-connect-client-jvm_2.12-3.5.6.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-core_2.12-3.5.6.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-graphx_2.12-3.5.6.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-hive-thriftserver_2.12-3.5.6.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-hive_2.12-3.5.6.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-kvstore_2.12-3.5.6.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-launcher_2.12-3.5.6.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-mesos_2.12-3.5.6.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-mllib-local_2.12-3.5.6.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-network-common_2.12-3.5.6.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-network-shuffle_2.12-3.5.6.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-repl_2.12-3.5.6.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-sketch_2.12-3.5.6.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-sql-api_2.12-3.5.6.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-sql_2.12-3.5.6.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-tags_2.12-3.5.6.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-unsafe_2.12-3.5.6.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-yarn_2.12-3.5.6.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/_globals.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/_typing.pyi +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/accumulators.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/broadcast.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/cloudpickle/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/cloudpickle/cloudpickle.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/cloudpickle/cloudpickle_fast.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/cloudpickle/compat.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/conf.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/context.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/daemon.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/error_classes.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/exceptions/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/exceptions/base.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/exceptions/captured.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/exceptions/connect.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/utils.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/files.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/find_spark_home.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/install.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/instrumentation_utils.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/java_gateway.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/join.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/_typing.pyi +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/base.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/classification.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/clustering.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/common.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/base.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/classification.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/evaluation.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/feature.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/functions.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/io_utils.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/pipeline.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/summarizer.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/tuning.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/util.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/deepspeed/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/deepspeed/deepspeed_distributor.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/dl_util.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/evaluation.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/feature.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/fpm.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/functions.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/image.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/linalg/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/model_cache.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/param/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/param/_shared_params_code_gen.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/param/shared.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/pipeline.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/recommendation.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/regression.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/stat.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/torch/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/torch/data.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/torch/distributor.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/torch/log_communication.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/torch/torch_run_process_wrapper.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/tree.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/tuning.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/util.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/wrapper.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/_typing.pyi +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/classification.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/clustering.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/common.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/evaluation.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/feature.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/fpm.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/linalg/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/linalg/distributed.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/random.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/recommendation.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/regression.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/stat/KernelDensity.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/stat/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/stat/_statistics.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/stat/distribution.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/stat/test.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/tree.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/util.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/_typing.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/accessors.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/base.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/categorical.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/config.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/correlation.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/base.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/binary_ops.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/boolean_ops.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/categorical_ops.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/complex_ops.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/date_ops.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/datetime_ops.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/null_ops.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/num_ops.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/string_ops.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/timedelta_ops.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/udt_ops.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/datetimes.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/exceptions.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/extensions.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/frame.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/generic.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/groupby.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/base.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/category.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/datetimes.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/multi.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/numeric.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/timedelta.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexing.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/internal.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/common.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/frame.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/general_functions.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/groupby.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/indexes.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/resample.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/scalars.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/series.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/window.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/mlflow.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/namespace.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/numpy_compat.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/plot/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/plot/core.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/plot/matplotlib.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/plot/plotly.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/resample.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/series.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/sql_formatter.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/sql_processor.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/strings.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/supported_api_gen.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/typedef/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/typedef/typehints.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/usage_logging/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/usage_logging/usage_logger.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/utils.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/window.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/profiler.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/py.typed +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/python/pyspark/shell.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/rdd.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/rddsampler.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/resource/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/resource/information.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/resource/profile.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/resource/requests.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/resultiterable.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/serializers.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/shell.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/shuffle.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/_typing.pyi +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/avro/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/avro/functions.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/catalog.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/column.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/conf.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/_typing.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/avro/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/avro/functions.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/catalog.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/client/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/client/artifact.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/client/core.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/client/reattach.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/column.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/conf.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/conversion.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/dataframe.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/expressions.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/functions.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/group.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/plan.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/base_pb2.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/base_pb2.pyi +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/base_pb2_grpc.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/catalog_pb2.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/catalog_pb2.pyi +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/commands_pb2.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/commands_pb2.pyi +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/common_pb2.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/common_pb2.pyi +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/example_plugins_pb2.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/example_plugins_pb2.pyi +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/expressions_pb2.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/expressions_pb2.pyi +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/relations_pb2.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/relations_pb2.pyi +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/types_pb2.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/types_pb2.pyi +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/protobuf/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/protobuf/functions.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/readwriter.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/session.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/streaming/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/streaming/query.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/streaming/readwriter.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/streaming/worker/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/streaming/worker/foreach_batch_worker.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/streaming/worker/listener_worker.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/types.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/udf.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/udtf.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/utils.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/window.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/context.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/dataframe.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/functions.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/group.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/observation.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/_typing/__init__.pyi +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/_typing/protocols/__init__.pyi +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/_typing/protocols/frame.pyi +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/_typing/protocols/series.pyi +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/conversion.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/functions.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/functions.pyi +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/group_ops.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/map_ops.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/serializers.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/typehints.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/types.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/utils.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/protobuf/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/protobuf/functions.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/readwriter.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/session.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/sql_formatter.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/streaming/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/streaming/listener.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/streaming/query.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/streaming/readwriter.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/streaming/state.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/types.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/udf.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/udtf.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/utils.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/window.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/statcounter.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/status.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/storagelevel.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/streaming/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/streaming/context.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/streaming/dstream.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/streaming/kinesis.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/streaming/listener.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/streaming/util.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/taskcontext.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/connectutils.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/mllibutils.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/mlutils.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/objects.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/pandasutils.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/sqlutils.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/streamingutils.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/utils.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/traceback_utils.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/util.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/version.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/worker.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/worker_util.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/proto/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/proto/control_pb2.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/proto/control_pb2.pyi +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/proto/control_pb2_grpc.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/proto/snowflake_expression_ext_pb2.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/proto/snowflake_expression_ext_pb2.pyi +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/proto/snowflake_expression_ext_pb2_grpc.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/proto/snowflake_rdd_pb2.pyi +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/proto/snowflake_relation_ext_pb2.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/proto/snowflake_relation_ext_pb2.pyi +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/proto/snowflake_relation_ext_pb2_grpc.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/catalogs/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_aggregate.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_crosstab.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_map_partitions.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_sample_by.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_show_string.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_subquery_alias.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/read/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/read/reader_config.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/read/utils.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/utils.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/write/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/resources/java_udfs-1.0-SNAPSHOT.jar +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/start_server.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/tcm.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/typed_column.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/artifacts.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/cache.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/concurrent.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/external_udxf_cache.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/interrupt.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/io_utils.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/snowpark_connect_logging.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/udxf_import_utils.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/xxhash64.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_decoder/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_decoder/_internal/proto/generated/DataframeProcessorMsg_pb2.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_decoder/_internal/proto/generated/DataframeProcessorMsg_pb2.pyi +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_decoder/dp_session.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_decoder/spark_decoder.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowpark_connect.egg-info/dependency_links.txt +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowpark_connect.egg-info/top_level.txt +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/spark/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/spark/connect/__init__.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/spark/connect/envelope_pb2.py +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/spark/connect/envelope_pb2.pyi +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/tools/snowpark-connect +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/tools/snowpark-session +0 -0
- {snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/tools/snowpark-submit +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: snowpark-connect
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.31.0
|
|
4
4
|
Summary: Snowpark Connect for Spark
|
|
5
5
|
Author: Snowflake, Inc
|
|
6
6
|
License: Apache License, Version 2.0
|
|
@@ -16,7 +16,8 @@ Requires-Dist: jpype1
|
|
|
16
16
|
Requires-Dist: protobuf<5.0,>=4.25.3
|
|
17
17
|
Requires-Dist: s3fs>=2025.3.0
|
|
18
18
|
Requires-Dist: snowflake.core<2,>=1.0.5
|
|
19
|
-
Requires-Dist: snowflake-snowpark-python[pandas]<1.
|
|
19
|
+
Requires-Dist: snowflake-snowpark-python[pandas]<1.41.0,==1.40.0
|
|
20
|
+
Requires-Dist: snowflake-connector-python<4.0.0,>=3.18.0
|
|
20
21
|
Requires-Dist: sqlglot>=26.3.8
|
|
21
22
|
Requires-Dist: jaydebeapi
|
|
22
23
|
Requires-Dist: aiobotocore~=2.23.0
|
|
@@ -46,7 +46,8 @@ setup(
|
|
|
46
46
|
"protobuf>=4.25.3,<5.0",
|
|
47
47
|
"s3fs>=2025.3.0", # prod-297255-inc0132291
|
|
48
48
|
"snowflake.core>=1.0.5,<2",
|
|
49
|
-
"snowflake-snowpark-python[pandas]==1.
|
|
49
|
+
"snowflake-snowpark-python[pandas]==1.40.0,<1.41.0",
|
|
50
|
+
"snowflake-connector-python>=3.18.0,<4.0.0",
|
|
50
51
|
"sqlglot>=26.3.8",
|
|
51
52
|
"jaydebeapi",
|
|
52
53
|
"aiobotocore~=2.23.0",
|
|
@@ -20,7 +20,12 @@ from snowflake.snowpark._internal.analyzer.analyzer_utils import (
|
|
|
20
20
|
from snowflake.snowpark._internal.utils import quote_name
|
|
21
21
|
from snowflake.snowpark.types import StructType
|
|
22
22
|
from snowflake.snowpark_connect.config import global_config
|
|
23
|
-
from snowflake.snowpark_connect.
|
|
23
|
+
from snowflake.snowpark_connect.error.error_codes import ErrorCodes
|
|
24
|
+
from snowflake.snowpark_connect.error.error_utils import attach_custom_error_code
|
|
25
|
+
from snowflake.snowpark_connect.utils.context import (
|
|
26
|
+
get_current_operation_scope,
|
|
27
|
+
get_is_processing_order_by,
|
|
28
|
+
)
|
|
24
29
|
from snowflake.snowpark_connect.utils.identifiers import (
|
|
25
30
|
split_fully_qualified_spark_name,
|
|
26
31
|
)
|
|
@@ -142,7 +147,7 @@ class ColumnNameMap:
|
|
|
142
147
|
parent_column_name_map: parent ColumnNameMap
|
|
143
148
|
"""
|
|
144
149
|
self.columns: list[ColumnNames] = []
|
|
145
|
-
self.spark_to_col = defaultdict(list)
|
|
150
|
+
self.spark_to_col: defaultdict[str, list[ColumnNames]] = defaultdict(list)
|
|
146
151
|
self.uppercase_spark_to_col = defaultdict(list)
|
|
147
152
|
self.snowpark_to_col = defaultdict(list)
|
|
148
153
|
self.is_case_sensitive = is_case_sensitive
|
|
@@ -353,18 +358,100 @@ class ColumnNameMap:
|
|
|
353
358
|
|
|
354
359
|
snowpark_names_len = len(snowpark_names)
|
|
355
360
|
if snowpark_names_len > 1:
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
361
|
+
# Check if this is a case where we have identical expressions that can be safely resolved to the first one
|
|
362
|
+
# This commonly happens with GROUP BY expressions that also appear in SELECT clauses
|
|
363
|
+
if (
|
|
364
|
+
get_is_processing_order_by()
|
|
365
|
+
and self._can_resolve_ambiguous_identical_expressions(
|
|
366
|
+
resolved_name, snowpark_names
|
|
367
|
+
)
|
|
368
|
+
):
|
|
369
|
+
# All the ambiguous columns represent the same expression, so we can safely use the first one
|
|
370
|
+
return snowpark_names[0]
|
|
371
|
+
else:
|
|
372
|
+
exception = AnalysisException(
|
|
373
|
+
f"Ambiguous spark column name {spark_column_name}, potential snowpark column names {snowpark_names}"
|
|
374
|
+
)
|
|
375
|
+
attach_custom_error_code(exception, ErrorCodes.AMBIGUOUS_COLUMN_NAME)
|
|
376
|
+
raise exception
|
|
359
377
|
elif snowpark_names_len == 0:
|
|
360
378
|
if allow_non_exists:
|
|
361
379
|
return None
|
|
362
380
|
else:
|
|
363
|
-
|
|
381
|
+
exception = AnalysisException(
|
|
364
382
|
f"Spark column name {spark_column_name} does not exist"
|
|
365
383
|
)
|
|
384
|
+
attach_custom_error_code(exception, ErrorCodes.COLUMN_NOT_FOUND)
|
|
385
|
+
raise exception
|
|
366
386
|
return snowpark_names[0]
|
|
367
387
|
|
|
388
|
+
def _can_resolve_ambiguous_identical_expressions(
|
|
389
|
+
self, spark_column_name: str, snowpark_names: list[str]
|
|
390
|
+
) -> bool:
|
|
391
|
+
"""
|
|
392
|
+
Determine if ambiguous columns represent identical expressions that can be safely resolved to the first one.
|
|
393
|
+
|
|
394
|
+
This handles the common case where the same expression (like a UDF call) appears multiple times
|
|
395
|
+
in a SELECT clause within a GROUP BY query. Since they're the same expression operating on the
|
|
396
|
+
same grouped data, they will have identical values, so we can safely resolve to any of them.
|
|
397
|
+
|
|
398
|
+
Args:
|
|
399
|
+
spark_column_name: The Spark column name that has multiple mappings, make sure resolve this reforehand
|
|
400
|
+
snowpark_names: List of Snowpark column names that map to this Spark column name
|
|
401
|
+
|
|
402
|
+
Returns:
|
|
403
|
+
True if we can safely resolve to the first snowpark column, False otherwise
|
|
404
|
+
"""
|
|
405
|
+
if spark_column_name not in self.spark_to_col:
|
|
406
|
+
return False
|
|
407
|
+
|
|
408
|
+
columns = self.spark_to_col[spark_column_name]
|
|
409
|
+
|
|
410
|
+
# If we don't have multiple columns, there's no ambiguity to resolve
|
|
411
|
+
if len(columns) <= 1:
|
|
412
|
+
return False
|
|
413
|
+
|
|
414
|
+
# Check if all the snowpark names correspond to columns that have identical underlying expressions
|
|
415
|
+
# We'll compare the actual column objects to see if they represent the same computation
|
|
416
|
+
first_column = columns[0]
|
|
417
|
+
|
|
418
|
+
for column in columns[1:]:
|
|
419
|
+
# Check snowpark_type attribute
|
|
420
|
+
# If one has the attribute but the other doesn't, they're different
|
|
421
|
+
if hasattr(first_column, "snowpark_type") != hasattr(
|
|
422
|
+
column, "snowpark_type"
|
|
423
|
+
):
|
|
424
|
+
return False
|
|
425
|
+
# If both have the attribute and values differ, they're different expressions
|
|
426
|
+
if (
|
|
427
|
+
hasattr(first_column, "snowpark_type")
|
|
428
|
+
and hasattr(column, "snowpark_type")
|
|
429
|
+
and first_column.snowpark_type != column.snowpark_type
|
|
430
|
+
):
|
|
431
|
+
return False
|
|
432
|
+
|
|
433
|
+
# Check qualifiers attribute
|
|
434
|
+
# If one has the attribute but the other doesn't, they're different
|
|
435
|
+
if hasattr(first_column, "qualifiers") != hasattr(column, "qualifiers"):
|
|
436
|
+
return False
|
|
437
|
+
# If both have the attribute and values differ, they might be from different contexts
|
|
438
|
+
if (
|
|
439
|
+
hasattr(first_column, "qualifiers")
|
|
440
|
+
and hasattr(column, "qualifiers")
|
|
441
|
+
and first_column.qualifiers != column.qualifiers
|
|
442
|
+
):
|
|
443
|
+
return False
|
|
444
|
+
|
|
445
|
+
# Additional safety check: ensure all snowpark names are actually in our mapping
|
|
446
|
+
for snowpark_name in snowpark_names:
|
|
447
|
+
if snowpark_name not in self.snowpark_to_col:
|
|
448
|
+
return False
|
|
449
|
+
|
|
450
|
+
# If we reach here, the columns appear to be identical expressions from the same context
|
|
451
|
+
# This commonly happens in GROUP BY scenarios where the same expression appears in both
|
|
452
|
+
# the grouping clause and the select clause
|
|
453
|
+
return True
|
|
454
|
+
|
|
368
455
|
def get_spark_column_names_from_snowpark_column_names(
|
|
369
456
|
self,
|
|
370
457
|
snowpark_column_names: list[str],
|
|
@@ -390,16 +477,20 @@ class ColumnNameMap:
|
|
|
390
477
|
)
|
|
391
478
|
spark_names_len = len(spark_names)
|
|
392
479
|
if spark_names_len > 1:
|
|
393
|
-
|
|
480
|
+
exception = AnalysisException(
|
|
394
481
|
f"Ambiguous snowpark column name {snowpark_column_name}, potential spark column names {spark_names}"
|
|
395
482
|
)
|
|
483
|
+
attach_custom_error_code(exception, ErrorCodes.AMBIGUOUS_COLUMN_NAME)
|
|
484
|
+
raise exception
|
|
396
485
|
elif spark_names_len == 0:
|
|
397
486
|
if allow_non_exists:
|
|
398
487
|
return None
|
|
399
488
|
else:
|
|
400
|
-
|
|
489
|
+
exception = AnalysisException(
|
|
401
490
|
f"Snowpark column name {snowpark_column_name} does not exist"
|
|
402
491
|
)
|
|
492
|
+
attach_custom_error_code(exception, ErrorCodes.COLUMN_NOT_FOUND)
|
|
493
|
+
raise exception
|
|
403
494
|
return spark_names[0]
|
|
404
495
|
|
|
405
496
|
def get_spark_column_name(self, idx: int) -> str:
|
|
@@ -604,14 +695,18 @@ class JoinColumnNameMap(ColumnNameMap):
|
|
|
604
695
|
if allow_non_exists:
|
|
605
696
|
return None
|
|
606
697
|
else:
|
|
607
|
-
|
|
698
|
+
exception = AnalysisException(
|
|
608
699
|
f"Spark column name {spark_column_name} does not exist in either left or right DataFrame"
|
|
609
700
|
)
|
|
701
|
+
attach_custom_error_code(exception, ErrorCodes.COLUMN_NOT_FOUND)
|
|
702
|
+
raise exception
|
|
610
703
|
|
|
611
704
|
if (snowpark_column_name_in_right is not None) and (
|
|
612
705
|
snowpark_column_name_in_left is not None
|
|
613
706
|
):
|
|
614
|
-
|
|
707
|
+
exception = AnalysisException(f"Ambiguous column name {spark_column_name}")
|
|
708
|
+
attach_custom_error_code(exception, ErrorCodes.AMBIGUOUS_COLUMN_NAME)
|
|
709
|
+
raise exception
|
|
615
710
|
|
|
616
711
|
snowpark_name = (
|
|
617
712
|
snowpark_column_name_in_right
|
|
@@ -637,57 +732,85 @@ class JoinColumnNameMap(ColumnNameMap):
|
|
|
637
732
|
def get_snowpark_column_names_from_spark_column_names(
|
|
638
733
|
self, spark_column_names: list[str], return_first: bool = False
|
|
639
734
|
) -> list[str]:
|
|
640
|
-
|
|
735
|
+
exception = NotImplementedError("Method not implemented!")
|
|
736
|
+
attach_custom_error_code(exception, ErrorCodes.INTERNAL_ERROR)
|
|
737
|
+
raise exception
|
|
641
738
|
|
|
642
739
|
def get_spark_column_names_from_snowpark_column_names(
|
|
643
740
|
self,
|
|
644
741
|
snowpark_column_names: list[str],
|
|
645
742
|
) -> list[str]:
|
|
646
|
-
|
|
743
|
+
exception = NotImplementedError("Method not implemented!")
|
|
744
|
+
attach_custom_error_code(exception, ErrorCodes.INTERNAL_ERROR)
|
|
745
|
+
raise exception
|
|
647
746
|
|
|
648
747
|
def get_spark_column_name_from_snowpark_column_name(
|
|
649
748
|
self, snowpark_column_name: str
|
|
650
749
|
) -> str:
|
|
651
|
-
|
|
750
|
+
exception = NotImplementedError("Method not implemented!")
|
|
751
|
+
attach_custom_error_code(exception, ErrorCodes.INTERNAL_ERROR)
|
|
752
|
+
raise exception
|
|
652
753
|
|
|
653
754
|
def get_spark_columns(self) -> list[str]:
|
|
654
|
-
|
|
755
|
+
exception = NotImplementedError("Method not implemented!")
|
|
756
|
+
attach_custom_error_code(exception, ErrorCodes.INTERNAL_ERROR)
|
|
757
|
+
raise exception
|
|
655
758
|
|
|
656
759
|
def get_snowpark_columns(self) -> list[str]:
|
|
657
|
-
|
|
760
|
+
exception = NotImplementedError("Method not implemented!")
|
|
761
|
+
attach_custom_error_code(exception, ErrorCodes.INTERNAL_ERROR)
|
|
762
|
+
raise exception
|
|
658
763
|
|
|
659
764
|
def get_snowpark_columns_after_drop(self, cols_to_drop: list[str]) -> list[str]:
|
|
660
|
-
|
|
765
|
+
exception = NotImplementedError("Method not implemented!")
|
|
766
|
+
attach_custom_error_code(exception, ErrorCodes.INTERNAL_ERROR)
|
|
767
|
+
raise exception
|
|
661
768
|
|
|
662
769
|
def get_renamed_nested_column_name(self, name) -> str | None:
|
|
663
|
-
|
|
770
|
+
exception = NotImplementedError("Method not implemented!")
|
|
771
|
+
attach_custom_error_code(exception, ErrorCodes.INTERNAL_ERROR)
|
|
772
|
+
raise exception
|
|
664
773
|
|
|
665
774
|
def has_spark_column(self, spark_column_name: str) -> bool:
|
|
666
|
-
|
|
775
|
+
exception = NotImplementedError("Method not implemented!")
|
|
776
|
+
attach_custom_error_code(exception, ErrorCodes.INTERNAL_ERROR)
|
|
777
|
+
raise exception
|
|
667
778
|
|
|
668
779
|
def snowpark_to_spark_map(self) -> dict[str, str]:
|
|
669
|
-
|
|
780
|
+
exception = NotImplementedError("Method not implemented!")
|
|
781
|
+
attach_custom_error_code(exception, ErrorCodes.INTERNAL_ERROR)
|
|
782
|
+
raise exception
|
|
670
783
|
|
|
671
784
|
def spark_to_snowpark_for_pattern(self, pattern: str) -> list[tuple[str, str]]:
|
|
672
|
-
|
|
785
|
+
exception = NotImplementedError("Method not implemented!")
|
|
786
|
+
attach_custom_error_code(exception, ErrorCodes.INTERNAL_ERROR)
|
|
787
|
+
raise exception
|
|
673
788
|
|
|
674
789
|
def with_columns(
|
|
675
790
|
self, new_spark_columns: list[str], new_snowpark_columns: list[str]
|
|
676
791
|
) -> tuple[list[str], list[str], list[list[str]]]:
|
|
677
|
-
|
|
792
|
+
exception = NotImplementedError("Method not implemented!")
|
|
793
|
+
attach_custom_error_code(exception, ErrorCodes.INTERNAL_ERROR)
|
|
794
|
+
raise exception
|
|
678
795
|
|
|
679
796
|
def get_qualifiers(self) -> list[list[str]]:
|
|
680
|
-
|
|
797
|
+
exception = NotImplementedError("Method not implemented!")
|
|
798
|
+
attach_custom_error_code(exception, ErrorCodes.INTERNAL_ERROR)
|
|
799
|
+
raise exception
|
|
681
800
|
|
|
682
801
|
def get_qualifiers_for_columns_after_drop(
|
|
683
802
|
self, cols_to_drop: list[str]
|
|
684
803
|
) -> list[list[str]]:
|
|
685
|
-
|
|
804
|
+
exception = NotImplementedError("Method not implemented!")
|
|
805
|
+
attach_custom_error_code(exception, ErrorCodes.INTERNAL_ERROR)
|
|
806
|
+
raise exception
|
|
686
807
|
|
|
687
808
|
def get_spark_and_snowpark_columns_with_qualifier_for_qualifier(
|
|
688
809
|
self, qualifiers_input: list[str]
|
|
689
810
|
) -> tuple[list[str], list[str], list[list[str]]]:
|
|
690
|
-
|
|
811
|
+
exception = NotImplementedError("Method not implemented!")
|
|
812
|
+
attach_custom_error_code(exception, ErrorCodes.INTERNAL_ERROR)
|
|
813
|
+
raise exception
|
|
691
814
|
|
|
692
815
|
def get_qualifier_for_spark_column(self, spark_column_name: str) -> list[str]:
|
|
693
816
|
|
|
@@ -699,6 +822,8 @@ class JoinColumnNameMap(ColumnNameMap):
|
|
|
699
822
|
)
|
|
700
823
|
|
|
701
824
|
if (len(qualifier_left) > 0) and (len(qualifier_right) > 0):
|
|
702
|
-
|
|
825
|
+
exception = AnalysisException(f"Ambiguous column name {spark_column_name}")
|
|
826
|
+
attach_custom_error_code(exception, ErrorCodes.AMBIGUOUS_COLUMN_NAME)
|
|
827
|
+
raise exception
|
|
703
828
|
|
|
704
829
|
return qualifier_right if len(qualifier_left) == 0 else qualifier_left
|
{snowpark_connect-0.30.1 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/config.py
RENAMED
|
@@ -21,8 +21,13 @@ from snowflake.snowpark._internal.analyzer.analyzer_utils import (
|
|
|
21
21
|
)
|
|
22
22
|
from snowflake.snowpark.exceptions import SnowparkSQLException
|
|
23
23
|
from snowflake.snowpark.types import TimestampTimeZone, TimestampType
|
|
24
|
+
from snowflake.snowpark_connect.error.error_codes import ErrorCodes
|
|
25
|
+
from snowflake.snowpark_connect.error.error_utils import attach_custom_error_code
|
|
24
26
|
from snowflake.snowpark_connect.utils.concurrent import SynchronizedDict
|
|
25
|
-
from snowflake.snowpark_connect.utils.context import
|
|
27
|
+
from snowflake.snowpark_connect.utils.context import (
|
|
28
|
+
get_jpype_jclass_lock,
|
|
29
|
+
get_session_id,
|
|
30
|
+
)
|
|
26
31
|
from snowflake.snowpark_connect.utils.external_udxf_cache import (
|
|
27
32
|
clear_external_udxf_cache,
|
|
28
33
|
)
|
|
@@ -291,7 +296,6 @@ class SessionConfig:
|
|
|
291
296
|
"""This class contains the session configuration for the Spark Server."""
|
|
292
297
|
|
|
293
298
|
default_session_config = {
|
|
294
|
-
"snowpark.connect.sql.identifiers.auto-uppercase": "all_except_columns",
|
|
295
299
|
"snowpark.connect.sql.passthrough": "false",
|
|
296
300
|
"snowpark.connect.cte.optimization_enabled": "false",
|
|
297
301
|
"snowpark.connect.udtf.compatibility_mode": "false",
|
|
@@ -359,9 +363,11 @@ def route_config_proto(
|
|
|
359
363
|
if not pair.HasField("value"):
|
|
360
364
|
from pyspark.errors import IllegalArgumentException
|
|
361
365
|
|
|
362
|
-
|
|
366
|
+
exception = IllegalArgumentException(
|
|
363
367
|
f"Cannot set config '{pair.key}' to None"
|
|
364
368
|
)
|
|
369
|
+
attach_custom_error_code(exception, ErrorCodes.INVALID_CONFIG_VALUE)
|
|
370
|
+
raise exception
|
|
365
371
|
|
|
366
372
|
set_config_param(
|
|
367
373
|
config.session_id, pair.key, pair.value, snowpark_session
|
|
@@ -444,7 +450,11 @@ def route_config_proto(
|
|
|
444
450
|
pair.value = str(global_config.is_modifiable(key)).lower()
|
|
445
451
|
return res
|
|
446
452
|
case _:
|
|
447
|
-
|
|
453
|
+
exception = SnowparkConnectNotImplementedError(
|
|
454
|
+
f"Unexpected request {config}"
|
|
455
|
+
)
|
|
456
|
+
attach_custom_error_code(exception, ErrorCodes.UNSUPPORTED_OPERATION)
|
|
457
|
+
raise exception
|
|
448
458
|
|
|
449
459
|
|
|
450
460
|
def set_config_param(
|
|
@@ -484,19 +494,27 @@ def _verify_static_config_not_modified(key: str) -> None:
|
|
|
484
494
|
# https://github.com/apache/spark/blob/v3.5.3/sql/core/src/main/scala/org/apache/spark/sql/RuntimeConfig.scala#L161
|
|
485
495
|
# Spark does not allow to modify static configurations at runtime.
|
|
486
496
|
if global_config.is_static_config(key) and global_config.is_set(key):
|
|
487
|
-
|
|
497
|
+
exception = ValueError(f"Cannot modify the value of a static config: {key}")
|
|
498
|
+
attach_custom_error_code(exception, ErrorCodes.CONFIG_CHANGE_NOT_ALLOWED)
|
|
499
|
+
raise exception
|
|
488
500
|
|
|
489
501
|
|
|
490
502
|
def _verify_is_valid_config_value(key: str, value: Any) -> None:
|
|
491
503
|
if key in CONFIG_ALLOWED_VALUES and value not in CONFIG_ALLOWED_VALUES[key]:
|
|
492
|
-
|
|
504
|
+
exception = ValueError(
|
|
493
505
|
f"Invalid value '{value}' for key '{key}'. Allowed values: {', '.join(CONFIG_ALLOWED_VALUES[key])}."
|
|
494
506
|
)
|
|
507
|
+
attach_custom_error_code(exception, ErrorCodes.INVALID_CONFIG_VALUE)
|
|
508
|
+
raise exception
|
|
495
509
|
|
|
496
510
|
|
|
497
511
|
def _verify_is_not_readonly_config(key):
|
|
498
512
|
if key in global_config.readonly_config_list:
|
|
499
|
-
|
|
513
|
+
exception = ValueError(
|
|
514
|
+
f"Config with key {key} is read-only and cannot be modified."
|
|
515
|
+
)
|
|
516
|
+
attach_custom_error_code(exception, ErrorCodes.CONFIG_CHANGE_NOT_ALLOWED)
|
|
517
|
+
raise exception
|
|
500
518
|
|
|
501
519
|
|
|
502
520
|
def set_jvm_timezone(timezone_id: str):
|
|
@@ -513,10 +531,13 @@ def set_jvm_timezone(timezone_id: str):
|
|
|
513
531
|
RuntimeError: If JVM is not started
|
|
514
532
|
"""
|
|
515
533
|
if not jpype.isJVMStarted():
|
|
516
|
-
|
|
534
|
+
exception = RuntimeError("JVM must be started before setting timezone")
|
|
535
|
+
attach_custom_error_code(exception, ErrorCodes.INTERNAL_ERROR)
|
|
536
|
+
raise exception
|
|
517
537
|
|
|
518
538
|
try:
|
|
519
|
-
|
|
539
|
+
with get_jpype_jclass_lock():
|
|
540
|
+
TimeZone = jpype.JClass("java.util.TimeZone")
|
|
520
541
|
new_timezone = TimeZone.getTimeZone(timezone_id)
|
|
521
542
|
TimeZone.setDefault(new_timezone)
|
|
522
543
|
|
|
@@ -528,7 +549,9 @@ def set_jvm_timezone(timezone_id: str):
|
|
|
528
549
|
def reset_jvm_timezone_to_system_default():
|
|
529
550
|
"""Reset JVM timezone to the system's default timezone"""
|
|
530
551
|
if not jpype.isJVMStarted():
|
|
531
|
-
|
|
552
|
+
exception = RuntimeError("JVM must be started first")
|
|
553
|
+
attach_custom_error_code(exception, ErrorCodes.INTERNAL_ERROR)
|
|
554
|
+
raise exception
|
|
532
555
|
|
|
533
556
|
try:
|
|
534
557
|
TimeZone = jpype.JClass("java.util.TimeZone")
|
|
@@ -537,9 +560,13 @@ def reset_jvm_timezone_to_system_default():
|
|
|
537
560
|
f"Reset JVM timezone to system default: {TimeZone.getDefault().getID()}"
|
|
538
561
|
)
|
|
539
562
|
except jpype.JException as e:
|
|
540
|
-
|
|
563
|
+
exception = RuntimeError(f"Java exception while resetting timezone: {e}")
|
|
564
|
+
attach_custom_error_code(exception, ErrorCodes.INTERNAL_ERROR)
|
|
565
|
+
raise exception
|
|
541
566
|
except Exception as e:
|
|
542
|
-
|
|
567
|
+
exception = RuntimeError(f"Unexpected error resetting JVM timezone: {e}")
|
|
568
|
+
attach_custom_error_code(exception, ErrorCodes.INTERNAL_ERROR)
|
|
569
|
+
raise exception
|
|
543
570
|
|
|
544
571
|
|
|
545
572
|
def set_snowflake_parameters(
|
|
@@ -629,16 +656,24 @@ def get_describe_cache_ttl_seconds() -> int:
|
|
|
629
656
|
|
|
630
657
|
def auto_uppercase_column_identifiers() -> bool:
|
|
631
658
|
session_config = sessions_config[get_session_id()]
|
|
632
|
-
|
|
659
|
+
auto_upper_case_config = session_config[
|
|
633
660
|
"snowpark.connect.sql.identifiers.auto-uppercase"
|
|
634
|
-
]
|
|
661
|
+
]
|
|
662
|
+
if auto_upper_case_config:
|
|
663
|
+
return auto_upper_case_config.lower() in ("all", "only_columns")
|
|
664
|
+
|
|
665
|
+
return not global_config.spark_sql_caseSensitive
|
|
635
666
|
|
|
636
667
|
|
|
637
668
|
def auto_uppercase_non_column_identifiers() -> bool:
|
|
638
669
|
session_config = sessions_config[get_session_id()]
|
|
639
|
-
|
|
670
|
+
auto_upper_case_config = session_config[
|
|
640
671
|
"snowpark.connect.sql.identifiers.auto-uppercase"
|
|
641
|
-
]
|
|
672
|
+
]
|
|
673
|
+
if auto_upper_case_config:
|
|
674
|
+
return auto_upper_case_config.lower() in ("all", "all_except_columns")
|
|
675
|
+
|
|
676
|
+
return not global_config.spark_sql_caseSensitive
|
|
642
677
|
|
|
643
678
|
|
|
644
679
|
def parse_imports(session: snowpark.Session, imports: str | None) -> None:
|
|
@@ -24,6 +24,8 @@
|
|
|
24
24
|
from pyspark.errors.exceptions.base import DateTimeException
|
|
25
25
|
|
|
26
26
|
from snowflake.snowpark.types import DataType, StringType
|
|
27
|
+
from snowflake.snowpark_connect.error.error_codes import ErrorCodes
|
|
28
|
+
from snowflake.snowpark_connect.error.error_utils import attach_custom_error_code
|
|
27
29
|
|
|
28
30
|
|
|
29
31
|
# TODO: There are more patterns where spark may throw an error.
|
|
@@ -229,9 +231,11 @@ def convert_spark_format_to_snowflake(
|
|
|
229
231
|
timestamp_input_type: DataType | None = None,
|
|
230
232
|
):
|
|
231
233
|
if spark_format in {"Y", "w", "W"}:
|
|
232
|
-
|
|
234
|
+
exception = DateTimeException(
|
|
233
235
|
f"Fail to recognize '{spark_format}' pattern in the DateTimeFormatter."
|
|
234
236
|
)
|
|
237
|
+
attach_custom_error_code(exception, ErrorCodes.INVALID_FUNCTION_ARGUMENT)
|
|
238
|
+
raise exception
|
|
235
239
|
snowflake_format = ""
|
|
236
240
|
i = 0
|
|
237
241
|
n = len(spark_format)
|
|
@@ -299,28 +303,46 @@ def convert_spark_format_to_snowflake(
|
|
|
299
303
|
# Spark's 'a' would be at most 1 times
|
|
300
304
|
is_valid_a_pattern = spark_format[i : i + 2] != char * 2
|
|
301
305
|
if not is_valid_a_pattern:
|
|
302
|
-
|
|
306
|
+
exception = DateTimeException(
|
|
303
307
|
f"Fail to recognize '{spark_format}' pattern in the DateTimeFormatter"
|
|
304
308
|
)
|
|
309
|
+
attach_custom_error_code(
|
|
310
|
+
exception, ErrorCodes.INVALID_FUNCTION_ARGUMENT
|
|
311
|
+
)
|
|
312
|
+
raise exception
|
|
305
313
|
case "h" | "K" | "k" | "H" | "m" | "s" | "d":
|
|
306
314
|
# Spark's characters would be at most 2 times
|
|
307
315
|
is_valid_2_patterns = spark_format[i : i + 3] != char * 3
|
|
308
316
|
if not is_valid_2_patterns:
|
|
309
|
-
|
|
317
|
+
exception = DateTimeException(
|
|
310
318
|
f"Fail to recognize '{spark_format}' pattern in the DateTimeFormatter"
|
|
311
319
|
)
|
|
320
|
+
attach_custom_error_code(
|
|
321
|
+
exception, ErrorCodes.INVALID_FUNCTION_ARGUMENT
|
|
322
|
+
)
|
|
323
|
+
raise exception
|
|
312
324
|
case "D":
|
|
313
325
|
# Spark's 'D'' would be at most 3 times
|
|
314
326
|
is_valid_D_patterns = spark_format[i : i + 4] != char * 4
|
|
315
327
|
if not is_valid_D_patterns:
|
|
316
|
-
|
|
328
|
+
exception = DateTimeException(
|
|
317
329
|
f"Fail to recognize '{spark_format}' pattern in the DateTimeFormatter"
|
|
318
330
|
)
|
|
331
|
+
attach_custom_error_code(
|
|
332
|
+
exception, ErrorCodes.INVALID_FUNCTION_ARGUMENT
|
|
333
|
+
)
|
|
334
|
+
raise exception
|
|
319
335
|
case "V":
|
|
320
336
|
# Spark's 'V' for Zone ID requires 'VV'. A single 'V' is invalid.
|
|
321
337
|
is_valid_vv_pattern = spark_format[i : i + 2] == "VV"
|
|
322
338
|
if not is_valid_vv_pattern:
|
|
323
|
-
|
|
339
|
+
exception = DateTimeException(
|
|
340
|
+
"Pattern letter count must be 2: V"
|
|
341
|
+
)
|
|
342
|
+
attach_custom_error_code(
|
|
343
|
+
exception, ErrorCodes.INVALID_FUNCTION_ARGUMENT
|
|
344
|
+
)
|
|
345
|
+
raise exception
|
|
324
346
|
case "O":
|
|
325
347
|
# Spark's 'O' would be either 1 or 4.
|
|
326
348
|
is_valid_o_or_oooo_pattern = spark_format[i : i + 2] != "OO" or (
|
|
@@ -328,28 +350,52 @@ def convert_spark_format_to_snowflake(
|
|
|
328
350
|
and spark_format[i : i + 5] != "OOOOO"
|
|
329
351
|
)
|
|
330
352
|
if not is_valid_o_or_oooo_pattern:
|
|
331
|
-
|
|
353
|
+
exception = DateTimeException(
|
|
332
354
|
"Pattern letter count must be 1 or 4: O"
|
|
333
355
|
)
|
|
356
|
+
attach_custom_error_code(
|
|
357
|
+
exception, ErrorCodes.INVALID_FUNCTION_ARGUMENT
|
|
358
|
+
)
|
|
359
|
+
raise exception
|
|
334
360
|
case "q" | "Q" | "z" | "E":
|
|
335
361
|
# Spark's characters would be at most 4 times
|
|
336
362
|
is_valid_4_patterns = spark_format[i : i + 5] != char * 5
|
|
337
363
|
if not is_valid_4_patterns:
|
|
338
|
-
|
|
364
|
+
exception = DateTimeException(
|
|
365
|
+
f"Too many pattern letters: {char}"
|
|
366
|
+
)
|
|
367
|
+
attach_custom_error_code(
|
|
368
|
+
exception, ErrorCodes.INVALID_FUNCTION_ARGUMENT
|
|
369
|
+
)
|
|
370
|
+
raise exception
|
|
339
371
|
case "x" | "X" | "Z":
|
|
340
372
|
# Spark's 'x' or 'X' or 'z' or 'Z' would be at most 5 times
|
|
341
373
|
is_valid_xz_pattern = spark_format[i : i + 6] != char * 6
|
|
342
374
|
if not is_valid_xz_pattern:
|
|
343
|
-
|
|
375
|
+
exception = DateTimeException(
|
|
376
|
+
f"Too many pattern letters: {char}"
|
|
377
|
+
)
|
|
378
|
+
attach_custom_error_code(
|
|
379
|
+
exception, ErrorCodes.INVALID_FUNCTION_ARGUMENT
|
|
380
|
+
)
|
|
381
|
+
raise exception
|
|
344
382
|
case "y":
|
|
345
383
|
# Spark's 'y' would be at most 6 times
|
|
346
384
|
is_valid_y_pattern = spark_format[i : i + 7] != char * 7
|
|
347
385
|
if not is_valid_y_pattern:
|
|
348
|
-
|
|
386
|
+
exception = DateTimeException(
|
|
349
387
|
f"Fail to recognize '{spark_format}' pattern in the DateTimeFormatter"
|
|
350
388
|
)
|
|
389
|
+
attach_custom_error_code(
|
|
390
|
+
exception, ErrorCodes.INVALID_FUNCTION_ARGUMENT
|
|
391
|
+
)
|
|
392
|
+
raise exception
|
|
351
393
|
case "C" | "I":
|
|
352
|
-
|
|
394
|
+
exception = DateTimeException(f"Unknown pattern letter: {char}")
|
|
395
|
+
attach_custom_error_code(
|
|
396
|
+
exception, ErrorCodes.INVALID_FUNCTION_ARGUMENT
|
|
397
|
+
)
|
|
398
|
+
raise exception
|
|
353
399
|
|
|
354
400
|
if (
|
|
355
401
|
spark_format[i : i + 5] in {"M" * 5, "L" * 5}
|
|
@@ -362,9 +408,13 @@ def convert_spark_format_to_snowflake(
|
|
|
362
408
|
or spark_format[i : i + 3] in {"kkk", "KKK"}
|
|
363
409
|
or spark_format[i : i + 10] == "SSSSSSSSSS"
|
|
364
410
|
):
|
|
365
|
-
|
|
411
|
+
exception = DateTimeException(
|
|
366
412
|
f"Fail to recognize '{spark_format}' pattern in the DateTimeFormatter."
|
|
367
413
|
)
|
|
414
|
+
attach_custom_error_code(
|
|
415
|
+
exception, ErrorCodes.INVALID_FUNCTION_ARGUMENT
|
|
416
|
+
)
|
|
417
|
+
raise exception
|
|
368
418
|
|
|
369
419
|
matched_pattern = False
|
|
370
420
|
|
|
@@ -375,7 +425,11 @@ def convert_spark_format_to_snowflake(
|
|
|
375
425
|
spark_key
|
|
376
426
|
]
|
|
377
427
|
if isinstance(snowflake_equivalent, _UnsupportedSparkFormatPattern):
|
|
378
|
-
|
|
428
|
+
exception = DateTimeException(snowflake_equivalent.message)
|
|
429
|
+
attach_custom_error_code(
|
|
430
|
+
exception, ErrorCodes.UNSUPPORTED_OPERATION
|
|
431
|
+
)
|
|
432
|
+
raise exception
|
|
379
433
|
if snowflake_equivalent is not None:
|
|
380
434
|
snowflake_format += snowflake_equivalent
|
|
381
435
|
i += len(spark_key)
|
|
@@ -389,7 +443,11 @@ def convert_spark_format_to_snowflake(
|
|
|
389
443
|
isinstance(timestamp_input_type, StringType)
|
|
390
444
|
and char not in snowflake_time_format_separator
|
|
391
445
|
):
|
|
392
|
-
|
|
446
|
+
exception = DateTimeException(f"Illegal pattern character: {char}")
|
|
447
|
+
attach_custom_error_code(
|
|
448
|
+
exception, ErrorCodes.INVALID_FUNCTION_ARGUMENT
|
|
449
|
+
)
|
|
450
|
+
raise exception
|
|
393
451
|
|
|
394
452
|
snowflake_format += f'"{char}"'
|
|
395
453
|
i += 1
|