Bug in `databricks.sql.exc.Error` base class
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 68/100
Direzione di ricerca
Cerca nel connettore la classe databricks.sql.exc.Error e analizza i suoi metodi str e message_with_context. Riproduci un Error senza messaggio, quindi verifica che la conversione in stringa e message_with_context non falliscano più e che il comportamento di errore esistente rimanga invariato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Problem: When try except catching errors and logging them I occasionally get this TypeError
...
try:
with connection.cursor() as cursor:
cursor.execute(query)
...
except databricks.sql.Error as e:
logger.debug(f"{str(e)}: failed to execute query {query}")
...
__str__ returned non-string (type NoneType)
Explanation:
String representations of a class must be of type string
the message attribute can be None therefore there needs to be a check/cast prior to returning.
Note: message_with_context will also fail when a message is None since you can't use the operand type + for NoneType and a str
class Error(Exception):
"""Base class for DB-API2.0 exceptions.
`message`: An optional user-friendly error message. It should be short, actionable and stable
`context`: Optional extra context about the error. MUST be JSON serializable
"""
def __init__(self, message=None, context=None, *args, **kwargs):
super().__init__(message, *args, **kwargs)
self.message = message
self.context = context or {}
def __str__(self):
return self.message
def message_with_context(self):
return self.message + ": " + json.dumps(self.context, default=str)
- Lingua principale
- Python
- Stelle
- 236
- Fork
- 162
- Merge medio
- 13h 13m
- PR unite (30g)
- 23
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi 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 databricks/databricks-sql-python
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
databricks/databricks-sql-python#1034 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
databricks/databricks-sql-python#1012 ·
I maintainer di solito rispondono entro 1 giorno
-
Token federation: `_exchange_token` raises KeyError('access_token') on error responses, discarding the real failure reasonForse già presa @TangoEnSkai l’ha presa 81 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
databricks/databricks-sql-python#904 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
databricks/databricks-sql-python#865 ·
I maintainer di solito rispondono entro 1 giorno
-
engineer-bot
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
databricks/databricks-sql-python#860 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di databricks/databricks-sql-python
Issue simili
-
component/fhir type/bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
OpenConceptLab/ocl_issues#3026 ·
-
ODS datetime imports reject fractional seconds and exports drop themForse già presa @IlyaKhalafi l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
TauricResearch/TradingAgents#1693 ·
I maintainer di solito rispondono entro 2 giorni
-
requests support
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
I maintainer di solito rispondono entro 2 giorni
-
match(numeric=True) compares numbers rounded to 5 significant digits, so 187503 matches 187500Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
UKGovernmentBEIS/inspect_ai#6537 ·
I maintainer di solito rispondono entro 1 giorno