Projet

Général

Profil

Bug #19385

user_id est un nom de variable interdit

Ajouté par Thomas Noël il y a plus de 6 ans. Mis à jour il y a plus de 5 ans.

Statut:
Fermé
Priorité:
Bas
Assigné à:
-
Version cible:
-
Début:
11 octobre 2017
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

Forcément

Exception:
  type = '<class 'psycopg2.ProgrammingError'>', value = 'column "user_id" specified more than once
'

Stack trace (most recent call first):
  File "/usr/lib/python2.7/dist-packages/wcs/sql.py", line 735, in do_views
   733
   734     cur.execute('''CREATE VIEW %s AS SELECT %s FROM %s''' % (
>  735         view_name, fields_list, table_name))
   736
   737     if rebuild_global_views:

On pourrait avoir une liste des identifiants réservés et les interdire... mais plutôt ne plus utiliser simplement get_name_as_sql_identifier(field.varname)[:50] dans sql.py, y ajouter un suffixe genre 'f_' ou 'var_'


Fichiers

Révisions associées

Révision 32d7fd74 (diff)
Ajouté par Thomas Noël il y a plus de 6 ans

sql: add f_ before varnames in on views to prevent name conflicts (#19385)

Historique

#1

Mis à jour par Thomas Noël il y a plus de 6 ans

Ça a l'air suffisant car en fait on n'utilise pas directement ces vues... Disons que c'est un patch proposition, j'affirme pas que ça pose aucun soucis (mais je le pense fort fort).

#2

Mis à jour par Frédéric Péters il y a plus de 6 ans

Quand celui-ci n'est pas défini, la colonne est nommée f_<var>identifiant</var>_<var>libellé</var>.

Pour différencier avec le f_<identifiant> quand un varname est défini, écrire ici f_<identifiant numérique interne>_<libellé> ?

(ack sur ça)

#3

Mis à jour par Thomas Noël il y a plus de 6 ans

genre comme ça

f_<var>identifiant-numérique-interne</var>_<var>libellé</var>
?

#4

Mis à jour par Frédéric Péters il y a plus de 6 ans

Yep.

#5

Mis à jour par Thomas Noël il y a plus de 6 ans

  • Statut changé de En cours à Résolu (à déployer)
commit 32d7fd745c5204b8888475611975f8c0524f9922 (HEAD -> master, origin/master, origin/HEAD)
Author: Thomas NOEL <tnoel@entrouvert.com>
Date:   Wed Oct 11 22:58:00 2017 +0200

    sql: add f_ before varnames in on views to prevent name conflicts (#19385)

#6

Mis à jour par Frédéric Péters il y a plus de 5 ans

  • Statut changé de Résolu (à déployer) à Solution déployée

Formats disponibles : Atom PDF