aws / aws/amazon-redshift-python-driver
cursor.description cuts of column for sql functions
- Dominant language
- Python
- Stars
- 220
- Forks
- 86
- PR merge metrics
- No merged PRs in 30d
Description
## Driver version
redshift-connector==2.1.1
## Redshift version
Redshift 1.0.77292
## Client Operating System
Windows 11
## Python version
Python 3.9.5
## Table schema
select
GS_PE
SC_PE
SUM(SALDO_EUR)
from
Table
## Problem description
1. Expected behaviour:
When we use functions such as sum() the query result should display the exact column name like we have defined in the SQL-Query
2. Actual behaviour:
When we use functions such as sum() the query result is missing the column name within the functions brackets
3. Error message/stack trace:
No error message for this issue.
4. Any other details that can be helpful:
Result:
('gs_pe', 1043, None, None, None, None, None)
('sc_pe', 1043, None, None, None, None, None)
('sum', 1700, None, None, None, None, None)
Expected Result:
('gs_pe', 1043, None, None, None, None, None)
('sc_pe', 1043, None, None, None, None, None)
('sum(saldo_euro)', 1700, None, None, None, None, None)
## Python Driver trace logs
Sorry, I have no privileges to create tables on the Redshift DB.
## Reproduction code
with conn.cursor() as cur:
cur.execute(sql)
tuples_list = cur.fetchall()
dataframe = pd.DataFrame(tuples_list, columns=[desc[0] for desc in cur.description], dtype="object")
for field in cur.description:
print(field)
Contributor guide
Research direction
Run the supplied reproduction against the reported Redshift setup and inspect cur.description after the query containing SUM(SALDO_EUR). Trace how the column name is produced for SQL functions, then verify that the description reports the full expression, including sum(saldo_euro), without changing the other fields.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, python, sql
- Domain
- databases
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100