Spanner: Add trivial sequence number generator. (#101777)
* Add trivial sequence number generator.
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
package xorm
|
||||
|
||||
import (
|
||||
"context"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func TestSequenceGenerator(t *testing.T) {
|
||||
eng, err := NewEngine("sqlite3", ":memory:")
|
||||
require.NoError(t, err)
|
||||
require.NotNil(t, eng)
|
||||
require.Equal(t, "sqlite3", eng.DriverName())
|
||||
|
||||
_, err = eng.Exec("CREATE TABLE `autoincrement_sequences` (`name` STRING(128) NOT NULL PRIMARY KEY, `next_value` INT64 NOT NULL)")
|
||||
require.NoError(t, err)
|
||||
|
||||
sg := newSequenceGenerator(eng.db.DB)
|
||||
val, err := sg.Next(context.Background(), "test", "test")
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, int64(1), val)
|
||||
|
||||
val, err = sg.Next(context.Background(), "test", "different")
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, int64(1), val)
|
||||
|
||||
val, err = sg.Next(context.Background(), "test", "different")
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, int64(2), val)
|
||||
}
|
||||
Reference in New Issue
Block a user