Unable to Read Dates with Year `-4712`
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
Direzione di ricerca
Inizia dallo script Python eseguibile e dalla query TO_DATE('-4712-01-01','SYYYY-MM-DD'), quindi segui il traceback attraverso src/oracledb/impl/thick/var.pyx e src/oracledb/impl/thick/utils.pyx. Verifica il comportamento in modalità Thick con Oracle Database 19c; il lavoro è completato quando il recupero di questo risultato non solleva più il ValueError segnalato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
- What versions are you using?
oracledb.version: 2.4.1
platform.platform: Windows-10-10.0.17763-SP0
sys.maxsize > 2**32: True
platform.python_version: 3.11.9
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
- Is it an error or a hang or a crash?
Error
- What error(s) or behavior you are seeing?
$ python test.py
Traceback (most recent call last):
File "E:\zzzz\test.py", line 14, in
print(result.fetchall())
^^^^^^^^^^^^^^^^^
File "C:\Users\zzzz\AppData\Local\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\result.py", line 1317, in fetchall
return self._allrows()
^^^^^^^^^^^^^^^
File "C:\Users\zzzz\AppData\Local\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\result.py", line 548, in _allrows
rows = self._fetchall_impl()
^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\zzzz\AppData\Local\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\cursor.py", line 2135, in _fetchall_impl
return self.cursor_strategy.fetchall(self, self.cursor)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\zzzz\AppData\Local\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\cursor.py", line 1140, in fetchall
self.handle_exception(result, dbapi_cursor, e)
File "C:\Users\zzzz\AppData\Local\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\cursor.py", line 1081, in handle_exception
result.connection._handle_dbapi_exception(
File "C:\Users\zzzz\AppData\Local\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 2358, in _handle_dbapi_exception
raise exc_info[1].with_traceback(exc_info[2])
File "C:\Users\zzzz\AppData\Local\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\cursor.py", line 1136, in fetchall
rows = dbapi_cursor.fetchall()
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\wegscha\AppData\Local\Programs\Python\Python311\Lib\site-packages\oracledb\cursor.py", line 779, in fetchall
row = fetch_next_row(self)
^^^^^^^^^^^^^^^^^^^^
File "src\oracledb\impl/base/cursor.pyx", line 548, in oracledb.base_impl.BaseCursorImpl.fetch_next_row
File "src\oracledb\impl/base/cursor.pyx", line 260, in oracledb.base_impl.BaseCursorImpl._create_row
File "src\oracledb\impl/thick/var.pyx", line 189, in oracledb.thick_impl.ThickVarImpl._get_scalar_value
File "src\oracledb\impl/thick/var.pyx", line 365, in oracledb.thick_impl.ThickVarImpl._transform_element_to_python
File "src\oracledb\impl/thick/utils.pyx", line 336, in oracledb.thick_impl._convert_to_python
File "datetime.pxd", line 298, in cpython.datetime.datetime_new
ValueError: year -4712 is out of range
- Does your application call init_oracle_client()?
Yes.
sqlalchemy.create_engine(self.sqlalchemy_url, thick_mode=True)
- Include a runnable Python script that shows the problem.
import oracledb
import sqlalchemy
from sqlalchemy import text
sqlalchemy_url = f'oracle+oracledb://{config["username"]}:{config["password"]}@{config["host"]}:{config["port"]}/?service_name={config["service_name"]}'
engine = sqlalchemy.create_engine(sqlalchemy_url, thick_mode=True)
query = text("""
SELECT TO_DATE('-4712-01-01','SYYYY-MM-DD') FROM DUAL
""")
with engine.connect() as connection:
result = connection.execute(query)
print(result.fetchall())
- Lingua principale
- Python
- Stelle
- 451
- Fork
- 118
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di oracle/python-oracledb
-
fetch_df_batches() segfaults with fetch_decimals=True and repeated NUMBER values across batches Apertabug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
oracle/python-oracledb#608 · 1 commento ·
-
bug
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
oracle/python-oracledb#607 · 1 commento ·
-
bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
oracle/python-oracledb#592 · 6 commenti · 1 reazione ·
-
enhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
oracle/python-oracledb#564 ·
-
bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
oracle/python-oracledb#502 · 5 commenti ·
Tutte le issue di oracle/python-oracledb
Issue simili
-
area: harness bug status: needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
Human-Agent-Society/reef#625 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 80/100
learningequality/kolibri#15351 · 2 commenti ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Name consistency Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
eellak/triplestore#65 · 1 commento ·