Advertisement
Guest User

Untitled

a guest
Apr 30th, 2021
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. CREATE TABLE sro_table0 (s varchar);            
  2. CREATE TABLE sro_table1 (s varchar);            
  3. CREATE TABLE sro_table_exp (a int, b int);            
  4.  
  5. CREATE OR REPLACE FUNCTION sro_activity1(integer) RETURNS integer            
  6.    LANGUAGE sql IMMUTABLE AS            
  7. 'SELECT $1';            
  8.  
  9. CREATE INDEX indy ON sro_table_exp (sro_activity1(a));            
  10.  
  11. CREATE OR REPLACE FUNCTION sro_activity1(integer) RETURNS integer            
  12.    LANGUAGE sql SECURITY INVOKER AS            
  13. 'INSERT INTO public.sro_table0 VALUES (current_user); SELECT $1';            
  14.  
  15. CREATE OR REPLACE FUNCTION sro_activity2(integer) RETURNS integer            
  16.    LANGUAGE sql SECURITY INVOKER AS            
  17. 'INSERT INTO public.sro_table1 VALUES (current_user); SELECT $1';            
  18.  
  19. CREATE OR REPLACE FUNCTION sro_trigger() RETURNS trigger            
  20. AS $e$ BEGIN            
  21. PERFORM public.sro_snfunc(1000); RETURN NEW;            
  22. END $e$            
  23. LANGUAGE plpgsql;            
  24.  
  25. CREATE OR REPLACE FUNCTION sro_activity2(integer) RETURNS integer            
  26.    LANGUAGE sql SECURITY INVOKER AS            
  27. 'INSERT INTO public.sro_table1 VALUES (current_user);            
  28. ALTER USER regress_sro_user SUPERUSER;            
  29. SELECT $1';            
  30.  
  31. CREATE OR REPLACE FUNCTION sro_trigger() RETURNS trigger            
  32. AS $e$            
  33. BEGIN            
  34. PERFORM public.sro_activity2(1000); RETURN NEW;            
  35. END $e$            
  36. LANGUAGE plpgsql;            
  37.  
  38. CREATE CONSTRAINT TRIGGER def            
  39.     AFTER INSERT ON sro_table0            
  40.     INITIALLY DEFERRED FOR EACH ROW            
  41.     EXECUTE PROCEDURE sro_trigger();            
  42.  
  43. ANALYZE sro_table_exp;            
  44.  
  45. INSERT INTO sro_table_exp VALUES (1,1), (2,3),(4,5),(6,7),(8,9);            
  46. DELETE FROM sro_table_exp;            
  47. INSERT INTO sro_table_exp VALUES (1,1);            
  48.  
  49. ALTER TABLE sro_table_exp SET (autovacuum_vacuum_threshold = 1);            
  50. ALTER TABLE sro_table_exp SET (autovacuum_analyze_threshold = 1);
  51.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement