snowpark-connect 0.30.0__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.

Files changed (493) hide show
  1. {snowpark_connect-0.30.0/src/snowpark_connect.egg-info → snowpark_connect-0.31.0}/PKG-INFO +3 -2
  2. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/setup.py +2 -1
  3. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/column_name_handler.py +150 -25
  4. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/config.py +54 -16
  5. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/date_time_format_mapping.py +71 -13
  6. snowpark_connect-0.31.0/src/snowflake/snowpark_connect/error/error_codes.py +50 -0
  7. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/error/error_utils.py +142 -22
  8. snowpark_connect-0.31.0/src/snowflake/snowpark_connect/error/exceptions.py +37 -0
  9. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/execute_plan/map_execution_command.py +5 -1
  10. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/execute_plan/map_execution_root.py +5 -1
  11. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/execute_plan/utils.py +5 -1
  12. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/function_defaults.py +9 -2
  13. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/literal.py +7 -1
  14. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/map_cast.py +17 -5
  15. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/map_expression.py +48 -4
  16. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/map_extension.py +25 -5
  17. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/map_sql_expression.py +65 -30
  18. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/map_udf.py +10 -2
  19. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/map_unresolved_attribute.py +33 -9
  20. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/map_unresolved_function.py +627 -205
  21. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/map_unresolved_star.py +5 -1
  22. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/map_update_fields.py +14 -4
  23. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/map_window_function.py +18 -3
  24. snowpark_connect-0.31.0/src/snowflake/snowpark_connect/proto/snowflake_expression_ext_pb2_grpc.py +4 -0
  25. snowpark_connect-0.31.0/src/snowflake/snowpark_connect/proto/snowflake_relation_ext_pb2_grpc.py +4 -0
  26. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/catalogs/abstract_spark_catalog.py +65 -17
  27. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/catalogs/snowflake_catalog.py +34 -12
  28. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/catalogs/utils.py +12 -4
  29. snowpark_connect-0.31.0/src/snowflake/snowpark_connect/relation/io_utils.py +158 -0
  30. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_catalog.py +5 -1
  31. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_column_ops.py +88 -56
  32. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_extension.py +28 -8
  33. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_join.py +21 -10
  34. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_local_relation.py +5 -1
  35. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_relation.py +33 -7
  36. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_row_ops.py +36 -9
  37. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_sql.py +91 -24
  38. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_stats.py +25 -6
  39. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_udtf.py +14 -4
  40. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/read/jdbc_read_dbapi.py +49 -13
  41. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/read/map_read.py +24 -3
  42. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/read/map_read_csv.py +11 -3
  43. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/read/map_read_jdbc.py +17 -5
  44. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/read/map_read_json.py +8 -2
  45. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/read/map_read_parquet.py +13 -3
  46. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/read/map_read_socket.py +11 -3
  47. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/read/map_read_table.py +15 -5
  48. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/read/map_read_text.py +5 -1
  49. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/read/metadata_utils.py +5 -1
  50. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/stage_locator.py +5 -1
  51. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/utils.py +19 -2
  52. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/write/jdbc_write_dbapi.py +19 -3
  53. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/write/map_write.py +146 -63
  54. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/write/map_write_jdbc.py +8 -2
  55. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/resources_initializer.py +5 -1
  56. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/server.py +72 -19
  57. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/type_mapping.py +54 -17
  58. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/context.py +42 -1
  59. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/describe_query_cache.py +3 -0
  60. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/env_utils.py +5 -1
  61. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/identifiers.py +11 -3
  62. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/pandas_udtf_utils.py +8 -4
  63. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/profiling.py +25 -8
  64. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/scala_udf_utils.py +11 -3
  65. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/session.py +5 -2
  66. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/telemetry.py +81 -18
  67. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/temporary_view_cache.py +5 -1
  68. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/udf_cache.py +5 -3
  69. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/udf_helper.py +20 -6
  70. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/udf_utils.py +4 -4
  71. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/udtf_helper.py +5 -1
  72. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/udtf_utils.py +34 -26
  73. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/version.py +1 -1
  74. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0/src/snowpark_connect.egg-info}/PKG-INFO +3 -2
  75. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowpark_connect.egg-info/SOURCES.txt +3 -0
  76. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowpark_connect.egg-info/requires.txt +2 -1
  77. snowpark_connect-0.30.0/src/snowflake/snowpark_connect/error/exceptions.py +0 -28
  78. snowpark_connect-0.30.0/src/snowflake/snowpark_connect/relation/io_utils.py +0 -96
  79. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/LICENSE-binary +0 -0
  80. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/LICENSE.txt +0 -0
  81. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/NOTICE-binary +0 -0
  82. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/README.md +0 -0
  83. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/setup.cfg +0 -0
  84. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/__init__.py +0 -0
  85. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/analyze_plan/__init__.py +0 -0
  86. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/analyze_plan/map_tree_string.py +0 -0
  87. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/client.py +0 -0
  88. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/constants.py +0 -0
  89. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/control_server.py +0 -0
  90. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/dataframe_container.py +0 -0
  91. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/dataframe_name_handler.py +0 -0
  92. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/empty_dataframe.py +0 -0
  93. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/error/__init__.py +0 -0
  94. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/error/error_mapping.py +0 -0
  95. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/execute_plan/__init__.py +0 -0
  96. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/__init__.py +0 -0
  97. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/hybrid_column_map.py +0 -0
  98. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/map_unresolved_extract_value.py +0 -0
  99. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/typer.py +0 -0
  100. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/__init__.py +0 -0
  101. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/antlr4-runtime-4.9.3.jar +0 -0
  102. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/commons-cli-1.5.0.jar +0 -0
  103. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/commons-codec-1.16.1.jar +0 -0
  104. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/commons-collections-3.2.2.jar +0 -0
  105. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/commons-collections4-4.4.jar +0 -0
  106. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/commons-compiler-3.1.9.jar +0 -0
  107. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/commons-compress-1.26.0.jar +0 -0
  108. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/commons-crypto-1.1.0.jar +0 -0
  109. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/commons-dbcp-1.4.jar +0 -0
  110. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/commons-io-2.16.1.jar +0 -0
  111. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/commons-lang-2.6.jar +0 -0
  112. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/commons-lang3-3.12.0.jar +0 -0
  113. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/commons-logging-1.1.3.jar +0 -0
  114. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/commons-math3-3.6.1.jar +0 -0
  115. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/commons-pool-1.5.4.jar +0 -0
  116. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/commons-text-1.10.0.jar +0 -0
  117. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/hadoop-client-api-trimmed-3.3.4.jar +0 -0
  118. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/jackson-annotations-2.15.2.jar +0 -0
  119. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/jackson-core-2.15.2.jar +0 -0
  120. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/jackson-core-asl-1.9.13.jar +0 -0
  121. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/jackson-databind-2.15.2.jar +0 -0
  122. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/jackson-dataformat-yaml-2.15.2.jar +0 -0
  123. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/jackson-datatype-jsr310-2.15.2.jar +0 -0
  124. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/jackson-module-scala_2.12-2.15.2.jar +0 -0
  125. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/json4s-ast_2.12-3.7.0-M11.jar +0 -0
  126. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/json4s-core_2.12-3.7.0-M11.jar +0 -0
  127. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/json4s-jackson_2.12-3.7.0-M11.jar +0 -0
  128. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/json4s-native_2.12-3.7.0-M11.jar +0 -0
  129. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/json4s-scalap_2.12-3.7.0-M11.jar +0 -0
  130. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/kryo-shaded-4.0.2.jar +0 -0
  131. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/log4j-1.2-api-2.20.0.jar +0 -0
  132. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/log4j-api-2.20.0.jar +0 -0
  133. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/log4j-core-2.20.0.jar +0 -0
  134. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/log4j-slf4j2-impl-2.20.0.jar +0 -0
  135. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/paranamer-2.8.3.jar +0 -0
  136. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/paranamer-2.8.jar +0 -0
  137. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/sas-scala-udf_2.12-0.1.0.jar +0 -0
  138. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/scala-collection-compat_2.12-2.7.0.jar +0 -0
  139. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/scala-library-2.12.18.jar +0 -0
  140. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/scala-parser-combinators_2.12-2.3.0.jar +0 -0
  141. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/scala-reflect-2.12.18.jar +0 -0
  142. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/scala-xml_2.12-2.1.0.jar +0 -0
  143. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/slf4j-api-2.0.7.jar +0 -0
  144. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-catalyst_2.12-3.5.6.jar +0 -0
  145. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-common-utils_2.12-3.5.6.jar +0 -0
  146. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-connect-client-jvm_2.12-3.5.6.jar +0 -0
  147. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-core_2.12-3.5.6.jar +0 -0
  148. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-graphx_2.12-3.5.6.jar +0 -0
  149. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-hive-thriftserver_2.12-3.5.6.jar +0 -0
  150. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-hive_2.12-3.5.6.jar +0 -0
  151. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-kvstore_2.12-3.5.6.jar +0 -0
  152. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-launcher_2.12-3.5.6.jar +0 -0
  153. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-mesos_2.12-3.5.6.jar +0 -0
  154. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-mllib-local_2.12-3.5.6.jar +0 -0
  155. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-network-common_2.12-3.5.6.jar +0 -0
  156. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-network-shuffle_2.12-3.5.6.jar +0 -0
  157. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-repl_2.12-3.5.6.jar +0 -0
  158. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-sketch_2.12-3.5.6.jar +0 -0
  159. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-sql-api_2.12-3.5.6.jar +0 -0
  160. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-sql_2.12-3.5.6.jar +0 -0
  161. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-tags_2.12-3.5.6.jar +0 -0
  162. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-unsafe_2.12-3.5.6.jar +0 -0
  163. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-yarn_2.12-3.5.6.jar +0 -0
  164. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/__init__.py +0 -0
  165. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/__init__.py +0 -0
  166. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/_globals.py +0 -0
  167. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/_typing.pyi +0 -0
  168. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/accumulators.py +0 -0
  169. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/broadcast.py +0 -0
  170. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/cloudpickle/__init__.py +0 -0
  171. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/cloudpickle/cloudpickle.py +0 -0
  172. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/cloudpickle/cloudpickle_fast.py +0 -0
  173. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/cloudpickle/compat.py +0 -0
  174. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/conf.py +0 -0
  175. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/context.py +0 -0
  176. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/daemon.py +0 -0
  177. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/__init__.py +0 -0
  178. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/error_classes.py +0 -0
  179. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/exceptions/__init__.py +0 -0
  180. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/exceptions/base.py +0 -0
  181. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/exceptions/captured.py +0 -0
  182. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/exceptions/connect.py +0 -0
  183. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/utils.py +0 -0
  184. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/files.py +0 -0
  185. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/find_spark_home.py +0 -0
  186. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/install.py +0 -0
  187. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/instrumentation_utils.py +0 -0
  188. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/java_gateway.py +0 -0
  189. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/join.py +0 -0
  190. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/__init__.py +0 -0
  191. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/_typing.pyi +0 -0
  192. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/base.py +0 -0
  193. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/classification.py +0 -0
  194. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/clustering.py +0 -0
  195. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/common.py +0 -0
  196. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/__init__.py +0 -0
  197. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/base.py +0 -0
  198. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/classification.py +0 -0
  199. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/evaluation.py +0 -0
  200. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/feature.py +0 -0
  201. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/functions.py +0 -0
  202. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/io_utils.py +0 -0
  203. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/pipeline.py +0 -0
  204. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/summarizer.py +0 -0
  205. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/tuning.py +0 -0
  206. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/util.py +0 -0
  207. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/deepspeed/__init__.py +0 -0
  208. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/deepspeed/deepspeed_distributor.py +0 -0
  209. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/dl_util.py +0 -0
  210. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/evaluation.py +0 -0
  211. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/feature.py +0 -0
  212. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/fpm.py +0 -0
  213. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/functions.py +0 -0
  214. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/image.py +0 -0
  215. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/linalg/__init__.py +0 -0
  216. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/model_cache.py +0 -0
  217. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/param/__init__.py +0 -0
  218. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/param/_shared_params_code_gen.py +0 -0
  219. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/param/shared.py +0 -0
  220. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/pipeline.py +0 -0
  221. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/recommendation.py +0 -0
  222. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/regression.py +0 -0
  223. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/stat.py +0 -0
  224. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/torch/__init__.py +0 -0
  225. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/torch/data.py +0 -0
  226. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/torch/distributor.py +0 -0
  227. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/torch/log_communication.py +0 -0
  228. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/torch/torch_run_process_wrapper.py +0 -0
  229. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/tree.py +0 -0
  230. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/tuning.py +0 -0
  231. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/util.py +0 -0
  232. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/wrapper.py +0 -0
  233. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/__init__.py +0 -0
  234. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/_typing.pyi +0 -0
  235. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/classification.py +0 -0
  236. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/clustering.py +0 -0
  237. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/common.py +0 -0
  238. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/evaluation.py +0 -0
  239. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/feature.py +0 -0
  240. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/fpm.py +0 -0
  241. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/linalg/__init__.py +0 -0
  242. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/linalg/distributed.py +0 -0
  243. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/random.py +0 -0
  244. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/recommendation.py +0 -0
  245. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/regression.py +0 -0
  246. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/stat/KernelDensity.py +0 -0
  247. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/stat/__init__.py +0 -0
  248. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/stat/_statistics.py +0 -0
  249. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/stat/distribution.py +0 -0
  250. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/stat/test.py +0 -0
  251. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/tree.py +0 -0
  252. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/util.py +0 -0
  253. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/__init__.py +0 -0
  254. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/_typing.py +0 -0
  255. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/accessors.py +0 -0
  256. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/base.py +0 -0
  257. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/categorical.py +0 -0
  258. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/config.py +0 -0
  259. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/correlation.py +0 -0
  260. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/__init__.py +0 -0
  261. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/base.py +0 -0
  262. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/binary_ops.py +0 -0
  263. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/boolean_ops.py +0 -0
  264. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/categorical_ops.py +0 -0
  265. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/complex_ops.py +0 -0
  266. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/date_ops.py +0 -0
  267. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/datetime_ops.py +0 -0
  268. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/null_ops.py +0 -0
  269. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/num_ops.py +0 -0
  270. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/string_ops.py +0 -0
  271. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/timedelta_ops.py +0 -0
  272. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/udt_ops.py +0 -0
  273. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/datetimes.py +0 -0
  274. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/exceptions.py +0 -0
  275. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/extensions.py +0 -0
  276. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/frame.py +0 -0
  277. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/generic.py +0 -0
  278. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/groupby.py +0 -0
  279. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/__init__.py +0 -0
  280. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/base.py +0 -0
  281. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/category.py +0 -0
  282. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/datetimes.py +0 -0
  283. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/multi.py +0 -0
  284. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/numeric.py +0 -0
  285. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/timedelta.py +0 -0
  286. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexing.py +0 -0
  287. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/internal.py +0 -0
  288. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/__init__.py +0 -0
  289. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/common.py +0 -0
  290. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/frame.py +0 -0
  291. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/general_functions.py +0 -0
  292. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/groupby.py +0 -0
  293. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/indexes.py +0 -0
  294. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/resample.py +0 -0
  295. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/scalars.py +0 -0
  296. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/series.py +0 -0
  297. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/window.py +0 -0
  298. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/mlflow.py +0 -0
  299. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/namespace.py +0 -0
  300. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/numpy_compat.py +0 -0
  301. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/plot/__init__.py +0 -0
  302. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/plot/core.py +0 -0
  303. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/plot/matplotlib.py +0 -0
  304. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/plot/plotly.py +0 -0
  305. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/resample.py +0 -0
  306. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/series.py +0 -0
  307. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/sql_formatter.py +0 -0
  308. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/sql_processor.py +0 -0
  309. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/strings.py +0 -0
  310. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/supported_api_gen.py +0 -0
  311. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/typedef/__init__.py +0 -0
  312. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/typedef/typehints.py +0 -0
  313. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/usage_logging/__init__.py +0 -0
  314. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/usage_logging/usage_logger.py +0 -0
  315. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/utils.py +0 -0
  316. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/window.py +0 -0
  317. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/profiler.py +0 -0
  318. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/py.typed +0 -0
  319. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/python/pyspark/shell.py +0 -0
  320. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/rdd.py +0 -0
  321. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/rddsampler.py +0 -0
  322. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/resource/__init__.py +0 -0
  323. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/resource/information.py +0 -0
  324. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/resource/profile.py +0 -0
  325. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/resource/requests.py +0 -0
  326. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/resultiterable.py +0 -0
  327. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/serializers.py +0 -0
  328. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/shell.py +0 -0
  329. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/shuffle.py +0 -0
  330. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/__init__.py +0 -0
  331. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/_typing.pyi +0 -0
  332. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/avro/__init__.py +0 -0
  333. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/avro/functions.py +0 -0
  334. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/catalog.py +0 -0
  335. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/column.py +0 -0
  336. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/conf.py +0 -0
  337. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/__init__.py +0 -0
  338. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/_typing.py +0 -0
  339. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/avro/__init__.py +0 -0
  340. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/avro/functions.py +0 -0
  341. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/catalog.py +0 -0
  342. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/client/__init__.py +0 -0
  343. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/client/artifact.py +0 -0
  344. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/client/core.py +0 -0
  345. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/client/reattach.py +0 -0
  346. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/column.py +0 -0
  347. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/conf.py +0 -0
  348. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/conversion.py +0 -0
  349. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/dataframe.py +0 -0
  350. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/expressions.py +0 -0
  351. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/functions.py +0 -0
  352. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/group.py +0 -0
  353. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/plan.py +0 -0
  354. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/__init__.py +0 -0
  355. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/base_pb2.py +0 -0
  356. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/base_pb2.pyi +0 -0
  357. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/base_pb2_grpc.py +0 -0
  358. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/catalog_pb2.py +0 -0
  359. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/catalog_pb2.pyi +0 -0
  360. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/commands_pb2.py +0 -0
  361. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/commands_pb2.pyi +0 -0
  362. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/common_pb2.py +0 -0
  363. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/common_pb2.pyi +0 -0
  364. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/example_plugins_pb2.py +0 -0
  365. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/example_plugins_pb2.pyi +0 -0
  366. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/expressions_pb2.py +0 -0
  367. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/expressions_pb2.pyi +0 -0
  368. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/relations_pb2.py +0 -0
  369. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/relations_pb2.pyi +0 -0
  370. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/types_pb2.py +0 -0
  371. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/types_pb2.pyi +0 -0
  372. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/protobuf/__init__.py +0 -0
  373. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/protobuf/functions.py +0 -0
  374. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/readwriter.py +0 -0
  375. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/session.py +0 -0
  376. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/streaming/__init__.py +0 -0
  377. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/streaming/query.py +0 -0
  378. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/streaming/readwriter.py +0 -0
  379. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/streaming/worker/__init__.py +0 -0
  380. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/streaming/worker/foreach_batch_worker.py +0 -0
  381. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/streaming/worker/listener_worker.py +0 -0
  382. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/types.py +0 -0
  383. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/udf.py +0 -0
  384. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/udtf.py +0 -0
  385. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/utils.py +0 -0
  386. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/window.py +0 -0
  387. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/context.py +0 -0
  388. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/dataframe.py +0 -0
  389. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/functions.py +0 -0
  390. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/group.py +0 -0
  391. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/observation.py +0 -0
  392. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/__init__.py +0 -0
  393. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/_typing/__init__.pyi +0 -0
  394. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/_typing/protocols/__init__.pyi +0 -0
  395. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/_typing/protocols/frame.pyi +0 -0
  396. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/_typing/protocols/series.pyi +0 -0
  397. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/conversion.py +0 -0
  398. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/functions.py +0 -0
  399. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/functions.pyi +0 -0
  400. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/group_ops.py +0 -0
  401. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/map_ops.py +0 -0
  402. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/serializers.py +0 -0
  403. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/typehints.py +0 -0
  404. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/types.py +0 -0
  405. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/utils.py +0 -0
  406. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/protobuf/__init__.py +0 -0
  407. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/protobuf/functions.py +0 -0
  408. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/readwriter.py +0 -0
  409. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/session.py +0 -0
  410. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/sql_formatter.py +0 -0
  411. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/streaming/__init__.py +0 -0
  412. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/streaming/listener.py +0 -0
  413. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/streaming/query.py +0 -0
  414. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/streaming/readwriter.py +0 -0
  415. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/streaming/state.py +0 -0
  416. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/types.py +0 -0
  417. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/udf.py +0 -0
  418. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/udtf.py +0 -0
  419. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/utils.py +0 -0
  420. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/window.py +0 -0
  421. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/statcounter.py +0 -0
  422. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/status.py +0 -0
  423. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/storagelevel.py +0 -0
  424. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/streaming/__init__.py +0 -0
  425. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/streaming/context.py +0 -0
  426. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/streaming/dstream.py +0 -0
  427. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/streaming/kinesis.py +0 -0
  428. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/streaming/listener.py +0 -0
  429. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/streaming/util.py +0 -0
  430. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/taskcontext.py +0 -0
  431. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/__init__.py +0 -0
  432. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/connectutils.py +0 -0
  433. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/mllibutils.py +0 -0
  434. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/mlutils.py +0 -0
  435. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/objects.py +0 -0
  436. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/pandasutils.py +0 -0
  437. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/sqlutils.py +0 -0
  438. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/streamingutils.py +0 -0
  439. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/utils.py +0 -0
  440. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/traceback_utils.py +0 -0
  441. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/util.py +0 -0
  442. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/version.py +0 -0
  443. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/worker.py +0 -0
  444. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/worker_util.py +0 -0
  445. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/proto/__init__.py +0 -0
  446. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/proto/control_pb2.py +0 -0
  447. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/proto/control_pb2.pyi +0 -0
  448. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/proto/control_pb2_grpc.py +0 -0
  449. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/proto/snowflake_expression_ext_pb2.py +0 -0
  450. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/proto/snowflake_expression_ext_pb2.pyi +0 -0
  451. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/proto/snowflake_rdd_pb2.pyi +0 -0
  452. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/proto/snowflake_relation_ext_pb2.py +0 -0
  453. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/proto/snowflake_relation_ext_pb2.pyi +0 -0
  454. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/__init__.py +0 -0
  455. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/catalogs/__init__.py +0 -0
  456. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_aggregate.py +0 -0
  457. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_crosstab.py +0 -0
  458. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_map_partitions.py +0 -0
  459. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_sample_by.py +0 -0
  460. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_show_string.py +0 -0
  461. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_subquery_alias.py +0 -0
  462. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/read/__init__.py +0 -0
  463. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/read/reader_config.py +0 -0
  464. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/read/utils.py +0 -0
  465. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/write/__init__.py +0 -0
  466. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/resources/java_udfs-1.0-SNAPSHOT.jar +0 -0
  467. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/start_server.py +0 -0
  468. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/tcm.py +0 -0
  469. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/typed_column.py +0 -0
  470. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/__init__.py +0 -0
  471. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/artifacts.py +0 -0
  472. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/cache.py +0 -0
  473. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/concurrent.py +0 -0
  474. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/external_udxf_cache.py +0 -0
  475. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/interrupt.py +0 -0
  476. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/io_utils.py +0 -0
  477. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/snowpark_connect_logging.py +0 -0
  478. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/udxf_import_utils.py +0 -0
  479. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/xxhash64.py +0 -0
  480. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_decoder/__init__.py +0 -0
  481. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_decoder/_internal/proto/generated/DataframeProcessorMsg_pb2.py +0 -0
  482. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_decoder/_internal/proto/generated/DataframeProcessorMsg_pb2.pyi +0 -0
  483. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_decoder/dp_session.py +0 -0
  484. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_decoder/spark_decoder.py +0 -0
  485. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowpark_connect.egg-info/dependency_links.txt +0 -0
  486. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowpark_connect.egg-info/top_level.txt +0 -0
  487. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/spark/__init__.py +0 -0
  488. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/spark/connect/__init__.py +0 -0
  489. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/spark/connect/envelope_pb2.py +0 -0
  490. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/spark/connect/envelope_pb2.pyi +0 -0
  491. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/tools/snowpark-connect +0 -0
  492. {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/tools/snowpark-session +0 -0
  493. {snowpark_connect-0.30.0 → 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.30.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.40.0,==1.39.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.39.1,<1.40.0",
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.utils.context import get_current_operation_scope
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
- raise AnalysisException(
357
- f"Ambiguous spark column name {spark_column_name}, potential snowpark column names {snowpark_names}"
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
- raise AnalysisException(
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
- raise AnalysisException(
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
- raise AnalysisException(
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
- raise AnalysisException(
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
- raise AnalysisException(f"Ambiguous column name {spark_column_name}")
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
- raise NotImplementedError("Method not implemented!")
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
- raise NotImplementedError("Method not implemented!")
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
- raise NotImplementedError("Method not implemented!")
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
- raise NotImplementedError("Method not implemented!")
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
- raise NotImplementedError("Method not implemented!")
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
- raise NotImplementedError("Method not implemented!")
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
- raise NotImplementedError("Method not implemented!")
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
- raise NotImplementedError("Method not implemented!")
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
- raise NotImplementedError("Method not implemented!")
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
- raise NotImplementedError("Method not implemented!")
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
- raise NotImplementedError("Method not implemented!")
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
- raise NotImplementedError("Method not implemented!")
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
- raise NotImplementedError("Method not implemented!")
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
- raise NotImplementedError("Method not implemented!")
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
- raise AnalysisException(f"Ambiguous column name {spark_column_name}")
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
@@ -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 get_session_id
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
  )
@@ -143,6 +148,9 @@ class GlobalConfig:
143
148
  # Control whether repartition(n) on a DataFrame forces splitting into n files during writes
144
149
  # This matches spark behavior more closely, but introduces overhead.
145
150
  "snowflake.repartition.for.writes": "false",
151
+ "snowpark.connect.structured_types.fix": str(
152
+ snowpark.context._enable_fix_2360274
153
+ ).lower(),
146
154
  }
147
155
 
148
156
  boolean_config_list = [
@@ -288,7 +296,6 @@ class SessionConfig:
288
296
  """This class contains the session configuration for the Spark Server."""
289
297
 
290
298
  default_session_config = {
291
- "snowpark.connect.sql.identifiers.auto-uppercase": "all_except_columns",
292
299
  "snowpark.connect.sql.passthrough": "false",
293
300
  "snowpark.connect.cte.optimization_enabled": "false",
294
301
  "snowpark.connect.udtf.compatibility_mode": "false",
@@ -356,9 +363,11 @@ def route_config_proto(
356
363
  if not pair.HasField("value"):
357
364
  from pyspark.errors import IllegalArgumentException
358
365
 
359
- raise IllegalArgumentException(
366
+ exception = IllegalArgumentException(
360
367
  f"Cannot set config '{pair.key}' to None"
361
368
  )
369
+ attach_custom_error_code(exception, ErrorCodes.INVALID_CONFIG_VALUE)
370
+ raise exception
362
371
 
363
372
  set_config_param(
364
373
  config.session_id, pair.key, pair.value, snowpark_session
@@ -441,7 +450,11 @@ def route_config_proto(
441
450
  pair.value = str(global_config.is_modifiable(key)).lower()
442
451
  return res
443
452
  case _:
444
- raise SnowparkConnectNotImplementedError(f"Unexpected request {config}")
453
+ exception = SnowparkConnectNotImplementedError(
454
+ f"Unexpected request {config}"
455
+ )
456
+ attach_custom_error_code(exception, ErrorCodes.UNSUPPORTED_OPERATION)
457
+ raise exception
445
458
 
446
459
 
447
460
  def set_config_param(
@@ -481,19 +494,27 @@ def _verify_static_config_not_modified(key: str) -> None:
481
494
  # https://github.com/apache/spark/blob/v3.5.3/sql/core/src/main/scala/org/apache/spark/sql/RuntimeConfig.scala#L161
482
495
  # Spark does not allow to modify static configurations at runtime.
483
496
  if global_config.is_static_config(key) and global_config.is_set(key):
484
- raise ValueError(f"Cannot modify the value of a static config: {key}")
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
485
500
 
486
501
 
487
502
  def _verify_is_valid_config_value(key: str, value: Any) -> None:
488
503
  if key in CONFIG_ALLOWED_VALUES and value not in CONFIG_ALLOWED_VALUES[key]:
489
- raise ValueError(
504
+ exception = ValueError(
490
505
  f"Invalid value '{value}' for key '{key}'. Allowed values: {', '.join(CONFIG_ALLOWED_VALUES[key])}."
491
506
  )
507
+ attach_custom_error_code(exception, ErrorCodes.INVALID_CONFIG_VALUE)
508
+ raise exception
492
509
 
493
510
 
494
511
  def _verify_is_not_readonly_config(key):
495
512
  if key in global_config.readonly_config_list:
496
- raise ValueError(f"Config with key {key} is read-only and cannot be modified.")
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
497
518
 
498
519
 
499
520
  def set_jvm_timezone(timezone_id: str):
@@ -510,10 +531,13 @@ def set_jvm_timezone(timezone_id: str):
510
531
  RuntimeError: If JVM is not started
511
532
  """
512
533
  if not jpype.isJVMStarted():
513
- raise RuntimeError("JVM must be started before setting timezone")
534
+ exception = RuntimeError("JVM must be started before setting timezone")
535
+ attach_custom_error_code(exception, ErrorCodes.INTERNAL_ERROR)
536
+ raise exception
514
537
 
515
538
  try:
516
- TimeZone = jpype.JClass("java.util.TimeZone")
539
+ with get_jpype_jclass_lock():
540
+ TimeZone = jpype.JClass("java.util.TimeZone")
517
541
  new_timezone = TimeZone.getTimeZone(timezone_id)
518
542
  TimeZone.setDefault(new_timezone)
519
543
 
@@ -525,7 +549,9 @@ def set_jvm_timezone(timezone_id: str):
525
549
  def reset_jvm_timezone_to_system_default():
526
550
  """Reset JVM timezone to the system's default timezone"""
527
551
  if not jpype.isJVMStarted():
528
- raise RuntimeError("JVM must be started first")
552
+ exception = RuntimeError("JVM must be started first")
553
+ attach_custom_error_code(exception, ErrorCodes.INTERNAL_ERROR)
554
+ raise exception
529
555
 
530
556
  try:
531
557
  TimeZone = jpype.JClass("java.util.TimeZone")
@@ -534,9 +560,13 @@ def reset_jvm_timezone_to_system_default():
534
560
  f"Reset JVM timezone to system default: {TimeZone.getDefault().getID()}"
535
561
  )
536
562
  except jpype.JException as e:
537
- raise RuntimeError(f"Java exception while resetting timezone: {e}")
563
+ exception = RuntimeError(f"Java exception while resetting timezone: {e}")
564
+ attach_custom_error_code(exception, ErrorCodes.INTERNAL_ERROR)
565
+ raise exception
538
566
  except Exception as e:
539
- raise RuntimeError(f"Unexpected error resetting JVM timezone: {e}")
567
+ exception = RuntimeError(f"Unexpected error resetting JVM timezone: {e}")
568
+ attach_custom_error_code(exception, ErrorCodes.INTERNAL_ERROR)
569
+ raise exception
540
570
 
541
571
 
542
572
  def set_snowflake_parameters(
@@ -626,16 +656,24 @@ def get_describe_cache_ttl_seconds() -> int:
626
656
 
627
657
  def auto_uppercase_column_identifiers() -> bool:
628
658
  session_config = sessions_config[get_session_id()]
629
- return session_config[
659
+ auto_upper_case_config = session_config[
630
660
  "snowpark.connect.sql.identifiers.auto-uppercase"
631
- ].lower() in ("all", "only_columns")
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
632
666
 
633
667
 
634
668
  def auto_uppercase_non_column_identifiers() -> bool:
635
669
  session_config = sessions_config[get_session_id()]
636
- return session_config[
670
+ auto_upper_case_config = session_config[
637
671
  "snowpark.connect.sql.identifiers.auto-uppercase"
638
- ].lower() in ("all", "all_except_columns")
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
639
677
 
640
678
 
641
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
- raise DateTimeException(
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
- raise DateTimeException(
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
- raise DateTimeException(
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
- raise DateTimeException(
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
- raise DateTimeException("Pattern letter count must be 2: V")
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
- raise DateTimeException(
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
- raise DateTimeException(f"Too many pattern letters: {char}")
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
- raise DateTimeException(f"Too many pattern letters: {char}")
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
- raise DateTimeException(
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
- raise DateTimeException(f"Unknown pattern letter: {char}")
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
- raise DateTimeException(
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
- raise DateTimeException(snowflake_equivalent.message)
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
- raise DateTimeException(f"Illegal pattern character: {char}")
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