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
4 changes: 2 additions & 2 deletions src/firebolt/async_db/connection.py
Original file line number Diff line number Diff line change
Expand Up @@ -238,8 +238,8 @@ async def connect(

if database is not None and database != attached_db:
raise InterfaceError(
f"Engine {engine_name} is not attached to {database}, "
f"but to {attached_db}"
f"Engine {engine_name} is attached to {attached_db} "
f"instead of {database}"
)
elif database is None:
database = attached_db
Expand Down
5 changes: 3 additions & 2 deletions src/firebolt/async_db/cursor.py
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ async def _raise_if_error(self, resp: Response) -> None:
async def _api_request(
self,
query: str = "",
parameters: dict[str, Any] = {},
parameters: Optional[dict[str, Any]] = None,
path: str = "",
use_set_parameters: bool = True,
) -> Response:
Expand All @@ -130,8 +130,9 @@ async def _api_request(
set parameters are sent. Setting this to False will allow
self._set_parameters to be ignored.
"""
parameters = parameters or {}
if use_set_parameters:
parameters = {**(self._set_parameters or {}), **(parameters or {})}
parameters = {**(self._set_parameters or {}), **parameters}
if self.connection.database:
parameters["database"] = self.connection.database
if self.connection._is_system:
Expand Down
10 changes: 7 additions & 3 deletions src/firebolt/common/base_cursor.py
Original file line number Diff line number Diff line change
Expand Up @@ -337,6 +337,10 @@ def _get_next_range(self, size: int) -> Tuple[int, int]:
self._idx = right
return left, right

_performance_log_message = (
"[PERFORMANCE] Parsing query output into native Python types"
)

@check_not_closed
@check_query_executed
def fetchone(self) -> Optional[List[ColType]]:
Expand All @@ -346,7 +350,7 @@ def fetchone(self) -> Optional[List[ColType]]:
# We are out of elements
return None
assert self._rows is not None
with Timer("[PERFORMANCE] Parsing query output into native Python types "):
with Timer(self._performance_log_message):
result = self._parse_row(self._rows[left])
return result

Expand All @@ -361,7 +365,7 @@ def fetchmany(self, size: Optional[int] = None) -> List[List[ColType]]:
left, right = self._get_next_range(size)
assert self._rows is not None
rows = self._rows[left:right]
with Timer("[PERFORMANCE] Parsing query output into native Python types "):
with Timer(self._performance_log_message):
result = [self._parse_row(row) for row in rows]
return result

Expand All @@ -372,7 +376,7 @@ def fetchall(self) -> List[List[ColType]]:
left, right = self._get_next_range(self.rowcount)
assert self._rows is not None
rows = self._rows[left:right]
with Timer("[PERFORMANCE] Parsing query output into native Python types "):
with Timer(self._performance_log_message):
result = [self._parse_row(row) for row in rows]
return result

Expand Down
4 changes: 2 additions & 2 deletions src/firebolt/db/connection.py
Original file line number Diff line number Diff line change
Expand Up @@ -247,8 +247,8 @@ def connect(

if database is not None and database != attached_db:
raise InterfaceError(
f"Engine {engine_name} is not attached to {database}, "
f"but to {attached_db}"
f"Engine {engine_name} is attached to {attached_db} "
f"instead of {database}"
)
elif database is None:
database = attached_db
Expand Down
5 changes: 3 additions & 2 deletions src/firebolt/db/cursor.py
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ def _raise_if_error(self, resp: Response) -> None:
def _api_request(
self,
query: str = "",
parameters: dict[str, Any] = {},
parameters: Optional[dict[str, Any]] = None,
path: str = "",
use_set_parameters: bool = True,
) -> Response:
Expand All @@ -117,8 +117,9 @@ def _api_request(
set parameters are sent. Setting this to False will allow
self._set_parameters to be ignored.
"""
parameters = parameters or {}
if use_set_parameters:
parameters = {**(self._set_parameters or {}), **(parameters or {})}
parameters = {**(self._set_parameters or {}), **parameters}
if self.connection.database:
parameters["database"] = self.connection.database
if self.connection._is_system:
Expand Down
3 changes: 2 additions & 1 deletion tests/integration/dbapi/async/test_errors_async.py
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,8 @@ async def test_database_not_exists(
await connection.cursor().execute("show tables")

assert (
str(exc_info.value) == f"Database {new_db_name} does not exist"
str(exc_info.value)
== f"Engine {engine_name} is attached to {database_name} instead of {new_db_name}"
), "Invalid database name error message."


Expand Down
5 changes: 2 additions & 3 deletions tests/integration/dbapi/async/test_queries_async.py
Original file line number Diff line number Diff line change
Expand Up @@ -127,10 +127,10 @@ async def test_long_query(
async def test_drop_create(connection: Connection) -> None:
"""Create and drop table/index queries are handled properly."""

async def test_query(c: Cursor, query: str, empty_response=True) -> None:
async def test_query(c: Cursor, query: str) -> None:
await c.execute(query)
assert c.description == None
assert c.rowcount == (-1 if empty_response else 0)
assert c.rowcount == 0

"""Create table query is handled properly"""
with connection.cursor() as c:
Expand Down Expand Up @@ -166,7 +166,6 @@ async def test_query(c: Cursor, query: str, empty_response=True) -> None:
c,
"CREATE AGGREGATING INDEX test_db_agg_idx ON "
"test_drop_create_async(id, sum(f), count(dt))",
empty_response=False,
)

# Drop join index
Expand Down
213 changes: 0 additions & 213 deletions tests/integration/dbapi/async/test_system_engine.py

This file was deleted.

Loading