snowpark-connect 0.33.0__tar.gz → 1.0.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.33.0/src/snowpark_connect.egg-info → snowpark_connect-1.0.0}/PKG-INFO +2 -2
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/setup.py +1 -1
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/column_name_handler.py +42 -56
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/config.py +9 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/expression/literal.py +12 -12
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/expression/map_sql_expression.py +6 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/expression/map_unresolved_attribute.py +147 -63
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/expression/map_unresolved_function.py +31 -28
- snowpark_connect-1.0.0/src/snowflake/snowpark_connect/relation/map_aggregate.py +385 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/map_column_ops.py +14 -0
- snowpark_connect-1.0.0/src/snowflake/snowpark_connect/relation/map_join.py +574 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/map_sql.py +309 -150
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/read/map_read.py +9 -1
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/read/map_read_csv.py +19 -2
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/read/map_read_json.py +3 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/read/map_read_parquet.py +3 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/read/map_read_text.py +4 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/read/reader_config.py +10 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/read/utils.py +41 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/utils.py +4 -2
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/write/map_write.py +65 -17
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/context.py +0 -14
- snowpark_connect-1.0.0/src/snowflake/snowpark_connect/utils/expression_transformer.py +163 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/session.py +0 -4
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/udf_helper.py +1 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/udtf_helper.py +3 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/version.py +1 -1
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0/src/snowpark_connect.egg-info}/PKG-INFO +2 -2
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowpark_connect.egg-info/SOURCES.txt +1 -4
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowpark_connect.egg-info/requires.txt +1 -1
- snowpark_connect-0.33.0/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/spark/__init__.py +0 -16
- snowpark_connect-0.33.0/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/spark/accessors.py +0 -1281
- snowpark_connect-0.33.0/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/spark/functions.py +0 -203
- snowpark_connect-0.33.0/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/spark/utils.py +0 -202
- snowpark_connect-0.33.0/src/snowflake/snowpark_connect/relation/map_aggregate.py +0 -484
- snowpark_connect-0.33.0/src/snowflake/snowpark_connect/relation/map_join.py +0 -444
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/LICENSE-binary +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/LICENSE.txt +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/NOTICE-binary +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/README.md +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/setup.cfg +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/analyze_plan/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/analyze_plan/map_tree_string.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/client.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/column_qualifier.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/constants.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/control_server.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/dataframe_container.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/dataframe_name_handler.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/date_time_format_mapping.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/empty_dataframe.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/error/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/error/error_codes.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/error/error_mapping.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/error/error_utils.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/error/exceptions.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/execute_plan/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/execute_plan/map_execution_command.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/execute_plan/map_execution_root.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/execute_plan/utils.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/expression/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/expression/function_defaults.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/expression/hybrid_column_map.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/expression/map_cast.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/expression/map_expression.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/expression/map_extension.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/expression/map_udf.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/expression/map_unresolved_extract_value.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/expression/map_unresolved_star.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/expression/map_update_fields.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/expression/map_window_function.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/expression/typer.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/_globals.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/_typing.pyi +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/accumulators.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/broadcast.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/cloudpickle/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/cloudpickle/cloudpickle.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/cloudpickle/cloudpickle_fast.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/cloudpickle/compat.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/conf.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/context.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/daemon.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/error_classes.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/exceptions/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/exceptions/base.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/exceptions/captured.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/exceptions/connect.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/utils.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/files.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/find_spark_home.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/install.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/instrumentation_utils.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/java_gateway.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/join.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/_typing.pyi +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/base.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/classification.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/clustering.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/common.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/base.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/classification.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/evaluation.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/feature.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/functions.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/io_utils.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/pipeline.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/summarizer.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/tuning.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/util.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/deepspeed/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/deepspeed/deepspeed_distributor.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/dl_util.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/evaluation.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/feature.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/fpm.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/functions.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/image.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/linalg/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/model_cache.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/param/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/param/_shared_params_code_gen.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/param/shared.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/pipeline.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/recommendation.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/regression.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/stat.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/torch/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/torch/data.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/torch/distributor.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/torch/log_communication.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/torch/torch_run_process_wrapper.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/tree.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/tuning.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/util.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/wrapper.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/_typing.pyi +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/classification.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/clustering.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/common.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/evaluation.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/feature.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/fpm.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/linalg/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/linalg/distributed.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/random.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/recommendation.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/regression.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/stat/KernelDensity.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/stat/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/stat/_statistics.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/stat/distribution.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/stat/test.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/tree.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/util.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/_typing.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/accessors.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/base.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/categorical.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/config.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/correlation.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/base.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/binary_ops.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/boolean_ops.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/categorical_ops.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/complex_ops.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/date_ops.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/datetime_ops.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/null_ops.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/num_ops.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/string_ops.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/timedelta_ops.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/udt_ops.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/datetimes.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/exceptions.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/extensions.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/frame.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/generic.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/groupby.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/base.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/category.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/datetimes.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/multi.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/numeric.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/timedelta.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexing.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/internal.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/common.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/frame.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/general_functions.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/groupby.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/indexes.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/resample.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/scalars.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/series.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/window.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/mlflow.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/namespace.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/numpy_compat.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/plot/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/plot/core.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/plot/matplotlib.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/plot/plotly.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/resample.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/series.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/sql_formatter.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/sql_processor.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/strings.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/supported_api_gen.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/typedef/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/typedef/typehints.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/usage_logging/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/usage_logging/usage_logger.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/utils.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/window.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/profiler.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/py.typed +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/python/pyspark/shell.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/rdd.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/rddsampler.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/resource/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/resource/information.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/resource/profile.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/resource/requests.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/resultiterable.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/serializers.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/shell.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/shuffle.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/_typing.pyi +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/avro/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/avro/functions.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/catalog.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/column.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/conf.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/_typing.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/avro/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/avro/functions.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/catalog.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/client/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/client/artifact.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/client/core.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/client/reattach.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/column.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/conf.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/conversion.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/dataframe.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/expressions.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/functions.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/group.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/plan.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/base_pb2.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/base_pb2.pyi +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/base_pb2_grpc.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/catalog_pb2.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/catalog_pb2.pyi +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/commands_pb2.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/commands_pb2.pyi +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/common_pb2.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/common_pb2.pyi +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/example_plugins_pb2.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/example_plugins_pb2.pyi +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/expressions_pb2.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/expressions_pb2.pyi +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/relations_pb2.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/relations_pb2.pyi +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/types_pb2.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/types_pb2.pyi +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/protobuf/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/protobuf/functions.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/readwriter.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/session.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/streaming/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/streaming/query.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/streaming/readwriter.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/streaming/worker/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/streaming/worker/foreach_batch_worker.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/streaming/worker/listener_worker.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/types.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/udf.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/udtf.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/utils.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/window.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/context.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/dataframe.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/functions.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/group.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/observation.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/_typing/__init__.pyi +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/_typing/protocols/__init__.pyi +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/_typing/protocols/frame.pyi +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/_typing/protocols/series.pyi +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/conversion.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/functions.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/functions.pyi +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/group_ops.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/map_ops.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/serializers.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/typehints.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/types.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/utils.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/protobuf/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/protobuf/functions.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/readwriter.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/session.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/sql_formatter.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/streaming/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/streaming/listener.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/streaming/query.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/streaming/readwriter.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/streaming/state.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/types.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/udf.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/udtf.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/utils.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/window.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/statcounter.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/status.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/storagelevel.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/streaming/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/streaming/context.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/streaming/dstream.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/streaming/kinesis.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/streaming/listener.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/streaming/util.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/taskcontext.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/connectutils.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/mllibutils.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/mlutils.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/objects.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/pandasutils.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/sqlutils.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/streamingutils.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/utils.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/traceback_utils.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/util.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/version.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/worker.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/worker_util.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/proto/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/proto/control_pb2.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/proto/control_pb2.pyi +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/proto/control_pb2_grpc.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/proto/snowflake_expression_ext_pb2.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/proto/snowflake_expression_ext_pb2.pyi +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/proto/snowflake_rdd_pb2.pyi +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/proto/snowflake_relation_ext_pb2.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/proto/snowflake_relation_ext_pb2.pyi +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/catalogs/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/catalogs/abstract_spark_catalog.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/catalogs/snowflake_catalog.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/catalogs/utils.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/io_utils.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/map_catalog.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/map_crosstab.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/map_extension.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/map_local_relation.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/map_map_partitions.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/map_relation.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/map_row_ops.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/map_sample_by.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/map_show_string.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/map_stats.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/map_subquery_alias.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/map_udtf.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/read/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/read/jdbc_read_dbapi.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/read/map_read_jdbc.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/read/map_read_socket.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/read/map_read_table.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/read/metadata_utils.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/stage_locator.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/write/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/write/jdbc_write_dbapi.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/write/map_write_jdbc.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/resources/java_udfs-1.0-SNAPSHOT.jar +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/resources_initializer.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/server.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/start_server.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/tcm.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/type_mapping.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/typed_column.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/artifacts.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/cache.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/concurrent.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/describe_query_cache.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/env_utils.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/external_udxf_cache.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/identifiers.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/interrupt.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/io_utils.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/pandas_udtf_utils.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/profiling.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/scala_udf_utils.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/sequence.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/snowpark_connect_logging.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/telemetry.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/temporary_view_cache.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/udf_cache.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/udf_utils.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/udtf_utils.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/udxf_import_utils.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/xxhash64.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_decoder/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_decoder/_internal/proto/generated/DataframeProcessorMsg_pb2.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_decoder/_internal/proto/generated/DataframeProcessorMsg_pb2.pyi +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_decoder/dp_session.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_decoder/spark_decoder.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowpark_connect.egg-info/dependency_links.txt +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/snowpark_connect.egg-info/top_level.txt +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/spark/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/spark/connect/__init__.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/spark/connect/envelope_pb2.py +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/src/spark/connect/envelope_pb2.pyi +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/tools/snowpark-connect +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.0}/tools/snowpark-session +0 -0
- {snowpark_connect-0.33.0 → snowpark_connect-1.0.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: 1.0.0
|
|
4
4
|
Summary: Snowpark Connect for Spark
|
|
5
5
|
Author: Snowflake, Inc
|
|
6
6
|
License: Apache License, Version 2.0
|
|
@@ -18,7 +18,7 @@ Requires-Dist: jpype1
|
|
|
18
18
|
Requires-Dist: protobuf<6.32.0,>=4.25.3
|
|
19
19
|
Requires-Dist: s3fs>=2025.3.0
|
|
20
20
|
Requires-Dist: snowflake.core<2,>=1.0.5
|
|
21
|
-
Requires-Dist: snowflake-snowpark-python[pandas]<1.
|
|
21
|
+
Requires-Dist: snowflake-snowpark-python[pandas]<1.43.0,==1.42.0
|
|
22
22
|
Requires-Dist: snowflake-connector-python<4.0.0,>=3.18.0
|
|
23
23
|
Requires-Dist: sqlglot>=26.3.8
|
|
24
24
|
Requires-Dist: jaydebeapi
|
|
@@ -47,7 +47,7 @@ setup(
|
|
|
47
47
|
"protobuf>=4.25.3,<6.32.0",
|
|
48
48
|
"s3fs>=2025.3.0", # prod-297255-inc0132291
|
|
49
49
|
"snowflake.core>=1.0.5,<2",
|
|
50
|
-
"snowflake-snowpark-python[pandas]==1.
|
|
50
|
+
"snowflake-snowpark-python[pandas]==1.42.0,<1.43.0",
|
|
51
51
|
"snowflake-connector-python>=3.18.0,<4.0.0",
|
|
52
52
|
"sqlglot>=26.3.8",
|
|
53
53
|
"jaydebeapi",
|
|
@@ -98,7 +98,7 @@ def make_unique_snowpark_name(spark_name: str) -> str:
|
|
|
98
98
|
Returns a snowpark column name that's guaranteed to be unique in this session,
|
|
99
99
|
by appending "#<unique number>" to the given spark name.
|
|
100
100
|
"""
|
|
101
|
-
return quote_name(f"{spark_name}
|
|
101
|
+
return quote_name(f"{spark_name}-{next_unique_num():x}")
|
|
102
102
|
|
|
103
103
|
|
|
104
104
|
@dataclass(frozen=True)
|
|
@@ -621,55 +621,59 @@ class ColumnNameMap:
|
|
|
621
621
|
return spark_name.upper()
|
|
622
622
|
|
|
623
623
|
def get_columns_after_join(
|
|
624
|
-
self,
|
|
624
|
+
self, right: ColumnNameMap, join_columns: list[str], join_type: str
|
|
625
625
|
) -> list[ColumnNames]:
|
|
626
626
|
"""
|
|
627
627
|
Returns a list of columns (names and qualifiers) after a using_columns join with the given column map
|
|
628
628
|
"""
|
|
629
629
|
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
630
|
+
# first, let's gather right-side join columns for qualifier lookup
|
|
631
|
+
# and the remaining columns to append them to the result
|
|
632
|
+
join_column_names = [self._normalized_spark_name(c) for c in join_columns]
|
|
633
|
+
right_join_columns: dict[str, ColumnNames] = {}
|
|
634
|
+
right_remaining_columns: list[ColumnNames] = []
|
|
635
|
+
for oc in right.columns:
|
|
634
636
|
col_name = self._normalized_spark_name(oc.spark_name)
|
|
635
637
|
# only take the first matching column
|
|
636
|
-
if col_name in join_column_names and col_name not in
|
|
637
|
-
|
|
638
|
+
if col_name in join_column_names and col_name not in right_join_columns:
|
|
639
|
+
right_join_columns[col_name] = oc
|
|
638
640
|
else:
|
|
639
|
-
|
|
641
|
+
right_remaining_columns.append(oc)
|
|
640
642
|
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
643
|
+
# now gather left-side columns
|
|
644
|
+
left_join_columns: dict[str, ColumnNames] = {}
|
|
645
|
+
left_remaining_columns: list[ColumnNames] = []
|
|
644
646
|
for c in self.columns:
|
|
645
647
|
col_name = self._normalized_spark_name(c.spark_name)
|
|
646
|
-
if col_name in join_column_names and col_name not in
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
648
|
+
if col_name in join_column_names and col_name not in left_join_columns:
|
|
649
|
+
# only assign join-side qualifier for outer joins
|
|
650
|
+
match join_type:
|
|
651
|
+
case "left":
|
|
652
|
+
qualifiers = c.qualifiers
|
|
653
|
+
case "right":
|
|
654
|
+
qualifiers = right_join_columns[col_name].qualifiers
|
|
655
|
+
case _:
|
|
656
|
+
qualifiers = (
|
|
657
|
+
c.qualifiers | right_join_columns[col_name].qualifiers
|
|
658
|
+
)
|
|
659
|
+
left_join_columns[col_name] = ColumnNames(
|
|
660
|
+
c.spark_name, c.snowpark_name, qualifiers
|
|
651
661
|
)
|
|
652
662
|
else:
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
#
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
col_name = self._normalized_spark_name(c.spark_name)
|
|
668
|
-
if col_name not in column_indexes:
|
|
669
|
-
column_indexes[col_name] = i
|
|
670
|
-
|
|
671
|
-
# return indexes for given columns
|
|
672
|
-
return [column_indexes[self._normalized_spark_name(c)] for c in spark_names]
|
|
663
|
+
left_remaining_columns.append(c)
|
|
664
|
+
|
|
665
|
+
# join columns go first in the user-given order,
|
|
666
|
+
# then the remaining left-side columns, then remaining right-side columns
|
|
667
|
+
match join_type:
|
|
668
|
+
case "right":
|
|
669
|
+
ordered_join_columns = [
|
|
670
|
+
right_join_columns[name] for name in join_column_names
|
|
671
|
+
]
|
|
672
|
+
case _:
|
|
673
|
+
ordered_join_columns = [
|
|
674
|
+
left_join_columns[name] for name in join_column_names
|
|
675
|
+
]
|
|
676
|
+
return ordered_join_columns + left_remaining_columns + right_remaining_columns
|
|
673
677
|
|
|
674
678
|
def get_conflicting_snowpark_columns(self, other: ColumnNameMap) -> set[str]:
|
|
675
679
|
conflicting_columns = set()
|
|
@@ -737,19 +741,6 @@ class JoinColumnNameMap(ColumnNameMap):
|
|
|
737
741
|
else snowpark_column_name_in_left
|
|
738
742
|
)
|
|
739
743
|
|
|
740
|
-
# this means that the reference is for the column in right dataframe but same snowpark name exist in left dataframe as well
|
|
741
|
-
# or vice versa, so we need to append _left or _right to the snowpark name
|
|
742
|
-
if (
|
|
743
|
-
snowpark_name in self.left_column_mapping.get_snowpark_columns()
|
|
744
|
-
and snowpark_column_name_in_right is not None
|
|
745
|
-
):
|
|
746
|
-
snowpark_name = quote_name(f"{unquote_if_quoted(snowpark_name)}_right")
|
|
747
|
-
elif (
|
|
748
|
-
snowpark_name in self.right_column_mapping.get_snowpark_columns()
|
|
749
|
-
and snowpark_column_name_in_left is not None
|
|
750
|
-
):
|
|
751
|
-
snowpark_name = quote_name(f"{unquote_if_quoted(snowpark_name)}_left")
|
|
752
|
-
|
|
753
744
|
return snowpark_name
|
|
754
745
|
|
|
755
746
|
def get_snowpark_column_names_from_spark_column_names(
|
|
@@ -855,13 +846,8 @@ class JoinColumnNameMap(ColumnNameMap):
|
|
|
855
846
|
return qualifiers_right if len(qualifiers_left) == 0 else qualifiers_left
|
|
856
847
|
|
|
857
848
|
def get_columns_after_join(
|
|
858
|
-
self,
|
|
849
|
+
self, right: ColumnNameMap, join_columns: list[str], join_type: str
|
|
859
850
|
) -> list[ColumnNames]:
|
|
860
851
|
exception = NotImplementedError("Method not implemented!")
|
|
861
852
|
attach_custom_error_code(exception, ErrorCodes.INTERNAL_ERROR)
|
|
862
853
|
raise exception
|
|
863
|
-
|
|
864
|
-
def get_column_indexes(self, spark_names: list[str]) -> list[int]:
|
|
865
|
-
exception = NotImplementedError("Method not implemented!")
|
|
866
|
-
attach_custom_error_code(exception, ErrorCodes.INTERNAL_ERROR)
|
|
867
|
-
raise exception
|
|
@@ -275,6 +275,7 @@ SESSION_CONFIG_KEY_WHITELIST = {
|
|
|
275
275
|
"spark.hadoop.fs.s3a.server-side-encryption.key",
|
|
276
276
|
"spark.hadoop.fs.s3a.assumed.role.arn",
|
|
277
277
|
"snowpark.connect.describe_cache_ttl_seconds",
|
|
278
|
+
"mapreduce.fileoutputcommitter.marksuccessfuljobs",
|
|
278
279
|
}
|
|
279
280
|
AZURE_ACCOUNT_KEY = re.compile(
|
|
280
281
|
r"^fs\.azure\.sas\.[^\.]+\.[^\.]+\.blob\.core\.windows\.net$"
|
|
@@ -304,6 +305,7 @@ class SessionConfig:
|
|
|
304
305
|
"spark.sql.tvf.allowMultipleTableArguments.enabled": "true",
|
|
305
306
|
"snowpark.connect.enable_snowflake_extension_behavior": "false",
|
|
306
307
|
"snowpark.connect.describe_cache_ttl_seconds": "300",
|
|
308
|
+
"mapreduce.fileoutputcommitter.marksuccessfuljobs": "false",
|
|
307
309
|
}
|
|
308
310
|
|
|
309
311
|
def __init__(self) -> None:
|
|
@@ -639,6 +641,13 @@ def get_cte_optimization_enabled() -> bool:
|
|
|
639
641
|
return get_boolean_session_config_param("snowpark.connect.cte.optimization_enabled")
|
|
640
642
|
|
|
641
643
|
|
|
644
|
+
def get_success_file_generation_enabled() -> bool:
|
|
645
|
+
"""Get the _SUCCESS file generation configuration setting."""
|
|
646
|
+
return get_boolean_session_config_param(
|
|
647
|
+
"mapreduce.fileoutputcommitter.marksuccessfuljobs"
|
|
648
|
+
)
|
|
649
|
+
|
|
650
|
+
|
|
642
651
|
def get_describe_cache_ttl_seconds() -> int:
|
|
643
652
|
"""Get the describe query cache TTL from session config, with a default fallback."""
|
|
644
653
|
session_config: SessionConfig = sessions_config[get_session_id()]
|
|
@@ -12,7 +12,6 @@ from tzlocal import get_localzone
|
|
|
12
12
|
from snowflake.snowpark_connect.config import global_config
|
|
13
13
|
from snowflake.snowpark_connect.error.error_codes import ErrorCodes
|
|
14
14
|
from snowflake.snowpark_connect.error.error_utils import attach_custom_error_code
|
|
15
|
-
from snowflake.snowpark_connect.utils.context import get_is_evaluating_sql
|
|
16
15
|
from snowflake.snowpark_connect.utils.telemetry import (
|
|
17
16
|
SnowparkConnectNotImplementedError,
|
|
18
17
|
)
|
|
@@ -55,20 +54,21 @@ def get_literal_field_and_name(literal: expressions_proto.Expression.Literal):
|
|
|
55
54
|
microseconds = literal.timestamp
|
|
56
55
|
else:
|
|
57
56
|
microseconds = literal.timestamp_ntz
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
tz_dt = datetime.datetime.fromtimestamp(
|
|
62
|
-
microseconds // 1_000_000, tz=local_tz
|
|
57
|
+
|
|
58
|
+
dt_utc = datetime.datetime.fromtimestamp(
|
|
59
|
+
microseconds // 1_000_000, tz=datetime.timezone.utc
|
|
63
60
|
) + datetime.timedelta(microseconds=microseconds % 1_000_000)
|
|
61
|
+
|
|
64
62
|
if t == "timestamp_ntz":
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
63
|
+
# For timestamp_ntz, display in UTC
|
|
64
|
+
lit_dt = dt_utc.replace(tzinfo=None)
|
|
65
|
+
tz_dt = dt_utc
|
|
66
|
+
else:
|
|
67
|
+
# For timestamp_ltz, always display in session timezone
|
|
68
68
|
config_tz = global_config.spark_sql_session_timeZone
|
|
69
|
-
|
|
70
|
-
tz_dt =
|
|
71
|
-
lit_dt =
|
|
69
|
+
display_tz = ZoneInfo(config_tz) if config_tz else local_tz
|
|
70
|
+
tz_dt = dt_utc.astimezone(display_tz)
|
|
71
|
+
lit_dt = tz_dt.replace(tzinfo=None)
|
|
72
72
|
|
|
73
73
|
def _format_timestamp(dt) -> str:
|
|
74
74
|
without_micros = f"{dt.year:04d}-{dt.month:02d}-{dt.day:02d} {dt.hour:02d}:{dt.minute:02d}:{dt.second:02d}"
|
|
@@ -67,10 +67,16 @@ def sql_parser():
|
|
|
67
67
|
"""
|
|
68
68
|
|
|
69
69
|
ts_type = global_config.spark_sql_timestampType
|
|
70
|
+
session_tz = global_config.spark_sql_session_timeZone
|
|
70
71
|
|
|
71
72
|
if ts_type is not None:
|
|
72
73
|
_get_sql_conf().get().setConfString("spark.sql.timestampType", str(ts_type))
|
|
73
74
|
|
|
75
|
+
if session_tz is not None:
|
|
76
|
+
_get_sql_conf().get().setConfString(
|
|
77
|
+
"spark.sql.session.timeZone", str(session_tz)
|
|
78
|
+
)
|
|
79
|
+
|
|
74
80
|
return _get_sql_parser()
|
|
75
81
|
|
|
76
82
|
|
|
@@ -70,6 +70,143 @@ def _get_catalog_database_from_column_map(
|
|
|
70
70
|
return catalog_database_info
|
|
71
71
|
|
|
72
72
|
|
|
73
|
+
def _try_resolve_column_in_scopes(
|
|
74
|
+
column_name: str, column_mapping: ColumnNameMap
|
|
75
|
+
) -> tuple[str | None, Any]:
|
|
76
|
+
"""
|
|
77
|
+
Try to resolve a column name in current and outer scopes.
|
|
78
|
+
|
|
79
|
+
Args:
|
|
80
|
+
column_name: The column name to resolve
|
|
81
|
+
column_mapping: The column mapping for the current scope
|
|
82
|
+
|
|
83
|
+
Returns:
|
|
84
|
+
Tuple of (snowpark_name, found_column_map) or (None, None) if not found
|
|
85
|
+
"""
|
|
86
|
+
# Try current scope
|
|
87
|
+
snowpark_name = column_mapping.get_snowpark_column_name_from_spark_column_name(
|
|
88
|
+
column_name, allow_non_exists=True
|
|
89
|
+
)
|
|
90
|
+
if snowpark_name is not None:
|
|
91
|
+
return snowpark_name, column_mapping
|
|
92
|
+
|
|
93
|
+
# Try outer scopes
|
|
94
|
+
for outer_df in get_outer_dataframes():
|
|
95
|
+
snowpark_name = (
|
|
96
|
+
outer_df.column_map.get_snowpark_column_name_from_spark_column_name(
|
|
97
|
+
column_name, allow_non_exists=True
|
|
98
|
+
)
|
|
99
|
+
)
|
|
100
|
+
if snowpark_name is not None:
|
|
101
|
+
return snowpark_name, outer_df.column_map
|
|
102
|
+
|
|
103
|
+
return None, None
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
def _find_column_with_qualifier_match(
|
|
107
|
+
name_parts: list[str],
|
|
108
|
+
column_mapping: ColumnNameMap,
|
|
109
|
+
) -> tuple[int, str | None, Any]:
|
|
110
|
+
"""
|
|
111
|
+
Find the column position in name_parts where the prefix matches a qualifier.
|
|
112
|
+
|
|
113
|
+
In Spark, table qualifiers have at most 3 parts:
|
|
114
|
+
- 1 part: table only (e.g., 't1') → ColumnQualifier(('t1',))
|
|
115
|
+
- 2 parts: database.table (e.g., 'mydb.t5') → ColumnQualifier(('mydb', 't5'))
|
|
116
|
+
- 3 parts: catalog.database.table (e.g., 'cat.mydb.t5') → ColumnQualifier(('cat', 'mydb', 't5'))
|
|
117
|
+
|
|
118
|
+
Examples of how this works (suffix matching):
|
|
119
|
+
1) Input: "mydb1.t5.t5.i1" with qualifier ('mydb1', 't5')
|
|
120
|
+
- At i=2: prefix=['mydb1','t5'], matches qualifier suffix ('mydb1', 't5') → Column found!
|
|
121
|
+
- Remaining ['i1'] is treated as field access
|
|
122
|
+
|
|
123
|
+
2) Input: "t5.t5.i1" with qualifier ('mydb1', 't5')
|
|
124
|
+
- At i=1: prefix=['t5'], matches qualifier suffix ('t5',) → Column found!
|
|
125
|
+
- Remaining ['i1'] is treated as field access
|
|
126
|
+
|
|
127
|
+
3) Input: "cat.mydb.t5.t5.i1" with qualifier ('cat', 'mydb', 't5')
|
|
128
|
+
- At i=3: prefix=['cat','mydb','t5'], matches qualifier suffix → Column found!
|
|
129
|
+
- Remaining ['i1'] is treated as field access
|
|
130
|
+
|
|
131
|
+
The key insight: if the prefix before a candidate matches the END (suffix) of a qualifier,
|
|
132
|
+
then that position is the column reference. This allows partial qualification (e.g., just table
|
|
133
|
+
name instead of full database.table)
|
|
134
|
+
|
|
135
|
+
Args:
|
|
136
|
+
name_parts: The parts of the qualified name (e.g., ['mydb1', 't5', 't5', 'i1'])
|
|
137
|
+
column_mapping: The column mapping to resolve columns against
|
|
138
|
+
|
|
139
|
+
Returns:
|
|
140
|
+
Tuple of (column_part_index, snowpark_name, found_column_map)
|
|
141
|
+
Returns (0, None, None) if no valid column found
|
|
142
|
+
|
|
143
|
+
Raises:
|
|
144
|
+
AnalysisException: If a column is found but with invalid qualifier (scope violation)
|
|
145
|
+
"""
|
|
146
|
+
# Track if we found a column but with wrong qualifier (scope violation)
|
|
147
|
+
scope_violation = None
|
|
148
|
+
|
|
149
|
+
for i in range(len(name_parts)):
|
|
150
|
+
candidate_column = name_parts[i]
|
|
151
|
+
snowpark_name, found_column_map = _try_resolve_column_in_scopes(
|
|
152
|
+
candidate_column, column_mapping
|
|
153
|
+
)
|
|
154
|
+
|
|
155
|
+
if snowpark_name is not None:
|
|
156
|
+
candidate_qualifiers = found_column_map.get_qualifiers_for_spark_column(
|
|
157
|
+
candidate_column
|
|
158
|
+
)
|
|
159
|
+
prefix_parts = name_parts[:i]
|
|
160
|
+
|
|
161
|
+
# Check if this is a valid column reference position
|
|
162
|
+
# A valid position is where the prefix exactly matches one of the qualifiers
|
|
163
|
+
is_valid_reference = False
|
|
164
|
+
|
|
165
|
+
if i == 0:
|
|
166
|
+
# No prefix (unqualified access)
|
|
167
|
+
# Always valid - Spark allows unqualified access to any column
|
|
168
|
+
# The remaining parts (name_parts[1:]) will be treated as
|
|
169
|
+
# struct/map/array field access (e.g., "person.address.city" where
|
|
170
|
+
# person is the column and address.city is the field path)
|
|
171
|
+
is_valid_reference = True
|
|
172
|
+
else:
|
|
173
|
+
# Has prefix - check if it matches the end (suffix) of any qualifier
|
|
174
|
+
# Spark allows partial qualification, so for qualifier ('mydb1', 't5'):
|
|
175
|
+
# - Can access as mydb1.t5.t5.i1 (full qualifier match)
|
|
176
|
+
# - Can access as t5.t5.i1 (suffix match - just table part)
|
|
177
|
+
# e.g., for "t5.t5.i1", when i=1, prefix=['t5'] matches suffix of ('mydb1', 't5')
|
|
178
|
+
# If valid, the remaining parts (name_parts[i+1:]) will be treated as
|
|
179
|
+
# struct/map/array field access (e.g., ['i1'] is a field in column t5)
|
|
180
|
+
for qual in candidate_qualifiers:
|
|
181
|
+
if len(qual.parts) >= len(prefix_parts) and qual.parts[
|
|
182
|
+
-len(prefix_parts) :
|
|
183
|
+
] == tuple(prefix_parts):
|
|
184
|
+
is_valid_reference = True
|
|
185
|
+
break
|
|
186
|
+
|
|
187
|
+
if is_valid_reference:
|
|
188
|
+
# This is the actual column reference
|
|
189
|
+
return (i, snowpark_name, found_column_map)
|
|
190
|
+
elif i > 0:
|
|
191
|
+
# Found column but qualifier doesn't match - this is a scope violation
|
|
192
|
+
# e.g., SELECT nt1.k where k exists but nt1 is not its qualifier
|
|
193
|
+
attr_name = ".".join(name_parts)
|
|
194
|
+
scope_violation = (attr_name, ".".join(prefix_parts))
|
|
195
|
+
|
|
196
|
+
# If we detected a scope violation, throw error
|
|
197
|
+
if scope_violation:
|
|
198
|
+
attr_name, invalid_qualifier = scope_violation
|
|
199
|
+
exception = AnalysisException(
|
|
200
|
+
f'[UNRESOLVED_COLUMN] Column "{attr_name}" cannot be resolved. '
|
|
201
|
+
f'The table or alias "{invalid_qualifier}" is not in scope or does not exist.'
|
|
202
|
+
)
|
|
203
|
+
attach_custom_error_code(exception, ErrorCodes.COLUMN_NOT_FOUND)
|
|
204
|
+
raise exception
|
|
205
|
+
|
|
206
|
+
# No valid column found
|
|
207
|
+
return (0, None, None)
|
|
208
|
+
|
|
209
|
+
|
|
73
210
|
def map_unresolved_attribute(
|
|
74
211
|
exp: expressions_proto.Expression,
|
|
75
212
|
column_mapping: ColumnNameMap,
|
|
@@ -276,29 +413,10 @@ def map_unresolved_attribute(
|
|
|
276
413
|
else:
|
|
277
414
|
quoted_attr_name = name_parts[0]
|
|
278
415
|
|
|
279
|
-
# Helper function to try finding a column in current and outer scopes
|
|
280
|
-
def try_resolve_column(column_name: str) -> tuple[str | None, Any]:
|
|
281
|
-
# Try current scope
|
|
282
|
-
snowpark_name = column_mapping.get_snowpark_column_name_from_spark_column_name(
|
|
283
|
-
column_name, allow_non_exists=True
|
|
284
|
-
)
|
|
285
|
-
if snowpark_name is not None:
|
|
286
|
-
return snowpark_name, column_mapping
|
|
287
|
-
|
|
288
|
-
# Try outer scopes
|
|
289
|
-
for outer_df in get_outer_dataframes():
|
|
290
|
-
snowpark_name = (
|
|
291
|
-
outer_df.column_map.get_snowpark_column_name_from_spark_column_name(
|
|
292
|
-
column_name, allow_non_exists=True
|
|
293
|
-
)
|
|
294
|
-
)
|
|
295
|
-
if snowpark_name is not None:
|
|
296
|
-
return snowpark_name, outer_df.column_map
|
|
297
|
-
|
|
298
|
-
return None, None
|
|
299
|
-
|
|
300
416
|
# Try to resolve the full qualified name first
|
|
301
|
-
snowpark_name, found_column_map =
|
|
417
|
+
snowpark_name, found_column_map = _try_resolve_column_in_scopes(
|
|
418
|
+
quoted_attr_name, column_mapping
|
|
419
|
+
)
|
|
302
420
|
|
|
303
421
|
if snowpark_name is not None:
|
|
304
422
|
col = get_col(snowpark_name)
|
|
@@ -313,47 +431,13 @@ def map_unresolved_attribute(
|
|
|
313
431
|
original_attr_name, column_mapping
|
|
314
432
|
)
|
|
315
433
|
|
|
316
|
-
#
|
|
317
|
-
#
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
snowpark_name,
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
column_part_index = i
|
|
324
|
-
break
|
|
325
|
-
|
|
326
|
-
# Validate qualifier scope: if we found a column but skipped prefix parts,
|
|
327
|
-
# those prefix parts could be valid qualifiers for the column
|
|
328
|
-
# We have prefix parts like 'nt1' in 'nt1.k' that were skipped
|
|
329
|
-
maybe_qualified = column_part_index > 0
|
|
330
|
-
if (
|
|
331
|
-
snowpark_name is not None
|
|
332
|
-
and maybe_qualified
|
|
333
|
-
and found_column_map is not None
|
|
334
|
-
):
|
|
335
|
-
prefix_parts = name_parts[:column_part_index]
|
|
336
|
-
found_col_qualifiers = found_column_map.get_qualifiers_for_spark_column(
|
|
337
|
-
candidate_column
|
|
338
|
-
)
|
|
339
|
-
|
|
340
|
-
# Check if any qualifier matches the prefix
|
|
341
|
-
has_matching_qualifier = False
|
|
342
|
-
for qual in found_col_qualifiers:
|
|
343
|
-
if not qual.is_empty and len(qual.parts) >= len(prefix_parts):
|
|
344
|
-
if qual.parts[-len(prefix_parts) :] == tuple(prefix_parts):
|
|
345
|
-
has_matching_qualifier = True
|
|
346
|
-
break
|
|
347
|
-
|
|
348
|
-
# If no matching qualifier, it's a scope violation
|
|
349
|
-
if not has_matching_qualifier:
|
|
350
|
-
# The prefix is not a valid qualifier for this column - scope violation!
|
|
351
|
-
exception = AnalysisException(
|
|
352
|
-
f'[UNRESOLVED_COLUMN] Column "{attr_name}" cannot be resolved. '
|
|
353
|
-
f'The table or alias "{".".join(prefix_parts)}" is not in scope or does not exist.'
|
|
354
|
-
)
|
|
355
|
-
attach_custom_error_code(exception, ErrorCodes.COLUMN_NOT_FOUND)
|
|
356
|
-
raise exception
|
|
434
|
+
# Find the column by matching qualifiers with the prefix parts
|
|
435
|
+
# Note: This may raise AnalysisException if a scope violation is detected
|
|
436
|
+
(
|
|
437
|
+
column_part_index,
|
|
438
|
+
snowpark_name,
|
|
439
|
+
found_column_map,
|
|
440
|
+
) = _find_column_with_qualifier_match(name_parts, column_mapping)
|
|
357
441
|
|
|
358
442
|
if snowpark_name is None:
|
|
359
443
|
# Attempt LCA fallback.
|
|
@@ -119,7 +119,6 @@ from snowflake.snowpark_connect.utils.context import (
|
|
|
119
119
|
get_is_evaluating_sql,
|
|
120
120
|
get_is_in_udtf_context,
|
|
121
121
|
get_spark_version,
|
|
122
|
-
is_in_pivot,
|
|
123
122
|
is_window_enabled,
|
|
124
123
|
push_udtf_context,
|
|
125
124
|
resolving_fun_args,
|
|
@@ -411,10 +410,7 @@ def map_unresolved_function(
|
|
|
411
410
|
def _resolve_aggregate_exp(
|
|
412
411
|
result_exp: Column, default_result_type: DataType
|
|
413
412
|
) -> TypedColumn:
|
|
414
|
-
if
|
|
415
|
-
# it's not possible to cast the result in pivot
|
|
416
|
-
return _type_with_typer(result_exp)
|
|
417
|
-
elif is_window_enabled():
|
|
413
|
+
if is_window_enabled():
|
|
418
414
|
# defer casting to capture whole window expression
|
|
419
415
|
return TypedColumnWithDeferredCast(
|
|
420
416
|
result_exp, lambda: [default_result_type]
|
|
@@ -517,7 +513,6 @@ def map_unresolved_function(
|
|
|
517
513
|
STRUCTURED_INCOMPATIBLE_AGGREGATES = {"min", "max"}
|
|
518
514
|
if (
|
|
519
515
|
aggregate_func.__name__ in STRUCTURED_INCOMPATIBLE_AGGREGATES
|
|
520
|
-
and not is_in_pivot()
|
|
521
516
|
and not is_window_enabled()
|
|
522
517
|
and isinstance(typed_arg.typ, (ArrayType, MapType, StructType))
|
|
523
518
|
):
|
|
@@ -525,12 +520,7 @@ def map_unresolved_function(
|
|
|
525
520
|
variant_arg = snowpark_fn.to_variant(typed_arg.col)
|
|
526
521
|
result = aggregate_func(variant_arg)
|
|
527
522
|
|
|
528
|
-
|
|
529
|
-
# In PIVOT context, casting is not allowed, so return VARIANT type
|
|
530
|
-
return _type_with_typer(result)
|
|
531
|
-
else:
|
|
532
|
-
# Cast back to the original type to maintain the expected schema
|
|
533
|
-
return TypedColumn(result.cast(typed_arg.typ), lambda: expected_types)
|
|
523
|
+
return TypedColumn(result.cast(typed_arg.typ), lambda: expected_types)
|
|
534
524
|
else:
|
|
535
525
|
# No structured type conversion needed
|
|
536
526
|
result = aggregate_func(typed_arg.col)
|
|
@@ -1028,9 +1018,12 @@ def map_unresolved_function(
|
|
|
1028
1018
|
result_exp = snowpark_args[0] - snowpark_args[1]
|
|
1029
1019
|
result_exp = result_exp.cast(result_type)
|
|
1030
1020
|
case (DateType(), DateType()):
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1021
|
+
result_type = DayTimeIntervalType(
|
|
1022
|
+
DayTimeIntervalType.DAY, DayTimeIntervalType.DAY
|
|
1023
|
+
)
|
|
1024
|
+
result_exp = snowpark_fn.interval_day_time_from_parts(
|
|
1025
|
+
snowpark_args[0] - snowpark_args[1]
|
|
1026
|
+
)
|
|
1034
1027
|
case (DateType(), DayTimeIntervalType()) | (
|
|
1035
1028
|
DateType(),
|
|
1036
1029
|
YearMonthIntervalType(),
|
|
@@ -1049,14 +1042,22 @@ def map_unresolved_function(
|
|
|
1049
1042
|
result_type = TimestampType()
|
|
1050
1043
|
result_exp = snowpark_args[0] - snowpark_args[1]
|
|
1051
1044
|
else:
|
|
1052
|
-
# TODO SNOW-2034420: resolve return type (it should be INTERVAL DAY)
|
|
1053
|
-
result_type = LongType()
|
|
1054
1045
|
input_type = (
|
|
1055
1046
|
DateType() if spark_sql_ansi_enabled else DoubleType()
|
|
1056
1047
|
)
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1048
|
+
if isinstance(input_type, DateType):
|
|
1049
|
+
result_type = DayTimeIntervalType(
|
|
1050
|
+
DayTimeIntervalType.DAY, DayTimeIntervalType.DAY
|
|
1051
|
+
)
|
|
1052
|
+
result_exp = snowpark_fn.interval_day_time_from_parts(
|
|
1053
|
+
snowpark_args[0] - snowpark_args[1].cast(input_type)
|
|
1054
|
+
)
|
|
1055
|
+
else:
|
|
1056
|
+
# If ANSI is disabled, cast to DoubleType and return long (legacy behavior)
|
|
1057
|
+
result_type = LongType()
|
|
1058
|
+
result_exp = snowpark_args[0] - snowpark_args[1].cast(
|
|
1059
|
+
input_type
|
|
1060
|
+
)
|
|
1060
1061
|
case (TimestampType(), DayTimeIntervalType()) | (
|
|
1061
1062
|
TimestampType(),
|
|
1062
1063
|
YearMonthIntervalType(),
|
|
@@ -1075,10 +1076,12 @@ def map_unresolved_function(
|
|
|
1075
1076
|
f'[DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE] Cannot resolve "{spark_function_name}" due to data type mismatch: Parameter 2 requires the ("INTERVAL") type for timestamp operations, however "{snowpark_arg_names[1]}" has the type "{snowpark_typed_args[1].typ}".',
|
|
1076
1077
|
)
|
|
1077
1078
|
case (StringType(), DateType()):
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
result_exp =
|
|
1079
|
+
result_type = DayTimeIntervalType(
|
|
1080
|
+
DayTimeIntervalType.DAY, DayTimeIntervalType.DAY
|
|
1081
|
+
)
|
|
1082
|
+
result_exp = snowpark_fn.interval_day_time_from_parts(
|
|
1083
|
+
snowpark_args[0].cast(DateType()) - snowpark_args[1]
|
|
1084
|
+
)
|
|
1082
1085
|
case (DateType(), (IntegerType() | ShortType() | ByteType())):
|
|
1083
1086
|
result_type = DateType()
|
|
1084
1087
|
result_exp = snowpark_args[0] - snowpark_args[1]
|
|
@@ -6955,10 +6958,10 @@ def map_unresolved_function(
|
|
|
6955
6958
|
)
|
|
6956
6959
|
result_type = ArrayType(ArrayType(StringType()))
|
|
6957
6960
|
case "sequence":
|
|
6958
|
-
|
|
6959
|
-
|
|
6960
|
-
|
|
6961
|
-
|
|
6961
|
+
both_integral = isinstance(
|
|
6962
|
+
snowpark_typed_args[0].typ, _IntegralType
|
|
6963
|
+
) and isinstance(snowpark_typed_args[1].typ, _IntegralType)
|
|
6964
|
+
if not both_integral:
|
|
6962
6965
|
exception = AnalysisException(
|
|
6963
6966
|
f"""[DATATYPE_MISMATCH.SEQUENCE_WRONG_INPUT_TYPES] Cannot resolve "sequence({snowpark_arg_names[0]}, {snowpark_arg_names[1]})" due to data type mismatch: `sequence` uses the wrong parameter type. The parameter type must conform to:
|
|
6964
6967
|
1. The start and stop expressions must resolve to the same type.
|