Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

support `Cursor` attribute to provide ANSI SQL State Code

Ouverte
#220 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
38/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
python, sql
Domaine
databases

Piste de recherche

L’issue mentionne ConnectionManager.get_response() dans dbt ainsi que le message CommandComplete de PostgreSQL, mais aucun fichier ni test du dépôt. Commencez par localiser l’implémentation du curseur et la façon dont elle traite les métadonnées des commandes terminées, puis comparez le comportement des drivers disponibles avec les attributs statusmessage et sqlstate indiqués. Le travail est terminé lorsque le curseur expose les informations d’état SQL et que les détails de l’opération affectée sont conservés pour les commandes prises en charge.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

While a Cursor attribute providing SQL State Code is not officially a part of PEP 249: Python DB API 2.0 spec, there is an ANSI-standardized "SQL state code".

Many database drivers provide this as a Cursor attribute, dbt was able to depend on these drivers to provide it for ConnectionManager.get_response() method, which will report to users after successful queries the kind of operation performed (SELECT, INSERT, CREATE) and the numbers of rows affected. Originally the Redshift adapter for dbt, was supported by the psycopg2 driver, which provides this information in statusmessage.

As reported in https://github.com/dbt-labs/dbt-redshift/issues/785, after migrating the driver dependency to redshift-connector, users are in a degraded state and receive less information than previously due to the SQL state not being available.

Support for SQL state amongst popular analytics database drivers
Driver Cursor attribute (docs)
psycopg2 statusmessage
snowflake-connector-python sqlstate
Ideal implementation

Postgres's CommandComplete message

Command Tag rows indicates the number of rows
INSERT INSERT 0 rows inserted
DELETE DELETE rows deleted
UPDATE UPDATE rows updated
MERGE MERGE rows inserted, updated, or deleted
SELECT / CREATE TABLE AS SELECT rows retrieved
MOVE MOVE rows ursor's position has been changed by
FETCH FETCH rows that have been retrieved from the cursor
COPY COPY rows copied, only in PostgreSQL 8.2 and later
Langage dominant
Python
Étoiles
220
Forks
86
Métriques de merge des PR
Aucune PR mergée en 30 j

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de aws/amazon-redshift-python-driver

Toutes les issues de aws/amazon-redshift-python-driver

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.