Skip to content

SEA: e2e testing #639

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 our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 63 commits into
base: main
Choose a base branch
from
Draft

SEA: e2e testing #639

wants to merge 63 commits into from

Conversation

varun-edachali-dbx
Copy link
Collaborator

@varun-edachali-dbx varun-edachali-dbx commented Jul 16, 2025

What type of PR is this?

  • Feature

Description

  • Trigger more of the (relevant) e2e tests to run for both Thrift and SEA
  • Add metadata tests for SEA

How is this tested?

  • Unit tests
  • E2E Tests
  • Manually
  • N/A

Related Tickets & Documents

N/A

varun-edachali-dbx and others added 30 commits May 28, 2025 17:51
* decouple session class from existing Connection

ensure maintenance of current APIs of Connection while delegating
responsibility

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add open property to Connection to ensure maintenance of existing API

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* update unit tests to address ThriftBackend through session instead of through Connection

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* chore: move session specific tests from test_client to test_session

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* formatting (black)

as in CONTRIBUTING.md

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* use connection open property instead of long chain through session

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* trigger integration workflow

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* fix: ensure open attribute of Connection never fails

in case the openSession takes long, the initialisation of the session
will not complete immediately. This could make the session attribute
inaccessible. If the Connection is deleted in this time, the open()
check will throw because the session attribute does not exist. Thus, we
default to the Connection being closed in this case. This was not an
issue before because open was a direct attribute of the Connection
class. Caught in the integration tests.

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* fix: de-complicate earlier connection open logic

earlier, one of the integration tests was failing because 'session was
not an attribute of Connection'. This is likely tied to a local
configuration issue related to unittest that was causing an error in the
test suite itself. The tests are now passing without checking for the
session attribute.
c676f9b

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* Revert "fix: de-complicate earlier connection open logic"

This reverts commit d6b1b19.

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* [empty commit] attempt to trigger ci e2e workflow

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* Update CODEOWNERS (#562)

new codeowners

Signed-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

* add

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* PECOBLR-86 improve logging on python driver (#556)

* PECOBLR-86 Improve logging for debug level

Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>

* PECOBLR-86 Improve logging for debug level

Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>

* fixed format

Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>

* used lazy logging

Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>

* changed debug to error logs

Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>

* used lazy logging

Signed-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 dbb2ec5, reversing
changes made to 7192f11.

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* Reapply "Merge remote-tracking branch 'upstream/sea-migration' into decouple-session"

This reverts commit bdb8381.

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* fix: separate session opening logic from instantiation

ensures correctness of self.session.open call in Connection

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* fix: use is_open attribute to denote session availability

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* fix: access thrift backend through session

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* chore: use get_handle() instead of private session attribute in client

Signed-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 assertions

Signed-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>
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, instantiations

large merge artifacts

Signed-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 typing

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-necessary check

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-necessary replace call

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* introduce __str__ methods for CommandId and SessionId

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* docstrings for DatabricksClient interface

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* stronger typing of Cursor and ExecuteResponse

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove utility functions from backend interface, fix circular import

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* rename info to properties

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* newline for cleanliness

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* fix circular import

Signed-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_id

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* better comment on protocol version getter

Signed-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 module

Signed-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 props

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add strong return type for execute_command

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* skip auth, error handling in databricksclient interface

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* chore: docstring + line width

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* get_id -> get_guid

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* chore: docstring

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* fix: to_hex_id -> to_hex_guid

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

---------
Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
…574)

* ensure backend client returns a ResultSet type in backend tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* formatting (black)

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* newline for cleanliness

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* fix circular import

Signed-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_id

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* better comment on protocol version getter

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* formatting (black)

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* stricter typing for cursor

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* correct typing

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* correct tests and merge artifacts

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove accidentally modified workflow files

remnants of old merge

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* chore: remove accidentally modified workflow files

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add back accidentally removed docstrings

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* clean up docstrings

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* log hex

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove unnecessary _replace call

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add __str__ for CommandId

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* take TOpenSessionResp in get_protocol_version to maintain existing interface

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* active_op_handle -> active_mmand_id

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* ensure None returned for close_command

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* account for ResultSet return in new pydocs

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* pydoc for types

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* move common state to ResultSet aprent

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* stronger typing in resultSet behaviour

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove redundant patch in test

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add has_been_closed_server_side assertion

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove redundancies in tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* more robust close check

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* use normalised state in e2e test

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* simplify corrected test

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add line gaps after multi-line pydocs for consistency

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* use normalised CommandState type in ExecuteResponse

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

---------

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
* introduce http client (temp) and sea test file

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce verbosity

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* redundant comment

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce redundancy, params and data separate

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* rename client

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* fix type issues

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce repetition in request calls

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-necessary elifs

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add newline at EOF

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

---------

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
* [squashed from prev branch] introduce sea client with session open and close functionality

Signed-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 API

Signed-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 instantiation

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* fix type issues

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove redundant comments

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* introduce models for requests and responses

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove http client and test script

to prevent diff from showing up post http-client merge

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 file

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce verbosity

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* redundant comment

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce redundancy, params and data separate

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* rename client

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* fix type issues

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce repetition in request calls

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-necessary elifs

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add newline at EOF

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

---------

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* CustomHttpClient -> SeaHttpClient

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* redundant comment in backend client

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* regex for warehouse_id instead of .split, remove excess imports and behaviour

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove redundant attributes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* formatting (black)

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* [nit] reduce nested code

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* line gap after multi-line pydoc

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* redundant imports

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* move sea backend and models into separate sea/ dir

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* move http client into separate sea/ dir

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* change commands to include ones in docs

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add link to sql-ref-parameters for session-confs

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add client side filtering for session confs, add note on warehouses over endoints

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* test unimplemented methods and max_download_threads prop

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

---------

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
* [squash from exec-sea] bring over execution phase changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove excess test

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add docstring

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remvoe exec func in sea backend

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove excess files

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove excess models

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove excess sea backend tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* cleanup

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* re-introduce get_schema_desc

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove SeaResultSet

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* clean imports and attributes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* pass CommandId to ExecResp

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove changes in types

Signed-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 types

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* excess imports

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce diff by maintaining logs

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* fix int test types

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* move guid_to_hex_id import to utils

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce diff in guid utils import

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* move arrow_schema_bytes back into ExecuteResult

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* maintain log

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-necessary assignment

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-necessary tuple response

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-ncessary verbose mocking

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* move Queue construction to ResultSert

Signed-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 ExecuteResponse

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-necessary has_more_rows aclc

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* default has_more_rows to True

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* return has_more_rows from ExecResponse conversion during GetRespMetadata

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove unnecessary replacement

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* better mocked backend naming

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove has_more_rows test in ExecuteResponse

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* introduce replacement of original has_more_rows read test

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* call correct method in test_use_arrow_schema

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* call correct method in test_fall_back_to_hive_schema

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* re-introduce result response read test

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* simplify test

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove excess fetch_results mocks

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* more minimal changes to thrift_backend tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* move back to old table types

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove outdated arrow_schema_bytes return

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove duplicate import

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* rephrase model docstrings to explicitly denote that they are representations and not used over the wire

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* has_more_rows -> is_direct_results

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* switch docstring format to align with Connection class

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

---------

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
* [squash from exec-sea] bring over execution phase changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove excess test

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add docstring

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remvoe exec func in sea backend

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove excess files

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove excess models

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove excess sea backend tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* cleanup

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* re-introduce get_schema_desc

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove SeaResultSet

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* clean imports and attributes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* pass CommandId to ExecResp

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove changes in types

Signed-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 types

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* excess imports

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce diff by maintaining logs

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* fix int test types

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* [squashed from exec-sea] init execution func

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove irrelevant changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove ResultSetFilter functionality

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove more irrelevant changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove more irrelevant changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* even more irrelevant changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove sea response as init option

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* exec test example scripts

Signed-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 stuffs

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove excess changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove excess removed docstring

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove excess changes in backend

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove excess imports

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove accidentally removed _get_schema_desc

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove unnecessary init with sea_response tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* rmeove unnecessary changes

Signed-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 branch

Signed-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-sea

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove filtering, metadata ops

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* raise NotImplementedErrror for metadata ops

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-necessary changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-necessary backend cahnges

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-needed GetChunksResponse

only relevant in Fetch phase

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce code duplication

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* more clear docstrings

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* introduce strongly typed ChunkInfo

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove is_volume_operation from response

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add is_volume_op and more ResultData fields

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

---------

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
* [squash from exec-sea] bring over execution phase changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove excess test

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add docstring

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remvoe exec func in sea backend

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove excess files

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove excess models

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove excess sea backend tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* cleanup

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* re-introduce get_schema_desc

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove SeaResultSet

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* clean imports and attributes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* pass CommandId to ExecResp

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove changes in types

Signed-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 types

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* excess imports

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce diff by maintaining logs

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* fix int test types

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* [squashed from exec-sea] init execution func

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove irrelevant changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove ResultSetFilter functionality

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove more irrelevant changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove more irrelevant changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* even more irrelevant changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove sea response as init option

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* move guid_to_hex_id import to utils

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce diff in guid utils import

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* move arrow_schema_bytes back into ExecuteResult

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* maintain log

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-necessary assignment

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-necessary tuple response

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-ncessary verbose mocking

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* move Queue construction to ResultSert

Signed-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 ExecuteResponse

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-necessary has_more_rows aclc

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* default has_more_rows to True

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* return has_more_rows from ExecResponse conversion during GetRespMetadata

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove unnecessary replacement

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* better mocked backend naming

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove has_more_rows test in ExecuteResponse

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* introduce replacement of original has_more_rows read test

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* call correct method in test_use_arrow_schema

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* call correct method in test_fall_back_to_hive_schema

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* re-introduce result response read test

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* simplify test

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove excess fetch_results mocks

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* more minimal changes to thrift_backend tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* move back to old table types

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove outdated arrow_schema_bytes return

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* align SeaResultSet with new structure

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* correct sea res set tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove duplicate import

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* rephrase model docstrings to explicitly denote that they are representations and not used over the wire

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* has_more_rows -> is_direct_results

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* switch docstring format to align with Connection class

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* has_more_rows -> is_direct_results

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* fix type errors with arrow_schema_bytes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* spaces after multi line pydocs

Signed-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 changes

covered by #588 anyway

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* Revert "remove un-necessary changes"

This reverts commit a70a6ce.

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* b"" -> None

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

---------

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
* decouple session class from existing Connection

ensure maintenance of current APIs of Connection while delegating
responsibility

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add open property to Connection to ensure maintenance of existing API

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* update unit tests to address ThriftBackend through session instead of through Connection

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* chore: move session specific tests from test_client to test_session

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* formatting (black)

as in CONTRIBUTING.md

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* use connection open property instead of long chain through session

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* trigger integration workflow

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* fix: ensure open attribute of Connection never fails

in case the openSession takes long, the initialisation of the session
will not complete immediately. This could make the session attribute
inaccessible. If the Connection is deleted in this time, the open()
check will throw because the session attribute does not exist. Thus, we
default to the Connection being closed in this case. This was not an
issue before because open was a direct attribute of the Connection
class. Caught in the integration tests.

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* fix: de-complicate earlier connection open logic

earlier, one of the integration tests was failing because 'session was
not an attribute of Connection'. This is likely tied to a local
configuration issue related to unittest that was causing an error in the
test suite itself. The tests are now passing without checking for the
session attribute.
c676f9b

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* Revert "fix: de-complicate earlier connection open logic"

This reverts commit d6b1b19.

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* [empty commit] attempt to trigger ci e2e workflow

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* Update CODEOWNERS (#562)

new codeowners

Signed-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

* add

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* PECOBLR-86 improve logging on python driver (#556)

* PECOBLR-86 Improve logging for debug level

Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>

* PECOBLR-86 Improve logging for debug level

Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>

* fixed format

Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>

* used lazy logging

Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>

* changed debug to error logs

Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>

* used lazy logging

Signed-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 dbb2ec5, reversing
changes made to 7192f11.

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* Reapply "Merge remote-tracking branch 'upstream/sea-migration' into decouple-session"

This reverts commit bdb8381.

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* fix: separate session opening logic from instantiation

ensures correctness of self.session.open call in Connection

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* fix: use is_open attribute to denote session availability

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* fix: access thrift backend through session

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* chore: use get_handle() instead of private session attribute in client

Signed-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 assertions

Signed-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>
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, instantiations

large merge artifacts

Signed-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 typing

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-necessary check

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-necessary replace call

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* introduce __str__ methods for CommandId and SessionId

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* docstrings for DatabricksClient interface

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* stronger typing of Cursor and ExecuteResponse

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove utility functions from backend interface, fix circular import

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* rename info to properties

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* newline for cleanliness

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* fix circular import

Signed-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_id

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* better comment on protocol version getter

Signed-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 module

Signed-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 props

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add strong return type for execute_command

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* skip auth, error handling in databricksclient interface

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* chore: docstring + line width

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* get_id -> get_guid

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* chore: docstring

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* fix: to_hex_id -> to_hex_guid

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

---------
Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
…574)

* ensure backend client returns a ResultSet type in backend tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* formatting (black)

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* newline for cleanliness

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* fix circular import

Signed-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_id

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* better comment on protocol version getter

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* formatting (black)

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* stricter typing for cursor

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* correct typing

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* correct tests and merge artifacts

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove accidentally modified workflow files

remnants of old merge

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* chore: remove accidentally modified workflow files

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add back accidentally removed docstrings

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* clean up docstrings

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* log hex

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove unnecessary _replace call

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add __str__ for CommandId

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* take TOpenSessionResp in get_protocol_version to maintain existing interface

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* active_op_handle -> active_mmand_id

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* ensure None returned for close_command

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* account for ResultSet return in new pydocs

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* pydoc for types

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* move common state to ResultSet aprent

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* stronger typing in resultSet behaviour

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove redundant patch in test

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add has_been_closed_server_side assertion

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove redundancies in tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* more robust close check

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* use normalised state in e2e test

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* simplify corrected test

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add line gaps after multi-line pydocs for consistency

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* use normalised CommandState type in ExecuteResponse

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

---------

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
* [squash from exec-sea] bring over execution phase changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove excess test

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add docstring

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remvoe exec func in sea backend

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove excess files

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove excess models

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove excess sea backend tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* cleanup

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* re-introduce get_schema_desc

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove SeaResultSet

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* clean imports and attributes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* pass CommandId to ExecResp

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove changes in types

Signed-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 types

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* excess imports

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce diff by maintaining logs

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* fix int test types

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* [squashed from exec-sea] init execution func

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove irrelevant changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove ResultSetFilter functionality

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove more irrelevant changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove more irrelevant changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* even more irrelevant changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove sea response as init option

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* exec test example scripts

Signed-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 stuffs

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove excess changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove excess removed docstring

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove excess changes in backend

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove excess imports

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove accidentally removed _get_schema_desc

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove unnecessary init with sea_response tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* rmeove unnecessary changes

Signed-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 branch

Signed-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-sea

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove filtering, metadata ops

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* raise NotImplementedErrror for metadata ops

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* change to valid table name

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-necessary changes

covered by #588

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* simplify test module

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* logging -> debug level

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* change table name in log

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-necessary changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-necessary backend cahnges

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-needed GetChunksResponse

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-needed GetChunksResponse

only relevant in Fetch phase

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce code duplication in response parsing

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce code duplication

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* more clear docstrings

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* introduce strongly typed ChunkInfo

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove is_volume_operation from response

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add is_volume_op and more ResultData fields

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add test scripts

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* Revert "Merge branch 'exec-models-sea' into exec-phase-sea"

This reverts commit be1997e, reversing
changes made to 37813ba.

* change logging level

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-necessary changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove excess changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove excess changes

Signed-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

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove fetch phase methods

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce code repetititon + introduce gaps after multi line pydocs

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove unused imports

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* move description extraction to helper func

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* formatting (black)

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add more unit tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* streamline unit tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* test getting the list of allowed configurations

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce diff

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce diff

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* house constants in enums for readability and immutability

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add note on hybrid disposition

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove redundant note on arrow_schema_bytes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove invalid import

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add strong typing for manifest in _extract_description

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-necessary column skipping

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove parsing in backend

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* fix: convert sea statement id to CommandId type

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* make polling interval a separate constant

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* align state checking with Thrift implementation

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* update unit tests according to changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add unit tests for added methods

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add spec to description extraction docstring, add strong typing to params

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add strong typing for backend parameters arg

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

---------

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
…nd forward refs, remove some unused imports

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
…nd Cursor

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
* introduce row_limit

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* move use_sea init to Session constructor

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* more explicit typing

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add row_limit to Thrift backend

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* formatting (black)

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add e2e test for thrift resultRowLimit

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* explicitly convert extra cursor params to dict

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove excess tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add docstring for row_limit

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

---------

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
@varun-edachali-dbx varun-edachali-dbx changed the base branch from main to sea-migration July 16, 2025 04:41
Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
varun-edachali-dbx and others added 5 commits July 16, 2025 12:43
#598)

* large query results

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-necessary changes

covered by #588

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* simplify test module

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* logging -> debug level

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* change table name in log

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-necessary changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-necessary backend cahnges

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-needed GetChunksResponse

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-needed GetChunksResponse

only relevant in Fetch phase

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce code duplication in response parsing

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce code duplication

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* more clear docstrings

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* introduce strongly typed ChunkInfo

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove is_volume_operation from response

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add is_volume_op and more ResultData fields

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add test scripts

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* Revert "Merge branch 'sea-migration' into exec-models-sea"

This reverts commit 8bd12d8, reversing
changes made to 030edf8.

* Revert "Merge branch 'exec-models-sea' into exec-phase-sea"

This reverts commit be1997e, reversing
changes made to 37813ba.

* change logging level

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-necessary changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove excess changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove excess changes

Signed-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

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove fetch phase methods

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce code repetititon + introduce gaps after multi line pydocs

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove unused imports

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* move description extraction to helper func

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* formatting (black)

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add more unit tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* streamline unit tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* test getting the list of allowed configurations

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce diff

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce diff

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* house constants in enums for readability and immutability

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add note on hybrid disposition

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* [squashed from cloudfetch-sea] introduce external links + arrow functionality

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce responsibility of Queue

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce repetition in arrow tablee creation

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce redundant code in CloudFetchQueue

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* move chunk link progression to separate func

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove redundant log

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* improve logging

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove reliance on schema_bytes in SEA

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove redundant note on arrow_schema_bytes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* use more fetch methods

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove redundant schema_bytes from parent constructor

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* only call get_chunk_link with non null chunk index

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* align SeaResultSet structure with ThriftResultSet

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remvoe _fill_result_buffer from SeaResultSet

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce code repetition

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* align SeaResultSet with ext-links-sea

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove redundant methods

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* update unit tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove accidental venv changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* pre-fetch next chunk link on processing current

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce nesting

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* line break after multi line pydoc

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* re-introduce schema_bytes for better abstraction (likely temporary)

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add fetchmany_arrow and fetchall_arrow

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove accidental changes in sea backend tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove irrelevant changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-necessary test changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-necessary changes in thrift backend tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove unimplemented methods test

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove unimplemented method tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* modify example scripts to include fetch calls

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add GetChunksResponse

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove changes to sea test

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* re-introduce accidentally removed description extraction method

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* fix type errors (ssl_options, CHUNK_PATH_WITH_ID..., etc.)

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* access ssl_options through connection

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* DEBUG level

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove explicit multi chunk test

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* move cloud fetch queues back into utils.py

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove excess docstrings

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* move ThriftCloudFetchQueue above SeaCloudFetchQueue

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* fix sea connector tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* correct patch module path in cloud fetch queue tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove unimplemented methods test

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* correct add_link docstring

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove invalid import

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* better align queries with JDBC impl

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* line breaks after multi-line PRs

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove unused imports

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* fix: introduce ExecuteResponse import

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove unimplemented metadata methods test, un-necessary imports

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* introduce unit tests for metadata methods

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove verbosity in ResultSetFilter docstring

Co-authored-by: jayant <167047871+jayantsing-db@users.noreply.github.com>

* remove un-necessary info in ResultSetFilter docstring

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove explicit type checking, string literals around forward annotations

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* house SQL commands in constants

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* convert complex types to string if not _use_arrow_native_complex_types

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* introduce unit tests for altered functionality

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* Revert "Merge branch 'fetch-json-inline' into ext-links-sea"

This reverts commit dabba55, reversing
changes made to dd7dc6a.

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce verbosity of ResultSetFilter docstring

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove unused imports

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* Revert "Merge branch 'fetch-json-inline' into ext-links-sea"

This reverts commit 3a999c0, reversing
changes made to a1f9b9c.

* Revert "reduce verbosity of ResultSetFilter docstring"

This reverts commit a1f9b9c.

* Reapply "Merge branch 'fetch-json-inline' into ext-links-sea"

This reverts commit 48ad7b3.

* Revert "Merge branch 'fetch-json-inline' into ext-links-sea"

This reverts commit dabba55, reversing
changes made to dd7dc6a.

* remove un-necessary filters changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-necessary backend changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove constants changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove changes in filters tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove unit test backend and JSON queue changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove changes in sea result set testing

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* Revert "remove changes in sea result set testing"

This reverts commit d210ccd.

* Revert "remove unit test backend and JSON queue changes"

This reverts commit f6c5950.

* Revert "remove changes in filters tests"

This reverts commit f3f795a.

* Revert "remove constants changes"

This reverts commit 802d045.

* Revert "remove un-necessary backend changes"

This reverts commit 20822e4.

* Revert "remove un-necessary filters changes"

This reverts commit 5e75fb5.

* remove unused imports

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* working version

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* adopy _wait_until_command_done

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* introduce metadata commands

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* use new backend structure

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* constrain backend diff

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove changes to filters

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* make _parse methods in models internal

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce changes in unit tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* run small queries with SEA during integration tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* run some tests for sea

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* allow empty schema bytes for alignment with SEA

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* pass is_vl_op to Sea backend ExecuteResponse

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove catalog requirement in get_tables

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* move filters.py to SEA utils

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* ensure SeaResultSet

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* prevent circular imports

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove unused imports

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove cast, throw error if not SeaResultSet

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* pass param as TSparkParameterValue

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove failing test (temp)

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove SeaResultSet type assertion

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* change errors to align with spec, instead of arbitrary ValueError

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* make SEA backend methods return SeaResultSet

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* use spec-aligned Exceptions in SEA backend

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove defensive row type check

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* raise ProgrammingError for invalid id

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* make is_volume_operation strict bool

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove complex types code

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* Revert "remove complex types code"

This reverts commit 138359d.

* introduce type conversion for primitive types for JSON + INLINE

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove SEA running on metadata queries (known failures

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-necessary docstrings

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* align expected types with databricks sdk

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* link rest api reference to validate types

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove test_catalogs_returns_arrow_table test

metadata commands not expected to pass

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* fix fetchall_arrow and fetchmany_arrow

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove thrift aligned test_cancel_during_execute from SEA tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-necessary changes in example scripts

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-necessary chagnes in example scripts

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* _convert_json_table -> _create_json_table

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove accidentally removed test

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove new unit tests (to be re-added based on new arch)

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove changes in sea_result_set functionality (to be re-added)

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* introduce more integration tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove SEA tests in parameterized queries

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove partial parameter fix changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-necessary timestamp tests

(pass with minor disparity)

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* slightly stronger typing of _convert_json_types

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* stronger typing of json utility func s

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* stronger typing of fetch*_json

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove unused helper methods in SqlType

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* line breaks after multi line pydocs, remove excess logs

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* line breaks after multi line pydocs, reduce diff of redundant changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce diff of redundant changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* mandate ResultData in SeaResultSet constructor

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove complex type conversion

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* correct fetch*_arrow

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* recover old sea tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* move queue and result set into SEA specific dir

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* pass ssl_options into CloudFetchQueue

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce diff

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove redundant conversion.py

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* fix type issues

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* ValueError not ProgrammingError

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce diff

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* introduce SEA cloudfetch e2e tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* allow empty cloudfetch result

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add unit tests for CloudFetchQueue and SeaResultSet

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* skip pyarrow dependent tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* simplify download process: no pre-fetching

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* correct class name in logs

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* align with old impl

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* align next_n_rows with prev imple

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* align remaining_rows with prev impl

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-necessary Optional params

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-necessary changes in thrift field if tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove unused imports

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* run large queries

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* move link fetching immediately before table creation so link expiry is not an issue

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* formatting (black)

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* fix types

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* fix param type in unit tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* correct param extraction

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove common constructor for databricks client abc

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* make SEA Http Client instance a private member

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* make GetChunksResponse model more robust

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add link to doc of GetChunk response model

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* pass result_data instead of "initial links" into SeaCloudFetchQueue

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* move download_manager init into parent CloudFetchQueue

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* raise ServerOperationError for no 0th chunk

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* unused iports

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* return None in case of empty respose

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* ensure table is empty on no initial link s

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* iterate over chunk indexes instead of link

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* stronger typing

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove string literals around type defs

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* introduce DownloadManager import

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* return None for immediate out of bounds

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

---------

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
Co-authored-by: jayant <167047871+jayantsing-db@users.noreply.github.com>
* explicitly convert session conf values to str

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add unit test for filter_session_conf

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* re-introduce unit test for string values of session conf

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* ensure Dict return from _filter_session_conf

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

---------

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
* Revert "Merge branch 'sea-migration' into exec-models-sea"

This reverts commit 8bd12d8, reversing
changes made to 030edf8.

* Revert "Merge branch 'exec-models-sea' into exec-phase-sea"

This reverts commit be1997e, reversing
changes made to 37813ba.

* change logging level

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-necessary changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove excess changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove excess changes

Signed-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

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove fetch phase methods

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce code repetititon + introduce gaps after multi line pydocs

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove unused imports

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* move description extraction to helper func

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* formatting (black)

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add more unit tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* streamline unit tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* test getting the list of allowed configurations

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce diff

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce diff

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* house constants in enums for readability and immutability

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add note on hybrid disposition

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* [squashed from cloudfetch-sea] introduce external links + arrow functionality

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce responsibility of Queue

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce repetition in arrow tablee creation

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce redundant code in CloudFetchQueue

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* move chunk link progression to separate func

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove redundant log

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* improve logging

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove reliance on schema_bytes in SEA

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove redundant note on arrow_schema_bytes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* use more fetch methods

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove redundant schema_bytes from parent constructor

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* only call get_chunk_link with non null chunk index

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* align SeaResultSet structure with ThriftResultSet

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remvoe _fill_result_buffer from SeaResultSet

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce code repetition

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* align SeaResultSet with ext-links-sea

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove redundant methods

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* update unit tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove accidental venv changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* pre-fetch next chunk link on processing current

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce nesting

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* line break after multi line pydoc

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* re-introduce schema_bytes for better abstraction (likely temporary)

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add fetchmany_arrow and fetchall_arrow

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove accidental changes in sea backend tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove irrelevant changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-necessary test changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-necessary changes in thrift backend tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove unimplemented methods test

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove unimplemented method tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* modify example scripts to include fetch calls

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add GetChunksResponse

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove changes to sea test

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* re-introduce accidentally removed description extraction method

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* fix type errors (ssl_options, CHUNK_PATH_WITH_ID..., etc.)

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* access ssl_options through connection

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* DEBUG level

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove explicit multi chunk test

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* move cloud fetch queues back into utils.py

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove excess docstrings

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* move ThriftCloudFetchQueue above SeaCloudFetchQueue

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* fix sea connector tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* correct patch module path in cloud fetch queue tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove unimplemented methods test

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* correct add_link docstring

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove invalid import

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* better align queries with JDBC impl

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* line breaks after multi-line PRs

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove unused imports

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* fix: introduce ExecuteResponse import

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove unimplemented metadata methods test, un-necessary imports

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* introduce unit tests for metadata methods

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove verbosity in ResultSetFilter docstring

Co-authored-by: jayant <167047871+jayantsing-db@users.noreply.github.com>

* remove un-necessary info in ResultSetFilter docstring

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove explicit type checking, string literals around forward annotations

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* house SQL commands in constants

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* convert complex types to string if not _use_arrow_native_complex_types

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* introduce unit tests for altered functionality

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* Revert "Merge branch 'fetch-json-inline' into ext-links-sea"

This reverts commit dabba55, reversing
changes made to dd7dc6a.

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce verbosity of ResultSetFilter docstring

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove unused imports

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* Revert "Merge branch 'fetch-json-inline' into ext-links-sea"

This reverts commit 3a999c0, reversing
changes made to a1f9b9c.

* Revert "reduce verbosity of ResultSetFilter docstring"

This reverts commit a1f9b9c.

* Reapply "Merge branch 'fetch-json-inline' into ext-links-sea"

This reverts commit 48ad7b3.

* Revert "Merge branch 'fetch-json-inline' into ext-links-sea"

This reverts commit dabba55, reversing
changes made to dd7dc6a.

* remove un-necessary filters changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-necessary backend changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove constants changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove changes in filters tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove unit test backend and JSON queue changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove changes in sea result set testing

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* Revert "remove changes in sea result set testing"

This reverts commit d210ccd.

* Revert "remove unit test backend and JSON queue changes"

This reverts commit f6c5950.

* Revert "remove changes in filters tests"

This reverts commit f3f795a.

* Revert "remove constants changes"

This reverts commit 802d045.

* Revert "remove un-necessary backend changes"

This reverts commit 20822e4.

* Revert "remove un-necessary filters changes"

This reverts commit 5e75fb5.

* remove unused imports

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* working version

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* adopy _wait_until_command_done

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* introduce metadata commands

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* use new backend structure

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* constrain backend diff

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove changes to filters

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* make _parse methods in models internal

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce changes in unit tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* run small queries with SEA during integration tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* run some tests for sea

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* allow empty schema bytes for alignment with SEA

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* pass is_vl_op to Sea backend ExecuteResponse

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove catalog requirement in get_tables

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* move filters.py to SEA utils

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* ensure SeaResultSet

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* prevent circular imports

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove unused imports

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove cast, throw error if not SeaResultSet

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* pass param as TSparkParameterValue

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove failing test (temp)

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove SeaResultSet type assertion

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* change errors to align with spec, instead of arbitrary ValueError

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* make SEA backend methods return SeaResultSet

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* use spec-aligned Exceptions in SEA backend

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove defensive row type check

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* raise ProgrammingError for invalid id

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* make is_volume_operation strict bool

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove complex types code

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* Revert "remove complex types code"

This reverts commit 138359d.

* introduce type conversion for primitive types for JSON + INLINE

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove SEA running on metadata queries (known failures

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-necessary docstrings

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* align expected types with databricks sdk

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* link rest api reference to validate types

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove test_catalogs_returns_arrow_table test

metadata commands not expected to pass

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* fix fetchall_arrow and fetchmany_arrow

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove thrift aligned test_cancel_during_execute from SEA tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-necessary changes in example scripts

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-necessary chagnes in example scripts

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* _convert_json_table -> _create_json_table

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove accidentally removed test

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove new unit tests (to be re-added based on new arch)

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove changes in sea_result_set functionality (to be re-added)

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* introduce more integration tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove SEA tests in parameterized queries

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove partial parameter fix changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-necessary timestamp tests

(pass with minor disparity)

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* slightly stronger typing of _convert_json_types

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* stronger typing of json utility func s

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* stronger typing of fetch*_json

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove unused helper methods in SqlType

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* line breaks after multi line pydocs, remove excess logs

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* line breaks after multi line pydocs, reduce diff of redundant changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce diff of redundant changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* mandate ResultData in SeaResultSet constructor

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove complex type conversion

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* correct fetch*_arrow

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* recover old sea tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* move queue and result set into SEA specific dir

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* pass ssl_options into CloudFetchQueue

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce diff

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove redundant conversion.py

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* fix type issues

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* ValueError not ProgrammingError

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce diff

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* introduce SEA cloudfetch e2e tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* allow empty cloudfetch result

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add unit tests for CloudFetchQueue and SeaResultSet

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* skip pyarrow dependent tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* simplify download process: no pre-fetching

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* correct class name in logs

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* align with old impl

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* align next_n_rows with prev imple

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* align remaining_rows with prev impl

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-necessary Optional params

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-necessary changes in thrift field if tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove unused imports

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* init hybrid

* run large queries

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* hybrid disposition

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-ncessary log

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* formatting (black)

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove redundant tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* multi frame decompression of lz4

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove custom multi-frame decompressor for lz4

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* move link fetching immediately before table creation so link expiry is not an issue

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* formatting (black)

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* fix types

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* fix param type in unit tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* correct param extraction

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove common constructor for databricks client abc

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* make SEA Http Client instance a private member

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* make GetChunksResponse model more robust

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add link to doc of GetChunk response model

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* pass result_data instead of "initial links" into SeaCloudFetchQueue

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* move download_manager init into parent CloudFetchQueue

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* raise ServerOperationError for no 0th chunk

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* unused iports

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* return None in case of empty respose

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* ensure table is empty on no initial link s

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* account for total chunk count

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* iterate over chunk indexes instead of link

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* stronger typing

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove string literals around type defs

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* introduce DownloadManager import

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* return None for immediate out of bounds

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* iterate by chunk index instead of link

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* improve docstring

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove un-necessary (?) changes

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* get_chunk_link -> get_chunk_links in unit tests

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* align tests with old message

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* simplify attachment handling

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* add unit tests for hybrid disposition

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove duplicate total_chunk_count assignment

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

---------

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
* remove additional call on success

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* reduce additional network call after wait

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* re-introduce GetStatementResponse

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* remove need for lazy load of SeaResultSet

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

* re-organise GetStatementResponse import

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>

---------

Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
@varun-edachali-dbx varun-edachali-dbx changed the base branch from sea-migration to main July 31, 2025 06:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant