aws / aws/amazon-redshift-python-driver

cursor.description cuts of column for sql functions

Open
#243 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.