Add support for named time zones in thin mode
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 35/100
Hướng nghiên cứu
Bắt đầu với tập lệnh Python có thể chạy được trong issue và so sánh truy vấn múi giờ có tên bị lỗi với các truy vấn timestamp đang hoạt động trong thiết lập Oracle 11g và driver đã nêu. Hoàn tất nghĩa là việc lấy timestamp với múi giờ có tên trả về các giá trị datetime vẫn giữ thông tin múi giờ, bao gồm cả ví dụ bảng TIMESTAMP WITH TIME ZONE.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Fetching timestamp with time zone raises error ORA-01805: possible error in date/time operation instead of returning datetime with time zone information.
-
What versions are you using?
- database version: Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
- platform.python_version: 3.9.9
- oracledb.__version__: 1.0.1
-
Is it an error or a hang or a crash? Error
-
What error(s) or behavior you are seeing?
Error oracledb.exceptions.DatabaseError: ORA-01805: possible error in date/time operation is raised when trying to use at time zone in SQL . Below is a sample code to reproduce the problem.
-
Does your application call init_oracle_client()? Yes, uses Thick mode.
-
Include a runnable Python script that shows the problem.
import oracledb
from oracledb.thick_impl import init_oracle_client
def f(sql):
with oracledb.connect(user='hr', password='password', dsn='127.0.0.1:1511/xe') as connection:
with connection.cursor() as cursor:
query = cursor.execute(sql)
row = query.fetchone()
print(row[0].time())
init_oracle_client()
# this works because returns datetime without time zone
f("select systimestamp from dual")
# this raises error ORA-01805
f("select systimestamp at time zone 'America/Montreal' as d from dual")
# this is manual walkaround but datetime is still missing time zone information
f("select cast(systimestamp at time zone 'America/Montreal' as timestamp) as d from dual")
The above is an example using systimestamp but similar error can be achieved by crating table with column type timestamp with time zone
create table tz_table
(
tz_timestamp TIMESTAMP(6) WITH TIME ZONE not null
);
insert into tz_table values ( TIMESTAMP '2022-06-16 08:00:00 US/Central');
- Ngôn ngữ chính
- Python
- Star
- 455
- Fork
- 119
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của oracle/python-oracledb
-
bug
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 32/100
oracle/python-oracledb#621 · 2 bình luận ·
-
Client Library or Database
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 25/100
oracle/python-oracledb#620 · 4 bình luận ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 42/100
oracle/python-oracledb#619 ·
-
asyncio: DPY-4011 on connect_async() when the listener closes the original socket after a redirectCó thể đã có người làm @AlexGracas đã nhận 11 ngày trước. Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 35/100
oracle/python-oracledb#616 ·
-
bug
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
oracle/python-oracledb#615 ·
Tất cả issue của oracle/python-oracledb
Issue tương tự
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 65/100
521xueweihan/HelloGitHub#4025 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
aws-samples/sample-per-model-bedrock#321 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 68/100
FavioVazquez/showtime#101 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
koush/ha_scrypted#81 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
google/osv-scanner-action#147 ·