Christopher B. Browne's Home Page
cbbrowne@acm.org

8.69. generate_sync_event(interval)

Function Properties

PLPGSQLinteger
Generate a sync event if there has not been one in the requested interval, and this is a provider node.
    declare
    	p_interval     alias for $1;
    	v_node_row     record;
    
    BEGIN
    	select 1 into v_node_row from sl_event 
           	  where ev_type = 'SYNC' and ev_origin = getLocalNodeId('_schemadoc')
              and ev_timestamp > now() - p_interval limit 1;
    	if not found then
    		-- If there has been no SYNC in the last interval, then push one
    		perform createEvent('_schemadoc', 'SYNC', NULL);
    		return 1;
    	else
    		return 0;
    	end if;
    end;

Google
Contact me at cbbrowne@acm.org