snowpark-connect 0.27.0__tar.gz → 0.28.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 (487) hide show
  1. {snowpark_connect-0.27.0/src/snowpark_connect.egg-info → snowpark_connect-0.28.0}/PKG-INFO +2 -2
  2. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/setup.py +1 -1
  3. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/column_name_handler.py +3 -93
  4. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/config.py +99 -1
  5. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/dataframe_container.py +0 -6
  6. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/expression/map_expression.py +22 -7
  7. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/expression/map_sql_expression.py +22 -18
  8. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/expression/map_unresolved_attribute.py +4 -26
  9. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/expression/map_unresolved_function.py +12 -3
  10. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/expression/map_unresolved_star.py +2 -3
  11. snowpark_connect-0.28.0/src/snowflake/snowpark_connect/includes/jars/sas-scala-udf_2.12-0.1.0.jar +0 -0
  12. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/relation/map_extension.py +14 -10
  13. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/relation/map_join.py +62 -258
  14. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/relation/map_relation.py +5 -1
  15. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/relation/map_sql.py +353 -16
  16. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/relation/write/map_write.py +171 -110
  17. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/resources_initializer.py +20 -5
  18. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/server.py +16 -17
  19. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/utils/concurrent.py +4 -0
  20. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/utils/describe_query_cache.py +57 -51
  21. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/utils/identifiers.py +120 -0
  22. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/utils/io_utils.py +21 -1
  23. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/utils/scala_udf_utils.py +34 -43
  24. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/utils/session.py +16 -26
  25. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/utils/telemetry.py +53 -0
  26. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/version.py +1 -1
  27. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0/src/snowpark_connect.egg-info}/PKG-INFO +2 -2
  28. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowpark_connect.egg-info/SOURCES.txt +0 -1
  29. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowpark_connect.egg-info/requires.txt +1 -1
  30. snowpark_connect-0.27.0/src/snowflake/snowpark_connect/hidden_column.py +0 -39
  31. snowpark_connect-0.27.0/src/snowflake/snowpark_connect/includes/jars/sas-scala-udf_2.12-0.1.0.jar +0 -0
  32. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/LICENSE-binary +0 -0
  33. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/LICENSE.txt +0 -0
  34. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/NOTICE-binary +0 -0
  35. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/README.md +0 -0
  36. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/setup.cfg +0 -0
  37. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/__init__.py +0 -0
  38. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/analyze_plan/__init__.py +0 -0
  39. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/analyze_plan/map_tree_string.py +0 -0
  40. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/constants.py +0 -0
  41. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/control_server.py +0 -0
  42. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/dataframe_name_handler.py +0 -0
  43. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/date_time_format_mapping.py +0 -0
  44. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/empty_dataframe.py +0 -0
  45. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/error/__init__.py +0 -0
  46. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/error/error_mapping.py +0 -0
  47. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/error/error_utils.py +0 -0
  48. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/error/exceptions.py +0 -0
  49. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/execute_plan/__init__.py +0 -0
  50. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/execute_plan/map_execution_command.py +0 -0
  51. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/execute_plan/map_execution_root.py +0 -0
  52. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/execute_plan/utils.py +0 -0
  53. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/expression/__init__.py +0 -0
  54. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/expression/function_defaults.py +0 -0
  55. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/expression/hybrid_column_map.py +0 -0
  56. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/expression/literal.py +0 -0
  57. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/expression/map_cast.py +0 -0
  58. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/expression/map_extension.py +0 -0
  59. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/expression/map_udf.py +0 -0
  60. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/expression/map_unresolved_extract_value.py +0 -0
  61. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/expression/map_update_fields.py +0 -0
  62. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/expression/map_window_function.py +0 -0
  63. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/expression/typer.py +0 -0
  64. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/__init__.py +0 -0
  65. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/antlr4-runtime-4.9.3.jar +0 -0
  66. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/commons-cli-1.5.0.jar +0 -0
  67. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/commons-codec-1.16.1.jar +0 -0
  68. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/commons-collections-3.2.2.jar +0 -0
  69. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/commons-collections4-4.4.jar +0 -0
  70. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/commons-compiler-3.1.9.jar +0 -0
  71. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/commons-compress-1.26.0.jar +0 -0
  72. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/commons-crypto-1.1.0.jar +0 -0
  73. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/commons-dbcp-1.4.jar +0 -0
  74. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/commons-io-2.16.1.jar +0 -0
  75. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/commons-lang-2.6.jar +0 -0
  76. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/commons-lang3-3.12.0.jar +0 -0
  77. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/commons-logging-1.1.3.jar +0 -0
  78. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/commons-math3-3.6.1.jar +0 -0
  79. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/commons-pool-1.5.4.jar +0 -0
  80. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/commons-text-1.10.0.jar +0 -0
  81. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/hadoop-client-api-trimmed-3.3.4.jar +0 -0
  82. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/jackson-annotations-2.15.2.jar +0 -0
  83. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/jackson-core-2.15.2.jar +0 -0
  84. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/jackson-core-asl-1.9.13.jar +0 -0
  85. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/jackson-databind-2.15.2.jar +0 -0
  86. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/jackson-dataformat-yaml-2.15.2.jar +0 -0
  87. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/jackson-datatype-jsr310-2.15.2.jar +0 -0
  88. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/jackson-module-scala_2.12-2.15.2.jar +0 -0
  89. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/json4s-ast_2.12-3.7.0-M11.jar +0 -0
  90. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/json4s-core_2.12-3.7.0-M11.jar +0 -0
  91. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/json4s-jackson_2.12-3.7.0-M11.jar +0 -0
  92. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/json4s-native_2.12-3.7.0-M11.jar +0 -0
  93. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/json4s-scalap_2.12-3.7.0-M11.jar +0 -0
  94. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/kryo-shaded-4.0.2.jar +0 -0
  95. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/log4j-1.2-api-2.20.0.jar +0 -0
  96. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/log4j-api-2.20.0.jar +0 -0
  97. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/log4j-core-2.20.0.jar +0 -0
  98. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/log4j-slf4j2-impl-2.20.0.jar +0 -0
  99. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/paranamer-2.8.3.jar +0 -0
  100. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/paranamer-2.8.jar +0 -0
  101. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/scala-collection-compat_2.12-2.7.0.jar +0 -0
  102. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/scala-library-2.12.18.jar +0 -0
  103. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/scala-parser-combinators_2.12-2.3.0.jar +0 -0
  104. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/scala-reflect-2.12.18.jar +0 -0
  105. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/scala-xml_2.12-2.1.0.jar +0 -0
  106. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/slf4j-api-2.0.7.jar +0 -0
  107. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/spark-catalyst_2.12-3.5.6.jar +0 -0
  108. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/spark-common-utils_2.12-3.5.6.jar +0 -0
  109. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/spark-connect-client-jvm_2.12-3.5.6.jar +0 -0
  110. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/spark-core_2.12-3.5.6.jar +0 -0
  111. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/spark-graphx_2.12-3.5.6.jar +0 -0
  112. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/spark-hive-thriftserver_2.12-3.5.6.jar +0 -0
  113. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/spark-hive_2.12-3.5.6.jar +0 -0
  114. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/spark-kvstore_2.12-3.5.6.jar +0 -0
  115. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/spark-launcher_2.12-3.5.6.jar +0 -0
  116. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/spark-mesos_2.12-3.5.6.jar +0 -0
  117. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/spark-mllib-local_2.12-3.5.6.jar +0 -0
  118. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/spark-network-common_2.12-3.5.6.jar +0 -0
  119. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/spark-network-shuffle_2.12-3.5.6.jar +0 -0
  120. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/spark-repl_2.12-3.5.6.jar +0 -0
  121. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/spark-sketch_2.12-3.5.6.jar +0 -0
  122. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/spark-sql-api_2.12-3.5.6.jar +0 -0
  123. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/spark-sql_2.12-3.5.6.jar +0 -0
  124. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/spark-tags_2.12-3.5.6.jar +0 -0
  125. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/spark-unsafe_2.12-3.5.6.jar +0 -0
  126. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/jars/spark-yarn_2.12-3.5.6.jar +0 -0
  127. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/__init__.py +0 -0
  128. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/__init__.py +0 -0
  129. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/_globals.py +0 -0
  130. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/_typing.pyi +0 -0
  131. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/accumulators.py +0 -0
  132. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/broadcast.py +0 -0
  133. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/cloudpickle/__init__.py +0 -0
  134. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/cloudpickle/cloudpickle.py +0 -0
  135. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/cloudpickle/cloudpickle_fast.py +0 -0
  136. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/cloudpickle/compat.py +0 -0
  137. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/conf.py +0 -0
  138. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/context.py +0 -0
  139. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/daemon.py +0 -0
  140. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/__init__.py +0 -0
  141. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/error_classes.py +0 -0
  142. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/exceptions/__init__.py +0 -0
  143. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/exceptions/base.py +0 -0
  144. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/exceptions/captured.py +0 -0
  145. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/exceptions/connect.py +0 -0
  146. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/utils.py +0 -0
  147. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/files.py +0 -0
  148. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/find_spark_home.py +0 -0
  149. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/install.py +0 -0
  150. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/instrumentation_utils.py +0 -0
  151. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/java_gateway.py +0 -0
  152. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/join.py +0 -0
  153. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/__init__.py +0 -0
  154. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/_typing.pyi +0 -0
  155. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/base.py +0 -0
  156. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/classification.py +0 -0
  157. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/clustering.py +0 -0
  158. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/common.py +0 -0
  159. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/__init__.py +0 -0
  160. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/base.py +0 -0
  161. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/classification.py +0 -0
  162. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/evaluation.py +0 -0
  163. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/feature.py +0 -0
  164. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/functions.py +0 -0
  165. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/io_utils.py +0 -0
  166. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/pipeline.py +0 -0
  167. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/summarizer.py +0 -0
  168. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/tuning.py +0 -0
  169. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/util.py +0 -0
  170. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/deepspeed/__init__.py +0 -0
  171. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/deepspeed/deepspeed_distributor.py +0 -0
  172. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/dl_util.py +0 -0
  173. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/evaluation.py +0 -0
  174. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/feature.py +0 -0
  175. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/fpm.py +0 -0
  176. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/functions.py +0 -0
  177. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/image.py +0 -0
  178. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/linalg/__init__.py +0 -0
  179. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/model_cache.py +0 -0
  180. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/param/__init__.py +0 -0
  181. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/param/_shared_params_code_gen.py +0 -0
  182. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/param/shared.py +0 -0
  183. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/pipeline.py +0 -0
  184. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/recommendation.py +0 -0
  185. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/regression.py +0 -0
  186. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/stat.py +0 -0
  187. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/torch/__init__.py +0 -0
  188. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/torch/data.py +0 -0
  189. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/torch/distributor.py +0 -0
  190. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/torch/log_communication.py +0 -0
  191. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/torch/torch_run_process_wrapper.py +0 -0
  192. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/tree.py +0 -0
  193. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/tuning.py +0 -0
  194. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/util.py +0 -0
  195. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/wrapper.py +0 -0
  196. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/__init__.py +0 -0
  197. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/_typing.pyi +0 -0
  198. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/classification.py +0 -0
  199. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/clustering.py +0 -0
  200. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/common.py +0 -0
  201. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/evaluation.py +0 -0
  202. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/feature.py +0 -0
  203. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/fpm.py +0 -0
  204. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/linalg/__init__.py +0 -0
  205. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/linalg/distributed.py +0 -0
  206. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/random.py +0 -0
  207. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/recommendation.py +0 -0
  208. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/regression.py +0 -0
  209. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/stat/KernelDensity.py +0 -0
  210. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/stat/__init__.py +0 -0
  211. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/stat/_statistics.py +0 -0
  212. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/stat/distribution.py +0 -0
  213. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/stat/test.py +0 -0
  214. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/tree.py +0 -0
  215. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/util.py +0 -0
  216. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/__init__.py +0 -0
  217. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/_typing.py +0 -0
  218. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/accessors.py +0 -0
  219. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/base.py +0 -0
  220. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/categorical.py +0 -0
  221. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/config.py +0 -0
  222. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/correlation.py +0 -0
  223. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/__init__.py +0 -0
  224. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/base.py +0 -0
  225. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/binary_ops.py +0 -0
  226. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/boolean_ops.py +0 -0
  227. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/categorical_ops.py +0 -0
  228. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/complex_ops.py +0 -0
  229. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/date_ops.py +0 -0
  230. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/datetime_ops.py +0 -0
  231. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/null_ops.py +0 -0
  232. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/num_ops.py +0 -0
  233. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/string_ops.py +0 -0
  234. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/timedelta_ops.py +0 -0
  235. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/udt_ops.py +0 -0
  236. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/datetimes.py +0 -0
  237. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/exceptions.py +0 -0
  238. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/extensions.py +0 -0
  239. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/frame.py +0 -0
  240. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/generic.py +0 -0
  241. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/groupby.py +0 -0
  242. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/__init__.py +0 -0
  243. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/base.py +0 -0
  244. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/category.py +0 -0
  245. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/datetimes.py +0 -0
  246. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/multi.py +0 -0
  247. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/numeric.py +0 -0
  248. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/timedelta.py +0 -0
  249. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexing.py +0 -0
  250. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/internal.py +0 -0
  251. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/__init__.py +0 -0
  252. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/common.py +0 -0
  253. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/frame.py +0 -0
  254. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/general_functions.py +0 -0
  255. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/groupby.py +0 -0
  256. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/indexes.py +0 -0
  257. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/resample.py +0 -0
  258. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/scalars.py +0 -0
  259. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/series.py +0 -0
  260. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/window.py +0 -0
  261. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/mlflow.py +0 -0
  262. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/namespace.py +0 -0
  263. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/numpy_compat.py +0 -0
  264. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/plot/__init__.py +0 -0
  265. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/plot/core.py +0 -0
  266. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/plot/matplotlib.py +0 -0
  267. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/plot/plotly.py +0 -0
  268. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/resample.py +0 -0
  269. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/series.py +0 -0
  270. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/sql_formatter.py +0 -0
  271. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/sql_processor.py +0 -0
  272. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/strings.py +0 -0
  273. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/supported_api_gen.py +0 -0
  274. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/typedef/__init__.py +0 -0
  275. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/typedef/typehints.py +0 -0
  276. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/usage_logging/__init__.py +0 -0
  277. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/usage_logging/usage_logger.py +0 -0
  278. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/utils.py +0 -0
  279. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/window.py +0 -0
  280. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/profiler.py +0 -0
  281. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/py.typed +0 -0
  282. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/python/pyspark/shell.py +0 -0
  283. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/rdd.py +0 -0
  284. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/rddsampler.py +0 -0
  285. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/resource/__init__.py +0 -0
  286. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/resource/information.py +0 -0
  287. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/resource/profile.py +0 -0
  288. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/resource/requests.py +0 -0
  289. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/resultiterable.py +0 -0
  290. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/serializers.py +0 -0
  291. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/shell.py +0 -0
  292. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/shuffle.py +0 -0
  293. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/__init__.py +0 -0
  294. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/_typing.pyi +0 -0
  295. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/avro/__init__.py +0 -0
  296. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/avro/functions.py +0 -0
  297. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/catalog.py +0 -0
  298. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/column.py +0 -0
  299. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/conf.py +0 -0
  300. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/__init__.py +0 -0
  301. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/_typing.py +0 -0
  302. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/avro/__init__.py +0 -0
  303. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/avro/functions.py +0 -0
  304. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/catalog.py +0 -0
  305. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/client/__init__.py +0 -0
  306. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/client/artifact.py +0 -0
  307. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/client/core.py +0 -0
  308. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/client/reattach.py +0 -0
  309. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/column.py +0 -0
  310. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/conf.py +0 -0
  311. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/conversion.py +0 -0
  312. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/dataframe.py +0 -0
  313. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/expressions.py +0 -0
  314. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/functions.py +0 -0
  315. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/group.py +0 -0
  316. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/plan.py +0 -0
  317. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/__init__.py +0 -0
  318. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/base_pb2.py +0 -0
  319. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/base_pb2.pyi +0 -0
  320. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/base_pb2_grpc.py +0 -0
  321. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/catalog_pb2.py +0 -0
  322. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/catalog_pb2.pyi +0 -0
  323. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/commands_pb2.py +0 -0
  324. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/commands_pb2.pyi +0 -0
  325. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/common_pb2.py +0 -0
  326. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/common_pb2.pyi +0 -0
  327. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/example_plugins_pb2.py +0 -0
  328. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/example_plugins_pb2.pyi +0 -0
  329. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/expressions_pb2.py +0 -0
  330. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/expressions_pb2.pyi +0 -0
  331. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/relations_pb2.py +0 -0
  332. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/relations_pb2.pyi +0 -0
  333. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/types_pb2.py +0 -0
  334. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/types_pb2.pyi +0 -0
  335. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/protobuf/__init__.py +0 -0
  336. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/protobuf/functions.py +0 -0
  337. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/readwriter.py +0 -0
  338. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/session.py +0 -0
  339. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/streaming/__init__.py +0 -0
  340. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/streaming/query.py +0 -0
  341. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/streaming/readwriter.py +0 -0
  342. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/streaming/worker/__init__.py +0 -0
  343. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/streaming/worker/foreach_batch_worker.py +0 -0
  344. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/streaming/worker/listener_worker.py +0 -0
  345. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/types.py +0 -0
  346. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/udf.py +0 -0
  347. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/udtf.py +0 -0
  348. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/utils.py +0 -0
  349. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/window.py +0 -0
  350. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/context.py +0 -0
  351. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/dataframe.py +0 -0
  352. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/functions.py +0 -0
  353. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/group.py +0 -0
  354. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/observation.py +0 -0
  355. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/__init__.py +0 -0
  356. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/_typing/__init__.pyi +0 -0
  357. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/_typing/protocols/__init__.pyi +0 -0
  358. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/_typing/protocols/frame.pyi +0 -0
  359. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/_typing/protocols/series.pyi +0 -0
  360. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/conversion.py +0 -0
  361. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/functions.py +0 -0
  362. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/functions.pyi +0 -0
  363. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/group_ops.py +0 -0
  364. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/map_ops.py +0 -0
  365. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/serializers.py +0 -0
  366. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/typehints.py +0 -0
  367. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/types.py +0 -0
  368. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/utils.py +0 -0
  369. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/protobuf/__init__.py +0 -0
  370. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/protobuf/functions.py +0 -0
  371. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/readwriter.py +0 -0
  372. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/session.py +0 -0
  373. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/sql_formatter.py +0 -0
  374. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/streaming/__init__.py +0 -0
  375. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/streaming/listener.py +0 -0
  376. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/streaming/query.py +0 -0
  377. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/streaming/readwriter.py +0 -0
  378. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/streaming/state.py +0 -0
  379. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/types.py +0 -0
  380. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/udf.py +0 -0
  381. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/udtf.py +0 -0
  382. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/utils.py +0 -0
  383. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/window.py +0 -0
  384. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/statcounter.py +0 -0
  385. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/status.py +0 -0
  386. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/storagelevel.py +0 -0
  387. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/streaming/__init__.py +0 -0
  388. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/streaming/context.py +0 -0
  389. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/streaming/dstream.py +0 -0
  390. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/streaming/kinesis.py +0 -0
  391. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/streaming/listener.py +0 -0
  392. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/streaming/util.py +0 -0
  393. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/taskcontext.py +0 -0
  394. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/__init__.py +0 -0
  395. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/connectutils.py +0 -0
  396. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/mllibutils.py +0 -0
  397. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/mlutils.py +0 -0
  398. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/objects.py +0 -0
  399. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/pandasutils.py +0 -0
  400. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/sqlutils.py +0 -0
  401. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/streamingutils.py +0 -0
  402. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/utils.py +0 -0
  403. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/traceback_utils.py +0 -0
  404. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/util.py +0 -0
  405. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/version.py +0 -0
  406. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/worker.py +0 -0
  407. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/includes/python/pyspark/worker_util.py +0 -0
  408. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/proto/__init__.py +0 -0
  409. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/proto/control_pb2.py +0 -0
  410. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/proto/control_pb2.pyi +0 -0
  411. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/proto/control_pb2_grpc.py +0 -0
  412. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/proto/snowflake_expression_ext_pb2.py +0 -0
  413. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/proto/snowflake_expression_ext_pb2.pyi +0 -0
  414. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/proto/snowflake_rdd_pb2.pyi +0 -0
  415. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/proto/snowflake_relation_ext_pb2.py +0 -0
  416. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/proto/snowflake_relation_ext_pb2.pyi +0 -0
  417. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/relation/__init__.py +0 -0
  418. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/relation/catalogs/__init__.py +0 -0
  419. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/relation/catalogs/abstract_spark_catalog.py +0 -0
  420. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/relation/catalogs/snowflake_catalog.py +0 -0
  421. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/relation/catalogs/utils.py +0 -0
  422. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/relation/io_utils.py +0 -0
  423. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/relation/map_aggregate.py +0 -0
  424. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/relation/map_catalog.py +0 -0
  425. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/relation/map_column_ops.py +0 -0
  426. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/relation/map_crosstab.py +0 -0
  427. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/relation/map_local_relation.py +0 -0
  428. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/relation/map_map_partitions.py +0 -0
  429. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/relation/map_row_ops.py +0 -0
  430. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/relation/map_sample_by.py +0 -0
  431. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/relation/map_show_string.py +0 -0
  432. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/relation/map_stats.py +0 -0
  433. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/relation/map_subquery_alias.py +0 -0
  434. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/relation/map_udtf.py +0 -0
  435. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/relation/read/__init__.py +0 -0
  436. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/relation/read/jdbc_read_dbapi.py +0 -0
  437. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/relation/read/map_read.py +0 -0
  438. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/relation/read/map_read_csv.py +0 -0
  439. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/relation/read/map_read_jdbc.py +0 -0
  440. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/relation/read/map_read_json.py +0 -0
  441. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/relation/read/map_read_parquet.py +0 -0
  442. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/relation/read/map_read_socket.py +0 -0
  443. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/relation/read/map_read_table.py +0 -0
  444. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/relation/read/map_read_text.py +0 -0
  445. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/relation/read/reader_config.py +0 -0
  446. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/relation/read/utils.py +0 -0
  447. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/relation/stage_locator.py +0 -0
  448. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/relation/utils.py +0 -0
  449. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/relation/write/__init__.py +0 -0
  450. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/relation/write/jdbc_write_dbapi.py +0 -0
  451. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/relation/write/map_write_jdbc.py +0 -0
  452. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/resources/java_udfs-1.0-SNAPSHOT.jar +0 -0
  453. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/start_server.py +0 -0
  454. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/tcm.py +0 -0
  455. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/type_mapping.py +0 -0
  456. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/typed_column.py +0 -0
  457. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/utils/__init__.py +0 -0
  458. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/utils/artifacts.py +0 -0
  459. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/utils/cache.py +0 -0
  460. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/utils/context.py +0 -0
  461. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/utils/env_utils.py +0 -0
  462. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/utils/external_udxf_cache.py +0 -0
  463. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/utils/interrupt.py +0 -0
  464. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/utils/pandas_udtf_utils.py +0 -0
  465. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/utils/profiling.py +0 -0
  466. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/utils/snowpark_connect_logging.py +0 -0
  467. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/utils/udf_cache.py +0 -0
  468. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/utils/udf_helper.py +0 -0
  469. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/utils/udf_utils.py +0 -0
  470. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/utils/udtf_helper.py +0 -0
  471. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/utils/udtf_utils.py +0 -0
  472. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/utils/udxf_import_utils.py +0 -0
  473. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_connect/utils/xxhash64.py +0 -0
  474. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_decoder/__init__.py +0 -0
  475. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_decoder/_internal/proto/generated/DataframeProcessorMsg_pb2.py +0 -0
  476. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_decoder/_internal/proto/generated/DataframeProcessorMsg_pb2.pyi +0 -0
  477. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_decoder/dp_session.py +0 -0
  478. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowflake/snowpark_decoder/spark_decoder.py +0 -0
  479. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowpark_connect.egg-info/dependency_links.txt +0 -0
  480. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/snowpark_connect.egg-info/top_level.txt +0 -0
  481. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/spark/__init__.py +0 -0
  482. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/spark/connect/__init__.py +0 -0
  483. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/spark/connect/envelope_pb2.py +0 -0
  484. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/src/spark/connect/envelope_pb2.pyi +0 -0
  485. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/tools/snowpark-connect +0 -0
  486. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/tools/snowpark-session +0 -0
  487. {snowpark_connect-0.27.0 → snowpark_connect-0.28.0}/tools/snowpark-submit +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: snowpark-connect
3
- Version: 0.27.0
3
+ Version: 0.28.0
4
4
  Summary: Snowpark Connect for Spark
5
5
  Author: Snowflake, Inc
6
6
  License: Apache License, Version 2.0
@@ -16,7 +16,7 @@ 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.39.0,==1.38.0
19
+ Requires-Dist: snowflake-snowpark-python[pandas]<1.40.0,==1.39.0
20
20
  Requires-Dist: sqlglot>=26.3.8
21
21
  Requires-Dist: jaydebeapi
22
22
  Requires-Dist: aiobotocore~=2.23.0
@@ -46,7 +46,7 @@ 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.38.0,<1.39.0",
49
+ "snowflake-snowpark-python[pandas]==1.39.0,<1.40.0",
50
50
  "sqlglot>=26.3.8",
51
51
  "jaydebeapi",
52
52
  "aiobotocore~=2.23.0",
@@ -20,7 +20,6 @@ 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.hidden_column import HiddenColumn
24
23
  from snowflake.snowpark_connect.utils.context import get_current_operation_scope
25
24
  from snowflake.snowpark_connect.utils.identifiers import (
26
25
  split_fully_qualified_spark_name,
@@ -124,7 +123,6 @@ class ColumnNameMap:
124
123
  ] = lambda: global_config.spark_sql_caseSensitive,
125
124
  column_metadata: dict | None = None,
126
125
  column_qualifiers: list[list[str]] | None = None,
127
- hidden_columns: set[HiddenColumn] | None = None,
128
126
  parent_column_name_map: ColumnNameMap | None = None,
129
127
  ) -> None:
130
128
  """
@@ -135,7 +133,6 @@ class ColumnNameMap:
135
133
  The key is the original Spark column name, and the value is the metadata.
136
134
  example: Dict('age', {'foo': 'bar'})
137
135
  column_qualifiers: Optional qualifiers for the columns, used to handle table aliases or DataFrame aliases.
138
- hidden_columns: Optional set of HiddenColumn objects.
139
136
  parent_column_name_map: parent ColumnNameMap
140
137
  """
141
138
  self.columns: list[ColumnNames] = []
@@ -144,7 +141,6 @@ class ColumnNameMap:
144
141
  self.snowpark_to_col = defaultdict(list)
145
142
  self.is_case_sensitive = is_case_sensitive
146
143
  self.column_metadata = column_metadata
147
- self.hidden_columns = hidden_columns
148
144
 
149
145
  # Rename chain dictionary to track column renaming history
150
146
  self.rename_chains: dict[str, str] = {} # old_name -> new_name mapping
@@ -338,8 +334,6 @@ class ColumnNameMap:
338
334
  *,
339
335
  allow_non_exists: bool = False,
340
336
  return_first: bool = False,
341
- is_qualified: bool = False,
342
- source_qualifiers: list[str] | None = None,
343
337
  ) -> str | None:
344
338
  assert isinstance(spark_column_name, str)
345
339
  resolved_name = (
@@ -347,37 +341,9 @@ class ColumnNameMap:
347
341
  if self.rename_chains
348
342
  else spark_column_name
349
343
  )
350
-
351
- # We need to check hidden columns first. We want to avoid the code path
352
- # within get_snowpark_column_names_from_spark_column_names that checks the parent ColumnNameMap.
353
- # This is because that will return the name of the using column that's been dropped from the result
354
- # dataframe. We want to fetch and resolve the hidden column to its visible using column name instead.
355
- # Even if this is an unqualified reference or one to the visible column, it will resolve correctly to
356
- # the visible name anyway.
357
- snowpark_names = []
358
- # Only check hidden columns for qualified references with source qualifiers
359
- if is_qualified and source_qualifiers is not None and self.hidden_columns:
360
- column_name = spark_column_name
361
-
362
- # Check each hidden column for column name AND qualifier match
363
- for hidden_col in self.hidden_columns:
364
- if (
365
- hidden_col.spark_name == column_name
366
- and hidden_col.qualifiers == source_qualifiers
367
- ):
368
- if not global_config.spark_sql_caseSensitive:
369
- if hidden_col.spark_name.upper() == column_name.upper() and [
370
- q.upper() for q in hidden_col.qualifiers
371
- ] == [q.upper() for q in source_qualifiers]:
372
- snowpark_names.append(hidden_col.visible_snowpark_name)
373
- else:
374
- snowpark_names.append(hidden_col.visible_snowpark_name)
375
-
376
- # If not found in hidden columns, proceed with normal lookup
377
- if not snowpark_names:
378
- snowpark_names = self.get_snowpark_column_names_from_spark_column_names(
379
- [resolved_name], return_first
380
- )
344
+ snowpark_names = self.get_snowpark_column_names_from_spark_column_names(
345
+ [resolved_name], return_first
346
+ )
381
347
 
382
348
  snowpark_names_len = len(snowpark_names)
383
349
  if snowpark_names_len > 1:
@@ -464,27 +430,6 @@ class ColumnNameMap:
464
430
  snowpark_columns.append(c.snowpark_name)
465
431
  qualifiers.append(c.qualifiers)
466
432
 
467
- # Note: The following code is commented out because there is a bug with handling duplicate columns in
468
- # qualified select *'s. This needs to be revisited once a solution for that is found.
469
- # TODO: https://snowflakecomputing.atlassian.net/browse/SNOW-2265240
470
-
471
- # # Handles fetching/resolving the hidden columns if they also match the qualifiers
472
- # # This method is only ever called for qualified references, so we need to check hidden columns as well.
473
- # if self.hidden_columns:
474
- # for hidden_col in self.hidden_columns:
475
- # col_qualifiers = (
476
- # [q.upper() for q in hidden_col.qualifiers]
477
- # if not self.is_case_sensitive()
478
- # else hidden_col.qualifiers
479
- # )
480
- # if len(col_qualifiers) < len(qualifiers_input):
481
- # continue
482
- # if col_qualifiers[-len(qualifiers_input) :] == qualifiers_input:
483
- # # This hidden column matches! Add it to the results
484
- # spark_columns.append(hidden_col.spark_name)
485
- # snowpark_columns.append(hidden_col.visible_snowpark_name)
486
- # qualifiers.append(hidden_col.qualifiers)
487
-
488
433
  return spark_columns, snowpark_columns, qualifiers
489
434
 
490
435
  def get_snowpark_columns(self) -> list[str]:
@@ -616,35 +561,6 @@ class ColumnNameMap:
616
561
  else:
617
562
  return spark_name.upper()
618
563
 
619
- def is_hidden_column_reference(
620
- self, spark_column_name: str, source_qualifiers: list[str] | None = None
621
- ) -> bool:
622
- """
623
- Check if a column reference would be resolved through hidden columns.
624
- """
625
- if not self.hidden_columns or source_qualifiers is None:
626
- return False
627
-
628
- # For qualified references with source_qualifiers
629
- column_name = (
630
- spark_column_name # When has_plan_id=True, this is just the column name
631
- )
632
-
633
- for hidden_col in self.hidden_columns:
634
- if (
635
- hidden_col.spark_name == column_name
636
- and hidden_col.qualifiers == source_qualifiers
637
- ):
638
- if not global_config.spark_sql_caseSensitive:
639
- if hidden_col.spark_name.upper() == column_name.upper() and [
640
- q.upper() for q in hidden_col.qualifiers
641
- ] == [q.upper() for q in source_qualifiers]:
642
- return True
643
- else:
644
- return True
645
-
646
- return False
647
-
648
564
 
649
565
  class JoinColumnNameMap(ColumnNameMap):
650
566
  def __init__(
@@ -654,9 +570,6 @@ class JoinColumnNameMap(ColumnNameMap):
654
570
  ) -> None:
655
571
  self.left_column_mapping: ColumnNameMap = left_colmap
656
572
  self.right_column_mapping: ColumnNameMap = right_colmap
657
- # Ensure attributes expected by base-class helpers exist to avoid AttributeError
658
- # when generic code paths (e.g., hidden column checks) touch them.
659
- self.hidden_columns: set[HiddenColumn] | None = None
660
573
 
661
574
  def get_snowpark_column_name_from_spark_column_name(
662
575
  self,
@@ -664,9 +577,6 @@ class JoinColumnNameMap(ColumnNameMap):
664
577
  *,
665
578
  allow_non_exists: bool = False,
666
579
  return_first: bool = False,
667
- # JoinColumnNameMap will never be called with using columns, so these parameters are not used.
668
- is_qualified: bool = False,
669
- source_qualifiers: list[str] | None = None,
670
580
  ) -> str | None:
671
581
  snowpark_column_name_in_left = (
672
582
  self.left_column_mapping.get_snowpark_column_name_from_spark_column_name(
@@ -8,7 +8,7 @@ import re
8
8
  import sys
9
9
  from collections import defaultdict
10
10
  from copy import copy, deepcopy
11
- from typing import Any
11
+ from typing import Any, Dict
12
12
 
13
13
  import jpype
14
14
  import pyspark.sql.connect.proto.base_pb2 as proto_base
@@ -17,6 +17,7 @@ from tzlocal import get_localzone_name
17
17
  from snowflake import snowpark
18
18
  from snowflake.snowpark._internal.analyzer.analyzer_utils import (
19
19
  quote_name_without_upper_casing,
20
+ unquote_if_quoted,
20
21
  )
21
22
  from snowflake.snowpark.exceptions import SnowparkSQLException
22
23
  from snowflake.snowpark.types import TimestampTimeZone, TimestampType
@@ -257,6 +258,7 @@ SESSION_CONFIG_KEY_WHITELIST = {
257
258
  "spark.sql.execution.pythonUDTF.arrow.enabled",
258
259
  "spark.sql.tvf.allowMultipleTableArguments.enabled",
259
260
  "snowpark.connect.sql.passthrough",
261
+ "snowpark.connect.cte.optimization_enabled",
260
262
  "snowpark.connect.iceberg.external_volume",
261
263
  "snowpark.connect.sql.identifiers.auto-uppercase",
262
264
  "snowpark.connect.udtf.compatibility_mode",
@@ -281,6 +283,7 @@ class SessionConfig:
281
283
  default_session_config = {
282
284
  "snowpark.connect.sql.identifiers.auto-uppercase": "all_except_columns",
283
285
  "snowpark.connect.sql.passthrough": "false",
286
+ "snowpark.connect.cte.optimization_enabled": "true",
284
287
  "snowpark.connect.udtf.compatibility_mode": "false",
285
288
  "snowpark.connect.views.duplicate_column_names_handling_mode": "rename",
286
289
  "spark.sql.execution.pythonUDTF.arrow.enabled": "false",
@@ -290,6 +293,7 @@ class SessionConfig:
290
293
 
291
294
  def __init__(self) -> None:
292
295
  self.config = deepcopy(self.default_session_config)
296
+ self.table_metadata: Dict[str, Dict[str, Any]] = {}
293
297
 
294
298
  def __getitem__(self, item: str) -> str:
295
299
  return self.get(item)
@@ -569,6 +573,12 @@ def set_snowflake_parameters(
569
573
  snowpark_session.use_database(db)
570
574
  case (prev, curr) if prev != curr:
571
575
  snowpark_session.use_schema(prev)
576
+ case "snowpark.connect.cte.optimization_enabled":
577
+ # Set CTE optimization on the snowpark session
578
+ cte_enabled = str_to_bool(value)
579
+ snowpark_session.cte_optimization_enabled = cte_enabled
580
+ logger.info(f"Updated snowpark session CTE optimization: {cte_enabled}")
581
+
572
582
  case _:
573
583
  pass
574
584
 
@@ -578,6 +588,16 @@ def get_boolean_session_config_param(name: str) -> bool:
578
588
  return str_to_bool(session_config[name])
579
589
 
580
590
 
591
+ def get_string_session_config_param(name: str) -> str:
592
+ session_config = sessions_config[get_session_id()]
593
+ return str(session_config[name])
594
+
595
+
596
+ def get_cte_optimization_enabled() -> bool:
597
+ """Get the CTE optimization configuration setting."""
598
+ return get_boolean_session_config_param("snowpark.connect.cte.optimization_enabled")
599
+
600
+
581
601
  def auto_uppercase_column_identifiers() -> bool:
582
602
  session_config = sessions_config[get_session_id()]
583
603
  return session_config[
@@ -613,3 +633,81 @@ def get_timestamp_type():
613
633
  # shouldn't happen since `spark.sql.timestampType` is always defined, and `spark.conf.unset` sets it to default (TIMESTAMP_LTZ)
614
634
  timestamp_type = TimestampType(TimestampTimeZone.LTZ)
615
635
  return timestamp_type
636
+
637
+
638
+ def record_table_metadata(
639
+ table_identifier: str,
640
+ table_type: str,
641
+ data_source: str,
642
+ supports_column_rename: bool = True,
643
+ ) -> None:
644
+ """
645
+ Record metadata about a table for Spark compatibility checks.
646
+
647
+ Args:
648
+ table_identifier: Full table identifier (catalog.database.table)
649
+ table_type: "v1" or "v2"
650
+ data_source: Source format (parquet, csv, iceberg, etc.)
651
+ supports_column_rename: Whether the table supports RENAME COLUMN
652
+ """
653
+ session_id = get_session_id()
654
+ session_config = sessions_config[session_id]
655
+
656
+ # Normalize table identifier for consistent lookup
657
+ # Use the full catalog.database.table identifier to avoid conflicts
658
+ normalized_identifier = table_identifier.upper().strip('"')
659
+
660
+ session_config.table_metadata[normalized_identifier] = {
661
+ "table_type": table_type,
662
+ "data_source": data_source,
663
+ "supports_column_rename": supports_column_rename,
664
+ }
665
+
666
+
667
+ def get_table_metadata(table_identifier: str) -> Dict[str, Any] | None:
668
+ """
669
+ Get stored metadata for a table.
670
+
671
+ Args:
672
+ table_identifier: Full table identifier (catalog.database.table)
673
+
674
+ Returns:
675
+ Table metadata dict or None if not found
676
+ """
677
+ session_id = get_session_id()
678
+ session_config = sessions_config[session_id]
679
+
680
+ normalized_identifier = unquote_if_quoted(table_identifier).upper()
681
+
682
+ return session_config.table_metadata.get(normalized_identifier)
683
+
684
+
685
+ def check_table_supports_operation(table_identifier: str, operation: str) -> bool:
686
+ """
687
+ Check if a table supports a given operation based on metadata and config.
688
+
689
+ Args:
690
+ table_identifier: Full table identifier (catalog.database.table)
691
+ operation: Operation to check (e.g., "rename_column")
692
+
693
+ Returns:
694
+ True if operation is supported, False if should be blocked
695
+ """
696
+ table_metadata = get_table_metadata(table_identifier)
697
+
698
+ if not table_metadata:
699
+ return True
700
+
701
+ session_id = get_session_id()
702
+ session_config = sessions_config[session_id]
703
+ enable_extensions = str_to_bool(
704
+ session_config.get("enable_snowflake_extension_behavior", "false")
705
+ )
706
+
707
+ if enable_extensions:
708
+ return True
709
+
710
+ if operation == "rename_column":
711
+ return table_metadata.get("supports_column_rename", True)
712
+
713
+ return True
@@ -8,7 +8,6 @@ from typing import TYPE_CHECKING, Callable
8
8
 
9
9
  from snowflake import snowpark
10
10
  from snowflake.snowpark.types import StructField, StructType
11
- from snowflake.snowpark_connect.hidden_column import HiddenColumn
12
11
 
13
12
  if TYPE_CHECKING:
14
13
  from snowflake.snowpark_connect.column_name_handler import ColumnNameMap
@@ -61,7 +60,6 @@ class DataFrameContainer:
61
60
  column_metadata: dict | None = None,
62
61
  column_qualifiers: list[list[str]] | None = None,
63
62
  parent_column_name_map: ColumnNameMap | None = None,
64
- hidden_columns: set[HiddenColumn] | None = None,
65
63
  table_name: str | None = None,
66
64
  alias: str | None = None,
67
65
  cached_schema_getter: Callable[[], StructType] | None = None,
@@ -78,7 +76,6 @@ class DataFrameContainer:
78
76
  column_metadata: Optional metadata dictionary
79
77
  column_qualifiers: Optional column qualifiers
80
78
  parent_column_name_map: Optional parent column name map
81
- hidden_columns: Optional list of hidden column names
82
79
  table_name: Optional table name
83
80
  alias: Optional alias
84
81
  cached_schema_getter: Optional function to get cached schema
@@ -101,7 +98,6 @@ class DataFrameContainer:
101
98
  column_metadata,
102
99
  column_qualifiers,
103
100
  parent_column_name_map,
104
- hidden_columns,
105
101
  )
106
102
 
107
103
  # Determine the schema getter to use
@@ -226,7 +222,6 @@ class DataFrameContainer:
226
222
  column_metadata: dict | None = None,
227
223
  column_qualifiers: list[list[str]] | None = None,
228
224
  parent_column_name_map: ColumnNameMap | None = None,
229
- hidden_columns: set[HiddenColumn] | None = None,
230
225
  ) -> ColumnNameMap:
231
226
  """Create a ColumnNameMap with the provided configuration."""
232
227
  from snowflake.snowpark_connect.column_name_handler import ColumnNameMap
@@ -237,7 +232,6 @@ class DataFrameContainer:
237
232
  column_metadata=column_metadata,
238
233
  column_qualifiers=column_qualifiers,
239
234
  parent_column_name_map=parent_column_name_map,
240
- hidden_columns=hidden_columns,
241
235
  )
242
236
 
243
237
  @staticmethod
@@ -38,6 +38,7 @@ from snowflake.snowpark_connect.utils.context import (
38
38
  get_current_lambda_params,
39
39
  is_function_argument_being_resolved,
40
40
  is_lambda_being_resolved,
41
+ not_resolving_fun_args,
41
42
  )
42
43
  from snowflake.snowpark_connect.utils.telemetry import (
43
44
  SnowparkConnectNotImplementedError,
@@ -136,7 +137,10 @@ def map_expression(
136
137
  case "expression_string":
137
138
  return map_sql_expr(exp, column_mapping, typer)
138
139
  case "extension":
139
- return map_extension.map_extension(exp, column_mapping, typer)
140
+ # Extensions can be passed as function args, and we need to reset the context here.
141
+ # Matters only for resolving alias expressions in the extensions rel.
142
+ with not_resolving_fun_args():
143
+ return map_extension.map_extension(exp, column_mapping, typer)
140
144
  case "lambda_function":
141
145
  lambda_name, lambda_body = map_single_column_expression(
142
146
  exp.lambda_function.function, column_mapping, typer
@@ -278,13 +282,24 @@ def map_expression(
278
282
  current_params = get_current_lambda_params()
279
283
 
280
284
  if current_params and var_name not in current_params:
281
- raise AnalysisException(
282
- f"Reference to non-lambda variable '{var_name}' within lambda function. "
283
- f"Lambda functions can only access their own parameters. "
284
- f"Available lambda parameters are: {current_params}. "
285
- f"If '{var_name}' is an outer scope lambda variable from a nested lambda, "
286
- f"that is an unsupported feature in Snowflake SQL."
285
+ outer_col_name = (
286
+ column_mapping.get_snowpark_column_name_from_spark_column_name(
287
+ var_name, allow_non_exists=True
288
+ )
287
289
  )
290
+ if outer_col_name:
291
+ col = snowpark_fn.col(outer_col_name)
292
+ return ["namedlambdavariable()"], TypedColumn(
293
+ col, lambda: typer.type(col)
294
+ )
295
+ else:
296
+ raise AnalysisException(
297
+ f"Cannot resolve variable '{var_name}' within lambda function. "
298
+ f"Lambda functions can access their own parameters and parent dataframe columns. "
299
+ f"Current lambda parameters: {current_params}. "
300
+ f"If '{var_name}' is an outer scope lambda variable from a nested lambda, "
301
+ f"that is an unsupported feature in Snowflake SQL."
302
+ )
288
303
 
289
304
  col = snowpark_fn.Column(
290
305
  UnresolvedAttribute(exp.unresolved_named_lambda_variable.name_parts[0])
@@ -11,9 +11,10 @@ import pyspark.sql.connect.proto.expressions_pb2 as expressions_proto
11
11
  import pyspark.sql.connect.proto.types_pb2 as types_proto
12
12
  from google.protobuf.any_pb2 import Any
13
13
  from pyspark.errors.exceptions.base import AnalysisException
14
+ from pyspark.sql.connect import functions as pyspark_functions
14
15
 
15
16
  import snowflake.snowpark_connect.proto.snowflake_expression_ext_pb2 as snowflake_proto
16
- from snowflake import snowpark
17
+ from snowflake.snowpark._internal.analyzer.analyzer_utils import unquote_if_quoted
17
18
  from snowflake.snowpark_connect.column_name_handler import ColumnNameMap
18
19
  from snowflake.snowpark_connect.config import global_config
19
20
  from snowflake.snowpark_connect.typed_column import TypedColumn
@@ -89,6 +90,11 @@ def as_scala_seq(input):
89
90
  )
90
91
 
91
92
 
93
+ @cache
94
+ def _scala_some():
95
+ return jpype.JClass("scala.Some")
96
+
97
+
92
98
  def map_sql_expr(
93
99
  exp: expressions_proto.Expression,
94
100
  column_mapping: ColumnNameMap,
@@ -223,9 +229,6 @@ def apply_filter_clause(
223
229
 
224
230
 
225
231
  def map_logical_plan_expression(exp: jpype.JObject) -> expressions_proto.Expression:
226
- from snowflake.snowpark_connect.expression.map_expression import (
227
- map_single_column_expression,
228
- )
229
232
  from snowflake.snowpark_connect.relation.map_sql import map_logical_plan_relation
230
233
 
231
234
  class_name = str(exp.getClass().getSimpleName())
@@ -308,22 +311,23 @@ def map_logical_plan_expression(exp: jpype.JObject) -> expressions_proto.Express
308
311
  )
309
312
  proto = expressions_proto.Expression(extension=any_proto)
310
313
  case "ExpressionWithUnresolvedIdentifier":
311
- plan_id = None
312
- identifierExpr = map_logical_plan_expression(exp.identifierExpr())
313
- session = snowpark.Session.get_active_session()
314
- m = ColumnNameMap([], [], None)
315
- expr = map_single_column_expression(
316
- identifierExpr, m, ExpressionTyper.dummy_typer(session)
314
+ from snowflake.snowpark_connect.relation.map_sql import (
315
+ get_relation_identifier_name,
317
316
  )
318
- value = session.range(1).select(expr[1].col).collect()[0][0]
319
317
 
320
- proto = expressions_proto.Expression(
321
- unresolved_attribute=expressions_proto.Expression.UnresolvedAttribute(
322
- unparsed_identifier=str(value),
323
- plan_id=plan_id,
324
- ),
325
- )
326
- # TODO: support identifier referencing unresolved function
318
+ value = unquote_if_quoted(get_relation_identifier_name(exp))
319
+ if getattr(pyspark_functions, value.lower(), None) is not None:
320
+ unresolved_function = exp.exprBuilder().apply(
321
+ _scala_some()(value).toList()
322
+ )
323
+ proto = map_logical_plan_expression(unresolved_function)
324
+ else:
325
+ proto = expressions_proto.Expression(
326
+ unresolved_attribute=expressions_proto.Expression.UnresolvedAttribute(
327
+ unparsed_identifier=str(value),
328
+ plan_id=None,
329
+ ),
330
+ )
327
331
  case "InSubquery":
328
332
  rel_proto = map_logical_plan_relation(exp.query().plan())
329
333
  any_proto = Any()
@@ -163,7 +163,6 @@ def map_unresolved_attribute(
163
163
  attr_name = ".".join(name_parts)
164
164
 
165
165
  has_plan_id = exp.unresolved_attribute.HasField("plan_id")
166
- source_qualifiers = None
167
166
 
168
167
  if has_plan_id:
169
168
  plan_id = exp.unresolved_attribute.plan_id
@@ -172,27 +171,13 @@ def map_unresolved_attribute(
172
171
  assert (
173
172
  target_df is not None
174
173
  ), f"resolving an attribute of a unresolved dataframe {plan_id}"
175
-
176
- # Get the qualifiers for this column from the target DataFrame
177
- source_qualifiers = (
178
- target_df_container.column_map.get_qualifier_for_spark_column(
179
- name_parts[-1]
180
- )
181
- )
182
-
183
- if hasattr(column_mapping, "hidden_columns"):
184
- hidden = column_mapping.hidden_columns
185
- else:
186
- hidden = None
187
-
188
174
  column_mapping = target_df_container.column_map
189
- column_mapping.hidden_columns = hidden
190
175
  typer = ExpressionTyper(target_df)
191
176
 
192
- def get_col(snowpark_name, has_hidden=False):
177
+ def get_col(snowpark_name):
193
178
  return (
194
179
  snowpark_fn.col(snowpark_name)
195
- if not has_plan_id or has_hidden
180
+ if not has_plan_id
196
181
  else target_df.col(snowpark_name)
197
182
  )
198
183
 
@@ -277,17 +262,10 @@ def map_unresolved_attribute(
277
262
  quoted_attr_name = name_parts[0]
278
263
 
279
264
  snowpark_name = column_mapping.get_snowpark_column_name_from_spark_column_name(
280
- quoted_attr_name,
281
- allow_non_exists=True,
282
- is_qualified=has_plan_id,
283
- source_qualifiers=source_qualifiers if has_plan_id else None,
265
+ quoted_attr_name, allow_non_exists=True
284
266
  )
285
-
286
267
  if snowpark_name is not None:
287
- is_hidden = column_mapping.is_hidden_column_reference(
288
- quoted_attr_name, source_qualifiers
289
- )
290
- col = get_col(snowpark_name, is_hidden)
268
+ col = get_col(snowpark_name)
291
269
  qualifiers = column_mapping.get_qualifier_for_spark_column(quoted_attr_name)
292
270
  else:
293
271
  # this means it has to be a struct column with a field name
@@ -2619,9 +2619,18 @@ def map_unresolved_function(
2619
2619
  result_type = input_type.element_type
2620
2620
  result_exp = fn(snowpark_args[0])
2621
2621
  case _:
2622
- spark_col_names = ["key", "value"]
2623
- result_exp = fn(snowpark_args[0])
2624
- result_type = [input_type.key_type, input_type.value_type]
2622
+ # Check if the type has map-like attributes before accessing them
2623
+ if hasattr(input_type, "key_type") and hasattr(
2624
+ input_type, "value_type"
2625
+ ):
2626
+ spark_col_names = ["key", "value"]
2627
+ result_exp = fn(snowpark_args[0])
2628
+ result_type = [input_type.key_type, input_type.value_type]
2629
+ else:
2630
+ # Throw proper error for types without key_type/value_type attributes
2631
+ raise AnalysisException(
2632
+ f'[DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE] Cannot resolve "{function_name}({snowpark_arg_names[0]})" due to data type mismatch: Parameter 1 requires the ("ARRAY" or "MAP") type, however "{snowpark_arg_names[0]}" has the type "{str(input_type)}".'
2633
+ )
2625
2634
  case "expm1":
2626
2635
  spark_function_name = f"EXPM1({snowpark_arg_names[0]})"
2627
2636
  result_exp = snowpark_fn.exp(*snowpark_args) - 1
@@ -34,7 +34,6 @@ def map_unresolved_star(
34
34
  column_mapping: ColumnNameMap,
35
35
  typer: ExpressionTyper,
36
36
  ) -> tuple[list[str], TypedColumn]:
37
-
38
37
  if exp.unresolved_star.HasField("unparsed_target"):
39
38
  unparsed_target = exp.unresolved_star.unparsed_target
40
39
  name_parts = split_fully_qualified_spark_name(unparsed_target)
@@ -103,7 +102,7 @@ def map_unresolved_star(
103
102
  prefix_candidate_str = f"{prefix_candidate_str}.{name_parts[i]}"
104
103
  prefix_candidate = (
105
104
  column_mapping.get_snowpark_column_name_from_spark_column_name(
106
- prefix_candidate_str, allow_non_exists=True, is_qualified=(i > 0)
105
+ prefix_candidate_str, allow_non_exists=True
107
106
  )
108
107
  )
109
108
  if prefix_candidate is None:
@@ -181,7 +180,7 @@ def map_unresolved_star_struct(
181
180
  prefix_candidate_str = f"{prefix_candidate_str}.{name_parts[i]}"
182
181
  prefix_candidate = (
183
182
  column_mapping.get_snowpark_column_name_from_spark_column_name(
184
- prefix_candidate_str, allow_non_exists=True, is_qualified=(i > 0)
183
+ prefix_candidate_str, allow_non_exists=True
185
184
  )
186
185
  )
187
186
  if prefix_candidate is None:
@@ -23,7 +23,6 @@ from snowflake.snowpark_connect.relation.map_relation import map_relation
23
23
  from snowflake.snowpark_connect.typed_column import TypedColumn
24
24
  from snowflake.snowpark_connect.utils.context import (
25
25
  get_sql_aggregate_function_count,
26
- not_resolving_fun_args,
27
26
  push_outer_dataframe,
28
27
  set_current_grouping_columns,
29
28
  )
@@ -336,15 +335,14 @@ def map_aggregate(
336
335
  typer = ExpressionTyper(input_df)
337
336
 
338
337
  def _map_column(exp: expression_proto.Expression) -> tuple[str, TypedColumn]:
339
- with not_resolving_fun_args():
340
- new_names, snowpark_column = map_expression(
341
- exp, input_container.column_map, typer
338
+ new_names, snowpark_column = map_expression(
339
+ exp, input_container.column_map, typer
340
+ )
341
+ if len(new_names) != 1:
342
+ raise SnowparkConnectNotImplementedError(
343
+ "Multi-column aggregate expressions are not supported"
342
344
  )
343
- if len(new_names) != 1:
344
- raise SnowparkConnectNotImplementedError(
345
- "Multi-column aggregate expressions are not supported"
346
- )
347
- return new_names[0], snowpark_column
345
+ return new_names[0], snowpark_column
348
346
 
349
347
  raw_groupings: list[tuple[str, TypedColumn]] = []
350
348
  raw_aggregations: list[tuple[str, TypedColumn]] = []
@@ -431,12 +429,18 @@ def map_aggregate(
431
429
  if groupings:
432
430
  # Normal GROUP BY with explicit grouping columns
433
431
  result = input_df.group_by(groupings)
434
- else:
432
+ elif not is_group_by_all:
435
433
  # No explicit GROUP BY - this is an aggregate over the entire table
436
434
  # Use a dummy constant that will be excluded from the final result
437
435
  result = input_df.with_column(
438
436
  "__dummy_group__", snowpark_fn.lit(1)
439
437
  ).group_by("__dummy_group__")
438
+ else:
439
+ # GROUP BY ALL with only one aggregate column
440
+ # Snowpark doesn't support GROUP BY ALL
441
+ # TODO: Change in future with Snowpark Supported arguments or API for GROUP BY ALL
442
+ result = input_df.group_by()
443
+
440
444
  case snowflake_proto.Aggregate.GROUP_TYPE_ROLLUP:
441
445
  result = input_df.rollup(groupings)
442
446
  case snowflake_proto.Aggregate.GROUP_TYPE_CUBE: