From 3ff1f1e36e14381c0ebb5862943d4da281254767 Mon Sep 17 00:00:00 2001
From: Vladimir Davydov <vdavydov.dev@gmail.com>
Date: Wed, 20 Sep 2017 13:23:25 +0300
Subject: [PATCH] box: remove sequence_get

In contrast to PostgreSQL, this method doesn't make sense in Tarantool,
because we don't have sessions.
---
 src/box/box.cc             |  9 ---------
 src/box/box.h              | 12 ------------
 src/box/errcode.h          |  1 -
 src/box/lua/schema.lua     |  4 ----
 src/box/lua/sequence.c     | 12 ------------
 src/box/sequence.c         | 11 -----------
 src/box/sequence.h         | 10 ----------
 test/box/misc.result       |  1 -
 test/box/sequence.result   | 32 --------------------------------
 test/box/sequence.test.lua |  8 --------
 10 files changed, 100 deletions(-)

diff --git a/src/box/box.cc b/src/box/box.cc
index fb145d773a..7d0d3343c0 100644
--- a/src/box/box.cc
+++ b/src/box/box.cc
@@ -996,15 +996,6 @@ box_sequence_next(uint32_t seq_id, int64_t *result)
 	*result = value;
 	return 0;
 }
-int
-box_sequence_get(uint32_t seq_id, int64_t *result)
-{
-	struct sequence *seq = sequence_cache_find(seq_id);
-	if (seq == NULL)
-		return -1;
-	return sequence_get(seq, result);
-}
-
 int
 box_sequence_set(uint32_t seq_id, int64_t value)
 {
diff --git a/src/box/box.h b/src/box/box.h
index 460ac7fad8..9fe7fef9ba 100644
--- a/src/box/box.h
+++ b/src/box/box.h
@@ -326,18 +326,6 @@ box_truncate(uint32_t space_id);
 API_EXPORT int
 box_sequence_next(uint32_t seq_id, int64_t *result);
 
-/**
- * Get the last value returned by a sequence.
- *
- * \param seq_id sequence identifier
- * \paramp[out] result pointer to a variable where the last sequence
- * value will be stored on success
- * \retval -1 on error (check box_error_last())
- * \retval 0 on success
- */
-API_EXPORT int
-box_sequence_get(uint32_t seq_id, int64_t *result);
-
 /**
  * Set a sequence value.
  *
diff --git a/src/box/errcode.h b/src/box/errcode.h
index ae67b5277f..243dbbddee 100644
--- a/src/box/errcode.h
+++ b/src/box/errcode.h
@@ -200,7 +200,6 @@ struct errcode_record {
 	/*145 */_(ER_NO_SUCH_SEQUENCE,		"Sequence '%s' does not exist") \
 	/*146 */_(ER_SEQUENCE_EXISTS,		"Sequence '%s' already exists") \
 	/*147 */_(ER_SEQUENCE_OVERFLOW,		"Sequence '%s' has overflowed") \
-	/*148 */_(ER_SEQUENCE_NOT_STARTED,	"Sequence '%s' is not started") \
 
 /*
  * !IMPORTANT! Please follow instructions at start of the file
diff --git a/src/box/lua/schema.lua b/src/box/lua/schema.lua
index 8fb898dea4..f79266c8e8 100644
--- a/src/box/lua/schema.lua
+++ b/src/box/lua/schema.lua
@@ -1198,10 +1198,6 @@ sequence_mt.next = function(self)
     return internal.sequence.next(self.id)
 end
 
-sequence_mt.get = function(self)
-    return internal.sequence.get(self.id)
-end
-
 sequence_mt.set = function(self, value)
     return internal.sequence.set(self.id, value)
 end
diff --git a/src/box/lua/sequence.c b/src/box/lua/sequence.c
index 63d3471773..9cf359010d 100644
--- a/src/box/lua/sequence.c
+++ b/src/box/lua/sequence.c
@@ -49,17 +49,6 @@ lbox_sequence_next(struct lua_State *L)
 	return 1;
 }
 
-static int
-lbox_sequence_get(struct lua_State *L)
-{
-	uint32_t seq_id = luaL_checkinteger(L, 1);
-	int64_t result;
-	if (box_sequence_get(seq_id, &result) != 0)
-		luaT_error(L);
-	luaL_pushint64(L, result);
-	return 1;
-}
-
 static int
 lbox_sequence_set(struct lua_State *L)
 {
@@ -108,7 +97,6 @@ box_lua_sequence_init(struct lua_State *L)
 {
 	static const struct luaL_Reg sequence_internal_lib[] = {
 		{"next", lbox_sequence_next},
-		{"get", lbox_sequence_get},
 		{"set", lbox_sequence_set},
 		{"reset", lbox_sequence_reset},
 		{"on_alter", lbox_sequence_on_alter},
diff --git a/src/box/sequence.c b/src/box/sequence.c
index b43bb9217c..7a1fb658fc 100644
--- a/src/box/sequence.c
+++ b/src/box/sequence.c
@@ -82,14 +82,3 @@ sequence_next(struct sequence *seq, int64_t *result)
 	value = def->step > 0 ? def->min : def->max;
 	goto done;
 }
-
-int
-sequence_get(struct sequence *seq, int64_t *result)
-{
-	if (!seq->is_started) {
-		diag_set(ClientError, ER_SEQUENCE_NOT_STARTED, seq->def->name);
-		return -1;
-	}
-	*result = seq->value;
-	return 0;
-}
diff --git a/src/box/sequence.h b/src/box/sequence.h
index 6ea016265a..9087d465fa 100644
--- a/src/box/sequence.h
+++ b/src/box/sequence.h
@@ -111,16 +111,6 @@ sequence_set(struct sequence *seq, int64_t value)
 int
 sequence_next(struct sequence *seq, int64_t *result);
 
-/**
- * Get the last value returned by a sequence.
- *
- * Return 0 and assign the last sequence value to @result
- * if the sequence was started. If it was not, return -1
- * and raise ER_SEQUENCE_NOT_STARTED error.
- */
-int
-sequence_get(struct sequence *seq, int64_t *result);
-
 #if defined(__cplusplus)
 } /* extern "C" */
 #endif /* defined(__cplusplus) */
diff --git a/test/box/misc.result b/test/box/misc.result
index f904fa43a2..57df68acc8 100644
--- a/test/box/misc.result
+++ b/test/box/misc.result
@@ -382,7 +382,6 @@ t;
   - 'box.error.NO_SUCH_ENGINE : 57'
   - 'box.error.COMMIT_IN_SUB_STMT : 122'
   - 'box.error.injection : table: <address>
-  - 'box.error.SEQUENCE_NOT_STARTED : 148'
   - 'box.error.LAST_DROP : 15'
   - 'box.error.SEQUENCE_OVERFLOW : 147'
   - 'box.error.DECOMPRESSION : 124'
diff --git a/test/box/sequence.result b/test/box/sequence.result
index a3e91282ad..cd5dd471bd 100644
--- a/test/box/sequence.result
+++ b/test/box/sequence.result
@@ -188,18 +188,10 @@ sq.step, sq.min, sq.max, sq.start, sq.cycle
 - 1
 - false
 ...
-sq:get()  -- error
----
-- error: Sequence 'test' is not started
-...
 sq:next() -- 1
 ---
 - 1
 ...
-sq:get()  -- 1
----
-- 1
-...
 sq:next() -- 2
 ---
 - 2
@@ -207,10 +199,6 @@ sq:next() -- 2
 sq:set(100)
 ---
 ...
-sq:get()  -- 100
----
-- 100
-...
 sq:next() -- 101
 ---
 - 101
@@ -222,10 +210,6 @@ sq:next() -- 102
 sq:reset()
 ---
 ...
-sq:get()  -- error
----
-- error: Sequence 'test' is not started
-...
 sq:next() -- 1
 ---
 - 1
@@ -249,18 +233,10 @@ sq.step, sq.min, sq.max, sq.start, sq.cycle
 - -1
 - false
 ...
-sq:get()  -- error
----
-- error: Sequence 'test' is not started
-...
 sq:next() -- -1
 ---
 - -1
 ...
-sq:get()  -- -1
----
-- -1
-...
 sq:next() -- -2
 ---
 - -2
@@ -268,10 +244,6 @@ sq:next() -- -2
 sq:set(-100)
 ---
 ...
-sq:get()  -- -100
----
-- -100
-...
 sq:next() -- -101
 ---
 - -101
@@ -283,10 +255,6 @@ sq:next() -- -102
 sq:reset()
 ---
 ...
-sq:get()  -- error
----
-- error: Sequence 'test' is not started
-...
 sq:next() -- -1
 ---
 - -1
diff --git a/test/box/sequence.test.lua b/test/box/sequence.test.lua
index ca1412f4b0..ef49bd0e57 100644
--- a/test/box/sequence.test.lua
+++ b/test/box/sequence.test.lua
@@ -58,16 +58,12 @@ box.sequence.test == nil
 -- Default ascending sequence.
 sq = box.schema.sequence.create('test')
 sq.step, sq.min, sq.max, sq.start, sq.cycle
-sq:get()  -- error
 sq:next() -- 1
-sq:get()  -- 1
 sq:next() -- 2
 sq:set(100)
-sq:get()  -- 100
 sq:next() -- 101
 sq:next() -- 102
 sq:reset()
-sq:get()  -- error
 sq:next() -- 1
 sq:next() -- 2
 sq:drop()
@@ -75,16 +71,12 @@ sq:drop()
 -- Default descending sequence.
 sq = box.schema.sequence.create('test', {step = -1})
 sq.step, sq.min, sq.max, sq.start, sq.cycle
-sq:get()  -- error
 sq:next() -- -1
-sq:get()  -- -1
 sq:next() -- -2
 sq:set(-100)
-sq:get()  -- -100
 sq:next() -- -101
 sq:next() -- -102
 sq:reset()
-sq:get()  -- error
 sq:next() -- -1
 sq:next() -- -2
 sq:drop()
-- 
GitLab