summaryrefslogtreecommitdiff
path: root/contrib/sequence/set_sequence.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/sequence/set_sequence.c')
-rw-r--r--contrib/sequence/set_sequence.c41
1 files changed, 41 insertions, 0 deletions
diff --git a/contrib/sequence/set_sequence.c b/contrib/sequence/set_sequence.c
new file mode 100644
index 00000000000..7468efb5fd7
--- /dev/null
+++ b/contrib/sequence/set_sequence.c
@@ -0,0 +1,41 @@
+/*
+ * set_sequence.c --
+ *
+ * Set a new sequence value.
+ *
+ * Copyright (c) 1996, Massimo Dal Zotto <dz@cs.unitn.it>
+ */
+
+#include "postgres.h"
+#include "nodes/parsenodes.h"
+#include "commands/sequence.h"
+
+#include "set_sequence.h"
+
+extern int setval(struct varlena *seqin, int4 val);
+
+int
+set_currval(struct varlena *sequence, int4 nextval)
+{
+ return setval(sequence, nextval);
+}
+
+int
+next_id(struct varlena *sequence)
+{
+ return nextval(sequence);
+}
+
+int
+last_id(struct varlena *sequence)
+{
+ return currval(sequence);
+}
+
+int
+set_last_id(struct varlena *sequence, int4 nextval)
+{
+ return setval(sequence, nextval);
+}
+
+/* end of file */