Slony-I 2.0.8 Documentation | ||||
---|---|---|---|---|
Prev | Fast Backward | Chapter 6. Schema schemadoc | Fast Forward | Next |
6.97. sequencesetvalue(integer, integer, bigint, bigint)
Function Properties
Language: PLPGSQL
Return Type: integer
sequenceSetValue (seq_id, seq_origin, ev_seqno, last_value) Set sequence seq_id to have new value last_value.declare p_seq_id alias for $1; p_seq_origin alias for $2; p_ev_seqno alias for $3; p_last_value alias for $4; v_fqname text; begin -- ---- -- Get the sequences fully qualified name -- ---- select slon_quote_brute(PGN.nspname) || '.' || slon_quote_brute(PGC.relname) into v_fqname from sl_sequence SQ, "pg_catalog".pg_class PGC, "pg_catalog".pg_namespace PGN where SQ.seq_id = p_seq_id and SQ.seq_reloid = PGC.oid and PGC.relnamespace = PGN.oid; if not found then raise exception 'Slony-I: sequenceSetValue(): sequence % not found', p_seq_id; end if; -- ---- -- Update it to the new value -- ---- execute 'select setval(''' || v_fqname || ''', ' || p_last_value::text || ')'; insert into sl_seqlog (seql_seqid, seql_origin, seql_ev_seqno, seql_last_value) values (p_seq_id, p_seq_origin, p_ev_seqno, p_last_value); return p_seq_id; end;