Deutsch English Français Italiano |
<t7307e$416$1@shakotay.alphanet.ch> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!weretis.net!feeder8.news.weretis.net!news.imp.ch!news.alphanet.ch!alphanet.ch!.POSTED!not-for-mail From: Marc SCHAEFER <schaefer@alphanet.ch> Newsgroups: fr.comp.applications.sgbd Subject: Fonctions Date: Mon, 30 May 2022 17:51:42 -0000 (UTC) Organization: Posted through ALPHANET Message-ID: <t7307e$416$1@shakotay.alphanet.ch> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Injection-Date: Mon, 30 May 2022 17:51:42 -0000 (UTC) Injection-Info: shakotay.alphanet.ch; posting-account="schaefer"; logging-data="4134"; mail-complaints-to="usenet@alphanet.ch"; posting-host="634ce6c9682d817d72f6177875e2bb4f.nnrp.alphanet.ch" User-Agent: tin/2.4.3-20181224 ("Glen Mhor") (UNIX) (Linux/4.19.0-20-amd64 (x86_64)) Cancel-Lock: sha256:qNkYg10EurhmUVz49oH+QtCAiMncjMxEFRTWMMaMHtA= sha256:qEh48wdYQTq0IaxIVwuY6zSTOW64B3z/ydbTBgfIB5g= Bytes: 2242 Lines: 29 Bonjour, Mon SQL est un peu rouillé. Ca marche, mais c'est moche, je trouve: CREATE FUNCTION subscribed_nocem_login(INT4) RETURNS TABLE (name TEXT, hide BOOLEAN, thread BOOLEAN, implicit BOOLEAN) AS $$ SELECT name, hide, thread, CAST('f' AS BOOLEAN) FROM subscribed_nocem WHERE login = $1 UNION SELECT name, hide, thread, CAST('t' AS BOOLEAN) FROM subscribed_nocem sn, login l WHERE (sn.login = l.id) AND (l.login = 'default') AND (name NOT IN (SELECT name FROM subscribed_nocem WHERE login = $1)); $$ LANGUAGE sql; L'idée est que l'on retourne les NoCeM abonnés par un utilisateur (subscribed_nocem.login, ou login.id, ou encore par nom login.login), et qu'on y ajoute les NoCeM configurés par défaut (login 'default'), pour toutes les catégories (subscribed_nocem.name) qui ne sont PAS spécifiquement configurés par cet utilisateur. Dans la liste retournée, les NoCeM configurés de manière explicite par l'utilisateur ont implicit FALSE. Des idées pour faire mieux? Sinon je laisse comme ça, je dois encore modifier le GUI de configuration et le proxy pour tenir compte de ces configurations par défaut.