File tree Expand file tree Collapse file tree 5 files changed +77
-76
lines changed Expand file tree Collapse file tree 5 files changed +77
-76
lines changed Original file line number Diff line number Diff line change @@ -638,48 +638,3 @@ NOTICE: DROP POLICY dropped policy
638638CREATE POLICY pguc ON event_trigger_test USING (FALSE);
639639SET event_triggers = 'off';
640640DROP POLICY pguc ON event_trigger_test;
641- -- Login event triggers
642- CREATE TABLE user_logins(id serial, who text);
643- GRANT SELECT ON user_logins TO public;
644- CREATE FUNCTION on_login_proc() RETURNS event_trigger AS $$
645- BEGIN
646- INSERT INTO user_logins (who) VALUES (SESSION_USER);
647- RAISE NOTICE 'You are welcome!';
648- END;
649- $$ LANGUAGE plpgsql;
650- CREATE EVENT TRIGGER on_login_trigger ON login EXECUTE PROCEDURE on_login_proc();
651- ALTER EVENT TRIGGER on_login_trigger ENABLE ALWAYS;
652- \c
653- NOTICE: You are welcome!
654- SELECT COUNT(*) FROM user_logins;
655- count
656- -------
657- 1
658- (1 row)
659-
660- \c
661- NOTICE: You are welcome!
662- SELECT COUNT(*) FROM user_logins;
663- count
664- -------
665- 2
666- (1 row)
667-
668- -- Check dathasloginevt in system catalog
669- SELECT dathasloginevt FROM pg_database WHERE datname= :'DBNAME';
670- dathasloginevt
671- ----------------
672- t
673- (1 row)
674-
675- -- Cleanup
676- DROP TABLE user_logins;
677- DROP EVENT TRIGGER on_login_trigger;
678- DROP FUNCTION on_login_proc();
679- \c
680- SELECT dathasloginevt FROM pg_database WHERE datname= :'DBNAME';
681- dathasloginevt
682- ----------------
683- f
684- (1 row)
685-
Original file line number Diff line number Diff line change 1+ -- Login event triggers
2+ CREATE TABLE user_logins(id serial, who text);
3+ GRANT SELECT ON user_logins TO public;
4+ CREATE FUNCTION on_login_proc() RETURNS event_trigger AS $$
5+ BEGIN
6+ INSERT INTO user_logins (who) VALUES (SESSION_USER);
7+ RAISE NOTICE 'You are welcome!';
8+ END;
9+ $$ LANGUAGE plpgsql;
10+ CREATE EVENT TRIGGER on_login_trigger ON login EXECUTE PROCEDURE on_login_proc();
11+ ALTER EVENT TRIGGER on_login_trigger ENABLE ALWAYS;
12+ \c
13+ NOTICE: You are welcome!
14+ SELECT COUNT(*) FROM user_logins;
15+ count
16+ -------
17+ 1
18+ (1 row)
19+
20+ \c
21+ NOTICE: You are welcome!
22+ SELECT COUNT(*) FROM user_logins;
23+ count
24+ -------
25+ 2
26+ (1 row)
27+
28+ -- Check dathasloginevt in system catalog
29+ SELECT dathasloginevt FROM pg_database WHERE datname= :'DBNAME';
30+ dathasloginevt
31+ ----------------
32+ t
33+ (1 row)
34+
35+ -- Cleanup
36+ DROP TABLE user_logins;
37+ DROP EVENT TRIGGER on_login_trigger;
38+ DROP FUNCTION on_login_proc();
39+ \c
40+ SELECT dathasloginevt FROM pg_database WHERE datname= :'DBNAME';
41+ dathasloginevt
42+ ----------------
43+ f
44+ (1 row)
45+
Original file line number Diff line number Diff line change @@ -121,12 +121,14 @@ test: plancache limit plpgsql copy2 temp domain rangefuncs prepare conversion tr
121121# ----------
122122test: partition_join partition_prune reloptions hash_part indexing partition_aggregate partition_info tuplesort explain compression memoize stats
123123
124- # event_trigger cannot run concurrently with any other tests because
125- # on-login event handling could catch connection of a concurrent test.
126- test: event_trigger
124+ # event_trigger depends on create_am and cannot run concurrently with
125+ # any test that runs DDL
126+ # oidjoins is read-only, though, and should run late for best coverage
127+ test: oidjoins event_trigger
127128
128- # oidjoins should run late for best coverage
129- test: oidjoins
129+ # event_trigger_login cannot run concurrently with any other tests because
130+ # on-login event handling could catch connection of a concurrent test.
131+ test: event_trigger_login
130132
131133# this test also uses event triggers, so likewise run it by itself
132134test: fast_default
Original file line number Diff line number Diff line change @@ -495,29 +495,3 @@ DROP POLICY pguc ON event_trigger_test;
495495CREATE POLICY pguc ON event_trigger_test USING (FALSE);
496496SET event_triggers = ' off' ;
497497DROP POLICY pguc ON event_trigger_test;
498-
499- -- Login event triggers
500- CREATE TABLE user_logins (id serial , who text );
501- GRANT SELECT ON user_logins TO public;
502- CREATE FUNCTION on_login_proc () RETURNS event_trigger AS $$
503- BEGIN
504- INSERT INTO user_logins (who) VALUES (SESSION_USER );
505- RAISE NOTICE ' You are welcome!' ;
506- END;
507- $$ LANGUAGE plpgsql;
508- CREATE EVENT TRIGGER on_login_trigger ON login EXECUTE PROCEDURE on_login_proc();
509- ALTER EVENT TRIGGER on_login_trigger ENABLE ALWAYS;
510- \c
511- SELECT COUNT (* ) FROM user_logins;
512- \c
513- SELECT COUNT (* ) FROM user_logins;
514-
515- -- Check dathasloginevt in system catalog
516- SELECT dathasloginevt FROM pg_database WHERE datname= :' DBNAME' ;
517-
518- -- Cleanup
519- DROP TABLE user_logins;
520- DROP EVENT TRIGGER on_login_trigger;
521- DROP FUNCTION on_login_proc();
522- \c
523- SELECT dathasloginevt FROM pg_database WHERE datname= :' DBNAME' ;
Original file line number Diff line number Diff line change 1+ -- Login event triggers
2+ CREATE TABLE user_logins (id serial , who text );
3+ GRANT SELECT ON user_logins TO public;
4+ CREATE FUNCTION on_login_proc () RETURNS event_trigger AS $$
5+ BEGIN
6+ INSERT INTO user_logins (who) VALUES (SESSION_USER );
7+ RAISE NOTICE ' You are welcome!' ;
8+ END;
9+ $$ LANGUAGE plpgsql;
10+ CREATE EVENT TRIGGER on_login_trigger ON login EXECUTE PROCEDURE on_login_proc();
11+ ALTER EVENT TRIGGER on_login_trigger ENABLE ALWAYS;
12+ \c
13+ SELECT COUNT (* ) FROM user_logins;
14+ \c
15+ SELECT COUNT (* ) FROM user_logins;
16+
17+ -- Check dathasloginevt in system catalog
18+ SELECT dathasloginevt FROM pg_database WHERE datname= :' DBNAME' ;
19+
20+ -- Cleanup
21+ DROP TABLE user_logins;
22+ DROP EVENT TRIGGER on_login_trigger;
23+ DROP FUNCTION on_login_proc();
24+ \c
25+ SELECT dathasloginevt FROM pg_database WHERE datname= :' DBNAME' ;
You can’t perform that action at this time.
0 commit comments