aws / aws/amazon-redshift-python-driver
VARBYTE is decoded into utf-8
- Ngôn ngữ chính
- Python
- Star
- 220
- Fork
- 86
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
In readme VARBYTE is stated as supported as Python's `bytes` type. When trying to query data VARBYTE data from Redshift, 'utf-8' decoding error is thrown.
### Reproduction
```python
import redshift_connector
DROP_DDL = "drop table if exists varbyte_repro"
CREATE_DDL = """create table varbyte_repro(
my_var varbyte
);
"""
INSERT_DML = "insert into varbyte_repro(my_var) values (from_hex(SHA1('hello')))"
QUERY = "select * from varbyte_repro"
with redshift_connector.connect(
host="replaced",
database="replaced",
user="replaced",
password="replaced",
) as conn, conn.cursor() as cursor:
conn.autocommit = True
cursor.execute(DROP_DDL)
cursor.execute(CREATE_DDL)
cursor.execute(INSERT_DML)
cursor.execute(QUERY)
```
### Expected
Last `cursor.execute` runs without issue (so that later something like `cursor.fetchall` could be used)
### Actual
Error thrown:
```
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xaa in position 0: invalid start byte
```
Hướng dẫn đóng góp
Hướng nghiên cứu
Chạy bản tái hiện Python được cung cấp trên Redshift và kiểm tra đường dẫn giải mã kết quả VARBYTE của connector khi truy vấn cuối cùng được thực thi. Xác nhận rằng các giá trị VARBYTE được trả về dưới dạng Python bytes mà không có UnicodeDecodeError, sau đó thêm hoặc cập nhật coverage cho hành vi truy vấn được minh họa.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- python
- Lĩnh vực
- database
- Loại issue
- Lỗi
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức phù hợp với người mới
- 45/100