-
Notifications
You must be signed in to change notification settings - Fork 196
Open
Labels
bugSomething isn't workingSomething isn't working
Description
What language are you using?
Python
What version are you using?
polars version 0.18.15
connectorx version 0.3.1
What database are you using?
Microsoft SQL Server
What dataframe are you using?
Arrow
Can you describe your bug?
It takes a while to run read_database and then ultimately times out
What are the steps to reproduce the behavior?
Just using an MSSQL server connection uri and running read_database with a basic query
Database setup if the error only happens on specific data or data type
N/A
Example query / code
db_str = f"mssql://{username}:{password}@{server}:1433/{database}?driver=SQL+Server&trusted_connection=no"
pl.read_database(query="select * from foo", connection=db_str)
What is the error?
RuntimeError Traceback (most recent call last)
Input In [9], in <cell line: 7>()
5 driver = '{ODBC Driver 17 for SQL Server}'
6 db_str = f"mssql://{username}:{password}@{server}:1433/{database}?driver=SQL+Server&trusted_connection=no"
----> 7 pl.read_database(query="select * from player", connection=db_str)
File ~\anaconda3\lib\site-packages\polars\utils\deprecation.py:93, in deprecate_renamed_parameter.<locals>.decorate.<locals>.wrapper(*args, **kwargs)
88 @wraps(function)
89 def wrapper(*args: P.args, **kwargs: P.kwargs) -> T:
90 _rename_keyword_argument(
91 old_name, new_name, kwargs, function.__name__, version
92 )
---> 93 return function(*args, **kwargs)
File ~\anaconda3\lib\site-packages\polars\io\database.py:122, in read_database(query, connection, partition_on, partition_range, partition_num, protocol, engine)
119 engine = "connectorx"
121 if engine == "connectorx":
--> 122 return _read_sql_connectorx(
123 query,
124 connection,
125 partition_on=partition_on,
126 partition_range=partition_range,
127 partition_num=partition_num,
128 protocol=protocol,
129 )
130 elif engine == "adbc":
131 if not isinstance(query, str):
File ~\anaconda3\lib\site-packages\polars\io\database.py:153, in _read_sql_connectorx(query, connection_uri, partition_on, partition_range, partition_num, protocol)
148 except ImportError:
149 raise ImportError(
150 "connectorx is not installed. Please run `pip install connectorx>=0.3.1`."
151 ) from None
--> 153 tbl = cx.read_sql(
154 conn=connection_uri,
155 query=query,
156 return_type="arrow2",
157 partition_on=partition_on,
158 partition_range=partition_range,
159 partition_num=partition_num,
160 protocol=protocol,
161 )
162 return from_arrow(tbl)
File ~\anaconda3\lib\site-packages\connectorx\__init__.py:257, in read_sql(conn, query, return_type, protocol, partition_on, partition_range, partition_num, index_col)
254 except ModuleNotFoundError:
255 raise ValueError("You need to install pyarrow first")
--> 257 result = _read_sql(
258 conn,
259 "arrow" if return_type in {"arrow", "polars"} else "arrow2",
260 queries=queries,
261 protocol=protocol,
262 partition_query=partition_query,
263 )
264 df = reconstruct_arrow(result)
265 if return_type in {"polars", "polars2"}:
RuntimeError: Timed out in bb8
lyngc, marcishak, jmakov and HansBambel
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working