Closed DDT-16 closed 8 months ago
Contact téléphonique avec Michel (merci MA) (31/07/2023) Contexte Lorsque l'on crée une vue à partir de DB Manager et que l'on sauvegarde la vue, Plume fonctionne parfaitement. Par contre, dès lors que la vue n'est pas physiquement créée, Plume retourne un message capturé dans une boite de dialogue.
Deux exemples simples
SELECT * FROM c_amgt_urb_zon_amgt.l_zac_075
génère
SELECT * FROM c_amgt_urb_zon_amgt.l_zac_075 WHERE etat = 'en cours de réalisation'
génère
MA précise que beaucoup de services travaillent de cette façon afin de ne pas encombrer le serveur avec toutes ses vues, d'où la nécessité de corriger rapidement.
Vu avec @WREATCHED : comme Plume ne peut rien faire de ces résultats de requêtes qui ne sont pas des objets PostgreSQL, il va faire en sorte qu'ils ne soient pas considérés du tout, comme c'est aujourd'hui le cas pour toutes les couches qui ne sont pas issues de PostgreSQL. Lorsque l'utilisateur cliquera dessus dans le panneau des couches, le seul effet sera de revenir à l'écran d'accueil de Plume.
Edit : Je remplace l'étiquette "bug" par une étiquette "enhancement", car, si le comportement actuel n'est pas idéal pour l'utilisateur, l'erreur renvoyée par le serveur PostgreSQL est correctement gérée par Plume.
Solution
Nous sommes partis sur l'hypothèse qu'une couche virtuelle n'aura pas de schéma.
Modification du code pour plume.py et plume_ui.py
if self.layer.dataProvider().name() == 'postgres' and QgsDataSourceUri(self.layer.source()).schema() :
https://github.com/MTES-MCT/metadata-postgresql/assets/66324136/54f67681-44d5-4b0d-960c-c62bc9bb4b30
Problème résolu. Merci pour cette correction qui fonctionne parfaitement. Au quotidien, ce pb était quelque peu énervant !
Bravo à la teams 'Plume'
Merci pour ton retour @MichelAUZANNEAUddt16 ! Nous prévoyons de diffuser une nouvelle version qui inclura ce correctif d'ici la fin du mois.
Bonjour, Nous avons un projet Qgis, qui utilise des requêtes SQL construites directement sous QGIS à partir de de données du serveur PostgreSQL. Ci-après une exemple de couche construite sous qgis à partir de données Postgresql (dbname='ddt16' host=xxxxxxxxx port=5432 user='rc_consult' sslmode=require key='id_qgis' srid=2154 type=MultiPolygon checkPrimaryKeyUnicity='1' table="(SELECT * FROM \"appli_doc_urba\".\"doc_urba_en_cours\" )" (geom) sql="id_plui" is not null ). A chaque sollicitation de la couche(c'est-à-dire sélection de la couche), Plume affiche un message d'erreur "Attention schéma "" does not exist".
Je suis disponible pour plus d'info. Cordialement