databricks-sql-connector 4.2.0__tar.gz → 4.2.1__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.
Files changed (66) hide show
  1. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/CHANGELOG.md +3 -0
  2. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/PKG-INFO +1 -1
  3. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/pyproject.toml +1 -1
  4. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/__init__.py +1 -1
  5. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/client.py +33 -0
  6. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/LICENSE +0 -0
  7. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/README.md +0 -0
  8. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/__init__.py +0 -0
  9. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/auth/__init__.py +0 -0
  10. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/auth/auth.py +0 -0
  11. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/auth/auth_utils.py +0 -0
  12. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/auth/authenticators.py +0 -0
  13. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/auth/common.py +0 -0
  14. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/auth/endpoint.py +0 -0
  15. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/auth/oauth.py +0 -0
  16. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/auth/oauth_http_handler.py +0 -0
  17. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/auth/retry.py +0 -0
  18. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/auth/thrift_http_client.py +0 -0
  19. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/auth/token_federation.py +0 -0
  20. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/backend/databricks_client.py +0 -0
  21. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/backend/sea/backend.py +0 -0
  22. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/backend/sea/models/__init__.py +0 -0
  23. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/backend/sea/models/base.py +0 -0
  24. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/backend/sea/models/requests.py +0 -0
  25. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/backend/sea/models/responses.py +0 -0
  26. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/backend/sea/queue.py +0 -0
  27. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/backend/sea/result_set.py +0 -0
  28. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/backend/sea/utils/constants.py +0 -0
  29. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/backend/sea/utils/conversion.py +0 -0
  30. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/backend/sea/utils/filters.py +0 -0
  31. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/backend/sea/utils/http_client.py +0 -0
  32. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/backend/sea/utils/normalize.py +0 -0
  33. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/backend/thrift_backend.py +0 -0
  34. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/backend/types.py +0 -0
  35. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/backend/utils/__init__.py +0 -0
  36. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/backend/utils/guid_utils.py +0 -0
  37. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/cloudfetch/download_manager.py +0 -0
  38. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/cloudfetch/downloader.py +0 -0
  39. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/common/feature_flag.py +0 -0
  40. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/common/http.py +0 -0
  41. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/common/http_utils.py +0 -0
  42. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/common/unified_http_client.py +0 -0
  43. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/exc.py +0 -0
  44. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/experimental/__init__.py +0 -0
  45. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/experimental/oauth_persistence.py +0 -0
  46. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/parameters/__init__.py +0 -0
  47. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/parameters/native.py +0 -0
  48. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/parameters/py.typed +0 -0
  49. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/py.typed +0 -0
  50. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/result_set.py +0 -0
  51. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/session.py +0 -0
  52. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/telemetry/latency_logger.py +0 -0
  53. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/telemetry/models/endpoint_models.py +0 -0
  54. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/telemetry/models/enums.py +0 -0
  55. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/telemetry/models/event.py +0 -0
  56. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/telemetry/models/frontend_logs.py +0 -0
  57. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/telemetry/telemetry_client.py +0 -0
  58. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/telemetry/utils.py +0 -0
  59. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/thrift_api/TCLIService/TCLIService-remote +0 -0
  60. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/thrift_api/TCLIService/TCLIService.py +0 -0
  61. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/thrift_api/TCLIService/__init__.py +0 -0
  62. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/thrift_api/TCLIService/constants.py +0 -0
  63. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/thrift_api/TCLIService/ttypes.py +0 -0
  64. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/thrift_api/__init__.py +0 -0
  65. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/types.py +0 -0
  66. {databricks_sql_connector-4.2.0 → databricks_sql_connector-4.2.1}/src/databricks/sql/utils.py +0 -0
@@ -1,5 +1,8 @@
1
1
  # Release History
2
2
 
3
+ # 4.2.1 (2025-11-20)
4
+ - Ignore transactions by default (databricks/databricks-sql-python#711 by @jayantsing-db)
5
+
3
6
  # 4.2.0 (2025-11-14)
4
7
  - Add multi-statement transaction support (databricks/databricks-sql-python#704 by @jayantsing-db)
5
8
  - Add a workflow to parallelise the E2E tests (databricks/databricks-sql-python#697 by @msrathore-db)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: databricks-sql-connector
3
- Version: 4.2.0
3
+ Version: 4.2.1
4
4
  Summary: Databricks SQL Connector for Python
5
5
  License: Apache-2.0
6
6
  License-File: LICENSE
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "databricks-sql-connector"
3
- version = "4.2.0"
3
+ version = "4.2.1"
4
4
  description = "Databricks SQL Connector for Python"
5
5
  authors = ["Databricks <databricks-sql-connector-maintainers@databricks.com>"]
6
6
  license = "Apache-2.0"
@@ -71,7 +71,7 @@ DATETIME = DBAPITypeObject("timestamp")
71
71
  DATE = DBAPITypeObject("date")
72
72
  ROWID = DBAPITypeObject()
73
73
 
74
- __version__ = "4.2.0"
74
+ __version__ = "4.2.1"
75
75
  USER_AGENT_NAME = "PyDatabricksSqlConnector"
76
76
 
77
77
  # These two functions are pyhive legacy
@@ -104,6 +104,7 @@ class Connection:
104
104
  catalog: Optional[str] = None,
105
105
  schema: Optional[str] = None,
106
106
  _use_arrow_native_complex_types: Optional[bool] = True,
107
+ ignore_transactions: bool = True,
107
108
  **kwargs,
108
109
  ) -> None:
109
110
  """
@@ -217,6 +218,12 @@ class Connection:
217
218
  using SET AUTOCOMMIT instead of returning cached value.
218
219
  Set to True if autocommit might be changed by external means (e.g., external SQL commands).
219
220
  When False (default), uses cached state for better performance.
221
+ :param ignore_transactions: `bool`, optional (default is True)
222
+ When True, transaction-related operations behave as follows:
223
+ - commit(): no-op (does nothing)
224
+ - rollback(): raises NotSupportedError
225
+ - autocommit setter: no-op (does nothing)
226
+ When False, transaction operations execute normally.
220
227
  """
221
228
 
222
229
  # Internal arguments in **kwargs:
@@ -318,6 +325,7 @@ class Connection:
318
325
  self._fetch_autocommit_from_server = kwargs.get(
319
326
  "fetch_autocommit_from_server", False
320
327
  )
328
+ self.ignore_transactions = ignore_transactions
321
329
 
322
330
  self.force_enable_telemetry = kwargs.get("force_enable_telemetry", False)
323
331
  self.enable_telemetry = kwargs.get("enable_telemetry", False)
@@ -556,10 +564,17 @@ class Connection:
556
564
  Args:
557
565
  value: True to enable auto-commit, False to disable
558
566
 
567
+ When ignore_transactions is True:
568
+ - This method is a no-op (does nothing)
569
+
559
570
  Raises:
560
571
  InterfaceError: If connection is closed
561
572
  TransactionError: If server rejects the change
562
573
  """
574
+ # No-op when ignore_transactions is True
575
+ if self.ignore_transactions:
576
+ return
577
+
563
578
  if not self.open:
564
579
  raise InterfaceError(
565
580
  "Cannot set autocommit on closed connection",
@@ -651,10 +666,17 @@ class Connection:
651
666
  When autocommit is True:
652
667
  - Server may throw error if no active transaction
653
668
 
669
+ When ignore_transactions is True:
670
+ - This method is a no-op (does nothing)
671
+
654
672
  Raises:
655
673
  InterfaceError: If connection is closed
656
674
  TransactionError: If commit fails (e.g., no active transaction)
657
675
  """
676
+ # No-op when ignore_transactions is True
677
+ if self.ignore_transactions:
678
+ return
679
+
658
680
  if not self.open:
659
681
  raise InterfaceError(
660
682
  "Cannot commit on closed connection",
@@ -689,12 +711,23 @@ class Connection:
689
711
  When autocommit is True:
690
712
  - ROLLBACK is forgiving (no-op, doesn't throw exception)
691
713
 
714
+ When ignore_transactions is True:
715
+ - Raises NotSupportedError
716
+
692
717
  Note: ROLLBACK is safe to call even without active transaction.
693
718
 
694
719
  Raises:
695
720
  InterfaceError: If connection is closed
721
+ NotSupportedError: If ignore_transactions is True
696
722
  TransactionError: If rollback fails
697
723
  """
724
+ # Raise NotSupportedError when ignore_transactions is True
725
+ if self.ignore_transactions:
726
+ raise NotSupportedError(
727
+ "Transactions are not supported on Databricks",
728
+ session_id_hex=self.get_session_id_hex(),
729
+ )
730
+
698
731
  if not self.open:
699
732
  raise InterfaceError(
700
733
  "Cannot rollback on closed connection",