Advertisement
Guest User

Untitled

a guest
Mar 30th, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 0.65 KB | None | 0 0
  1. CREATE OR REPLACE
  2. FUNCTION analytics.set_global_visitor(
  3.   aapp_id            INTEGER,
  4.   avisitor_id        INTEGER,
  5.   aglobal_visitor_id text
  6. ) RETURNS text AS $$
  7. BEGIN
  8.  
  9.   aglobal_visitor_id := COALESCE(aglobal_visitor_id, generate_password(64));
  10.  
  11.   BEGIN
  12.  
  13.     INSERT INTO analytics.global_visitor (visitor_id, global_visitor_id)
  14.     VALUES (avisitor_id, aglobal_visitor_id);
  15.  
  16.   exception WHEN unique_violation THEN
  17.  
  18.     SELECT gv.global_visitor_id
  19.       INTO aglobal_visitor_id
  20.       FROM analytics.global_visitor gv
  21.      WHERE gv.visitor_id = avisitor_id;
  22.   END;
  23.  
  24.   RETURN aglobal_visitor_id;
  25. END;
  26. $$ LANGUAGE plpgsql security definer;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement