Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# e6data Python Connector

![version](https://img.shields.io/badge/version-2.3.6-blue.svg)
![version](https://img.shields.io/badge/version-2.3.7-blue.svg)

## Introduction

Expand Down
2 changes: 1 addition & 1 deletion docs/zero-downtime/api-reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -244,7 +244,7 @@ The `Cursor.metadata` property dynamically selects the appropriate strategy:
@property
def metadata(self):
strategy = _get_query_strategy(self._query_id) if self._query_id else _get_active_strategy()
return _get_grpc_header(engine_ip=self._engine_ip, cluster=self.connection.cluster_uuid, strategy=strategy)
return _get_grpc_header(engine_ip=self._engine_ip, cluster=self.connection.cluster_name, strategy=strategy)
```

## Error Handling
Expand Down
2 changes: 1 addition & 1 deletion docs/zero-downtime/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ connection = Connection(
password='your-token',
catalog='your-catalog',
database='your-database',
cluster_uuid='your-cluster-uuid',
cluster_name='your-cluster-name',
secure=True,
auto_resume=True
)
Expand Down
6 changes: 3 additions & 3 deletions e6data_python_connector/dialect.py
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,7 @@ class E6dataDialect(default.DefaultDialect):
driver = 'e6data'
scheme = 'e6data'
catalog_name = None
cluster_uuid = None
cluster_name = None
secure = False
auto_resume = False

Expand All @@ -226,7 +226,7 @@ def create_connect_args(self, url):
if url.query.get("schema"):
database = url.query.get("schema")
self.catalog_name = url.query.get("catalog")
self.cluster_uuid = url.query.get("cluster-uuid")
self.cluster_name = url.query.get("cluster-name")
self.secure = url.query.get("secure") == "true"
self.auto_resume = url.query.get("auto-resume", "true") == "true" # default to True
if not self.catalog_name:
Expand All @@ -247,7 +247,7 @@ def create_connect_args(self, url):
"password": url.password or None,
"database": database,
"catalog": self.catalog_name,
"cluster_uuid": self.cluster_uuid,
"cluster_name": self.cluster_name,
'secure': self.secure,
'auto_resume': self.auto_resume,
'grpc_options': grpc_options
Expand Down
31 changes: 14 additions & 17 deletions e6data_python_connector/e6data_grpc.py
Original file line number Diff line number Diff line change
Expand Up @@ -312,10 +312,9 @@ def __init__(
port: int,
username: str,
password: str,
scheme: str = 'e6data',
catalog: str = None,
database: str = None,
cluster_uuid: str = None,
cluster_name: str = None,
secure: bool = False,
auto_resume: bool = True,
grpc_options: dict = None,
Expand All @@ -331,14 +330,12 @@ def __init__(
Your e6data Email ID
password: str
Access Token generated in the e6data console
scheme: str
e6data
catalog: str
Catalog name
database: str
Database to perform the query on
cluster_uuid: str
Cluster's uuid
cluster_name: str
Cluster's name
secure: bool, Optional
Flag to use a secure channel for data transfer
auto_resume: bool, Optional
Expand All @@ -358,7 +355,7 @@ def __init__(
self.__username = username
self.__password = password
self.database = database
self.cluster_uuid = cluster_uuid
self.cluster_name = cluster_name
self._session_id = None
self._host = host
self._port = port
Expand Down Expand Up @@ -508,7 +505,7 @@ def get_session_id(self):
try:
authenticate_response = self._client.authenticate(
authenticate_request,
metadata=_get_grpc_header(cluster=self.cluster_uuid, strategy=active_strategy)
metadata=_get_grpc_header(cluster=self.cluster_name, strategy=active_strategy)
)
self._session_id = authenticate_response.sessionId
if not self._session_id:
Expand Down Expand Up @@ -545,7 +542,7 @@ def get_session_id(self):
try:
authenticate_response = self._client.authenticate(
authenticate_request,
metadata=_get_grpc_header(cluster=self.cluster_uuid, strategy=strategy)
metadata=_get_grpc_header(cluster=self.cluster_name, strategy=strategy)
)
self._session_id = authenticate_response.sessionId
if self._session_id:
Expand Down Expand Up @@ -584,7 +581,7 @@ def get_session_id(self):
user=self.__username,
password=self.__password,
secure_channel=self._secure_channel,
cluster_uuid=self.cluster_uuid,
cluster_uuid=self.cluster_name,
timeout=self.grpc_auto_resume_timeout_seconds
).resume()
if status:
Expand Down Expand Up @@ -711,7 +708,7 @@ def clear(self, query_id, engine_ip=None):
)
clear_response = self._client.clear(
clear_request,
metadata=_get_grpc_header(engine_ip=engine_ip, cluster=self.cluster_uuid, strategy=_get_active_strategy())
metadata=_get_grpc_header(engine_ip=engine_ip, cluster=self.cluster_name, strategy=_get_active_strategy())
)

# Check for new strategy in clear response
Expand Down Expand Up @@ -742,7 +739,7 @@ def query_cancel(self, engine_ip, query_id):
)
cancel_response = self._client.cancelQuery(
cancel_query_request,
metadata=_get_grpc_header(engine_ip=engine_ip, cluster=self.cluster_uuid, strategy=_get_active_strategy())
metadata=_get_grpc_header(engine_ip=engine_ip, cluster=self.cluster_name, strategy=_get_active_strategy())
)

# Check for new strategy in cancel response
Expand All @@ -766,7 +763,7 @@ def dry_run(self, query):
)
dry_run_response = self._client.dryRun(
dry_run_request,
metadata=_get_grpc_header(cluster=self.cluster_uuid, strategy=_get_active_strategy())
metadata=_get_grpc_header(cluster=self.cluster_name, strategy=_get_active_strategy())
)
return dry_run_response.dryrunValue

Expand All @@ -788,7 +785,7 @@ def get_tables(self, catalog, database):
)
get_table_response = self._client.getTablesV2(
get_table_request,
metadata=_get_grpc_header(cluster=self.cluster_uuid, strategy=_get_active_strategy())
metadata=_get_grpc_header(cluster=self.cluster_name, strategy=_get_active_strategy())
)

# Check for new strategy in get tables response
Expand Down Expand Up @@ -816,7 +813,7 @@ def get_columns(self, catalog, database, table):
)
get_columns_response = self._client.getColumnsV2(
get_columns_request,
metadata=_get_grpc_header(cluster=self.cluster_uuid, strategy=_get_active_strategy())
metadata=_get_grpc_header(cluster=self.cluster_name, strategy=_get_active_strategy())
)

# Check for new strategy in get columns response
Expand All @@ -840,7 +837,7 @@ def get_schema_names(self, catalog):
)
get_schema_response = self._client.getSchemaNamesV2(
get_schema_request,
metadata=_get_grpc_header(cluster=self.cluster_uuid, strategy=_get_active_strategy())
metadata=_get_grpc_header(cluster=self.cluster_name, strategy=_get_active_strategy())
)

# Check for new strategy in get schema names response
Expand Down Expand Up @@ -937,7 +934,7 @@ def metadata(self):
"""
# Use query-specific strategy if available, otherwise use active strategy
strategy = _get_query_strategy(self._query_id) if self._query_id else _get_active_strategy()
return _get_grpc_header(engine_ip=self._engine_ip, cluster=self.connection.cluster_uuid, strategy=strategy)
return _get_grpc_header(engine_ip=self._engine_ip, cluster=self.connection.cluster_name, strategy=strategy)

@property
def arraysize(self):
Expand Down
2 changes: 1 addition & 1 deletion e6data_python_connector/strategy.py
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,7 @@ def _get_grpc_header(engine_ip=None, cluster=None, strategy=None):
if engine_ip:
metadata.append(('plannerip', engine_ip))
if cluster:
metadata.append(('cluster-uuid', cluster))
metadata.append(('cluster-name', cluster))
if strategy:
# Normalize strategy to lowercase
normalized_strategy = strategy.lower() if isinstance(strategy, str) else strategy
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

import setuptools

VERSION = (2, 3, 6,)
VERSION = (2, 3, 7,)


def get_long_desc():
Expand Down