🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.bazy-danych
Article #195682

PostgreSQL - trigger pomija instrukcje

#195682
From: Marek S
Date: Sun, 03 Nov 2019 22:18
45 lines
2531 bytes
Witam Was,

Mam kłopot ze zrozumieniem, co się dzieje. Otóż stworzyłem trigger:

         CREATE OR REPLACE FUNCTION admin.category_delete()
             RETURNS TRIGGER AS
                 $$
                 BEGIN
                     RAISE NOTICE 'Weight %, parent ID %', OLD.weight, 
OLD.parent_id;
                     UPDATE admin.category SET weight = weight - 1 WHERE 
parent_id = OLD.parent_id AND weight > OLD.weight;
                     RAISE NOTICE 'After update';
                     RETURN OLD;
                 END;
                 $$
         LANGUAGE plpgsql;


Wywołuję go jako:

CREATE TRIGGER category_delete AFTER DELETE ON admin.category FOR EACH 
ROW EXECUTE PROCEDURE admin.category_delete()

No i update z niego nie jest realizowany. Zachowuje się tak jakby był 
zakomentowany. W logach bazy są linie to sugerujące:

2019-11-03 23:06:01.946 CET [13200] DZIENNIK:  wyraĹĽenie: BEGIN
2019-11-03 23:06:01.947 CET [13200] DZIENNIK:  wykonanie <unnamed>: 
DELETE FROM admin.category WHERE category_id = $1
2019-11-03 23:06:01.947 CET [13200] SZCZEGÓŁY:  parametry: $1 = '1'
2019-11-03 23:06:01.950 CET [13200] UWAGA:  Weight 1, parent ID <NULL>
2019-11-03 23:06:01.950 CET [13200] KONTEKST:  funkcja PL/pgSQL 
admin.category_delete(), wiersz 3 w RAISE
2019-11-03 23:06:01.950 CET [13200] UWAGA:  After update
2019-11-03 23:06:01.950 CET [13200] KONTEKST:  funkcja PL/pgSQL 
admin.category_delete(), wiersz 5 w RAISE
2019-11-03 23:06:01.951 CET [13200] DZIENNIK:  wyraĹĽenie: COMMIT

Powstają informacyjne exceptions przed wykonaniem aktualizacji i po. 
Natomiast nie ma śladu po tym, co jest między komunikatami. O co chodzi?

-- 
Pozdrawiam,
Marek
Technical Details
Message-ID: <qpnjmv$f6a$1@news.icm.edu.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!.POSTED!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!.POSTED!not-for-mail
From: Marek S <precz@spamowi.com>
Newsgroups: pl.comp.bazy-danych
Subject: PostgreSQL - trigger pomija instrukcje
Date: Sun, 3 Nov 2019 23:18:05 +0100
Organization: ICM, Uniwersytet Warszawski
Lines: 45
Message-ID: <qpnjmv$f6a$1@news.icm.edu.pl>
NNTP-Posting-Host: 89-77-183-104.dynamic.chello.pl
Mime-Version: 1.0
X-Trace: news.icm.edu.pl 1572819487 15562 89.77.183.104 (3 Nov 2019 22:18:07 GMT)
X-Complaints-To: usenet@news.icm.edu.pl
NNTP-Posting-Date: Sun, 3 Nov 2019 22:18:07 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.2.0
X-Mozilla-News-Host: news://news.atman.pl:119
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit