aws / aws/amazon-redshift-python-driver

The field names should be presented.

Ouverte
#240 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Python
Étoiles
220
Forks
86
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

The generated sql code for insert do not point the field names.

Then the only way to make it work is to order the field names in the dataframe.

```
if not self.__is_valid_table(table):
raise InterfaceError("Invalid table name passed to write_dataframe: {}".format(table))
sanitized_table_name: str = self.__sanitize_str(table)
arrays: list = df.values.tolist()
placeholder: str = ", ".join(["%s"] * len(arrays[0]))
sql: str = "insert into {table} values ({placeholder})".format(
table=sanitized_table_name, placeholder=placeholder
)
```
https://github.com/aws/amazon-redshift-python-driver/blob/64cbd54ef6a5e71d98ce193630d09267cc154379/redshift_connector/cursor.py#L584C1-L591C10

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez dans redshift_connector/cursor.py aux lignes indiquées par le lien et suivez la génération SQL de write_dataframe. Vérifiez comment les noms de colonnes du dataframe sont accessibles, puis vérifiez que les instructions INSERT générées incluent les noms des champs afin que les résultats ne dépendent plus de l’ordre des colonnes du dataframe.

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

Évaluation

Stack technique
aws, python
Domaine
databases
Type d'issue
Bug
Difficulté
2/5
Temps estimé
1-3 heures
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
48/100

Recevez les nouvelles issues par e-mail

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