Implement ResultSet Abstraction (backend interfaces for fetch phase)#574
Merged
varun-edachali-dbx merged 344 commits intoJun 3, 2025
Merged
Implement ResultSet Abstraction (backend interfaces for fetch phase)#574varun-edachali-dbx merged 344 commits into
varun-edachali-dbx merged 344 commits into
Commits
This pull request is big! We're only showing the most recent 250 commits
Commits on May 28, 2025
ensure backend client returns a ResultSet type in backend tests
Show description for 8ea5cf4committedformatting (black)
Show description for 3eba92acommittedfix: correct client tests
Show description for 6735fd5committedformatting (black)
Show description for 12388e8committedremove excess comments (nit)
Show description for 853e6c3committedUpdate CODEOWNERS (#562)
Show description for 4f8b54cauthored andcommittedEnhance Cursor close handling and context manager exception management to prevent server side resource leaks (#554)
Show description for 12ee56fauthored andcommittedPECOBLR-86 improve logging on python driver (#556)
Show description for a5152d0authored andcommittedUpdate github actions run conditions (#569)
Show description for 2c2984eauthored andcommittedfix: thrift_backend->backend, ResultSet -> ThriftResultSet
Show description for 4979422committedfix: thrift_backend -> backend in e2e test_driver
Show description for 6361e85committedPySQL Connector split into connector and sqlalchemy (#444)
Show description for 904c304authored andcommittedRemoved CI CD for python3.8 (#490)
Show description for e5ac8c6authored andcommittedAdded CI CD upto python 3.12 (#491)
Show description for e06fd2fauthored andcommittedMerging changes from v3.7.1 release (#488)
Show description for 7126f97authored andcommittedBumped up to version 4.0.0 (#493)
Show description for b1245daauthored andcommittedSupport Python 3.13 and update deps (#510)
Show description for b54b04aauthored andcommittedImprove debugging + fix PR review template (#514)
Show description for e1d7f71authored andcommittedForward porting all changes into 4.x.x. uptil v3.7.3 (#529)
Show description for 1c721e0authored andcommittedUpdated the actions/cache version (#532)
Show description for f1fa67aauthored andcommittedUpdated the CODEOWNERS (#531)
Show description for 512d37cauthored andcommittedAdd version check for urllib3 in backoff calculation (#526)
Show description for ff0ec64authored andcommittedSupport multiple timestamp formats in non arrow flow (#533)
Show description for c5900c9authored andcommittedprepare release for v4.0.1 (#534)
Show description for c86e99bauthored andcommittedRelaxed bound for python-dateutil (#538)
Show description for bcd6f01authored andcommittedBumped up the version for 4.0.2 (#539)
Show description for ca51d1dauthored andcommittedAdded example for async execute query (#537)
Show description for d403fcdauthored andcommittedAdded urllib3 version check (#547)
Show description for 1b4154cauthored andcommittedBump version to 4.0.3 (#549)
Show description for eac0433authored andcommitteddecouple session class from existing Connection
Show description for 1b0fc9bcommittedadd open property to Connection to ensure maintenance of existing API
Show description for b45871ecommittedupdate unit tests to address ThriftBackend through session instead of through Connection
Show description for 561c351committedchore: move session specific tests from test_client to test_session
Show description for a3188adcommittedformatting (black)
Show description for ff7abf6committeduse connection open property instead of long chain through session
Show description for e7e2333committedtrigger integration workflow
Show description for fd4fae6committedfix: ensure open attribute of Connection never fails
Show description for 677e66acommittedintroduce databricksClient interface and thrift backend implementation
Show description for 4ec8703committedchange names of ThriftBackend -> ThriftDatabricksClient in tests
Show description for 6ecb6bfcommittedformatting: black + re-organise backend into new dir
Show description for fe2ce17committedUpdate CODEOWNERS (#562)
Show description for 568b1f4authored andcommittedremove un-necessary example change
Show description for ebbd150committed[empty commit] trigger integration tests
Show description for aa8af45committedintroduce normalised sessionId and CommandId for (near) complete backend abstraction
Show description for e7be76bcommittedfix: Any is not defined
Show description for 7461715committedfix: get_session_id_hex() is not defined
Show description for b295acdcommittedcommand_handle -> command_id in ExecuteResponse
Show description for 8afc5d5committedfix: active op handle -> active command id in Cursor
Show description for b8f9146committedfixed (most) tests by accounting for normalised Session interface
Show description for 7c733eecommittedfix: convert command id to operationHandle in status_request
Show description for 0917ea1committeddecouple session class from existing Connection
Show description for 3fd2a46committedadd open property to Connection to ensure maintenance of existing API
Show description for 03d3ae7committeduse connection open property instead of long chain through session
Show description for fb0fa46committedtrigger integration workflow
Show description for e3770cdcommittedfix: ensure open attribute of Connection never fails
Show description for 3b8002fcommittedfix: de-complicate earlier connection open logic
Show description for f1a350acommittedRevert "fix: de-complicate earlier connection open logic"
Show description for 98b0dc7committed[empty commit] attempt to trigger ci e2e workflow
Show description for afee423committedPECOBLR-86 improve logging on python driver (#556)
Show description for 2d24fddauthored andcommittedRevert "Merge remote-tracking branch 'upstream/sea-migration' into decouple-session"
Show description for a5561e8committedReapply "Merge remote-tracking branch 'upstream/sea-migration' into decouple-session"
Show description for 0d890a5committedfix: separate session opening logic from instantiation
Show description for c2aa762committedchore: use get_handle() instead of private session attribute in client
Show description for fe642dacommittedfix: remove accidentally removed assertions
Show description for 394333ccommittedgeneralise open session, fix session tests to consider positional args
Show description for ef07acdcommittedformatting (black)
Show description for 1ef46cfcommittedcorrect session logic after duplication during merge
Show description for 76ca997committedargs -> kwargs in tests
Show description for afc6f8fcommitteddelegate protocol version to SessionId
Show description for f6660bacommittedids -> backend/types
Show description for 9871a93committedupdate open session with normalised SessionId
Show description for 595d795committedremove merge artifacts, account for result set
Show description for 10ee940committed- committed
expect session_id in protocol version getter
Show description for b8e1bbdcommittedenforce ResultSet return in exec commands in backend client
Show description for dac08f2committedabstract Command State away from Thrift specific types
Show description for 7b0cbedcommittedclose_command return not used, replacing with None and logging resp
Show description for 9267ef9committedmove py.typed to correct places (#403)
Show description for 5f00532authored andcommittedUpgrade mypy (#406)
Show description for 59ed5ceauthored andcommittedDo not retry failing requests with status code 401 (#408)
Show description for c95951dauthored andcommitted[PECO-1715] Remove username/password (BasicAuth) auth option (#409)
Show description for 335d918authored andcommitted[PECO-1751] Refactor CloudFetch downloader: handle files sequentially (#405)
Show description for ee4f94cauthored andcommittedFix CloudFetch retry policy to be compatible with all `urllib3` versions we support (#412)
Show description for 1c8bb11authored andcommittedDisable SSL verification for CloudFetch links (#414)
Show description for 9de280eauthored andcommittedPrepare relese 3.3.0 (#415)
Show description for 04b626aauthored andcommittedFix pandas 2.2.2 support (#416)
Show description for 2a01173authored andcommitted[PECO-1801] Make OAuth as the default authenticator if no authentication setting is provided (#419)
Show description for b1faa09authored andcommitted[PECO-1857] Use SSL options with HTTPS connection pool (#425)
Show description for 270edcfauthored andcommittedPrepare release v3.4.0 (#430)
Show description for 8523fd3authored andcommitted[PECO-1926] Create a non pyarrow flow to handle small results for the column set (#440)
Show description for 763f070authored andcommitted[PECO-1961] On non-retryable error, ensure PySQL includes useful information in error (#447)
Show description for 1e0d9d5authored andcommittedReformatted all the files using black (#448)
Show description for 890cdd7authored andcommittedPrepare release v3.5.0 (#457)
Show description for 9bdee1dauthored andcommitted[PECO-2051] Add custom auth headers into cloud fetch request (#460)
Show description for cdd7a19authored andcommittedPrepare release 3.6.0 (#461)
Show description for fcc2da9authored andcommitted[ PECO - 1768 ] PySQL: adjust HTTP retry logic to align with Go and Nodejs drivers (#467)
Show description for d354309authored andcommitted[ PECO-2065 ] Create the async execution flow for the PySQL Connector (#463)
Show description for d63544eauthored andcommittedFix for check_types github action failing (#472)
Show description for 5bbf223authored andcommittedRemove upper caps on dependencies (#452)
Show description for 9c62b21authored andcommittedUpdated the doc to specify native parameters in PUT operation is not supported from >=3.x connector (#477)
Show description for 7bb7ca6authored andcommittedIncorrect rows in inline fetch result (#479)
Show description for 438a080authored andcommittedBumped up to version 3.7.0 (#482)
Show description for eb50411authored andcommittedPySQL Connector split into connector and sqlalchemy (#444)
Show description for 2a5b9c7authored andcommittedRemoved CI CD for python3.8 (#490)
Show description for d31aa59authored andcommittedAdded CI CD upto python 3.12 (#491)
Show description for 3e62c90authored andcommittedMerging changes from v3.7.1 release (#488)
Show description for f9a6b13authored andcommittedBumped up to version 4.0.0 (#493)
Show description for a941575authored andcommittedUpdated action's version (#455)
Show description for 032c276authored andcommittedSupport Python 3.13 and update deps (#510)
Show description for d36889dauthored andcommittedImprove debugging + fix PR review template (#514)
Show description for 22e5ce4authored andcommittedForward porting all changes into 4.x.x. uptil v3.7.3 (#529)
Show description for 7772403authored andcommittedUpdated the actions/cache version (#532)
Show description for 8b27150authored andcommittedUpdated the CODEOWNERS (#531)
Show description for 398db45authored andcommittedAdd version check for urllib3 in backoff calculation (#526)
Show description for c962b63authored andcommitted[ES-1372353] make user_agent_header part of public API (#530)
Show description for c246872authored andcommittedUpdates runner used to run DCO check to use databricks-protected-runner (#521)
Show description for 326f338authored andcommittedSupport multiple timestamp formats in non arrow flow (#533)
Show description for 37e73a9authored andcommittedprepare release for v4.0.1 (#534)
Show description for 3d7123cauthored andcommittedRelaxed bound for python-dateutil (#538)
Show description for 132e1b7authored andcommittedBumped up the version for 4.0.2 (#539)
Show description for 46090c0authored andcommittedAdded example for async execute query (#537)
Show description for 28249c0authored andcommittedAdded urllib3 version check (#547)
Show description for 5ab0a2cauthored andcommittedBump version to 4.0.3 (#549)
Show description for 6528cd1authored andcommittedCleanup fields as they might be deprecated/removed/change in the future (#553)
Show description for 8f7754bauthored andcommittedRefactor decimal conversion in PyArrow tables to use direct casting (#544)
Show description for f7d3865authored andcommitted[PECOBLR-361] convert column table to arrow if arrow present (#551)
Show description for 61cc398authored andcommitteddecouple session class from existing Connection
Show description for 554d011committedadd open property to Connection to ensure maintenance of existing API
Show description for 6f28297committedupdate unit tests to address ThriftBackend through session instead of through Connection
Show description for 983ec03committedchore: move session specific tests from test_client to test_session
Show description for 6f3b5b7committedformatting (black)
Show description for 29a2840committeduse connection open property instead of long chain through session
Show description for 0d28b69committedtrigger integration workflow
Show description for 8cb8cddcommittedfix: ensure open attribute of Connection never fails
Show description for 4495f9bcommittedintroduce databricksClient interface and thrift backend implementation
Show description for c744117committedchange names of ThriftBackend -> ThriftDatabricksClient in tests
Show description for ef5a06bcommittedfix: remove excess debug log
Show description for abbaaa5committedfix: replace thrift_backend with backend in result set param
Show description for 33765cbcommittedfix: replace module replacement with concrete mock instance in executemany test
Show description for 788d8c7committedformatting: black + re-organise backend into new dir
Show description for 4debbd3committedfix: sql.thrift_backend -> sql.backend.thrift_backend in tests and examples
Show description for 0e6e215committedUpdate CODEOWNERS (#562)
Show description for 925394cauthored andcommittedEnhance Cursor close handling and context manager exception management to prevent server side resource leaks (#554)
Show description for 4ad6c8dauthored andcommittedPECOBLR-86 improve logging on python driver (#556)
Show description for 51369c8authored andcommittedUpdate github actions run conditions (#569)
Show description for 9541464authored andcommittedremove un-necessary example change
Show description for cbdd3d7committed[empty commit] trigger integration tests
Show description for ca38e95committedfix: use backend in Cursor, not thrift_backend
Show description for b40c0fdcommittedfix: backend references in integration tests
Show description for 35ed462committedfix: thrift_backend -> backend in ResultSet reference in e2e test
Show description for 37f3af1committedintroduce normalised sessionId and CommandId for (near) complete backend abstraction
Show description for 09c5e2fcommittedfix: Any is not defined
Show description for 4ce6aabcommittedfix: get_session_id_hex() is not defined
Show description for 307f447committedcommand_handle -> command_id in ExecuteResponse
Show description for 802d8dccommittedfix: active op handle -> active command id in Cursor
Show description for 944d446committedfixed (most) tests by accounting for normalised Session interface
Show description for 6338083committedfix: convert command id to operationHandle in status_request
Show description for 3658a91committeddecouple session class from existing Connection
Show description for 8ef6ed6committedadd open property to Connection to ensure maintenance of existing API
Show description for 61300b2committedformatting (black)
Show description for 44e7d17committeduse connection open property instead of long chain through session
Show description for d2035eacommittedtrigger integration workflow
Show description for 8b4451bcommittedfix: ensure open attribute of Connection never fails
Show description for d21d2c3committedfix: de-complicate earlier connection open logic
Show description for 21068a3committedRevert "fix: de-complicate earlier connection open logic"
Show description for 476e763committed[empty commit] attempt to trigger ci e2e workflow
Show description for 1e1cf1ecommittedPECOBLR-86 improve logging on python driver (#556)
Show description for b408c2cauthored andcommittedRevert "Merge remote-tracking branch 'upstream/sea-migration' into decouple-session"
Show description for 73649f2committedReapply "Merge remote-tracking branch 'upstream/sea-migration' into decouple-session"
Show description for a61df99committedfix: separate session opening logic from instantiation
Show description for e1a2c0ecommittedchore: use get_handle() instead of private session attribute in client
Show description for 71ba9d5committedfix: remove accidentally removed assertions
Show description for 160ba9fcommittedgeneralise open session, fix session tests to consider positional args
Show description for 6b3436fcommittedformatting (black)
Show description for 30849dccommittedcorrect session logic after duplication during merge
Show description for 4d455bbcommittedargs -> kwargs in tests
Show description for 6fc0834committeddelegate protocol version to SessionId
Show description for d254e48committedids -> backend/types
Show description for 370627dcommittedupdate open session with normalised SessionId
Show description for ca1b57dcommittedMerging changes from v3.7.1 release (#488)
Show description for 6c120c0authored andcommittedSupport Python 3.13 and update deps (#510)
Show description for cdf6865authored andcommittedUpdated the actions/cache version (#532)
Show description for 12ce717authored andcommittedAdd version check for urllib3 in backoff calculation (#526)
Show description for 1215fd8authored andcommittedSupport multiple timestamp formats in non arrow flow (#533)
Show description for dd083f6authored andcommittedAdded example for async execute query (#537)
Show description for 8d30436authored andcommittedAdded urllib3 version check (#547)
Show description for 066aef9authored andcommitteddecouple session class from existing Connection
Show description for 1ed3514committedformatting (black)
Show description for ca80f94committeduse connection open property instead of long chain through session
Show description for 6027fb1committedtrigger integration workflow
Show description for 7a2f9b5committedfix: ensure open attribute of Connection never fails
Show description for 39294e9committedRevert "fix: de-complicate earlier connection open logic"
Show description for 709e910committed[empty commit] attempt to trigger ci e2e workflow
Show description for 1ad0acecommittedPECOBLR-86 improve logging on python driver (#556)
Show description for 913da63authored andcommittedRevert "Merge remote-tracking branch 'upstream/sea-migration' into decouple-session"
Show description for d8159e7committedReapply "Merge remote-tracking branch 'upstream/sea-migration' into decouple-session"
Show description for 0b91183committedfix: separate session opening logic from instantiation
Show description for ff78b5fcommittedEnhance Cursor close handling and context manager exception management to prevent server side resource leaks (#554)
Show description for c1d53d2authored andcommittedPECOBLR-86 improve logging on python driver (#556)
Show description for a5a8e51authored andcommittedNew Complex type test table + Github Action changes (#575)
Show description for f7be10cauthored andcommittedremove excess logs, assertions, instantiations
Show description for a888dd6committed- committed
formatting (black) + remove excess log (merge artifact)
Show description for 9b9735ecommittedfix typing
Show description for 0a8226ccommittedremove un-necessary check
Show description for 42263c4committedremove un-necessary replace call
Show description for ac984e4committedintroduce __str__ methods for CommandId and SessionId
Show description for 8da84e8committed- committed
correct some merge artifacts
Show description for 4e3cccecommittedreplace match case with if else for compatibility with older python versions
Show description for 04eb8c1committedcorrect TOperationState literal, remove un-necessary check
Show description for ca425ebcommittedchore: remove duplicate def
Show description for 7a47dd0committedcorrect typing
Show description for 00d9aebcommitted
Commits on May 29, 2025
docstrings for DatabricksClient interface
Show description for eecc67dcommittedstronger typing of Cursor and ExecuteResponse
Show description for 9800636committedremove utility functions from backend interface, fix circular import
Show description for e07f56ccommittedrename info to properties
Show description for 73fb141committednewline for cleanliness
Show description for d838653committedfix circular import
Show description for 6654f06committedformatting (black)
Show description for 89425f9committedto_hex_id -> get_hex_id
Show description for 93e55e8committedbetter comment on protocol version getter
Show description for 7689d75committedformatting (black)
Show description for 1ec8c45committed- committed
stricter typing for cursor
Show description for 904efe7committedcorrect typing
Show description for c91bc37committed
Commits on May 30, 2025
- committed
correct tests and merge artifacts
Show description for 1dada97committedremove accidentally modified workflow files
Show description for 2603f37committedchore: remove accidentally modified workflow files
Show description for ad97cc4committedadd back accidentally removed docstrings
Show description for d4ce10fcommittedclean up docstrings
Show description for 6297f7bcommittedlog hex
Show description for 536387bcommittedremove unnecessary _replace call
Show description for 7a6237ecommittedadd __str__ for CommandId
Show description for 9b6afd2committedtake TOpenSessionResp in get_protocol_version to maintain existing interface
Show description for d80a3e2committed
Commits on May 31, 2025
active_op_handle -> active_mmand_id
Show description for 88996e0committed
Commits on Jun 2, 2025
ensure None returned for close_command
Show description for 1bec8e9committedaccount for ResultSet return in new pydocs
Show description for af166b9committedpydoc for types
Show description for ac34732committedmove common state to ResultSet aprent
Show description for 7e730dbcommittedstronger typing in resultSet behaviour
Show description for dfb4cc3committedremove redundant patch in test
Show description for 6a9f0e2committedadd has_been_closed_server_side assertion
Show description for 0b2e83fcommittedremove redundancies in tests
Show description for 1f0c81fcommittedmore robust close check
Show description for aa7207ecommitted
Commits on Jun 3, 2025
use normalised state in e2e test
Show description for fde4634committedsimplify corrected test
Show description for 54f2b93committedadd line gaps after multi-line pydocs for consistency
Show description for db73ecfcommitteduse normalised CommandState type in ExecuteResponse
Show description for cf8a629committed