- Notifications
You must be signed in to change notification settings - Fork126
PECOBLR-86 improve logging on python driver#556
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Conversation
Thanks for your contribution! To satisfy the DCO policy in ourcontributing guide every commit message must include a sign-off message. One or more of your commits is missing this message. You can reword previous commit messages with an interactive rebase ( |
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
can you look into the failing tests as well |
Also can you update the PR description |
Thanks for your contribution! To satisfy the DCO policy in ourcontributing guide every commit message must include a sign-off message. One or more of your commits is missing this message. You can reword previous commit messages with an interactive rebase ( |
2485a22 to0b04de7CompareThanks for your contribution! To satisfy the DCO policy in ourcontributing guide every commit message must include a sign-off message. One or more of your commits is missing this message. You can reword previous commit messages with an interactive rebase ( |
Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>
Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>
Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>
0b04de7 to0adfeddCompareSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>
Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>
Uh oh!
There was an error while loading.Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Overall LGTM. Thanks for making the changes
Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>
48746d1 intomainUh oh!
There was an error while loading.Please reload this page.
* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed formatSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* changed debug to error logsSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>---------Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed formatSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* changed debug to error logsSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>---------Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed formatSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* changed debug to error logsSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>---------Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>
* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed formatSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* changed debug to error logsSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>---------Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>
* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed formatSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* changed debug to error logsSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>---------Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed formatSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* changed debug to error logsSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>---------Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed formatSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* changed debug to error logsSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>---------Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed formatSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* changed debug to error logsSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>---------Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed formatSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* changed debug to error logsSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>---------Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed formatSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* changed debug to error logsSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>---------Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed formatSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* changed debug to error logsSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>---------Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed formatSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* changed debug to error logsSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>---------Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed formatSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* changed debug to error logsSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>---------Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed formatSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* changed debug to error logsSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>---------Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
* decouple session class from existing Connectionensure maintenance of current APIs of Connection while delegatingresponsibilitySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add open property to Connection to ensure maintenance of existing APISigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* update unit tests to address ThriftBackend through session instead of through ConnectionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* chore: move session specific tests from test_client to test_sessionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)as in CONTRIBUTING.mdSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* use connection open property instead of long chain through sessionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* trigger integration workflowSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: ensure open attribute of Connection never failsin case the openSession takes long, the initialisation of the sessionwill not complete immediately. This could make the session attributeinaccessible. If the Connection is deleted in this time, the open()check will throw because the session attribute does not exist. Thus, wedefault to the Connection being closed in this case. This was not anissue before because open was a direct attribute of the Connectionclass. Caught in the integration tests.Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: de-complicate earlier connection open logicearlier, one of the integration tests was failing because 'session wasnot an attribute of Connection'. This is likely tied to a localconfiguration issue related to unittest that was causing an error in thetest suite itself. The tests are now passing without checking for thesession attribute.c676f9bSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Revert "fix: de-complicate earlier connection open logic"This reverts commitd6b1b19.Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* [empty commit] attempt to trigger ci e2e workflowSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Update CODEOWNERS (#562)new codeownersSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Enhance Cursor close handling and context manager exception management to prevent server side resource leaks (#554)* Enhance Cursor close handling and context manager exception management* tests* fmt* Fix Cursor.close() to properly handle CursorAlreadyClosedError* Remove specific test message from Cursor.close() error handling* Improve error handling in connection and cursor context managers to ensure proper closure during exceptions, including KeyboardInterrupt. Add tests for nested cursor management and verify operation closure on server-side errors.* add* addSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* PECOBLR-86 improve logging on python driver (#556)* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed formatSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* changed debug to error logsSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>---------Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Revert "Merge remote-tracking branch 'upstream/sea-migration' into decouple-session"This reverts commitdbb2ec5, reversingchanges made to7192f11.Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Reapply "Merge remote-tracking branch 'upstream/sea-migration' into decouple-session"This reverts commitbdb8381.Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: separate session opening logic from instantiationensures correctness of self.session.open call in ConnectionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: use is_open attribute to denote session availabilitySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: access thrift backend through sessionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* chore: use get_handle() instead of private session attribute in clientSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: remove accidentally removed assertionsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>---------Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>Co-authored-by: Jothi Prakash <jothi.prakash@databricks.com>Co-authored-by: Madhav Sainanee <madhav.sainanee@databricks.com>Co-authored-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>
* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed formatSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* changed debug to error logsSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* added classes required for telemetrySigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* removed TelemetryHelperSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* [PECOBLR-361] convert column table to arrow if arrow present (#551)Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* Update CODEOWNERS (#562)new codeownersSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* Enhance Cursor close handling and context manager exception management to prevent server side resource leaks (#554)* Enhance Cursor close handling and context manager exception management* tests* fmt* Fix Cursor.close() to properly handle CursorAlreadyClosedError* Remove specific test message from Cursor.close() error handling* Improve error handling in connection and cursor context managers to ensure proper closure during exceptions, including KeyboardInterrupt. Add tests for nested cursor management and verify operation closure on server-side errors.* add* addSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* PECOBLR-86 improve logging on python driver (#556)* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed formatSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* changed debug to error logsSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>---------Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* Update github actions run conditions (#569)More conditions to run github actionsSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* Added classes required for telemetrySigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed exampleSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* changed to doc stringSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* removed self.telemetry close lineSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* grouped classesSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* formattingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed doc stringSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed doc stringSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* added more descriptive comments, put dataclasses in a sub-folderSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed default attributes orderingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* changed file namesSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* added enums to models folderSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* removed telemetry batch sizeSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>---------Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>Co-authored-by: Shivam Raj <171748731+shivam2680@users.noreply.github.com>Co-authored-by: Jothi Prakash <jothi.prakash@databricks.com>Co-authored-by: Madhav Sainanee <madhav.sainanee@databricks.com>
* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed formatSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* changed debug to error logsSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>---------Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>
* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed formatSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* changed debug to error logsSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* added classes required for telemetrySigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* removed TelemetryHelperSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* [PECOBLR-361] convert column table to arrow if arrow present (#551)Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* Update CODEOWNERS (#562)new codeownersSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* Enhance Cursor close handling and context manager exception management to prevent server side resource leaks (#554)* Enhance Cursor close handling and context manager exception management* tests* fmt* Fix Cursor.close() to properly handle CursorAlreadyClosedError* Remove specific test message from Cursor.close() error handling* Improve error handling in connection and cursor context managers to ensure proper closure during exceptions, including KeyboardInterrupt. Add tests for nested cursor management and verify operation closure on server-side errors.* add* addSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* PECOBLR-86 improve logging on python driver (#556)* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed formatSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* changed debug to error logsSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>---------Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* Update github actions run conditions (#569)More conditions to run github actionsSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* Added classes required for telemetrySigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed exampleSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* changed to doc stringSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* removed self.telemetry close lineSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* grouped classesSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* formattingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed doc stringSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed doc stringSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* added more descriptive comments, put dataclasses in a sub-folderSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed default attributes orderingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* changed file namesSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* added enums to models folderSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* removed telemetry batch sizeSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>---------Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>Co-authored-by: Shivam Raj <171748731+shivam2680@users.noreply.github.com>Co-authored-by: Jothi Prakash <jothi.prakash@databricks.com>Co-authored-by: Madhav Sainanee <madhav.sainanee@databricks.com>
* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed formatSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* changed debug to error logsSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>---------Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>
* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed formatSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* changed debug to error logsSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* added classes required for telemetrySigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* removed TelemetryHelperSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* [PECOBLR-361] convert column table to arrow if arrow present (#551)Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* Update CODEOWNERS (#562)new codeownersSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* Enhance Cursor close handling and context manager exception management to prevent server side resource leaks (#554)* Enhance Cursor close handling and context manager exception management* tests* fmt* Fix Cursor.close() to properly handle CursorAlreadyClosedError* Remove specific test message from Cursor.close() error handling* Improve error handling in connection and cursor context managers to ensure proper closure during exceptions, including KeyboardInterrupt. Add tests for nested cursor management and verify operation closure on server-side errors.* add* addSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* PECOBLR-86 improve logging on python driver (#556)* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed formatSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* changed debug to error logsSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>---------Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* Update github actions run conditions (#569)More conditions to run github actionsSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* Added classes required for telemetrySigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed exampleSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* changed to doc stringSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* removed self.telemetry close lineSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* grouped classesSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* formattingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed doc stringSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed doc stringSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* added more descriptive comments, put dataclasses in a sub-folderSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed default attributes orderingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* changed file namesSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* added enums to models folderSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* removed telemetry batch sizeSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>---------Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>Co-authored-by: Shivam Raj <171748731+shivam2680@users.noreply.github.com>Co-authored-by: Jothi Prakash <jothi.prakash@databricks.com>Co-authored-by: Madhav Sainanee <madhav.sainanee@databricks.com>Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>
* decouple session class from existing Connectionensure maintenance of current APIs of Connection while delegatingresponsibilitySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add open property to Connection to ensure maintenance of existing APISigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* update unit tests to address ThriftBackend through session instead of through ConnectionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* chore: move session specific tests from test_client to test_sessionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)as in CONTRIBUTING.mdSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* use connection open property instead of long chain through sessionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* trigger integration workflowSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: ensure open attribute of Connection never failsin case the openSession takes long, the initialisation of the sessionwill not complete immediately. This could make the session attributeinaccessible. If the Connection is deleted in this time, the open()check will throw because the session attribute does not exist. Thus, wedefault to the Connection being closed in this case. This was not anissue before because open was a direct attribute of the Connectionclass. Caught in the integration tests.Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: de-complicate earlier connection open logicearlier, one of the integration tests was failing because 'session wasnot an attribute of Connection'. This is likely tied to a localconfiguration issue related to unittest that was causing an error in thetest suite itself. The tests are now passing without checking for thesession attribute.c676f9bSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Revert "fix: de-complicate earlier connection open logic"This reverts commitd6b1b19.Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* [empty commit] attempt to trigger ci e2e workflowSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Update CODEOWNERS (#562)new codeownersSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Enhance Cursor close handling and context manager exception management to prevent server side resource leaks (#554)* Enhance Cursor close handling and context manager exception management* tests* fmt* Fix Cursor.close() to properly handle CursorAlreadyClosedError* Remove specific test message from Cursor.close() error handling* Improve error handling in connection and cursor context managers to ensure proper closure during exceptions, including KeyboardInterrupt. Add tests for nested cursor management and verify operation closure on server-side errors.* add* addSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* PECOBLR-86 improve logging on python driver (#556)* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed formatSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* changed debug to error logsSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>---------Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Revert "Merge remote-tracking branch 'upstream/sea-migration' into decouple-session"This reverts commitdbb2ec5, reversingchanges made to7192f11.Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Reapply "Merge remote-tracking branch 'upstream/sea-migration' into decouple-session"This reverts commitbdb8381.Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: separate session opening logic from instantiationensures correctness of self.session.open call in ConnectionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: use is_open attribute to denote session availabilitySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: access thrift backend through sessionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* chore: use get_handle() instead of private session attribute in clientSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: remove accidentally removed assertionsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>---------Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>Co-authored-by: Jothi Prakash <jothi.prakash@databricks.com>Co-authored-by: Madhav Sainanee <madhav.sainanee@databricks.com>Co-authored-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>
* decouple session class from existing Connectionensure maintenance of current APIs of Connection while delegatingresponsibilitySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add open property to Connection to ensure maintenance of existing APISigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* update unit tests to address ThriftBackend through session instead of through ConnectionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* chore: move session specific tests from test_client to test_sessionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)as in CONTRIBUTING.mdSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* use connection open property instead of long chain through sessionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* trigger integration workflowSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: ensure open attribute of Connection never failsin case the openSession takes long, the initialisation of the sessionwill not complete immediately. This could make the session attributeinaccessible. If the Connection is deleted in this time, the open()check will throw because the session attribute does not exist. Thus, wedefault to the Connection being closed in this case. This was not anissue before because open was a direct attribute of the Connectionclass. Caught in the integration tests.Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: de-complicate earlier connection open logicearlier, one of the integration tests was failing because 'session wasnot an attribute of Connection'. This is likely tied to a localconfiguration issue related to unittest that was causing an error in thetest suite itself. The tests are now passing without checking for thesession attribute.c676f9bSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Revert "fix: de-complicate earlier connection open logic"This reverts commitd6b1b19.Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* [empty commit] attempt to trigger ci e2e workflowSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Update CODEOWNERS (#562)new codeownersSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Enhance Cursor close handling and context manager exception management to prevent server side resource leaks (#554)* Enhance Cursor close handling and context manager exception management* tests* fmt* Fix Cursor.close() to properly handle CursorAlreadyClosedError* Remove specific test message from Cursor.close() error handling* Improve error handling in connection and cursor context managers to ensure proper closure during exceptions, including KeyboardInterrupt. Add tests for nested cursor management and verify operation closure on server-side errors.* add* addSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* PECOBLR-86 improve logging on python driver (#556)* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed formatSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* changed debug to error logsSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>---------Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Revert "Merge remote-tracking branch 'upstream/sea-migration' into decouple-session"This reverts commitdbb2ec5, reversingchanges made to7192f11.Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Reapply "Merge remote-tracking branch 'upstream/sea-migration' into decouple-session"This reverts commitbdb8381.Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: separate session opening logic from instantiationensures correctness of self.session.open call in ConnectionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: use is_open attribute to denote session availabilitySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: access thrift backend through sessionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* chore: use get_handle() instead of private session attribute in clientSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: remove accidentally removed assertionsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>---------Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>Co-authored-by: Jothi Prakash <jothi.prakash@databricks.com>Co-authored-by: Madhav Sainanee <madhav.sainanee@databricks.com>Co-authored-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>
* [PECO-197] Support Python 3.10 (#31)* Test with multiple python versions.* Update pyarrow to version 9.0.0 to address issue in relation to python 3.10 & a specific version of numpy being pulled in by pyarrow.Closes #26 Signed-off-by: David Black <dblack@atlassian.com>* Update changelog and bump to v2.0.4 (#34)* Update changelog and bump to v2.0.4* Specifically thank @dbaxa for this change.Signed-off-by: Jesse Whitehouse <jesse@whitehouse.dev>* Bump to 2.0.5-dev on main (#35)Signed-off-by: Jesse Whitehouse <jesse@whitehouse.dev>* On Pypi, display the "Project Links" sidebar. (#36)Signed-off-by: Jesse Whitehouse <jesse@whitehouse.dev>* [ES-402013] Close cursors before closing connection (#38)* Add test: cursors are closed when connection closesSigned-off-by: Jesse Whitehouse <jesse@whitehouse.dev>* Bump version to 2.0.5 and improve CHANGELOG (#40)Signed-off-by: Jesse Whitehouse <jesse@whitehouse.dev>* fix dco issueSigned-off-by: Moe Derakhshani <moe.derakhshani@databricks.com>* fix dco issueSigned-off-by: Moe Derakhshani <moe.derakhshani@databricks.com>* dco tunningSigned-off-by: Moe Derakhshani <moe.derakhshani@databricks.com>* dco tunningSigned-off-by: Moe Derakhshani <moe.derakhshani@databricks.com>* Github workflows: run checks on pull requests from forks (#47)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* OAuth implementation (#15)This PR:* Adds the foundation for OAuth against Databricks account on AWS with BYOIDP.* It copies one internal module that Steve Weis @sweisdb wrote for Databricks CLI (oauth.py). Once ecosystem-dev team (Serge, Pieter) build a python sdk core we will move this code to their repo as a dependency. * the PR provides authenticators with visitor pattern format for stamping auth-token which later is intended to be moved to the repo owned by Serge @nfx and and Pieter @pietern* Automate deploys to Pypi (#48)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* [PECO-205] Add functional examples (#52)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Bump version to 2.1.0 (#54)Bump to v2.1.0 and update changelogSigned-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* [SC-110400] Enabling compression in Python SQL Connector (#49)Signed-off-by: Mohit Singla <mohit.singla@databricks.com>Co-authored-by: Moe Derakhshani <moe.derakhshani@databricks.com>* Add tests for parameter sanitisation / escaping (#46)* Refactor so we can unit test `inject_parameters`* Add unit tests for inject_parameters* Remove inaccurate comment. Per #51, spark sql does not support escaping a single quote with a second single quote.* Closes #51 and adds unit tests plus the integration test provided in #56Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>Co-authored-by: Courtney Holcomb (@courtneyholcomb)Co-authored-by: @mcannamela* Bump thrift dependency to 0.16.0 (#65)Addresses https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13949Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Bump version to 2.2.0 (#66)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Support Python 3.11 (#60)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Bump version to 2.2.1 (#70)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Add none check on _oauth_persistence in DatabricksOAuthProvider (#71)Add none check on _oauth_persistence in DatabricksOAuthProvider to avoid app crash when _oauth_persistence is None.Signed-off-by: Jacky Hu <jacky.hu@databricks.com>* Support custom oauth client id and redirect port (#75)* Support custom oauth client id and rediret port rangePySQL is used by other tools/CLIs which have own oauth client id,we need to expose oauth_client_id and oauth_redirect_port_rangeas the connection parameters to support this customization.Signed-off-by: Jacky Hu <jacky.hu@databricks.com>* Change oauth redirect port range to portSigned-off-by: Jacky Hu <jacky.hu@databricks.com>* Fix type check issueSigned-off-by: Jacky Hu <jacky.hu@databricks.com>Signed-off-by: Jacky Hu <jacky.hu@databricks.com>* Bump version to 2.2.2 (#76)Signed-off-by: Jacky Hu <jacky.hu@databricks.com>Signed-off-by: Jesse <jesse.whitehouse@databricks.com>* Merge staging ingestion into main (#78)Follow up to #67 and #64 * Regenerate TCLIService using latest TCLIService.thrift from DBR (#64)* SI: Implement GET, PUT, and REMOVE (#67)* Re-lock dependencies after merging `main`Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Bump version to 2.3.0 and update changelog (#80)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Add pkgutil-style for the package (#84)Since the package is under databricks namespace. pip install this package will cause issue importing other packages under the same namespace like automl and feature store. Adding pkgutil style to resolve the issue.Signed-off-by: lu-wang-dl <lu.wang@databricks.com>* Add SQLAlchemy Dialect (#57)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Bump to version 2.4.0(#89)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Fix syntax in examples in root readme. (#92)Do this because the environment variable pulls did not have closing quotes on their string literals.* Less strict numpy and pyarrow dependencies (#90)Signed-off-by: Thomas Newton <thomas.w.newton@gmail.com>Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>Co-authored-by: Thomas Newton <thomas.w.newton@gmail.com>* Update example in docstring so query output is valid Spark SQL (#95)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Bump version to 2.4.1 (#96)Per the sermver.org spec, updating the projects dependencies is considered a compatible change.https: //semver.org/#what-should-i-do-if-i-update-my-own-dependencies-without-changing-the-public-apiSigned-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Update CODEOWNERS (#97)* Add Andre to CODEOWNERS (#98)* Add Andre. Signed-off-by: Yunbo Deng <yunbo.deng@databricks.com>Signed-off-by: yunbodeng-db <104732431+yunbodeng-db@users.noreply.github.com>* Revert the change temporarily so I can sign off. Signed-off-by: Yunbo Deng <yunbo.deng@databricks.com>Signed-off-by: yunbodeng-db <104732431+yunbodeng-db@users.noreply.github.com>* Add Andre and sign off. Signed-off-by: Yunbo Deng <yunbo.deng@databricks.com>Signed-off-by: yunbodeng-db <104732431+yunbodeng-db@users.noreply.github.com>* Remove redundant lineSigned-off-by: yunbodeng-db <104732431+yunbodeng-db@users.noreply.github.com>---------Signed-off-by: yunbodeng-db <104732431+yunbodeng-db@users.noreply.github.com>* Add external auth provider + example (#101)Signed-off-by: Andre Furlan <andre.furlan@databricks.com>Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>Co-authored-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Retry on connection timeout (#103)A lot of the time we see the error `[Errno 110] Connection timed out`. This happens a lot in Azure, particularly. In this PR I make it a retryable error as it is safeSigned-off-by: Andre Furlan <andre.furlan@databricks.com>* [PECO-244] Make http proxies work (#81)Override thrift's proxy header encoding function. Uses the fix identified in https://github.com/apache/thrift/pull/2565H/T @pspeterSigned-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Bump to version 2.5.0 (#104)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Fix changelog release date for version 2.5.0Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Relax sqlalchemy requirement (#113)* Plus update docs about how to change dependency specSigned-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Update to version 2.5.1 (#114)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Fix SQLAlchemy timestamp converter + docs (#117)---------Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Relax pandas and alembic requirements (#119)Update dependencies for alembic and pandas per customer requestSigned-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Bump to version 2.5.2 (#118)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Use urllib3 for thrift transport + reuse http connections (#131)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Default socket timeout to 15 min (#137)Signed-off-by: Matthew Kim <11141331+mattdeekay@users.noreply.github.com>* Bump version to 2.6.0 (#139)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Fix: some thrift RPCs failed with BadStatusLine (#141)---------Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Bump version to 2.6.1 (#142)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* [ES-706907] Retry GetOperationStatus for http errors (#145)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Bump version to 2.6.2 (#147)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* [PECO-626] Support OAuth flow for Databricks Azure (#86)## SummarySupport OAuth flow for Databricks Azure## BackgroundSome OAuth endpoints (e.g. Open ID Configuration) and scopes are different between Databricks Azure and AWS. Current code only supports OAuth flow on Databricks in AWS## What changes are proposed in this pull request?- Change `OAuthManager` to decouple Databricks AWS specific configuration from OAuth flow- Add `sql/auth/endpoint.py` that implements cloud specific OAuth endpoint configuration- Change `DatabricksOAuthProvider` to work with the OAuth configurations in different Databricks cloud (AWS, Azure)- Add the corresponding unit tests* Use a separate logger for unsafe thrift responses (#153)---------Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Improve e2e test development ergonomics (#155)---------Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Don't raise exception when closing a stale Thrift session (#159)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Bump to version 2.7.0 (#161)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Cloud Fetch download handler (#127)* Cloud Fetch download handlerSigned-off-by: Matthew Kim <11141331+mattdeekay@users.noreply.github.com>* Issue fix: final result link compressed data has multiple LZ4 end-of-frame markersSigned-off-by: Matthew Kim <11141331+mattdeekay@users.noreply.github.com>* Addressing PR comments - Linting - Type annotations - Use response.ok - Log exception - Remove semaphore and only use threading.event - reset() flags method - Fix tests after removing semaphore - Link expiry logic should be in secs - Decompress data static function - link_expiry_buffer and static public methods - Docstrings and commentsSigned-off-by: Matthew Kim <11141331+mattdeekay@users.noreply.github.com>* Changing logger.debug to remove urlSigned-off-by: Matthew Kim <11141331+mattdeekay@users.noreply.github.com>* _reset() comment to docstringSigned-off-by: Matthew Kim <11141331+mattdeekay@users.noreply.github.com>* link_expiry_buffer -> link_expiry_buffer_secsSigned-off-by: Matthew Kim <11141331+mattdeekay@users.noreply.github.com>---------Signed-off-by: Matthew Kim <11141331+mattdeekay@users.noreply.github.com>* Cloud Fetch download manager (#146)* Cloud Fetch download managerSigned-off-by: Matthew Kim <11141331+mattdeekay@users.noreply.github.com>* Bug fix: submit handler.runSigned-off-by: Matthew Kim <11141331+mattdeekay@users.noreply.github.com>* Type annotationsSigned-off-by: Matthew Kim <11141331+mattdeekay@users.noreply.github.com>* Namedtuple -> dataclassSigned-off-by: Matthew Kim <11141331+mattdeekay@users.noreply.github.com>* Shutdown thread pool and clear handlersSigned-off-by: Matthew Kim <11141331+mattdeekay@users.noreply.github.com>* Docstrings and commentsSigned-off-by: Matthew Kim <11141331+mattdeekay@users.noreply.github.com>* handler.run is the correct callSigned-off-by: Matthew Kim <11141331+mattdeekay@users.noreply.github.com>* Link expiry buffer in secsSigned-off-by: Matthew Kim <11141331+mattdeekay@users.noreply.github.com>* Adding type annotations for download_handlers and downloadable_result_settingsSigned-off-by: Matthew Kim <11141331+mattdeekay@users.noreply.github.com>* Move DownloadableResultSettings to downloader.py to avoid circular importSigned-off-by: Matthew Kim <11141331+mattdeekay@users.noreply.github.com>* Black lintingSigned-off-by: Matthew Kim <11141331+mattdeekay@users.noreply.github.com>* Timeout is never NoneSigned-off-by: Matthew Kim <11141331+mattdeekay@users.noreply.github.com>---------Signed-off-by: Matthew Kim <11141331+mattdeekay@users.noreply.github.com>* Cloud fetch queue and integration (#151)* Cloud fetch queue and integrationSigned-off-by: Matthew Kim <11141331+mattdeekay@users.noreply.github.com>* Enable cloudfetch with direct resultsSigned-off-by: Matthew Kim <11141331+mattdeekay@users.noreply.github.com>* Typing and style changesSigned-off-by: Matthew Kim <11141331+mattdeekay@users.noreply.github.com>* Client-settable max_download_threadsSigned-off-by: Matthew Kim <11141331+mattdeekay@users.noreply.github.com>* Docstrings and commentsSigned-off-by: Matthew Kim <11141331+mattdeekay@users.noreply.github.com>* Increase default buffer size bytes to 104857600Signed-off-by: Matthew Kim <11141331+mattdeekay@users.noreply.github.com>* Move max_download_threads to kwargs of ThriftBackend, fix unit testsSigned-off-by: Matthew Kim <11141331+mattdeekay@users.noreply.github.com>* Fix tests: staticmethod make_arrow_table mock not callableSigned-off-by: Matthew Kim <11141331+mattdeekay@users.noreply.github.com>* cancel_futures in shutdown() only available in python >=3.9.0Signed-off-by: Matthew Kim <11141331+mattdeekay@users.noreply.github.com>* Black lintingSigned-off-by: Matthew Kim <11141331+mattdeekay@users.noreply.github.com>* Fix typing errorsSigned-off-by: Matthew Kim <11141331+mattdeekay@users.noreply.github.com>---------Signed-off-by: Matthew Kim <11141331+mattdeekay@users.noreply.github.com>* Cloud Fetch e2e tests (#154)* Cloud Fetch e2e testsSigned-off-by: Matthew Kim <11141331+mattdeekay@users.noreply.github.com>* Test case works for e2-dogfood shared unity catalogSigned-off-by: Matthew Kim <11141331+mattdeekay@users.noreply.github.com>* Moving test to LargeQueriesSuite and setting catalog to hive_metastoreSigned-off-by: Matthew Kim <11141331+mattdeekay@users.noreply.github.com>* Align default value of buffer_size_bytes in driver testsSigned-off-by: Matthew Kim <11141331+mattdeekay@users.noreply.github.com>* Adding comment to specify what's needed to run successfullySigned-off-by: Matthew Kim <11141331+mattdeekay@users.noreply.github.com>---------Signed-off-by: Matthew Kim <11141331+mattdeekay@users.noreply.github.com>* Update changelog for cloudfetch (#172)Signed-off-by: Matthew Kim <11141331+mattdeekay@users.noreply.github.com>* Improve sqlalchemy backward compatibility with 1.3.24 (#173)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* OAuth: don't override auth headers with contents of .netrc file (#122)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Fix proxy connection pool creation (#158)Signed-off-by: Sebastian Eckweiler <sebastian.eckweiler@mercedes-benz.com>Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>Co-authored-by: Sebastian Eckweiler <sebastian.eckweiler@mercedes-benz.com>Co-authored-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Relax pandas dependency constraint to allow ^2.0.0 (#164)Signed-off-by: Daniel Segesdi <daniel.segesdi@turbine.ai>Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>Co-authored-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Use hex string version of operation ID instead of bytes (#170)---------Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* SQLAlchemy: fix has_table so it honours schema= argument (#174)---------Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Fix socket timeout test (#144)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>Co-authored-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Disable non_native_boolean_check_constraint (#120)---------Signed-off-by: Bogdan Kyryliuk <b.kyryliuk@gmail.com>Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>Co-authored-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Remove unused import for SQLAlchemy 2 compatibility (#128)Signed-off-by: William Gentry <william.barr.gentry@gmail.com>Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>Co-authored-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Bump version to 2.8.0 (#178)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Fix typo in python README quick start example (#186)---------Co-authored-by: Jesse <jesse.whitehouse@databricks.com>* Configure autospec for mocked Client objects (#188)Resolves #187Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Use urllib3 for retries (#182)Behaviour is gated behind `enable_v3_retries` config. This will be removed and become the default behaviour in a subsequent release.Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Bump version to 2.9.0 (#189)* Add note to changelog about using cloud_fetchSigned-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Explicitly add urllib3 dependency (#191)Signed-off-by: Jacobus Herman <jacobus.herman@otrium.com>Co-authored-by: Jesse <jesse.whitehouse@databricks.com>Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Bump to 2.9.1 (#195)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Make backwards compatible with urllib3~=1.0 (#197)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Convenience improvements to v3 retry logic (#199)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Bump version to 2.9.2 (#201)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Github Actions Fix: poetry install fails for python 3.7 tests (#208)snok/install-poetry@v1 installs the latest version of PoetryThe latest version of poetry released on 20 August 2023 (four days agoas of this commit) which drops support for Python 3.7, causing ourgithub action to fail.Until we complete #207 we need to conditionally install the last versionof poetry that supports Python 3.7 (poetry==1.5.1)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Make backwards compatible with urllib3~=1.0 [Follow up #197] (#206)* Make retry policy backwards compatible with urllib3~=1.0.0We already implement the equivalent of backoff_max so the behaviour willbe the same for urllib3==1.x and urllib3==2.xWe do not implement backoff jitter so the behaviour for urllib3==1.x willNOT include backoff jitter whereas urllib3==2.x WILL include jitter.---------Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Bump version to 2.9.3 (#209)---------Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Add note to sqlalchemy example: IDENTITY isn't supported yet (#212)ES-842237Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* [PECO-1029] Updated thrift compiler version (#216)* Updated thrift definitionsSigned-off-by: nithinkdb <nithin.krishnamurthi@databricks.com>* Tried with a different thrift installationSigned-off-by: nithinkdb <nithin.krishnamurthi@databricks.com>* Reverted TCLI to previousSigned-off-by: nithinkdb <nithin.krishnamurthi@databricks.com>* Reverted to older thriftSigned-off-by: nithinkdb <nithin.krishnamurthi@databricks.com>* Updated version againSigned-off-by: nithinkdb <nithin.krishnamurthi@databricks.com>* Upgraded thriftSigned-off-by: nithinkdb <nithin.krishnamurthi@databricks.com>* Final commitSigned-off-by: nithinkdb <nithin.krishnamurthi@databricks.com>---------Signed-off-by: nithinkdb <nithin.krishnamurthi@databricks.com>* [PECO-1055] Updated thrift defs to allow Tsparkparameters (#220)Updated thrift defs to most recent versions* Update changelog to indicate that 2.9.1 and 2.9.2 have been yanked. (#222)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Fix changelog typo: _enable_v3_retries (#225)Closes #219Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Introduce SQLAlchemy reusable dialog tests (#125)Signed-off-by: Jim Fulton <jim.fulton@unsupervised.com>Co-Authored-By: Jesse Whitehouse <jesse.whitehouse@databricks.com>Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* [PECO-1026] Add Parameterized Query support to Python (#217)* Initial commitSigned-off-by: nithinkdb <nithin.krishnamurthi@databricks.com>* Added tsparkparam handlingSigned-off-by: nithinkdb <nithin.krishnamurthi@databricks.com>* Added basic testSigned-off-by: nithinkdb <nithin.krishnamurthi@databricks.com>* Addressed commentsSigned-off-by: nithinkdb <nithin.krishnamurthi@databricks.com>* Addressed missed commentsSigned-off-by: nithinkdb <nithin.krishnamurthi@databricks.com>* Resolved comments---------Signed-off-by: nithinkdb <nithin.krishnamurthi@databricks.com>* Parameterized queries: Add e2e tests for inference (#227)* [PECO-1109] Parameterized Query: add suport for inferring decimal types (#228)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* SQLAlchemy 2: reorganise dialect files into a single directory (#231)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* [PECO-1083] Updated thrift files and added check for protocol version (#229)* Updated thrift files and added check for protocol versionSigned-off-by: nithinkdb <nithin.krishnamurthi@databricks.com>* Made error message more clearSigned-off-by: nithinkdb <nithin.krishnamurthi@databricks.com>* Changed name of fnSigned-off-by: nithinkdb <nithin.krishnamurthi@databricks.com>* Ran linterSigned-off-by: nithinkdb <nithin.krishnamurthi@databricks.com>* Update src/databricks/sql/client.pyCo-authored-by: Jesse <jwhitehouse@airpost.net>---------Signed-off-by: nithinkdb <nithin.krishnamurthi@databricks.com>Co-authored-by: Jesse <jwhitehouse@airpost.net>* [PECO-840] Port staging ingestion behaviour to new UC Volumes (#235)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Query parameters: implement support for binding NoneType parameters (#233)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* SQLAlchemy 2: Bump dependency version and update e2e tests for existing behaviour (#236)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Revert "[PECO-1083] Updated thrift files and added check for protocol version" (#237)Reverts #229 as it causes all of our e2e tests to fail on some versions of DBR.We'll reimplement the protocol version check in a follow-up.This reverts commit 241e934a96737d506c2a1f77c7012e1ab8de967b.* SQLAlchemy 2: add type compilation for all CamelCase types (#238)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* SQLAlchemy 2: add type compilation for uppercase types (#240)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* SQLAlchemy 2: Stop skipping all type tests (#242)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* [PECO-1134] v3 Retries: allow users to bound the number of redirects to follow (#244)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Parameters: Add type inference for BIGINT and TINYINT types (#246)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* SQLAlchemy 2: Stop skipping some non-type tests (#247)* Stop skipping TableDDLTest and permanent skip HasIndexTestWe're now in the territory of features that aren't required for sqla2compat as of pysql==3.0.0 but we may consider adding this in the future.In this case, table comment reflection needs to be manually implemented.Index reflection would require hooking into the compiler to reflectthe partition strategy.test_suite.py::HasIndexTest_databricks+databricks::test_has_index[dialect] SKIPPED (Databricks does not support indexes.)test_suite.py::HasIndexTest_databricks+databricks::test_has_index[inspector] SKIPPED (Databricks does not support indexes.)test_suite.py::HasIndexTest_databricks+databricks::test_has_index_schema[dialect] SKIPPED (Databricks does not support indexes.)test_suite.py::HasIndexTest_databricks+databricks::test_has_index_schema[inspector] SKIPPED (Databricks does not support indexes.)test_suite.py::TableDDLTest_databricks+databricks::test_add_table_comment SKIPPED (Comment reflection is possible but not implemented in this dialect.)test_suite.py::TableDDLTest_databricks+databricks::test_create_index_if_not_exists SKIPPED (Databricks does not support indexes.)test_suite.py::TableDDLTest_databricks+databricks::test_create_table PASSEDtest_suite.py::TableDDLTest_databricks+databricks::test_create_table_if_not_exists PASSEDtest_suite.py::TableDDLTest_databricks+databricks::test_create_table_schema PASSEDtest_suite.py::TableDDLTest_databricks+databricks::test_drop_index_if_exists SKIPPED (Databricks does not support indexes.)test_suite.py::TableDDLTest_databricks+databricks::test_drop_table PASSEDtest_suite.py::TableDDLTest_databricks+databricks::test_drop_table_comment SKIPPED (Comment reflection is possible but not implemented in this dialect.)test_suite.py::TableDDLTest_databricks+databricks::test_drop_table_if_exists PASSEDtest_suite.py::TableDDLTest_databricks+databricks::test_underscore_names PASSEDSigned-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Permanently skip QuotedNameArgumentTest with commentsThe fixes to DESCRIBE TABLE and visit_xxx were necessary to get to thepoint where I could even determine that these tests wouldn't pass.But those changes are not currently tested in the dialect. If, in thecourse of reviewing the remaining tests in the compliance suite, I findthat these visit_xxxx methods are not tested anywhere else then we shouldextend test_suite.py with our own tests to confirm the behaviour forourselves.Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Move files from base.py to _ddl.pyThe presence of this pytest.ini file is _required_ to establish pytest'sroot_pathhttps://docs.pytest.org/en/7.1.x/reference/customize.html#finding-the-rootdirWithout it, the custom pytest plugin from SQLAlchemy can't read the contentsof setup.cfg which makes none of the tests runnable.Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Emit a warning for certain constructsSigned-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Stop skipping RowFetchTestDate type work fixed this test failureSigned-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Revise infer_types logic to never infer a TINYINTThis allows these SQLAlchemy tests to pass:test_suite.py::FetchLimitOffsetTest_databricks+databricks::test_bound_limit PASSEDtest_suite.py::FetchLimitOffsetTest_databricks+databricks::test_bound_limit_offset PASSEDtest_suite.py::FetchLimitOffsetTest_databricks+databricks::test_expr_limit_simple_offset PASSEDtest_suite.py::FetchLimitOffsetTest_databricks+databricks::test_simple_limit PASSEDtest_suite.py::FetchLimitOffsetTest_databricks+databricks::test_simple_limit_expr_offset PASSEDtest_suite.py::FetchLimitOffsetTest_databricks+databricks::test_simple_limit_offset[cases0] PASSEDtest_suite.py::FetchLimitOffsetTest_databricks+databricks::test_simple_limit_offset[cases1] PASSEDtest_suite.py::FetchLimitOffsetTest_databricks+databricks::test_simple_limit_offset[cases2] PASSEDThis partially reverts the change introduced in #246Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Stop skipping FetchLimitOffsetTestI implemented our custom DatabricksStatementCompiler so we can overridethe default rendering of unbounded LIMIT clauses from `LIMIT -1` to`LIMIT ALL`We also explicitly skip the FETCH clause tests since Databricks doesn'tsupport this syntax.Blacked all source code here too.Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Stop skipping FutureTableDDLTestAdd meaningful skip markers for table comment reflection and indexesSigned-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Stop skipping Identity column testsThis closes https://github.com/databricks/databricks-sql-python/issues/175Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Stop skipping HasTableTestAdding the @reflection.cache decorator to has_table is necessary to passtest_has_table_cacheCaching calls to has_table improves the efficiency of the connectorSigned-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Permanently skip LongNameBlowoutTestDatabricks constraint names are limited to 255 charactersSigned-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Stop skipping ExceptionTestBlack test_suite.pySigned-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Permanently skip LastrowidTestSigned-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Implement PRIMARY KEY and FOREIGN KEY reflection and enable testsSigned-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Skip all IdentityColumnTest testsTurns out that none of these can pass for the same reason that thefirst two seemed un-runnable in db6f52bb329f3f43a9215b5cd46b03c3459a302aSigned-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>---------Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* SQLAlchemy 2: implement and refactor schema reflection methods (#249)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Add GovCloud domain into AWS domains (#252)Signed-off-by: Jacky Hu <jacky.hu@databricks.com>* SQLAlchemy 2: Refactor __init__.py into base.py (#250)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* SQLAlchemy 2: Finish implementing all of ComponentReflectionTest (#251)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* SQLAlchemy 2: Finish marking all tests in the suite (#253)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* SQLAlchemy 2: Finish organising compliance test suite (#256)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* SQLAlchemy 2: Fix failing mypy checks from development (#257)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Enable cloud fetch by default (#258)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* [PECO-1137] Reintroduce protocol checking to Python test fw (#248)* Put in some unit tests, will add e2eSigned-off-by: nithinkdb <nithin.krishnamurthi@databricks.com>* Added e2e testSigned-off-by: nithinkdb <nithin.krishnamurthi@databricks.com>* LintedSigned-off-by: nithinkdb <nithin.krishnamurthi@databricks.com>* re-bumped thrift filesSigned-off-by: nithinkdb <nithin.krishnamurthi@databricks.com>* Changed structure to store protocol version as feature of connectionSigned-off-by: nithinkdb <nithin.krishnamurthi@databricks.com>* Fixed parameters testSigned-off-by: nithinkdb <nithin.krishnamurthi@databricks.com>* Fixed commentsSigned-off-by: nithinkdb <nithin.krishnamurthi@databricks.com>* Update src/databricks/sql/client.pyCo-authored-by: Jesse <jwhitehouse@airpost.net>Signed-off-by: nithinkdb <nithin.krishnamurthi@databricks.com>* Fixed commentsSigned-off-by: nithinkdb <nithin.krishnamurthi@databricks.com>* Removed extra indentSigned-off-by: nithinkdb <nithin.krishnamurthi@databricks.com>---------Signed-off-by: nithinkdb <nithin.krishnamurthi@databricks.com>Co-authored-by: Jesse <jwhitehouse@airpost.net>* sqla2 clean-up: make sqlalchemy optional and don't mangle the user-agent (#264)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* SQLAlchemy 2: Add support for TINYINT (#265)Closes #123Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Add OAuth M2M example (#266)* Add OAuth M2M exampleSigned-off-by: Jacky Hu <jacky.hu@databricks.com>* Native Parameters: reintroduce INLINE approach with tests (#267)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Document behaviour of executemany (#213)Signed-off-by: Martin Rueckl <enigma@nbubu.de>* SQLAlchemy 2: Expose TIMESTAMP and TIMESTAMP_NTZ types to users (#268)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Drop Python 3.7 as a supported version (#270)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>(cherry picked from commit 8d85fa8b33a70331141c0c6556196f641d1b8ed5)* GH Workflows: remove Python 3.7 from the matrix for _all_ workflows (#274)Remove Python 3.7 from the matrix for _all_ workflowsThis was missed in #270Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Add README and updated example for SQLAlchemy usage (#273)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Rewrite native parameter implementation with docs and tests (#281)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Enable v3 retries by default (#282)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* security: bump pyarrow dependency to 14.0.1 (#284)pyarrow is currently compatible with Python 3.8 → Python 3.11I also removed specifiers for when Python is 3.7 since this no longerapplies.Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Bump package version to 3.0.0 (#285)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Fix docstring about default parameter approach (#287)* [PECO-1286] Add tests for complex types in query results (#293)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* sqlalchemy: fix deprecation warning for dbapi classmethod (#294)Rename `dbapi` classmethod to `import_dbapi` as required by SQLAlchemy 2Closes #289Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* [PECO-1297] sqlalchemy: fix: can't read columns for tables containing a TIMESTAMP_NTZ column (#296)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Prepared 3.0.1 release (#297)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Make contents of `__init__.py` equal across projects (#304)---------Signed-off-by: Pieter Noordhuis <pieter.noordhuis@databricks.com>Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>Co-authored-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Fix URI construction in ThriftBackend (#303)Signed-off-by: Jessica <12jessicasmith34@gmail.com>Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>Co-authored-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* [sqlalchemy] Add table and column comment support (#329)Signed-off-by: Christophe Bornet <cbornet@hotmail.com>Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>Co-authored-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Pin pandas and urllib3 versions to fix runtime issues in dbt-databricks (#330)Signed-off-by: Ben Cassell <ben.cassell@databricks.com>Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>Co-authored-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* SQLAlchemy: TINYINT types didn't reflect properly (#315)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* [PECO-1435] Restore `tests.py` to the test suite (#331)---------Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Bump to version 3.0.2 (#335)Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Update some outdated OAuth comments (#339)Signed-off-by: Jacky Hu <jacky.hu@databricks.com>Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>Co-authored-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Redact the URL query parameters from the urllib3.connectionpool logs (#341)* Redact the URL query parameters from the urllib3.connectionpool logsSigned-off-by: Mubashir Kazia <mubashir.kazia@databricks.com>* Fix code formattingSigned-off-by: Mubashir Kazia <mubashir.kazia@databricks.com>* Add str check for the log record message arg dict valuesSigned-off-by: Mubashir Kazia <mubashir.kazia@databricks.com>---------Signed-off-by: Mubashir Kazia <mubashir.kazia@databricks.com>* Bump to version 3.0.3 (#344)Signed-off-by: Jacky Hu <jacky.hu@databricks.com>* [PECO-1411] Support Databricks OAuth on GCP (#338)* [PECO-1411] Support OAuth InHouse on GCPSigned-off-by: Jacky Hu <jacky.hu@databricks.com>* Update changelogSigned-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>---------Signed-off-by: Jacky Hu <jacky.hu@databricks.com>Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>Co-authored-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* [PECO-1414] Support Databricks native OAuth in Azure (#351)* [PECO-1414] Support Databricks InHouse OAuth in AzureSigned-off-by: Jacky Hu <jacky.hu@databricks.com>* Prep for Test Automation (#352)Getting ready for test automationSigned-off-by: Ben Cassell <ben.cassell@databricks.com>* Update code owners (#345)* update ownersSigned-off-by: yunbodeng-db <104732431+yunbodeng-db@users.noreply.github.com>* update ownersSigned-off-by: yunbodeng-db <104732431+yunbodeng-db@users.noreply.github.com>* update ownersSigned-off-by: yunbodeng-db <104732431+yunbodeng-db@users.noreply.github.com>---------Signed-off-by: yunbodeng-db <104732431+yunbodeng-db@users.noreply.github.com>* Reverting retry behavior on 429s/503s to how it worked in 2.9.3 (#349)Signed-off-by: Ben Cassell <ben.cassell@databricks.com>* Bump to version 3.1.0 (#358)Signed-off-by: Jacky Hu <jacky.hu@databricks.com>* [PECO-1440] Expose current query id on cursor object (#364)* [PECO-1440] Expose current query id on cursor objectSigned-off-by: Levko Kravets <levko.ne@gmail.com>* Clear `active_op_handle` when closing the cursorSigned-off-by: Levko Kravets <levko.ne@gmail.com>---------Signed-off-by: Levko Kravets <levko.ne@gmail.com>* Add a default for retry after (#371)* Add a default for retry afterSigned-off-by: Ben Cassell <ben.cassell@databricks.com>* Applied black formatterSigned-off-by: Ben Cassell <ben.cassell@databricks.com>* Fix boolean literals (#357)Set supports_native_boolean to TrueSigned-off-by: Alex Holyoke <alexander.holyoke@growthloop.com>* Don't retry network requests that fail with code 403 (#373)* Don't retry requests that fail with 404Signed-off-by: Jesse Whitehouse <jesse@whitehouse.dev>* Fix lint errorSigned-off-by: Jesse Whitehouse <jesse@whitehouse.dev>---------Signed-off-by: Jesse Whitehouse <jesse@whitehouse.dev>* Bump to 3.1.1 (#374)* bump to 3.1.1Signed-off-by: Ben Cassell <ben.cassell@databricks.com>* Fix cookie setting (#379)* fix cookie settingSigned-off-by: Ben Cassell <ben.cassell@databricks.com>* Removing cookie codeSigned-off-by: Ben Cassell <ben.cassell@databricks.com>---------Signed-off-by: Ben Cassell <ben.cassell@databricks.com>* Fixing a couple type problems: how I would address most of #381 (#382)* Create py.typedSigned-off-by: wyattscarpenter <wyattscarpenter@gmail.com>* add -> Connection annotationSigned-off-by: wyattscarpenter <wyattscarpenter@gmail.com>* massage the code to appease the particular version of the project's mypy depsSigned-off-by: wyattscarpenter <wyattscarpenter@gmail.com>* fix circular import problemSigned-off-by: wyattscarpenter <wyattscarpenter@gmail.com>---------Signed-off-by: wyattscarpenter <wyattscarpenter@gmail.com>* fix the return types of the classes' __enter__ functions (#384)fix the return types of the classes' __enter__ functions so that the type information is preserved in context managers eg with-as blocksSigned-off-by: wyattscarpenter <wyattscarpenter@gmail.com>* Add Kravets Levko to codeowners (#386)Signed-off-by: Levko Kravets <levko.ne@gmail.com>* Prepare for 3.1.2 (#387)Signed-off-by: Ben Cassell <ben.cassell@databricks.com>* Update the proxy authentication (#354)changed authentication for proxy* Fix failing tests (#392)Signed-off-by: Levko Kravets <levko.ne@gmail.com>* Relax `pyarrow` pin (#389)* Relax `pyarrow` pinSigned-off-by: Dave Hirschfeld <dave.hirschfeld@gmail.com>* Allow `pyarrow` 16Signed-off-by: Dave Hirschfeld <dave.hirschfeld@gmail.com>* Update `poetry.lock`Signed-off-by: Dave Hirschfeld <dave.hirschfeld@gmail.com>---------Signed-off-by: Dave Hirschfeld <dave.hirschfeld@gmail.com>* Fix log error in oauth.py (#269)* Duplicate of applicable change from #93Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Update changelogSigned-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>* Fix after mergeSigned-off-by: Levko Kravets <levko.ne@gmail.com>---------Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>Signed-off-by: Levko Kravets <levko.ne@gmail.com>Co-authored-by: Levko Kravets <levko.ne@gmail.com>* Enable `delta.feature.allowColumnDefaults` for all tables (#343)* Enable `delta.feature.allowColumnDefaults` for all tables* Code styleSigned-off-by: Levko Kravets <levko.ne@gmail.com>---------Signed-off-by: Levko Kravets <levko.ne@gmail.com>Co-authored-by: Levko Kravets <levko.ne@gmail.com>* Fix SQLAlchemy tests (#393)Signed-off-by: Levko Kravets <levko.ne@gmail.com>* Add more debug logging for CloudFetch (#395)Signed-off-by: Levko Kravets <levko.ne@gmail.com>* Update Thrift package (#397)Signed-off-by: Milan Lukac <milan@lukac.online>* Prepare release 3.2.0 (#396)* Prepare release 3.2.0Signed-off-by: Levko Kravets <levko.ne@gmail.com>* Update changelogSigned-off-by: Levko Kravets <levko.ne@gmail.com>---------Signed-off-by: Levko Kravets <levko.ne@gmail.com>* move py.typed to correct places (#403)* move py.typed to correct placeshttps://peps.python.org/pep-0561/ says 'For namespace packages (see PEP 420), the py.typed file should be in the submodules of the namespace, to avoid conflicts and for clarity.'. Previously, when I added the py.typed file to this project, https://github.com/databricks/databricks-sql-python/pull/382 , I was unaware this was a namespace package (although, curiously, it seems I had done it right initially and then changed to the wrong way). As PEP 561 warns us, this does create conflicts; other libraries in the databricks namespace package (such as, in my case, databricks-vectorsearch) are then treated as though they are typed, which they are not. This commit moves the py.typed file to the correct places, the submodule folders, fixing that problem.Signed-off-by: wyattscarpenter <wyattscarpenter@gmail.com>* change target of mypy to src/databricks instead of src.I think this might fix the CI code-quality checks failure, but unfortunately I can't replicate that failure locally and the error message is unhelpfulSigned-off-by: wyattscarpenter <wyattscarpenter@gmail.com>* Possible workaround for bad error message 'error: --install-types failed (no mypy cache directory)'; see https://github.com/python/mypy/issues/10768#issuecomment-2178450153Signed-off-by: wyattscarpenter <wyattscarpenter@gmail.com>* fix invalid yaml syntaxSigned-off-by: wyattscarpenter <wyattscarpenter@gmail.com>* Best fix (#3)Fixes the problem by cding and supplying a flag to mypy (that mypy needs this flag is seemingly fixed/changed in later versions of mypy; but that's another pr altogether...). Also fixes a type error that was somehow in the arguments of the program (?!) (I guess this is because you guys are still using implicit optional)---------Signed-off-by: wyattscarpenter <wyattscarpenter@gmail.com>* return the old result_links default (#5)Return the old result_links default, make the type optional, & I'm pretty sure the original problem is that add_file_links can't take a None, so these statements should be in the body of the if-statement that ensures it is not NoneSigned-off-by: wyattscarpenter <wyattscarpenter@gmail.com>* Update src/databricks/sql/utils.py"self.download_manager is unconditionally used later, so must be created. Looks this part of code is totally not covered with tests 🤔"Co-authored-by: Levko Kravets <levko.ne@gmail.com>Signed-off-by: wyattscarpenter <wyattscarpenter@gmail.com>---------Signed-off-by: wyattscarpenter <wyattscarpenter@gmail.com>Co-authored-by: Levko Kravets <levko.ne@gmail.com>* Upgrade mypy (#406)* Upgrade mypyThis commit removes the flag (and cd step) from https://github.com/databricks/databricks-sql-python/commit/f53aa37a34dc37026d430e71b5e0d1b871bc5ac1 which we added to get mypy to treat namespaces correctly. This was apparently a bug in mypy, or behavior they decided to change. To get the new behavior, we must upgrade mypy. (This also allows us to remove a couple `# type: ignore` comment that are no longer needed.)This commit runs changes the version of mypy and runs `poetry lock`. It also conforms the whitespace of files in this project to the expectations of various tools and standard (namely: removing trailing whitespace as expected by git and enforcing the existence of one and only one newline at the end of a file as expected by unix and github.) It also uses https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade codebase due to a change in mypy behavior. For a similar reason, it also fixes a new type (or otherwise) errors:* "Return type 'Retry' of 'new' incompatible with return type 'DatabricksRetryPolicy' in supertype 'Retry'"* databricks/sql/auth/retry.py:225: error: object has no attribute update [attr-defined]* /test_param_escaper.py:31: DeprecationWarning: invalid escape sequence \) [as it happens, I think it was also wrong for the string not to be raw, because I'm pretty sure it wants all of its backslashed single-quotes to appear literally with the backslashes, which wasn't happening until now]* ValueError: numpy.dtype size changed, may indicate binary incompatibility. Expected 96 from C header, got 88 from PyObject [this is like a numpy version thing, which I fixed by being stricter about numpy version]---------Signed-off-by: wyattscarpenter <wyattscarpenter@gmail.com>* Incorporate suggestion.I decided the most expedient way of dealing with this type error was just adding the type ignore comment back in, but with a `[attr-defined]` specifier this time. I mean, otherwise I would have to restructure the code or figure out the proper types for a TypedDict for the dict and I don't think that's worth it at the moment.Signed-off-by: wyattscarpenter <wyattscarpenter@gmail.com>---------Signed-off-by: wyattscarpenter <wyattscarpenter@gmail.com>* Do not retry failing requests with status code 401 (#408)- Raises NonRecoverableNetworkError when request results in 401 status codeSigned-off-by: Tor Hødnebø <thodnebo@gmail.com>Signed-off-by: Tor Hødnebø <tor.hodnebo@gjensidige.no>* [PECO-1715] Remove username/password (BasicAuth) auth option (#409)Signed-off-by: Jacky Hu <jacky.hu@databricks.com>* [PECO-1751] Refactor CloudFetch downloader: handle files sequentially (#405)* [PECO-1751] Refactor CloudFetch downloader: handle files sequentially; utilize FuturesSigned-off-by: Levko Kravets <levko.ne@gmail.com>* Retry failed CloudFetch downloadsSigned-off-by: Levko Kravets <levko.ne@gmail.com>* Update testsSigned-off-by: Levko Kravets <levko.ne@gmail.com>---------Signed-off-by: Levko Kravets <levko.ne@gmail.com>* Fix CloudFetch retry policy to be compatible with all `urllib3` versions we support (#412)Signed-off-by: Levko Kravets <levko.ne@gmail.com>* Disable SSL verification for CloudFetch links (#414)* Disable SSL verification for CloudFetch linksSigned-off-by: Levko Kravets <levko.ne@gmail.com>* Use existing `_tls_no_verify` option in CloudFetch downloaderSigned-off-by: Levko Kravets <levko.ne@gmail.com>* Update testsSigned-off-by: Levko Kravets <levko.ne@gmail.com>---------Signed-off-by: Levko Kravets <levko.ne@gmail.com>* Prepare relese 3.3.0 (#415)* Prepare relese 3.3.0Signed-off-by: Levko Kravets <levko.ne@gmail.com>* Remove @arikfr from CODEOWNERSSigned-off-by: Levko Kravets <levko.ne@gmail.com>---------Signed-off-by: Levko Kravets <levko.ne@gmail.com>* Fix pandas 2.2.2 support (#416)* Support pandas 2.2.2See release note numpy 2.2.2:https://pandas.pydata.org/docs/dev/whatsnew/v2.2.0.html#to-numpy-for-numpy-nullable-and-arrow-types-converts-to-suitable-numpy-dtype* Allow pandas 2.2.2 in pyproject.toml* Update poetry.lock, poetry lock --no-update* Code styleSigned-off-by: Levko Kravets <levko.ne@gmail.com>---------Signed-off-by: Levko Kravets <levko.ne@gmail.com>Co-authored-by: Levko Kravets <levko.ne@gmail.com>* [PECO-1801] Make OAuth as the default authenticator if no authentication setting is provided (#419)* [PECO-1801] Make OAuth as the default authenticator if no authentication setting is providedSigned-off-by: Jacky Hu <jacky.hu@databricks.com>* [PECO-1857] Use SSL options with HTTPS connection pool (#425)* [PECO-1857] Use SSL options with HTTPS connection poolSigned-off-by: Levko Kravets <levko.ne@gmail.com>* Some cleanupSigned-off-by: Levko Kravets <levko.ne@gmail.com>* Resolve circular dependenciesSigned-off-by: Levko Kravets <levko.ne@gmail.com>* Update existing testsSigned-off-by: Levko Kravets <levko.ne@gmail.com>* Fix MyPy issuesSigned-off-by: Levko Kravets <levko.ne@gmail.com>* Fix `_tls_no_verify` handlingSigned-off-by: Levko Kravets <levko.ne@gmail.com>* Add testsSigned-off-by: Levko Kravets <levko.ne@gmail.com>---------Signed-off-by: Levko Kravets <levko.ne@gmail.com>* Prepare release v3.4.0 (#430)Prepare release 3.4.0Signed-off-by: Levko Kravets <levko.ne@gmail.com>* [PECO-1926] Create a non pyarrow flow to handle small results for the column set (#440)* Implemented the columnar flow for non arrow users* Minor fixes* Introduced the Column Table structure* Added test for the new column table* Minor fix* Removed unnecessory fikes* [PECO-1961] On non-retryable error, ensure PySQL includes useful information in error (#447)* added error info on non-retryable error* Reformatted all the files using black (#448)Reformatted the files using black* Prepare release v3.5.0 (#457)Prepare release 3.5.0Signed-off-by: Jacky Hu <jacky.hu@databricks.com>* [PECO-2051] Add custom auth headers into cloud fetch request (#460)Signed-off-by: Jacky Hu <jacky.hu@databricks.com>* Prepare release 3.6.0 (#461)Signed-off-by: Jacky Hu <jacky.hu@databricks.com>* [ PECO - 1768 ] PySQL: adjust HTTP retry logic to align with Go and Nodejs drivers (#467)* Added the exponential backoff code* Added the exponential backoff algorithm and refractored the code* Added jitter and added unit tests* Reformatted* Fixed the test_retry_exponential_backoff integration test* [ PECO-2065 ] Create the async execution flow for the PySQL Connector (#463)* Built the basic flow for the async pipeline - testing is remaining* Implemented the flow for the get_execution_result, but the problem of invalid operation handle still persists* Missed adding some files in previous commit* Working prototype of execute_async, get_query_state and get_execution_result* Added integration tests for execute_async* add docs for functions* Refractored the async code* Fixed java doc* Reformatted* Fix for check_types github action failing (#472)Fixed the chekc_types failing* Remove upper caps on dependencies (#452)* Remove upper caps on numpy and pyarrow versions* Updated the doc to specify native parameters in PUT operation is not supported from >=3.x connector (#477)Added doc update* Incorrect rows in inline fetch result (#479)* Raised error when incorrect Row offset it returned* Changed error type* grammar fix* Added unit tests and modified the code* Updated error message* Updated the non retying to only inline case* Updated fix* Changed the flow* Minor update* Updated the retryable condition* Minor test fix* Added extra space* Bumped up to version 3.7.0 (#482)* bumped up version* Updated to version 3.7.0* Grammar fix* Minor fix* PySQL Connector split into connector and sqlalchemy (#444)* Modified the gitignore file to not have .idea file* [PECO-1803] Splitting the PySql connector into the core and the non core part (#417)* Implemented ColumnQueue to test the fetchall without pyarrowRemoved tokenremoved token* order of fields in row corrected* Changed the folder structure and tested the basic setup to work* Refractored the code to make connector to work* Basic Setup of connector, core and sqlalchemy is working* Basic integration of core, connect and sqlalchemy is working* Setup working dynamic change from ColumnQueue to ArrowQueue* Refractored the test code and moved to respective folders* Added the unit test for column_queueFixed __version__Fix* venv_main added to git ignore* Added code for merging columnar table* Merging code for columnar* Fixed the retry_close sesssion test issue with logging* Fixed the databricks_sqlalchemy tests and introduced pytest.ini for the sqla_testing* Added pyarrow_test mark on pytest* Fixed databricks.sqlalchemy to databricks_sqlalchemy imports* Added poetry.lock* Added dist folder* Changed the pyproject.toml* Minor Fix* Added the pyarrow skip tag on unit tests and tested their working* Fixed the Decimal and timestamp conversion issue in non arrow pipeline* Removed not required files and reformatted* Fixed test_retry error* Changed the folder structure to src / databricks* Removed the columnar non arrow flow to another PR* Moved the README to the root* removed columnQueue instance* Revmoved databricks_sqlalchemy dependency in core* Changed the pysql_supports_arrow predicate, introduced changes in the pyproject.toml* Ran the black formatter with the original version* Extra .py removed from all the __init__.py files names* Undo formatting check* Check* Check* Check* Check* Check* Check* Check* Check* Check* Check* Check* Check* Check* Check* BIG UPDATE* Refeactor code* Refractor* Fixed versioning* Minor refractoring* Minor refractoring* Changed the folder structure such that sqlalchemy has not reference here* Fixed README.md and CONTRIBUTING.md* Added manual publish* On push trigger added* Manually setting the publish step* Changed versioning in pyproject.toml* Bumped up the version to 4.0.0.b3 and also changed the structure to have pyarrow as optional* Removed the sqlalchemy tests from integration.yml file* [PECO-1803] Print warning message if pyarrow is not installed (#468)Print warning message if pyarrow is not installedSigned-off-by: Jacky Hu <jacky.hu@databricks.com>* [PECO-1803] Remove sqlalchemy and update README.md (#469)Remove sqlalchemy and update README.mdSigned-off-by: Jacky Hu <jacky.hu@databricks.com>* Removed all sqlalchemy related stuff* generated the lock file* Fixed failing tests* removed poetry.lock* Updated the lock file* Fixed poetry numpy 2.2.2 issue* Workflow fixes---------Signed-off-by: Jacky Hu <jacky.hu@databricks.com>Co-authored-by: Jacky Hu <jacky.hu@databricks.com>* Removed CI CD for python3.8 (#490)* Removed python3.8 support* Minor fix* Added CI CD upto python 3.12 (#491)Support for Py till 3.12* Merging changes from v3.7.1 release (#488)* Increased the number of retry attempts allowed (#486)Updated the number of attempts allowed* bump version to 3.7.1 (#487)bumped up version* Refractore* Minor change* Bumped up to version 4.0.0 (#493)bumped up the version* Updated action's version (#455)Updated actions version.Signed-off-by: Arata Hatori <newwingbird@gmail.com>* Support Python 3.13 and update deps (#510)* Remove upper caps on dependencies (#452)* Remove upper caps on numpy and pyarrow versionsSigned-off-by: David Black <dblack@atlassian.com>* Added CI CD upto python 3.13Signed-off-by: David Black <dblack@atlassian.com>* Specify pandas 2.2.3 as the lower bound for python 3.13Signed-off-by: David Black <dblack@atlassian.com>* Specify pyarrow 18.0.0 as the lower bound for python 3.13Signed-off-by: David Black <dblack@atlassian.com>* Move `numpy` to dev dependenciesSigned-off-by: Dave Hirschfeld <dave.hirschfeld@gmail.com>* Updated lockfileSigned-off-by: Dave Hirschfeld <dave.hirschfeld@gmail.com>---------Signed-off-by: David Black <dblack@atlassian.com>Signed-off-by: Dave Hirschfeld <dave.hirschfeld@gmail.com>Co-authored-by: David Black <dblack@atlassian.com>* Improve debugging + fix PR review template (#514)* Improve debugging + add PR review template* case sensitivity of PR template* Forward porting all changes into 4.x.x. uptil v3.7.3 (#529)* Base changes* Black formatter* Cache version fix* Added the changed test_retry.py file* retry_test_mixins changes* Updated the CODEOWNERS (#531)Updated the codeowners* Add version check for urllib3 in backoff calculation (#526)Signed-off-by: Shivam Raj <shivam.raj@databricks.com>* [ES-1372353] make user_agent_header part of public API (#530)* make user_agent_header part of public API* removed user_agent_entry from list of internal params* add backward compatibility* Updates runner used to run DCO check to use databricks-protected-runner (#521)* commit 1Signed-off-by: Madhav Sainanee <madhav.sainanee@databricks.com>* commit 1Signed-off-by: Madhav Sainanee <madhav.sainanee@databricks.com>* updates runner for dco checkSigned-off-by: Madhav Sainanee <madhav.sainanee@databricks.com>* removes contributing file changesSigned-off-by: Madhav Sainanee <madhav.sainanee@databricks.com>---------Signed-off-by: Madhav Sainanee <madhav.sainanee@databricks.com>* Support multiple timestamp formats in non arrow flow (#533)* Added check for 2 formats* Wrote unit tests* Added more supporting formats* Added the T format datetime* Added more timestamp formats* Added python-dateutil library* prepare release for v4.0.1 (#534)Signed-off-by: Shivam Raj <shivam.raj@databricks.com>* Relaxed bound for python-dateutil (#538)Changed bound for python-datetutil* Bumped up the version for 4.0.2 (#539)* Added example for async execute query (#537)Added examples and fixed the async execute not working without pyarrow* Added urllib3 version check (#547)* Added version check* Removed packaging* Bump version to 4.0.3 (#549)Updated the version to 4.0.3* Cleanup fields as they might be deprecated/removed/change in the future (#553)* Clean thrift filesSigned-off-by: Vikrant Puppala <vikrant.puppala@databricks.com>* Refactor decimal conversion in PyArrow tables to use direct casting (#544)This PR replaces the previous implementation of convert_decimals_in_arrow_table() with a more efficient approach that uses PyArrow's native casting operation instead of going through pandas conversion and array creation.- Remove conversion to pandas DataFrame via to_pandas() and apply() methods- Remove intermediate steps of creating array from decimal column and setting it back- Replace with direct type casting using PyArrow's cast() method- Build a new table with transformed columns rather than modifying the original table- Create a new schema based on the modified fieldsThe new approach is more performant by avoiding pandas conversion overhead. The table below highlights substantial performance improvements when retrieving all rows from a table containing decimal columns, particularly when compression is disabled. Even greater gains were observed with compression enabled—showing approximately an 84% improvement (6 seconds compared to 39 seconds). Benchmarking was performed against e2-dogfood, with the client located in the us-west-2 region.Signed-off-by: Jayant Singh <jayant.singh@databricks.com>* [PECOBLR-361] convert column table to arrow if arrow present (#551)* Update CODEOWNERS (#562)new codeowners* Enhance Cursor close handling and context manager exception management to prevent server side resource leaks (#554)* Enhance Cursor close handling and context manager exception management* tests* fmt* Fix Cursor.close() to properly handle CursorAlreadyClosedError* Remove specific test message from Cursor.close() error handling* Improve error handling in connection and cursor context managers to ensure proper closure during exceptions, including KeyboardInterrupt. Add tests for nested cursor management and verify operation closure on server-side errors.* add* add* PECOBLR-86 improve logging on python driver (#556)* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed formatSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* changed debug to error logsSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>---------Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* Update github actions run conditions (#569)More conditions to run github actions* Added classes required for telemetry (#572)* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed formatSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* changed debug to error logsSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* added classes required for telemetrySigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* removed TelemetryHelperSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* [PECOBLR-361] convert column table to arrow if arrow present (#551)Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* Update CODEOWNERS (#562)new codeownersSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* Enhance Cursor close handling and context manager exception management to prevent server side resource leaks (#554)* Enhance Cursor close handling and context manager exception management* tests* fmt* Fix Cursor.close() to properly handle CursorAlreadyClosedError* Remove specific test message from Cursor.close() error handling* Improve error handling in connection and cursor context managers to ensure proper closure during exceptions, including KeyboardInterrupt. Add tests for nested cursor management and verify operation closure on server-side errors.* add* addSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* PECOBLR-86 improve logging on python driver (#556)* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed formatSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* changed debug to error logsSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>---------Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* Update github actions run conditions (#569)More conditions to run github actionsSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* Added classes required for telemetrySigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed exampleSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* chan…
* Separate Session related functionality from Connection class (#571)* decouple session class from existing Connectionensure maintenance of current APIs of Connection while delegatingresponsibilitySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add open property to Connection to ensure maintenance of existing APISigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* update unit tests to address ThriftBackend through session instead of through ConnectionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* chore: move session specific tests from test_client to test_sessionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)as in CONTRIBUTING.mdSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* use connection open property instead of long chain through sessionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* trigger integration workflowSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: ensure open attribute of Connection never failsin case the openSession takes long, the initialisation of the sessionwill not complete immediately. This could make the session attributeinaccessible. If the Connection is deleted in this time, the open()check will throw because the session attribute does not exist. Thus, wedefault to the Connection being closed in this case. This was not anissue before because open was a direct attribute of the Connectionclass. Caught in the integration tests.Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: de-complicate earlier connection open logicearlier, one of the integration tests was failing because 'session wasnot an attribute of Connection'. This is likely tied to a localconfiguration issue related to unittest that was causing an error in thetest suite itself. The tests are now passing without checking for thesession attribute.c676f9bSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Revert "fix: de-complicate earlier connection open logic"This reverts commitd6b1b19.Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* [empty commit] attempt to trigger ci e2e workflowSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Update CODEOWNERS (#562)new codeownersSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Enhance Cursor close handling and context manager exception management to prevent server side resource leaks (#554)* Enhance Cursor close handling and context manager exception management* tests* fmt* Fix Cursor.close() to properly handle CursorAlreadyClosedError* Remove specific test message from Cursor.close() error handling* Improve error handling in connection and cursor context managers to ensure proper closure during exceptions, including KeyboardInterrupt. Add tests for nested cursor management and verify operation closure on server-side errors.* add* addSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* PECOBLR-86 improve logging on python driver (#556)* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed formatSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* changed debug to error logsSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>---------Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Revert "Merge remote-tracking branch 'upstream/sea-migration' into decouple-session"This reverts commitdbb2ec5, reversingchanges made to7192f11.Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Reapply "Merge remote-tracking branch 'upstream/sea-migration' into decouple-session"This reverts commitbdb8381.Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: separate session opening logic from instantiationensures correctness of self.session.open call in ConnectionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: use is_open attribute to denote session availabilitySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: access thrift backend through sessionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* chore: use get_handle() instead of private session attribute in clientSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: remove accidentally removed assertionsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>---------Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>Co-authored-by: Jothi Prakash <jothi.prakash@databricks.com>Co-authored-by: Madhav Sainanee <madhav.sainanee@databricks.com>Co-authored-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* Introduce Backend Interface (DatabricksClient) (#573)NOTE: the `test_complex_types` e2e test was not working at the time of this merge. The test must be triggered when the test is back up and running as intended. * remove excess logs, assertions, instantiationslarge merge artifactsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black) + remove excess log (merge artifact)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix typingSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary checkSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary replace callSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* introduce __str__ methods for CommandId and SessionIdSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* docstrings for DatabricksClient interfaceSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* stronger typing of Cursor and ExecuteResponseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove utility functions from backend interface, fix circular importSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* rename info to propertiesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* newline for cleanlinessSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix circular importSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* to_hex_id -> get_hex_idSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* better comment on protocol version getterSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move guid to hex id to new utils moduleSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move staging allowed local path to connection propsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add strong return type for execute_commandSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* skip auth, error handling in databricksclient interfaceSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* chore: docstring + line widthSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* get_id -> get_guidSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* chore: docstringSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: to_hex_id -> to_hex_guidSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>---------Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Implement ResultSet Abstraction (backend interfaces for fetch phase) (#574)* ensure backend client returns a ResultSet type in backend testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* newline for cleanlinessSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix circular importSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* to_hex_id -> get_hex_idSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* better comment on protocol version getterSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* stricter typing for cursorSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* correct typingSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* correct tests and merge artifactsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove accidentally modified workflow filesremnants of old mergeSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* chore: remove accidentally modified workflow filesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add back accidentally removed docstringsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* clean up docstringsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* log hexSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove unnecessary _replace callSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add __str__ for CommandIdSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* take TOpenSessionResp in get_protocol_version to maintain existing interfaceSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* active_op_handle -> active_mmand_idSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* ensure None returned for close_commandSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* account for ResultSet return in new pydocsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* pydoc for typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move common state to ResultSet aprentSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* stronger typing in resultSet behaviourSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove redundant patch in testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add has_been_closed_server_side assertionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove redundancies in testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* more robust close checkSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* use normalised state in e2e testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* simplify corrected testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add line gaps after multi-line pydocs for consistencySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* use normalised CommandState type in ExecuteResponseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>---------Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary initialisation assertionsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary line break sSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* more un-necessary line breaksSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* constrain diff of test_closing_connection_closes_commandsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce diff of test_closing_connection_closes_commandsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* use pytest-like assertions for test_closing_connection_closes_commandsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* ensure command_id is not NoneSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* line breaks after multi-line pyfocsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* ensure non null operationHandle for commandId creationSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* use command_id methods instead of explicit guid_to_hex_id conversionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary artifacts in test_session, add back assertionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add from __future__ import annotations to remove string literals around forward refs, remove some unused importsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move docstring of DatabricksClient within classSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move ThriftResultSet import to top of fileSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* make backend/utils __init__ file emptySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* use from __future__ import annotations to remove string literals around CursorSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* use lazy loggingSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* replace getters with property tagSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* set active_command_id to None, not active_op_handleSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* align test_session with pytest instead of unittestSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove repetition from Session.__init__Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* mention that if catalog / schema name is None, we fetch across allSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* mention fetching across all tables if null table nameSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove lazy import of ThriftResultSetSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove unused importSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* better docstringsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* clarified role of cursor in docstringSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>---------Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
* Separate Session related functionality from Connection class (#571)* decouple session class from existing Connectionensure maintenance of current APIs of Connection while delegatingresponsibilitySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add open property to Connection to ensure maintenance of existing APISigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* update unit tests to address ThriftBackend through session instead of through ConnectionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* chore: move session specific tests from test_client to test_sessionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)as in CONTRIBUTING.mdSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* use connection open property instead of long chain through sessionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* trigger integration workflowSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: ensure open attribute of Connection never failsin case the openSession takes long, the initialisation of the sessionwill not complete immediately. This could make the session attributeinaccessible. If the Connection is deleted in this time, the open()check will throw because the session attribute does not exist. Thus, wedefault to the Connection being closed in this case. This was not anissue before because open was a direct attribute of the Connectionclass. Caught in the integration tests.Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: de-complicate earlier connection open logicearlier, one of the integration tests was failing because 'session wasnot an attribute of Connection'. This is likely tied to a localconfiguration issue related to unittest that was causing an error in thetest suite itself. The tests are now passing without checking for thesession attribute.https://github.com/databricks/databricks-sql-python/pull/567/commits/c676f9b0281cc3e4fe9c6d8216cc62fc75eade3bSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Revert "fix: de-complicate earlier connection open logic"This reverts commit d6b1b196c98a6e9d8e593a88c34bbde010519ef4.Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* [empty commit] attempt to trigger ci e2e workflowSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Update CODEOWNERS (#562)new codeownersSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Enhance Cursor close handling and context manager exception management to prevent server side resource leaks (#554)* Enhance Cursor close handling and context manager exception management* tests* fmt* Fix Cursor.close() to properly handle CursorAlreadyClosedError* Remove specific test message from Cursor.close() error handling* Improve error handling in connection and cursor context managers to ensure proper closure during exceptions, including KeyboardInterrupt. Add tests for nested cursor management and verify operation closure on server-side errors.* add* addSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* PECOBLR-86 improve logging on python driver (#556)* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed formatSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* changed debug to error logsSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>---------Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Revert "Merge remote-tracking branch 'upstream/sea-migration' into decouple-session"This reverts commit dbb2ec52306b91072a2ee842270c7113aece9aff, reversingchanges made to 7192f117279d4f0adcbafcdf2238c18663324515.Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Reapply "Merge remote-tracking branch 'upstream/sea-migration' into decouple-session"This reverts commit bdb83817f49e1d88a01679b11da8e55e8e80b42f.Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: separate session opening logic from instantiationensures correctness of self.session.open call in ConnectionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: use is_open attribute to denote session availabilitySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: access thrift backend through sessionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* chore: use get_handle() instead of private session attribute in clientSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: remove accidentally removed assertionsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>---------Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>Co-authored-by: Jothi Prakash <jothi.prakash@databricks.com>Co-authored-by: Madhav Sainanee <madhav.sainanee@databricks.com>Co-authored-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* Introduce Backend Interface (DatabricksClient) (#573)NOTE: the `test_complex_types` e2e test was not working at the time of this merge. The test must be triggered when the test is back up and running as intended. * remove excess logs, assertions, instantiationslarge merge artifactsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black) + remove excess log (merge artifact)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix typingSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary checkSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary replace callSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* introduce __str__ methods for CommandId and SessionIdSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* docstrings for DatabricksClient interfaceSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* stronger typing of Cursor and ExecuteResponseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove utility functions from backend interface, fix circular importSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* rename info to propertiesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* newline for cleanlinessSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix circular importSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* to_hex_id -> get_hex_idSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* better comment on protocol version getterSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move guid to hex id to new utils moduleSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move staging allowed local path to connection propsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add strong return type for execute_commandSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* skip auth, error handling in databricksclient interfaceSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* chore: docstring + line widthSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* get_id -> get_guidSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* chore: docstringSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: to_hex_id -> to_hex_guidSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>---------Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Implement ResultSet Abstraction (backend interfaces for fetch phase) (#574)* ensure backend client returns a ResultSet type in backend testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* newline for cleanlinessSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix circular importSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* to_hex_id -> get_hex_idSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* better comment on protocol version getterSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* stricter typing for cursorSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* correct typingSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* correct tests and merge artifactsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove accidentally modified workflow filesremnants of old mergeSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* chore: remove accidentally modified workflow filesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add back accidentally removed docstringsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* clean up docstringsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* log hexSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove unnecessary _replace callSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add __str__ for CommandIdSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* take TOpenSessionResp in get_protocol_version to maintain existing interfaceSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* active_op_handle -> active_mmand_idSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* ensure None returned for close_commandSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* account for ResultSet return in new pydocsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* pydoc for typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move common state to ResultSet aprentSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* stronger typing in resultSet behaviourSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove redundant patch in testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add has_been_closed_server_side assertionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove redundancies in testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* more robust close checkSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* use normalised state in e2e testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* simplify corrected testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add line gaps after multi-line pydocs for consistencySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* use normalised CommandState type in ExecuteResponseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>---------Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Introduce Sea HTTP Client and test script (#583)* introduce http client (temp) and sea test fileSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce verbositySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* redundant commentSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce redundancy, params and data separateSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* rename clientSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix type issuesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce repetition in request callsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary elifsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add newline at EOFSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>---------Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Introduce `SeaDatabricksClient` (Session Implementation) (#582)* [squashed from prev branch] introduce sea client with session open and close functionalitySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove accidental changes to workflows (merge artifacts)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* pass test_input to get_protocol_version instead of session_id to maintain previous APISigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black + line gaps after multi-line pydocs)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* use factory for backend instantiationSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix type issuesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove redundant commentsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* introduce models for requests and responsesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove http client and test scriptto prevent diff from showing up post http-client mergeSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Introduce Sea HTTP Client and test script (#583)* introduce http client (temp) and sea test fileSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce verbositySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* redundant commentSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce redundancy, params and data separateSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* rename clientSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix type issuesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce repetition in request callsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary elifsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add newline at EOFSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>---------Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* CustomHttpClient -> SeaHttpClientSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* redundant comment in backend clientSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* regex for warehouse_id instead of .split, remove excess imports and behaviourSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove redundant attributesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* [nit] reduce nested codeSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* line gap after multi-line pydocSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* redundant importsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move sea backend and models into separate sea/ dirSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move http client into separate sea/ dirSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* change commands to include ones in docsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add link to sql-ref-parameters for session-confsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add client side filtering for session confs, add note on warehouses over endointsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* test unimplemented methods and max_download_threads propSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>---------Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Normalise Execution Response (clean backend interfaces) (#587)* [squash from exec-sea] bring over execution phase changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add docstringSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remvoe exec func in sea backendSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess filesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess modelsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess sea backend testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* cleanupSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* re-introduce get_schema_descSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove SeaResultSetSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* clean imports and attributesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* pass CommandId to ExecRespSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove changes in typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add back essential types (ExecResponse, from_sea_state)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix fetch typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* excess importsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce diff by maintaining logsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix int test typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move guid_to_hex_id import to utilsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce diff in guid utils importSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move arrow_schema_bytes back into ExecuteResultSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* maintain logSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary assignmentSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary tuple responseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-ncessary verbose mockingSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move Queue construction to ResultSertSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move description to List[Tuple]Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* frmatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce diff (remove explicit tuple conversion)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove has_more_rows from ExecuteResponseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary has_more_rows aclcSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* default has_more_rows to TrueSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* return has_more_rows from ExecResponse conversion during GetRespMetadataSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove unnecessary replacementSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* better mocked backend namingSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove has_more_rows test in ExecuteResponseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* introduce replacement of original has_more_rows read testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* call correct method in test_use_arrow_schemaSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* call correct method in test_fall_back_to_hive_schemaSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* re-introduce result response read testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* simplify testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess fetch_results mocksSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* more minimal changes to thrift_backend testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move back to old table typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove outdated arrow_schema_bytes returnSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove duplicate importSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* rephrase model docstrings to explicitly denote that they are representations and not used over the wireSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* has_more_rows -> is_direct_resultsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* switch docstring format to align with Connection classSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>---------Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Introduce models for `SeaDatabricksClient` (#595)* [squash from exec-sea] bring over execution phase changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add docstringSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remvoe exec func in sea backendSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess filesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess modelsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess sea backend testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* cleanupSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* re-introduce get_schema_descSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove SeaResultSetSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* clean imports and attributesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* pass CommandId to ExecRespSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove changes in typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add back essential types (ExecResponse, from_sea_state)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix fetch typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* excess importsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce diff by maintaining logsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix int test typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* [squashed from exec-sea] init execution funcSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove ResultSetFilter functionalitySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove more irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove more irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* even more irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove sea response as init optionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* exec test example scriptsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* [squashed from sea-exec] merge sea stuffsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess removed docstringSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess changes in backendSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess importsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove accidentally removed _get_schema_descSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove unnecessary init with sea_response testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* rmeove unnecessary changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* improved models and filters from cloudfetch-sea branchSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* filters stuff (align with JDBC)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* backend from cloudfetch-seaSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove filtering, metadata opsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* raise NotImplementedErrror for metadata opsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary backend cahngesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-needed GetChunksResponseonly relevant in Fetch phaseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce code duplicationSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* more clear docstringsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* introduce strongly typed ChunkInfoSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove is_volume_operation from responseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add is_volume_op and more ResultData fieldsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>---------Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Introduce preliminary SEA Result Set (#588)* [squash from exec-sea] bring over execution phase changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add docstringSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remvoe exec func in sea backendSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess filesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess modelsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess sea backend testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* cleanupSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* re-introduce get_schema_descSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove SeaResultSetSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* clean imports and attributesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* pass CommandId to ExecRespSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove changes in typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add back essential types (ExecResponse, from_sea_state)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix fetch typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* excess importsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce diff by maintaining logsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix int test typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* [squashed from exec-sea] init execution funcSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove ResultSetFilter functionalitySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove more irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove more irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* even more irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove sea response as init optionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move guid_to_hex_id import to utilsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce diff in guid utils importSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move arrow_schema_bytes back into ExecuteResultSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* maintain logSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary assignmentSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary tuple responseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-ncessary verbose mockingSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move Queue construction to ResultSertSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move description to List[Tuple]Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* frmatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce diff (remove explicit tuple conversion)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove has_more_rows from ExecuteResponseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary has_more_rows aclcSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* default has_more_rows to TrueSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* return has_more_rows from ExecResponse conversion during GetRespMetadataSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove unnecessary replacementSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* better mocked backend namingSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove has_more_rows test in ExecuteResponseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* introduce replacement of original has_more_rows read testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* call correct method in test_use_arrow_schemaSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* call correct method in test_fall_back_to_hive_schemaSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* re-introduce result response read testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* simplify testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess fetch_results mocksSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* more minimal changes to thrift_backend testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move back to old table typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove outdated arrow_schema_bytes returnSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* align SeaResultSet with new structureSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* correct sea res set testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove duplicate importSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* rephrase model docstrings to explicitly denote that they are representations and not used over the wireSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* has_more_rows -> is_direct_resultsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* switch docstring format to align with Connection classSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* has_more_rows -> is_direct_resultsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix type errors with arrow_schema_bytesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* spaces after multi line pydocsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove duplicate queue init (merge artifact)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce diff (remove newlines)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary changescovered by #588 anywaySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Revert "remove un-necessary changes"This reverts commit a70a6cee277db44d6951604e890f91cae9f92f32.Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* b"" -> NoneSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>---------Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove invalid ExecuteResponse importSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Separate Session related functionality from Connection class (#571)* decouple session class from existing Connectionensure maintenance of current APIs of Connection while delegatingresponsibilitySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add open property to Connection to ensure maintenance of existing APISigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* update unit tests to address ThriftBackend through session instead of through ConnectionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* chore: move session specific tests from test_client to test_sessionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)as in CONTRIBUTING.mdSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* use connection open property instead of long chain through sessionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* trigger integration workflowSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: ensure open attribute of Connection never failsin case the openSession takes long, the initialisation of the sessionwill not complete immediately. This could make the session attributeinaccessible. If the Connection is deleted in this time, the open()check will throw because the session attribute does not exist. Thus, wedefault to the Connection being closed in this case. This was not anissue before because open was a direct attribute of the Connectionclass. Caught in the integration tests.Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: de-complicate earlier connection open logicearlier, one of the integration tests was failing because 'session wasnot an attribute of Connection'. This is likely tied to a localconfiguration issue related to unittest that was causing an error in thetest suite itself. The tests are now passing without checking for thesession attribute.https://github.com/databricks/databricks-sql-python/pull/567/commits/c676f9b0281cc3e4fe9c6d8216cc62fc75eade3bSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Revert "fix: de-complicate earlier connection open logic"This reverts commit d6b1b196c98a6e9d8e593a88c34bbde010519ef4.Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* [empty commit] attempt to trigger ci e2e workflowSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Update CODEOWNERS (#562)new codeownersSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Enhance Cursor close handling and context manager exception management to prevent server side resource leaks (#554)* Enhance Cursor close handling and context manager exception management* tests* fmt* Fix Cursor.close() to properly handle CursorAlreadyClosedError* Remove specific test message from Cursor.close() error handling* Improve error handling in connection and cursor context managers to ensure proper closure during exceptions, including KeyboardInterrupt. Add tests for nested cursor management and verify operation closure on server-side errors.* add* addSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* PECOBLR-86 improve logging on python driver (#556)* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed formatSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* changed debug to error logsSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>---------Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Revert "Merge remote-tracking branch 'upstream/sea-migration' into decouple-session"This reverts commit dbb2ec52306b91072a2ee842270c7113aece9aff, reversingchanges made to 7192f117279d4f0adcbafcdf2238c18663324515.Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Reapply "Merge remote-tracking branch 'upstream/sea-migration' into decouple-session"This reverts commit bdb83817f49e1d88a01679b11da8e55e8e80b42f.Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: separate session opening logic from instantiationensures correctness of self.session.open call in ConnectionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: use is_open attribute to denote session availabilitySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: access thrift backend through sessionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* chore: use get_handle() instead of private session attribute in clientSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: remove accidentally removed assertionsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>---------Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>Co-authored-by: Jothi Prakash <jothi.prakash@databricks.com>Co-authored-by: Madhav Sainanee <madhav.sainanee@databricks.com>Co-authored-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* Introduce Backend Interface (DatabricksClient) (#573)NOTE: the `test_complex_types` e2e test was not working at the time of this merge. The test must be triggered when the test is back up and running as intended. * remove excess logs, assertions, instantiationslarge merge artifactsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black) + remove excess log (merge artifact)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix typingSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary checkSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary replace callSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* introduce __str__ methods for CommandId and SessionIdSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* docstrings for DatabricksClient interfaceSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* stronger typing of Cursor and ExecuteResponseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove utility functions from backend interface, fix circular importSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* rename info to propertiesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* newline for cleanlinessSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix circular importSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* to_hex_id -> get_hex_idSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* better comment on protocol version getterSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move guid to hex id to new utils moduleSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move staging allowed local path to connection propsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add strong return type for execute_commandSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* skip auth, error handling in databricksclient interfaceSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* chore: docstring + line widthSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* get_id -> get_guidSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* chore: docstringSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: to_hex_id -> to_hex_guidSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>---------Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Implement ResultSet Abstraction (backend interfaces for fetch phase) (#574)* ensure backend client returns a ResultSet type in backend testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* newline for cleanlinessSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix circular importSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* to_hex_id -> get_hex_idSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* better comment on protocol version getterSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* stricter typing for cursorSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* correct typingSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* correct tests and merge artifactsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove accidentally modified workflow filesremnants of old mergeSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* chore: remove accidentally modified workflow filesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add back accidentally removed docstringsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* clean up docstringsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* log hexSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove unnecessary _replace callSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add __str__ for CommandIdSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* take TOpenSessionResp in get_protocol_version to maintain existing interfaceSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* active_op_handle -> active_mmand_idSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* ensure None returned for close_commandSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* account for ResultSet return in new pydocsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* pydoc for typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move common state to ResultSet aprentSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* stronger typing in resultSet behaviourSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove redundant patch in testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add has_been_closed_server_side assertionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove redundancies in testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* more robust close checkSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* use normalised state in e2e testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* simplify corrected testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add line gaps after multi-line pydocs for consistencySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* use normalised CommandState type in ExecuteResponseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>---------Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary initialisation assertionsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary line break sSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* more un-necessary line breaksSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* constrain diff of test_closing_connection_closes_commandsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce diff of test_closing_connection_closes_commandsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* use pytest-like assertions for test_closing_connection_closes_commandsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* ensure command_id is not NoneSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* line breaks after multi-line pyfocsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* ensure non null operationHandle for commandId creationSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* use command_id methods instead of explicit guid_to_hex_id conversionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary artifacts in test_session, add back assertionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Implement SeaDatabricksClient (Complete Execution Spec) (#590)* [squash from exec-sea] bring over execution phase changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add docstringSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remvoe exec func in sea backendSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess filesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess modelsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess sea backend testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* cleanupSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* re-introduce get_schema_descSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove SeaResultSetSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* clean imports and attributesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* pass CommandId to ExecRespSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove changes in typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add back essential types (ExecResponse, from_sea_state)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix fetch typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* excess importsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce diff by maintaining logsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix int test typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* [squashed from exec-sea] init execution funcSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove ResultSetFilter functionalitySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove more irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove more irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* even more irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove sea response as init optionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* exec test example scriptsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* [squashed from sea-exec] merge sea stuffsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess removed docstringSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess changes in backendSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess importsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove accidentally removed _get_schema_descSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove unnecessary init with sea_response testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* rmeove unnecessary changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* improved models and filters from cloudfetch-sea branchSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* filters stuff (align with JDBC)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* backend from cloudfetch-seaSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove filtering, metadata opsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* raise NotImplementedErrror for metadata opsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* change to valid table nameSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary changescovered by #588Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* simplify test moduleSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* logging -> debug levelSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* change table name in logSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary backend cahngesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-needed GetChunksResponseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-needed GetChunksResponseonly relevant in Fetch phaseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce code duplication in response parsingSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce code duplicationSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* more clear docstringsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* introduce strongly typed ChunkInfoSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove is_volume_operation from responseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add is_volume_op and more ResultData fieldsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add test scriptsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Revert "Merge branch 'exec-models-sea' into exec-phase-sea"This reverts commit be1997e0d6b6cf0f5499db2381971ec3a015a2f7, reversingchanges made to 37813ba6d1fe06d7f9f10d510a059b88dc552496.* change logging levelSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove _get_schema_bytes (for now)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* redundant commentsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove fetch phase methodsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce code repetititon + introduce gaps after multi line pydocsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove unused importsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move description extraction to helper funcSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add more unit testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* streamline unit testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* test getting the list of allowed configurationsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce diffSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce diffSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* house constants in enums for readability and immutabilitySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add note on hybrid dispositionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove redundant note on arrow_schema_bytesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove invalid importSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add strong typing for manifest in _extract_descriptionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary column skippingSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove parsing in backendSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: convert sea statement id to CommandId typeSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* make polling interval a separate constantSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* align state checking with Thrift implementationSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* update unit tests according to changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add unit tests for added methodsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add spec to description extraction docstring, add strong typing to paramsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add strong typing for backend parameters argSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>---------Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add from __future__ import annotations to remove string literals around forward refs, remove some unused importsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move docstring of DatabricksClient within classSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move ThriftResultSet import to top of fileSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* make backend/utils __init__ file emptySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* use from __future__ import annotations to remove string literals around CursorSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* use lazy loggingSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* replace getters with property tagSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* set active_command_id to None, not active_op_handleSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* align test_session with pytest instead of unittestSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove duplicate test, correct active_command_id attributeSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* SeaDatabricksClient: Add Metadata Commands (#593)* [squash from exec-sea] bring over execution phase changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add docstringSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remvoe exec func in sea backendSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess filesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess modelsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess sea backend testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* cleanupSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* re-introduce get_schema_descSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove SeaResultSetSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* clean imports and attributesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* pass CommandId to ExecRespSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove changes in typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add back essential types (ExecResponse, from_sea_state)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix fetch typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* excess importsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce diff by maintaining logsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix int test typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* [squashed from exec-sea] init execution funcSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove ResultSetFilter functionalitySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove more irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove more irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* even more irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove sea response as init optionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* exec test example scriptsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* [squashed from sea-exec] merge sea stuffsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess removed docstringSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess changes in backendSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess importsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove accidentally removed _get_schema_descSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove unnecessary init with sea_response testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* rmeove unnecessary changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* improved models and filters from cloudfetch-sea branchSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* filters stuff (align with JDBC)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* backend from cloudfetch-seaSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove filtering, metadata opsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* raise NotImplementedErrror for metadata opsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add metadata commandsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add metadata command unit testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* change to valid table nameSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary changescovered by #588Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* simplify test moduleSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* logging -> debug levelSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* change table name in logSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary backend cahngesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-needed GetChunksResponseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-needed GetChunksResponseonly relevant in Fetch phaseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce code duplication in response parsingSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce code duplicationSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* more clear docstringsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* introduce strongly typed ChunkInfoSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove is_volume_operation from responseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add is_volume_op and more ResultData fieldsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add test scriptsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Revert "Merge branch 'sea-migration' into exec-models-sea"This reverts commit 8bd12d829ea13abf8fc1507fff8cb21751001c67, reversingchanges made to 030edf8df3db487b7af8d910ee51240d1339229e.* Revert "Merge branch 'exec-models-sea' into exec-phase-sea"This reverts commit be1997e0d6b6cf0f5499db2381971ec3a015a2f7, reversingchanges made to 37813ba6d1fe06d7f9f10d510a059b88dc552496.* change logging levelSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove _get_schema_bytes (for now)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* redundant comment…
* Separate Session related functionality from Connection class (#571)* decouple session class from existing Connectionensure maintenance of current APIs of Connection while delegatingresponsibilitySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add open property to Connection to ensure maintenance of existing APISigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* update unit tests to address ThriftBackend through session instead of through ConnectionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* chore: move session specific tests from test_client to test_sessionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)as in CONTRIBUTING.mdSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* use connection open property instead of long chain through sessionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* trigger integration workflowSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: ensure open attribute of Connection never failsin case the openSession takes long, the initialisation of the sessionwill not complete immediately. This could make the session attributeinaccessible. If the Connection is deleted in this time, the open()check will throw because the session attribute does not exist. Thus, wedefault to the Connection being closed in this case. This was not anissue before because open was a direct attribute of the Connectionclass. Caught in the integration tests.Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: de-complicate earlier connection open logicearlier, one of the integration tests was failing because 'session wasnot an attribute of Connection'. This is likely tied to a localconfiguration issue related to unittest that was causing an error in thetest suite itself. The tests are now passing without checking for thesession attribute.https://github.com/databricks/databricks-sql-python/pull/567/commits/c676f9b0281cc3e4fe9c6d8216cc62fc75eade3bSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Revert "fix: de-complicate earlier connection open logic"This reverts commit d6b1b196c98a6e9d8e593a88c34bbde010519ef4.Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* [empty commit] attempt to trigger ci e2e workflowSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Update CODEOWNERS (#562)new codeownersSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Enhance Cursor close handling and context manager exception management to prevent server side resource leaks (#554)* Enhance Cursor close handling and context manager exception management* tests* fmt* Fix Cursor.close() to properly handle CursorAlreadyClosedError* Remove specific test message from Cursor.close() error handling* Improve error handling in connection and cursor context managers to ensure proper closure during exceptions, including KeyboardInterrupt. Add tests for nested cursor management and verify operation closure on server-side errors.* add* addSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* PECOBLR-86 improve logging on python driver (#556)* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed formatSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* changed debug to error logsSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>---------Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Revert "Merge remote-tracking branch 'upstream/sea-migration' into decouple-session"This reverts commit dbb2ec52306b91072a2ee842270c7113aece9aff, reversingchanges made to 7192f117279d4f0adcbafcdf2238c18663324515.Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Reapply "Merge remote-tracking branch 'upstream/sea-migration' into decouple-session"This reverts commit bdb83817f49e1d88a01679b11da8e55e8e80b42f.Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: separate session opening logic from instantiationensures correctness of self.session.open call in ConnectionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: use is_open attribute to denote session availabilitySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: access thrift backend through sessionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* chore: use get_handle() instead of private session attribute in clientSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: remove accidentally removed assertionsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>---------Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>Co-authored-by: Jothi Prakash <jothi.prakash@databricks.com>Co-authored-by: Madhav Sainanee <madhav.sainanee@databricks.com>Co-authored-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* Introduce Backend Interface (DatabricksClient) (#573)NOTE: the `test_complex_types` e2e test was not working at the time of this merge. The test must be triggered when the test is back up and running as intended. * remove excess logs, assertions, instantiationslarge merge artifactsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black) + remove excess log (merge artifact)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix typingSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary checkSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary replace callSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* introduce __str__ methods for CommandId and SessionIdSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* docstrings for DatabricksClient interfaceSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* stronger typing of Cursor and ExecuteResponseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove utility functions from backend interface, fix circular importSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* rename info to propertiesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* newline for cleanlinessSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix circular importSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* to_hex_id -> get_hex_idSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* better comment on protocol version getterSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move guid to hex id to new utils moduleSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move staging allowed local path to connection propsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add strong return type for execute_commandSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* skip auth, error handling in databricksclient interfaceSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* chore: docstring + line widthSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* get_id -> get_guidSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* chore: docstringSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: to_hex_id -> to_hex_guidSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>---------Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Implement ResultSet Abstraction (backend interfaces for fetch phase) (#574)* ensure backend client returns a ResultSet type in backend testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* newline for cleanlinessSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix circular importSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* to_hex_id -> get_hex_idSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* better comment on protocol version getterSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* stricter typing for cursorSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* correct typingSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* correct tests and merge artifactsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove accidentally modified workflow filesremnants of old mergeSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* chore: remove accidentally modified workflow filesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add back accidentally removed docstringsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* clean up docstringsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* log hexSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove unnecessary _replace callSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add __str__ for CommandIdSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* take TOpenSessionResp in get_protocol_version to maintain existing interfaceSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* active_op_handle -> active_mmand_idSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* ensure None returned for close_commandSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* account for ResultSet return in new pydocsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* pydoc for typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move common state to ResultSet aprentSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* stronger typing in resultSet behaviourSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove redundant patch in testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add has_been_closed_server_side assertionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove redundancies in testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* more robust close checkSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* use normalised state in e2e testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* simplify corrected testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add line gaps after multi-line pydocs for consistencySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* use normalised CommandState type in ExecuteResponseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>---------Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Introduce Sea HTTP Client and test script (#583)* introduce http client (temp) and sea test fileSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce verbositySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* redundant commentSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce redundancy, params and data separateSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* rename clientSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix type issuesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce repetition in request callsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary elifsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add newline at EOFSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>---------Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Introduce `SeaDatabricksClient` (Session Implementation) (#582)* [squashed from prev branch] introduce sea client with session open and close functionalitySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove accidental changes to workflows (merge artifacts)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* pass test_input to get_protocol_version instead of session_id to maintain previous APISigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black + line gaps after multi-line pydocs)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* use factory for backend instantiationSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix type issuesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove redundant commentsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* introduce models for requests and responsesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove http client and test scriptto prevent diff from showing up post http-client mergeSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Introduce Sea HTTP Client and test script (#583)* introduce http client (temp) and sea test fileSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce verbositySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* redundant commentSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce redundancy, params and data separateSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* rename clientSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix type issuesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce repetition in request callsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary elifsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add newline at EOFSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>---------Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* CustomHttpClient -> SeaHttpClientSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* redundant comment in backend clientSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* regex for warehouse_id instead of .split, remove excess imports and behaviourSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove redundant attributesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* [nit] reduce nested codeSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* line gap after multi-line pydocSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* redundant importsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move sea backend and models into separate sea/ dirSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move http client into separate sea/ dirSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* change commands to include ones in docsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add link to sql-ref-parameters for session-confsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add client side filtering for session confs, add note on warehouses over endointsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* test unimplemented methods and max_download_threads propSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>---------Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Normalise Execution Response (clean backend interfaces) (#587)* [squash from exec-sea] bring over execution phase changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add docstringSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remvoe exec func in sea backendSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess filesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess modelsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess sea backend testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* cleanupSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* re-introduce get_schema_descSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove SeaResultSetSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* clean imports and attributesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* pass CommandId to ExecRespSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove changes in typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add back essential types (ExecResponse, from_sea_state)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix fetch typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* excess importsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce diff by maintaining logsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix int test typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move guid_to_hex_id import to utilsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce diff in guid utils importSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move arrow_schema_bytes back into ExecuteResultSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* maintain logSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary assignmentSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary tuple responseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-ncessary verbose mockingSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move Queue construction to ResultSertSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move description to List[Tuple]Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* frmatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce diff (remove explicit tuple conversion)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove has_more_rows from ExecuteResponseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary has_more_rows aclcSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* default has_more_rows to TrueSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* return has_more_rows from ExecResponse conversion during GetRespMetadataSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove unnecessary replacementSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* better mocked backend namingSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove has_more_rows test in ExecuteResponseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* introduce replacement of original has_more_rows read testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* call correct method in test_use_arrow_schemaSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* call correct method in test_fall_back_to_hive_schemaSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* re-introduce result response read testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* simplify testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess fetch_results mocksSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* more minimal changes to thrift_backend testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move back to old table typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove outdated arrow_schema_bytes returnSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove duplicate importSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* rephrase model docstrings to explicitly denote that they are representations and not used over the wireSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* has_more_rows -> is_direct_resultsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* switch docstring format to align with Connection classSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>---------Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Introduce models for `SeaDatabricksClient` (#595)* [squash from exec-sea] bring over execution phase changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add docstringSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remvoe exec func in sea backendSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess filesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess modelsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess sea backend testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* cleanupSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* re-introduce get_schema_descSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove SeaResultSetSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* clean imports and attributesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* pass CommandId to ExecRespSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove changes in typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add back essential types (ExecResponse, from_sea_state)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix fetch typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* excess importsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce diff by maintaining logsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix int test typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* [squashed from exec-sea] init execution funcSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove ResultSetFilter functionalitySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove more irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove more irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* even more irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove sea response as init optionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* exec test example scriptsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* [squashed from sea-exec] merge sea stuffsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess removed docstringSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess changes in backendSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess importsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove accidentally removed _get_schema_descSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove unnecessary init with sea_response testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* rmeove unnecessary changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* improved models and filters from cloudfetch-sea branchSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* filters stuff (align with JDBC)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* backend from cloudfetch-seaSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove filtering, metadata opsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* raise NotImplementedErrror for metadata opsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary backend cahngesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-needed GetChunksResponseonly relevant in Fetch phaseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce code duplicationSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* more clear docstringsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* introduce strongly typed ChunkInfoSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove is_volume_operation from responseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add is_volume_op and more ResultData fieldsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>---------Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Introduce preliminary SEA Result Set (#588)* [squash from exec-sea] bring over execution phase changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add docstringSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remvoe exec func in sea backendSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess filesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess modelsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess sea backend testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* cleanupSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* re-introduce get_schema_descSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove SeaResultSetSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* clean imports and attributesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* pass CommandId to ExecRespSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove changes in typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add back essential types (ExecResponse, from_sea_state)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix fetch typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* excess importsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce diff by maintaining logsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix int test typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* [squashed from exec-sea] init execution funcSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove ResultSetFilter functionalitySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove more irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove more irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* even more irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove sea response as init optionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move guid_to_hex_id import to utilsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce diff in guid utils importSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move arrow_schema_bytes back into ExecuteResultSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* maintain logSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary assignmentSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary tuple responseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-ncessary verbose mockingSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move Queue construction to ResultSertSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move description to List[Tuple]Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* frmatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce diff (remove explicit tuple conversion)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove has_more_rows from ExecuteResponseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary has_more_rows aclcSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* default has_more_rows to TrueSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* return has_more_rows from ExecResponse conversion during GetRespMetadataSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove unnecessary replacementSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* better mocked backend namingSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove has_more_rows test in ExecuteResponseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* introduce replacement of original has_more_rows read testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* call correct method in test_use_arrow_schemaSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* call correct method in test_fall_back_to_hive_schemaSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* re-introduce result response read testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* simplify testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess fetch_results mocksSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* more minimal changes to thrift_backend testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move back to old table typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove outdated arrow_schema_bytes returnSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* align SeaResultSet with new structureSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* correct sea res set testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove duplicate importSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* rephrase model docstrings to explicitly denote that they are representations and not used over the wireSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* has_more_rows -> is_direct_resultsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* switch docstring format to align with Connection classSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* has_more_rows -> is_direct_resultsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix type errors with arrow_schema_bytesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* spaces after multi line pydocsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove duplicate queue init (merge artifact)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce diff (remove newlines)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary changescovered by #588 anywaySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Revert "remove un-necessary changes"This reverts commit a70a6cee277db44d6951604e890f91cae9f92f32.Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* b"" -> NoneSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>---------Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove invalid ExecuteResponse importSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Separate Session related functionality from Connection class (#571)* decouple session class from existing Connectionensure maintenance of current APIs of Connection while delegatingresponsibilitySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add open property to Connection to ensure maintenance of existing APISigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* update unit tests to address ThriftBackend through session instead of through ConnectionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* chore: move session specific tests from test_client to test_sessionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)as in CONTRIBUTING.mdSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* use connection open property instead of long chain through sessionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* trigger integration workflowSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: ensure open attribute of Connection never failsin case the openSession takes long, the initialisation of the sessionwill not complete immediately. This could make the session attributeinaccessible. If the Connection is deleted in this time, the open()check will throw because the session attribute does not exist. Thus, wedefault to the Connection being closed in this case. This was not anissue before because open was a direct attribute of the Connectionclass. Caught in the integration tests.Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: de-complicate earlier connection open logicearlier, one of the integration tests was failing because 'session wasnot an attribute of Connection'. This is likely tied to a localconfiguration issue related to unittest that was causing an error in thetest suite itself. The tests are now passing without checking for thesession attribute.https://github.com/databricks/databricks-sql-python/pull/567/commits/c676f9b0281cc3e4fe9c6d8216cc62fc75eade3bSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Revert "fix: de-complicate earlier connection open logic"This reverts commit d6b1b196c98a6e9d8e593a88c34bbde010519ef4.Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* [empty commit] attempt to trigger ci e2e workflowSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Update CODEOWNERS (#562)new codeownersSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Enhance Cursor close handling and context manager exception management to prevent server side resource leaks (#554)* Enhance Cursor close handling and context manager exception management* tests* fmt* Fix Cursor.close() to properly handle CursorAlreadyClosedError* Remove specific test message from Cursor.close() error handling* Improve error handling in connection and cursor context managers to ensure proper closure during exceptions, including KeyboardInterrupt. Add tests for nested cursor management and verify operation closure on server-side errors.* add* addSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* PECOBLR-86 improve logging on python driver (#556)* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed formatSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* changed debug to error logsSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>---------Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Revert "Merge remote-tracking branch 'upstream/sea-migration' into decouple-session"This reverts commit dbb2ec52306b91072a2ee842270c7113aece9aff, reversingchanges made to 7192f117279d4f0adcbafcdf2238c18663324515.Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Reapply "Merge remote-tracking branch 'upstream/sea-migration' into decouple-session"This reverts commit bdb83817f49e1d88a01679b11da8e55e8e80b42f.Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: separate session opening logic from instantiationensures correctness of self.session.open call in ConnectionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: use is_open attribute to denote session availabilitySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: access thrift backend through sessionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* chore: use get_handle() instead of private session attribute in clientSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: remove accidentally removed assertionsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>---------Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>Co-authored-by: Jothi Prakash <jothi.prakash@databricks.com>Co-authored-by: Madhav Sainanee <madhav.sainanee@databricks.com>Co-authored-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* Introduce Backend Interface (DatabricksClient) (#573)NOTE: the `test_complex_types` e2e test was not working at the time of this merge. The test must be triggered when the test is back up and running as intended. * remove excess logs, assertions, instantiationslarge merge artifactsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black) + remove excess log (merge artifact)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix typingSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary checkSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary replace callSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* introduce __str__ methods for CommandId and SessionIdSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* docstrings for DatabricksClient interfaceSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* stronger typing of Cursor and ExecuteResponseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove utility functions from backend interface, fix circular importSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* rename info to propertiesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* newline for cleanlinessSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix circular importSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* to_hex_id -> get_hex_idSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* better comment on protocol version getterSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move guid to hex id to new utils moduleSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move staging allowed local path to connection propsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add strong return type for execute_commandSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* skip auth, error handling in databricksclient interfaceSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* chore: docstring + line widthSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* get_id -> get_guidSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* chore: docstringSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: to_hex_id -> to_hex_guidSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>---------Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Implement ResultSet Abstraction (backend interfaces for fetch phase) (#574)* ensure backend client returns a ResultSet type in backend testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* newline for cleanlinessSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix circular importSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* to_hex_id -> get_hex_idSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* better comment on protocol version getterSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* stricter typing for cursorSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* correct typingSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* correct tests and merge artifactsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove accidentally modified workflow filesremnants of old mergeSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* chore: remove accidentally modified workflow filesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add back accidentally removed docstringsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* clean up docstringsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* log hexSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove unnecessary _replace callSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add __str__ for CommandIdSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* take TOpenSessionResp in get_protocol_version to maintain existing interfaceSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* active_op_handle -> active_mmand_idSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* ensure None returned for close_commandSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* account for ResultSet return in new pydocsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* pydoc for typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move common state to ResultSet aprentSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* stronger typing in resultSet behaviourSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove redundant patch in testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add has_been_closed_server_side assertionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove redundancies in testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* more robust close checkSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* use normalised state in e2e testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* simplify corrected testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add line gaps after multi-line pydocs for consistencySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* use normalised CommandState type in ExecuteResponseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>---------Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary initialisation assertionsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary line break sSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* more un-necessary line breaksSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* constrain diff of test_closing_connection_closes_commandsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce diff of test_closing_connection_closes_commandsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* use pytest-like assertions for test_closing_connection_closes_commandsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* ensure command_id is not NoneSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* line breaks after multi-line pyfocsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* ensure non null operationHandle for commandId creationSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* use command_id methods instead of explicit guid_to_hex_id conversionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary artifacts in test_session, add back assertionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Implement SeaDatabricksClient (Complete Execution Spec) (#590)* [squash from exec-sea] bring over execution phase changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add docstringSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remvoe exec func in sea backendSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess filesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess modelsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess sea backend testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* cleanupSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* re-introduce get_schema_descSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove SeaResultSetSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* clean imports and attributesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* pass CommandId to ExecRespSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove changes in typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add back essential types (ExecResponse, from_sea_state)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix fetch typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* excess importsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce diff by maintaining logsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix int test typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* [squashed from exec-sea] init execution funcSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove ResultSetFilter functionalitySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove more irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove more irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* even more irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove sea response as init optionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* exec test example scriptsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* [squashed from sea-exec] merge sea stuffsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess removed docstringSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess changes in backendSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess importsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove accidentally removed _get_schema_descSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove unnecessary init with sea_response testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* rmeove unnecessary changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* improved models and filters from cloudfetch-sea branchSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* filters stuff (align with JDBC)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* backend from cloudfetch-seaSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove filtering, metadata opsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* raise NotImplementedErrror for metadata opsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* change to valid table nameSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary changescovered by #588Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* simplify test moduleSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* logging -> debug levelSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* change table name in logSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary backend cahngesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-needed GetChunksResponseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-needed GetChunksResponseonly relevant in Fetch phaseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce code duplication in response parsingSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce code duplicationSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* more clear docstringsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* introduce strongly typed ChunkInfoSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove is_volume_operation from responseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add is_volume_op and more ResultData fieldsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add test scriptsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Revert "Merge branch 'exec-models-sea' into exec-phase-sea"This reverts commit be1997e0d6b6cf0f5499db2381971ec3a015a2f7, reversingchanges made to 37813ba6d1fe06d7f9f10d510a059b88dc552496.* change logging levelSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove _get_schema_bytes (for now)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* redundant commentsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove fetch phase methodsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce code repetititon + introduce gaps after multi line pydocsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove unused importsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move description extraction to helper funcSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add more unit testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* streamline unit testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* test getting the list of allowed configurationsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce diffSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce diffSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* house constants in enums for readability and immutabilitySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add note on hybrid dispositionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove redundant note on arrow_schema_bytesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove invalid importSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add strong typing for manifest in _extract_descriptionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary column skippingSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove parsing in backendSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: convert sea statement id to CommandId typeSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* make polling interval a separate constantSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* align state checking with Thrift implementationSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* update unit tests according to changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add unit tests for added methodsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add spec to description extraction docstring, add strong typing to paramsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add strong typing for backend parameters argSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>---------Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add from __future__ import annotations to remove string literals around forward refs, remove some unused importsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move docstring of DatabricksClient within classSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move ThriftResultSet import to top of fileSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* make backend/utils __init__ file emptySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* use from __future__ import annotations to remove string literals around CursorSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* use lazy loggingSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* replace getters with property tagSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* set active_command_id to None, not active_op_handleSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* align test_session with pytest instead of unittestSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove duplicate test, correct active_command_id attributeSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* SeaDatabricksClient: Add Metadata Commands (#593)* [squash from exec-sea] bring over execution phase changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add docstringSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remvoe exec func in sea backendSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess filesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess modelsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess sea backend testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* cleanupSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* re-introduce get_schema_descSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove SeaResultSetSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* clean imports and attributesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* pass CommandId to ExecRespSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove changes in typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add back essential types (ExecResponse, from_sea_state)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix fetch typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* excess importsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce diff by maintaining logsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix int test typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* [squashed from exec-sea] init execution funcSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove ResultSetFilter functionalitySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove more irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove more irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* even more irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove sea response as init optionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* exec test example scriptsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* [squashed from sea-exec] merge sea stuffsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess removed docstringSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess changes in backendSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess importsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove accidentally removed _get_schema_descSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove unnecessary init with sea_response testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* rmeove unnecessary changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* improved models and filters from cloudfetch-sea branchSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* filters stuff (align with JDBC)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* backend from cloudfetch-seaSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove filtering, metadata opsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* raise NotImplementedErrror for metadata opsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add metadata commandsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add metadata command unit testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* change to valid table nameSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary changescovered by #588Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* simplify test moduleSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* logging -> debug levelSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* change table name in logSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary backend cahngesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-needed GetChunksResponseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-needed GetChunksResponseonly relevant in Fetch phaseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce code duplication in response parsingSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce code duplicationSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* more clear docstringsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* introduce strongly typed ChunkInfoSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove is_volume_operation from responseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add is_volume_op and more ResultData fieldsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add test scriptsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Revert "Merge branch 'sea-migration' into exec-models-sea"This reverts commit 8bd12d829ea13abf8fc1507fff8cb21751001c67, reversingchanges made to 030edf8df3db487b7af8d910ee51240d1339229e.* Revert "Merge branch 'exec-models-sea' into exec-phase-sea"This reverts commit be1997e0d6b6cf0f5499db2381971ec3a015a2f7, reversingchanges made to 37813ba6d1fe06d7f9f10d510a059b88dc552496.* change logging levelSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove _get_schema_bytes (for now)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* redundant commentsS…
* Separate Session related functionality from Connection class (#571)* decouple session class from existing Connectionensure maintenance of current APIs of Connection while delegatingresponsibilitySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add open property to Connection to ensure maintenance of existing APISigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* update unit tests to address ThriftBackend through session instead of through ConnectionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* chore: move session specific tests from test_client to test_sessionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)as in CONTRIBUTING.mdSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* use connection open property instead of long chain through sessionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* trigger integration workflowSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: ensure open attribute of Connection never failsin case the openSession takes long, the initialisation of the sessionwill not complete immediately. This could make the session attributeinaccessible. If the Connection is deleted in this time, the open()check will throw because the session attribute does not exist. Thus, wedefault to the Connection being closed in this case. This was not anissue before because open was a direct attribute of the Connectionclass. Caught in the integration tests.Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: de-complicate earlier connection open logicearlier, one of the integration tests was failing because 'session wasnot an attribute of Connection'. This is likely tied to a localconfiguration issue related to unittest that was causing an error in thetest suite itself. The tests are now passing without checking for thesession attribute.https://github.com/databricks/databricks-sql-python/pull/567/commits/c676f9b0281cc3e4fe9c6d8216cc62fc75eade3bSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Revert "fix: de-complicate earlier connection open logic"This reverts commit d6b1b196c98a6e9d8e593a88c34bbde010519ef4.Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* [empty commit] attempt to trigger ci e2e workflowSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Update CODEOWNERS (#562)new codeownersSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Enhance Cursor close handling and context manager exception management to prevent server side resource leaks (#554)* Enhance Cursor close handling and context manager exception management* tests* fmt* Fix Cursor.close() to properly handle CursorAlreadyClosedError* Remove specific test message from Cursor.close() error handling* Improve error handling in connection and cursor context managers to ensure proper closure during exceptions, including KeyboardInterrupt. Add tests for nested cursor management and verify operation closure on server-side errors.* add* addSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* PECOBLR-86 improve logging on python driver (#556)* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed formatSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* changed debug to error logsSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>---------Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Revert "Merge remote-tracking branch 'upstream/sea-migration' into decouple-session"This reverts commit dbb2ec52306b91072a2ee842270c7113aece9aff, reversingchanges made to 7192f117279d4f0adcbafcdf2238c18663324515.Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Reapply "Merge remote-tracking branch 'upstream/sea-migration' into decouple-session"This reverts commit bdb83817f49e1d88a01679b11da8e55e8e80b42f.Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: separate session opening logic from instantiationensures correctness of self.session.open call in ConnectionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: use is_open attribute to denote session availabilitySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: access thrift backend through sessionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* chore: use get_handle() instead of private session attribute in clientSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: remove accidentally removed assertionsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>---------Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>Co-authored-by: Jothi Prakash <jothi.prakash@databricks.com>Co-authored-by: Madhav Sainanee <madhav.sainanee@databricks.com>Co-authored-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* Introduce Backend Interface (DatabricksClient) (#573)NOTE: the `test_complex_types` e2e test was not working at the time of this merge. The test must be triggered when the test is back up and running as intended. * remove excess logs, assertions, instantiationslarge merge artifactsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black) + remove excess log (merge artifact)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix typingSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary checkSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary replace callSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* introduce __str__ methods for CommandId and SessionIdSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* docstrings for DatabricksClient interfaceSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* stronger typing of Cursor and ExecuteResponseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove utility functions from backend interface, fix circular importSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* rename info to propertiesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* newline for cleanlinessSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix circular importSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* to_hex_id -> get_hex_idSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* better comment on protocol version getterSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move guid to hex id to new utils moduleSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move staging allowed local path to connection propsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add strong return type for execute_commandSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* skip auth, error handling in databricksclient interfaceSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* chore: docstring + line widthSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* get_id -> get_guidSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* chore: docstringSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: to_hex_id -> to_hex_guidSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>---------Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Implement ResultSet Abstraction (backend interfaces for fetch phase) (#574)* ensure backend client returns a ResultSet type in backend testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* newline for cleanlinessSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix circular importSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* to_hex_id -> get_hex_idSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* better comment on protocol version getterSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* stricter typing for cursorSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* correct typingSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* correct tests and merge artifactsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove accidentally modified workflow filesremnants of old mergeSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* chore: remove accidentally modified workflow filesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add back accidentally removed docstringsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* clean up docstringsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* log hexSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove unnecessary _replace callSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add __str__ for CommandIdSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* take TOpenSessionResp in get_protocol_version to maintain existing interfaceSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* active_op_handle -> active_mmand_idSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* ensure None returned for close_commandSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* account for ResultSet return in new pydocsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* pydoc for typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move common state to ResultSet aprentSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* stronger typing in resultSet behaviourSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove redundant patch in testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add has_been_closed_server_side assertionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove redundancies in testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* more robust close checkSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* use normalised state in e2e testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* simplify corrected testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add line gaps after multi-line pydocs for consistencySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* use normalised CommandState type in ExecuteResponseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>---------Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Introduce Sea HTTP Client and test script (#583)* introduce http client (temp) and sea test fileSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce verbositySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* redundant commentSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce redundancy, params and data separateSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* rename clientSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix type issuesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce repetition in request callsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary elifsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add newline at EOFSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>---------Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Introduce `SeaDatabricksClient` (Session Implementation) (#582)* [squashed from prev branch] introduce sea client with session open and close functionalitySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove accidental changes to workflows (merge artifacts)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* pass test_input to get_protocol_version instead of session_id to maintain previous APISigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black + line gaps after multi-line pydocs)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* use factory for backend instantiationSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix type issuesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove redundant commentsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* introduce models for requests and responsesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove http client and test scriptto prevent diff from showing up post http-client mergeSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Introduce Sea HTTP Client and test script (#583)* introduce http client (temp) and sea test fileSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce verbositySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* redundant commentSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce redundancy, params and data separateSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* rename clientSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix type issuesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce repetition in request callsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary elifsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add newline at EOFSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>---------Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* CustomHttpClient -> SeaHttpClientSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* redundant comment in backend clientSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* regex for warehouse_id instead of .split, remove excess imports and behaviourSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove redundant attributesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* [nit] reduce nested codeSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* line gap after multi-line pydocSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* redundant importsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move sea backend and models into separate sea/ dirSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move http client into separate sea/ dirSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* change commands to include ones in docsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add link to sql-ref-parameters for session-confsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add client side filtering for session confs, add note on warehouses over endointsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* test unimplemented methods and max_download_threads propSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>---------Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Normalise Execution Response (clean backend interfaces) (#587)* [squash from exec-sea] bring over execution phase changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add docstringSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remvoe exec func in sea backendSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess filesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess modelsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess sea backend testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* cleanupSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* re-introduce get_schema_descSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove SeaResultSetSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* clean imports and attributesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* pass CommandId to ExecRespSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove changes in typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add back essential types (ExecResponse, from_sea_state)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix fetch typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* excess importsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce diff by maintaining logsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix int test typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move guid_to_hex_id import to utilsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce diff in guid utils importSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move arrow_schema_bytes back into ExecuteResultSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* maintain logSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary assignmentSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary tuple responseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-ncessary verbose mockingSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move Queue construction to ResultSertSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move description to List[Tuple]Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* frmatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce diff (remove explicit tuple conversion)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove has_more_rows from ExecuteResponseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary has_more_rows aclcSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* default has_more_rows to TrueSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* return has_more_rows from ExecResponse conversion during GetRespMetadataSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove unnecessary replacementSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* better mocked backend namingSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove has_more_rows test in ExecuteResponseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* introduce replacement of original has_more_rows read testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* call correct method in test_use_arrow_schemaSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* call correct method in test_fall_back_to_hive_schemaSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* re-introduce result response read testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* simplify testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess fetch_results mocksSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* more minimal changes to thrift_backend testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move back to old table typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove outdated arrow_schema_bytes returnSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove duplicate importSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* rephrase model docstrings to explicitly denote that they are representations and not used over the wireSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* has_more_rows -> is_direct_resultsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* switch docstring format to align with Connection classSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>---------Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Introduce models for `SeaDatabricksClient` (#595)* [squash from exec-sea] bring over execution phase changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add docstringSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remvoe exec func in sea backendSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess filesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess modelsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess sea backend testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* cleanupSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* re-introduce get_schema_descSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove SeaResultSetSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* clean imports and attributesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* pass CommandId to ExecRespSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove changes in typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add back essential types (ExecResponse, from_sea_state)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix fetch typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* excess importsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce diff by maintaining logsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix int test typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* [squashed from exec-sea] init execution funcSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove ResultSetFilter functionalitySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove more irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove more irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* even more irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove sea response as init optionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* exec test example scriptsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* [squashed from sea-exec] merge sea stuffsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess removed docstringSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess changes in backendSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess importsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove accidentally removed _get_schema_descSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove unnecessary init with sea_response testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* rmeove unnecessary changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* improved models and filters from cloudfetch-sea branchSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* filters stuff (align with JDBC)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* backend from cloudfetch-seaSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove filtering, metadata opsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* raise NotImplementedErrror for metadata opsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary backend cahngesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-needed GetChunksResponseonly relevant in Fetch phaseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce code duplicationSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* more clear docstringsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* introduce strongly typed ChunkInfoSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove is_volume_operation from responseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add is_volume_op and more ResultData fieldsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>---------Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Introduce preliminary SEA Result Set (#588)* [squash from exec-sea] bring over execution phase changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add docstringSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remvoe exec func in sea backendSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess filesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess modelsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess sea backend testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* cleanupSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* re-introduce get_schema_descSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove SeaResultSetSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* clean imports and attributesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* pass CommandId to ExecRespSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove changes in typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add back essential types (ExecResponse, from_sea_state)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix fetch typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* excess importsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce diff by maintaining logsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix int test typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* [squashed from exec-sea] init execution funcSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove ResultSetFilter functionalitySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove more irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove more irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* even more irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove sea response as init optionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move guid_to_hex_id import to utilsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce diff in guid utils importSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move arrow_schema_bytes back into ExecuteResultSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* maintain logSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary assignmentSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary tuple responseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-ncessary verbose mockingSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move Queue construction to ResultSertSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move description to List[Tuple]Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* frmatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce diff (remove explicit tuple conversion)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove has_more_rows from ExecuteResponseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary has_more_rows aclcSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* default has_more_rows to TrueSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* return has_more_rows from ExecResponse conversion during GetRespMetadataSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove unnecessary replacementSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* better mocked backend namingSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove has_more_rows test in ExecuteResponseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* introduce replacement of original has_more_rows read testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* call correct method in test_use_arrow_schemaSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* call correct method in test_fall_back_to_hive_schemaSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* re-introduce result response read testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* simplify testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess fetch_results mocksSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* more minimal changes to thrift_backend testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move back to old table typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove outdated arrow_schema_bytes returnSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* align SeaResultSet with new structureSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* correct sea res set testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove duplicate importSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* rephrase model docstrings to explicitly denote that they are representations and not used over the wireSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* has_more_rows -> is_direct_resultsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* switch docstring format to align with Connection classSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* has_more_rows -> is_direct_resultsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix type errors with arrow_schema_bytesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* spaces after multi line pydocsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove duplicate queue init (merge artifact)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce diff (remove newlines)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary changescovered by #588 anywaySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Revert "remove un-necessary changes"This reverts commit a70a6cee277db44d6951604e890f91cae9f92f32.Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* b"" -> NoneSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>---------Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove invalid ExecuteResponse importSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Separate Session related functionality from Connection class (#571)* decouple session class from existing Connectionensure maintenance of current APIs of Connection while delegatingresponsibilitySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add open property to Connection to ensure maintenance of existing APISigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* update unit tests to address ThriftBackend through session instead of through ConnectionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* chore: move session specific tests from test_client to test_sessionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)as in CONTRIBUTING.mdSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* use connection open property instead of long chain through sessionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* trigger integration workflowSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: ensure open attribute of Connection never failsin case the openSession takes long, the initialisation of the sessionwill not complete immediately. This could make the session attributeinaccessible. If the Connection is deleted in this time, the open()check will throw because the session attribute does not exist. Thus, wedefault to the Connection being closed in this case. This was not anissue before because open was a direct attribute of the Connectionclass. Caught in the integration tests.Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: de-complicate earlier connection open logicearlier, one of the integration tests was failing because 'session wasnot an attribute of Connection'. This is likely tied to a localconfiguration issue related to unittest that was causing an error in thetest suite itself. The tests are now passing without checking for thesession attribute.https://github.com/databricks/databricks-sql-python/pull/567/commits/c676f9b0281cc3e4fe9c6d8216cc62fc75eade3bSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Revert "fix: de-complicate earlier connection open logic"This reverts commit d6b1b196c98a6e9d8e593a88c34bbde010519ef4.Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* [empty commit] attempt to trigger ci e2e workflowSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Update CODEOWNERS (#562)new codeownersSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Enhance Cursor close handling and context manager exception management to prevent server side resource leaks (#554)* Enhance Cursor close handling and context manager exception management* tests* fmt* Fix Cursor.close() to properly handle CursorAlreadyClosedError* Remove specific test message from Cursor.close() error handling* Improve error handling in connection and cursor context managers to ensure proper closure during exceptions, including KeyboardInterrupt. Add tests for nested cursor management and verify operation closure on server-side errors.* add* addSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* PECOBLR-86 improve logging on python driver (#556)* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* PECOBLR-86 Improve logging for debug levelSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* fixed formatSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* changed debug to error logsSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* used lazy loggingSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>---------Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Revert "Merge remote-tracking branch 'upstream/sea-migration' into decouple-session"This reverts commit dbb2ec52306b91072a2ee842270c7113aece9aff, reversingchanges made to 7192f117279d4f0adcbafcdf2238c18663324515.Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Reapply "Merge remote-tracking branch 'upstream/sea-migration' into decouple-session"This reverts commit bdb83817f49e1d88a01679b11da8e55e8e80b42f.Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: separate session opening logic from instantiationensures correctness of self.session.open call in ConnectionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: use is_open attribute to denote session availabilitySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: access thrift backend through sessionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* chore: use get_handle() instead of private session attribute in clientSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: remove accidentally removed assertionsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>---------Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>Co-authored-by: Jothi Prakash <jothi.prakash@databricks.com>Co-authored-by: Madhav Sainanee <madhav.sainanee@databricks.com>Co-authored-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>* Introduce Backend Interface (DatabricksClient) (#573)NOTE: the `test_complex_types` e2e test was not working at the time of this merge. The test must be triggered when the test is back up and running as intended. * remove excess logs, assertions, instantiationslarge merge artifactsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black) + remove excess log (merge artifact)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix typingSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary checkSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary replace callSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* introduce __str__ methods for CommandId and SessionIdSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* docstrings for DatabricksClient interfaceSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* stronger typing of Cursor and ExecuteResponseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove utility functions from backend interface, fix circular importSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* rename info to propertiesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* newline for cleanlinessSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix circular importSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* to_hex_id -> get_hex_idSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* better comment on protocol version getterSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move guid to hex id to new utils moduleSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move staging allowed local path to connection propsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add strong return type for execute_commandSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* skip auth, error handling in databricksclient interfaceSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* chore: docstring + line widthSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* get_id -> get_guidSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* chore: docstringSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: to_hex_id -> to_hex_guidSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>---------Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Implement ResultSet Abstraction (backend interfaces for fetch phase) (#574)* ensure backend client returns a ResultSet type in backend testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* newline for cleanlinessSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix circular importSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* to_hex_id -> get_hex_idSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* better comment on protocol version getterSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* stricter typing for cursorSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* correct typingSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* correct tests and merge artifactsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove accidentally modified workflow filesremnants of old mergeSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* chore: remove accidentally modified workflow filesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add back accidentally removed docstringsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* clean up docstringsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* log hexSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove unnecessary _replace callSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add __str__ for CommandIdSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* take TOpenSessionResp in get_protocol_version to maintain existing interfaceSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* active_op_handle -> active_mmand_idSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* ensure None returned for close_commandSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* account for ResultSet return in new pydocsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* pydoc for typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move common state to ResultSet aprentSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* stronger typing in resultSet behaviourSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove redundant patch in testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add has_been_closed_server_side assertionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove redundancies in testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* more robust close checkSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* use normalised state in e2e testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* simplify corrected testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add line gaps after multi-line pydocs for consistencySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* use normalised CommandState type in ExecuteResponseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>---------Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary initialisation assertionsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary line break sSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* more un-necessary line breaksSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* constrain diff of test_closing_connection_closes_commandsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce diff of test_closing_connection_closes_commandsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* use pytest-like assertions for test_closing_connection_closes_commandsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* ensure command_id is not NoneSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* line breaks after multi-line pyfocsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* ensure non null operationHandle for commandId creationSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* use command_id methods instead of explicit guid_to_hex_id conversionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary artifacts in test_session, add back assertionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Implement SeaDatabricksClient (Complete Execution Spec) (#590)* [squash from exec-sea] bring over execution phase changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add docstringSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remvoe exec func in sea backendSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess filesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess modelsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess sea backend testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* cleanupSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* re-introduce get_schema_descSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove SeaResultSetSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* clean imports and attributesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* pass CommandId to ExecRespSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove changes in typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add back essential types (ExecResponse, from_sea_state)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix fetch typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* excess importsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce diff by maintaining logsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix int test typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* [squashed from exec-sea] init execution funcSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove ResultSetFilter functionalitySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove more irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove more irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* even more irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove sea response as init optionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* exec test example scriptsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* [squashed from sea-exec] merge sea stuffsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess removed docstringSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess changes in backendSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess importsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove accidentally removed _get_schema_descSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove unnecessary init with sea_response testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* rmeove unnecessary changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* improved models and filters from cloudfetch-sea branchSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* filters stuff (align with JDBC)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* backend from cloudfetch-seaSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove filtering, metadata opsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* raise NotImplementedErrror for metadata opsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* change to valid table nameSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary changescovered by #588Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* simplify test moduleSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* logging -> debug levelSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* change table name in logSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary backend cahngesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-needed GetChunksResponseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-needed GetChunksResponseonly relevant in Fetch phaseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce code duplication in response parsingSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce code duplicationSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* more clear docstringsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* introduce strongly typed ChunkInfoSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove is_volume_operation from responseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add is_volume_op and more ResultData fieldsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add test scriptsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Revert "Merge branch 'exec-models-sea' into exec-phase-sea"This reverts commit be1997e0d6b6cf0f5499db2381971ec3a015a2f7, reversingchanges made to 37813ba6d1fe06d7f9f10d510a059b88dc552496.* change logging levelSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove _get_schema_bytes (for now)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* redundant commentsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove fetch phase methodsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce code repetititon + introduce gaps after multi line pydocsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove unused importsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move description extraction to helper funcSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add more unit testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* streamline unit testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* test getting the list of allowed configurationsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce diffSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce diffSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* house constants in enums for readability and immutabilitySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add note on hybrid dispositionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove redundant note on arrow_schema_bytesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove invalid importSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add strong typing for manifest in _extract_descriptionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary column skippingSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove parsing in backendSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix: convert sea statement id to CommandId typeSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* make polling interval a separate constantSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* align state checking with Thrift implementationSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* update unit tests according to changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add unit tests for added methodsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add spec to description extraction docstring, add strong typing to paramsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add strong typing for backend parameters argSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>---------Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add from __future__ import annotations to remove string literals around forward refs, remove some unused importsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move docstring of DatabricksClient within classSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* move ThriftResultSet import to top of fileSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* make backend/utils __init__ file emptySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* use from __future__ import annotations to remove string literals around CursorSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* use lazy loggingSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* replace getters with property tagSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* set active_command_id to None, not active_op_handleSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* align test_session with pytest instead of unittestSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove duplicate test, correct active_command_id attributeSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* SeaDatabricksClient: Add Metadata Commands (#593)* [squash from exec-sea] bring over execution phase changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess testSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add docstringSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remvoe exec func in sea backendSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess filesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess modelsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess sea backend testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* cleanupSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* re-introduce get_schema_descSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove SeaResultSetSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* clean imports and attributesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* pass CommandId to ExecRespSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove changes in typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add back essential types (ExecResponse, from_sea_state)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix fetch typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* excess importsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce diff by maintaining logsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* fix int test typesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* [squashed from exec-sea] init execution funcSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove ResultSetFilter functionalitySigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove more irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove more irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* even more irrelevant changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove sea response as init optionSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* exec test example scriptsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* [squashed from sea-exec] merge sea stuffsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess removed docstringSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess changes in backendSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess importsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove accidentally removed _get_schema_descSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove unnecessary init with sea_response testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* rmeove unnecessary changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* improved models and filters from cloudfetch-sea branchSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* filters stuff (align with JDBC)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* backend from cloudfetch-seaSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove filtering, metadata opsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* raise NotImplementedErrror for metadata opsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add metadata commandsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* formatting (black)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add metadata command unit testsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* change to valid table nameSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary changescovered by #588Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* simplify test moduleSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* logging -> debug levelSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* change table name in logSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary backend cahngesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-needed GetChunksResponseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-needed GetChunksResponseonly relevant in Fetch phaseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce code duplication in response parsingSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* reduce code duplicationSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* more clear docstringsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* introduce strongly typed ChunkInfoSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove is_volume_operation from responseSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add is_volume_op and more ResultData fieldsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* add test scriptsSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* Revert "Merge branch 'sea-migration' into exec-models-sea"This reverts commit 8bd12d829ea13abf8fc1507fff8cb21751001c67, reversingchanges made to 030edf8df3db487b7af8d910ee51240d1339229e.* Revert "Merge branch 'exec-models-sea' into exec-phase-sea"This reverts commit be1997e0d6b6cf0f5499db2381971ec3a015a2f7, reversingchanges made to 37813ba6d1fe06d7f9f10d510a059b88dc552496.* change logging levelSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove un-necessary changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove excess changesSigned-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* remove _get_schema_bytes (for now)Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>* redundant comments…
Uh oh!
There was an error while loading.Please reload this page.
What type of PR is this?
Description
Improve logging on python driver
How is this tested?
Related Tickets & Documents
PECOBLR-86