Skip to content

Commit

Permalink
Merge branch 'unstable' into wal-iterator
Browse files Browse the repository at this point in the history
  • Loading branch information
git-hulk committed Jan 25, 2024
2 parents a1d3ed3 + 8361174 commit 32e2a0f
Show file tree
Hide file tree
Showing 3 changed files with 115 additions and 8 deletions.
5 changes: 2 additions & 3 deletions .github/workflows/sonar.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -72,12 +72,11 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONARCLOUD_TOKEN }}
run: |
pr_number=$(jq -r '.number' sonarcloud-data/github-event.json)
sonar-scanner \
--define sonar.cfamily.build-wrapper-output="sonarcloud-data" \
--define sonar.coverageReportPaths=sonarcloud-data/coverage.xml \
--define sonar.projectKey=apache_kvrocks \
--define sonar.organization=apache \
--define sonar.scm.revision=${{ github.event.workflow_run.head_sha }} \
--define sonar.pullrequest.key=${{ github.event.workflow_run.pull_requests[0].number }} \
--define sonar.pullrequest.branch=${{ github.event.workflow_run.pull_requests[0].head.ref }} \
--define sonar.pullrequest.base=${{ github.event.workflow_run.pull_requests[0].base.ref }}
--define sonar.pullrequest.key="$pr_number"
10 changes: 5 additions & 5 deletions src/commands/cmd_zset.cc
Original file line number Diff line number Diff line change
Expand Up @@ -561,7 +561,7 @@ class CommandBZMPop : public BlockingCommander {

static CommandKeyRange Range(const std::vector<std::string> &args) {
int num_key = *ParseInt<int>(args[2], 10);
return {3, 1 + num_key, 1};
return {3, 2 + num_key, 1};
}

private:
Expand Down Expand Up @@ -1223,7 +1223,7 @@ class CommandZUnionStore : public Commander {
}

static CommandKeyRange Range(const std::vector<std::string> &args) {
int num_key = *ParseInt<int>(args[1], 10);
int num_key = *ParseInt<int>(args[2], 10);
return {3, 2 + num_key, 1};
}

Expand All @@ -1250,7 +1250,7 @@ class CommandZInterStore : public CommandZUnionStore {
}

static CommandKeyRange Range(const std::vector<std::string> &args) {
int num_key = *ParseInt<int>(args[1], 10);
int num_key = *ParseInt<int>(args[2], 10);
return {3, 2 + num_key, 1};
}
};
Expand Down Expand Up @@ -1464,7 +1464,7 @@ class CommandZDiff : public Commander {

static CommandKeyRange Range(const std::vector<std::string> &args) {
int num_key = *ParseInt<int>(args[1], 10);
return {2, 2 + num_key, 1};
return {2, 1 + num_key, 1};
}

protected:
Expand Down Expand Up @@ -1504,7 +1504,7 @@ class CommandZDiffStore : public Commander {
}

static CommandKeyRange Range(const std::vector<std::string> &args) {
int num_key = *ParseInt<int>(args[1], 10);
int num_key = *ParseInt<int>(args[2], 10);
return {3, 2 + num_key, 1};
}

Expand Down
108 changes: 108 additions & 0 deletions tests/gocase/unit/command/command_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -65,4 +65,112 @@ func TestCommand(t *testing.T) {
require.Len(t, vs, 1)
require.Equal(t, "test", vs[0])
})

t.Run("COMMAND GETKEYS SINTERCARD", func(t *testing.T) {
r := rdb.Do(ctx, "COMMAND", "GETKEYS", "SINTERCARD", "2", "key1", "key2")
vs, err := r.Slice()
require.NoError(t, err)
require.Len(t, vs, 2)
require.Equal(t, "key1", vs[0])
require.Equal(t, "key2", vs[1])
})

t.Run("COMMAND GETKEYS ZINTER", func(t *testing.T) {
r := rdb.Do(ctx, "COMMAND", "GETKEYS", "ZINTER", "2", "key1", "key2")
vs, err := r.Slice()
require.NoError(t, err)
require.Len(t, vs, 2)
require.Equal(t, "key1", vs[0])
require.Equal(t, "key2", vs[1])
})

t.Run("COMMAND GETKEYS ZINTERSTORE", func(t *testing.T) {
r := rdb.Do(ctx, "COMMAND", "GETKEYS", "ZINTERSTORE", "dst", "2", "src1", "src2")
vs, err := r.Slice()
require.NoError(t, err)
require.Len(t, vs, 2)
require.Equal(t, "src1", vs[0])
require.Equal(t, "src2", vs[1])
})

t.Run("COMMAND GETKEYS ZINTERCARD", func(t *testing.T) {
r := rdb.Do(ctx, "COMMAND", "GETKEYS", "ZINTERCARD", "2", "key1", "key2")
vs, err := r.Slice()
require.NoError(t, err)
require.Len(t, vs, 2)
require.Equal(t, "key1", vs[0])
require.Equal(t, "key2", vs[1])
})

t.Run("COMMAND GETKEYS ZUNION", func(t *testing.T) {
r := rdb.Do(ctx, "COMMAND", "GETKEYS", "ZUNION", "2", "key1", "key2")
vs, err := r.Slice()
require.NoError(t, err)
require.Len(t, vs, 2)
require.Equal(t, "key1", vs[0])
require.Equal(t, "key2", vs[1])
})

t.Run("COMMAND GETKEYS ZUNIONSTORE", func(t *testing.T) {
r := rdb.Do(ctx, "COMMAND", "GETKEYS", "ZUNIONSTORE", "dst", "2", "src1", "src2")
vs, err := r.Slice()
require.NoError(t, err)
require.Len(t, vs, 2)
require.Equal(t, "src1", vs[0])
require.Equal(t, "src2", vs[1])
})

t.Run("COMMAND GETKEYS ZDIFF", func(t *testing.T) {
r := rdb.Do(ctx, "COMMAND", "GETKEYS", "ZDIFF", "2", "key1", "key2")
vs, err := r.Slice()
require.NoError(t, err)
require.Len(t, vs, 2)
require.Equal(t, "key1", vs[0])
require.Equal(t, "key2", vs[1])
})

t.Run("COMMAND GETKEYS ZDIFFSTORE", func(t *testing.T) {
r := rdb.Do(ctx, "COMMAND", "GETKEYS", "ZDIFFSTORE", "dst", "2", "src1", "src2")
vs, err := r.Slice()
require.NoError(t, err)
require.Len(t, vs, 2)
require.Equal(t, "src1", vs[0])
require.Equal(t, "src2", vs[1])
})

t.Run("COMMAND GETKEYS ZMPOP", func(t *testing.T) {
r := rdb.Do(ctx, "COMMAND", "GETKEYS", "ZMPOP", "2", "key1", "key2")
vs, err := r.Slice()
require.NoError(t, err)
require.Len(t, vs, 2)
require.Equal(t, "key1", vs[0])
require.Equal(t, "key2", vs[1])
})

t.Run("COMMAND GETKEYS BZMPOP", func(t *testing.T) {
r := rdb.Do(ctx, "COMMAND", "GETKEYS", "BZMPOP", "0", "2", "key1", "key2")
vs, err := r.Slice()
require.NoError(t, err)
require.Len(t, vs, 2)
require.Equal(t, "key1", vs[0])
require.Equal(t, "key2", vs[1])
})

t.Run("COMMAND GETKEYS LMPOP", func(t *testing.T) {
r := rdb.Do(ctx, "COMMAND", "GETKEYS", "LMPOP", "2", "key1", "key2")
vs, err := r.Slice()
require.NoError(t, err)
require.Len(t, vs, 2)
require.Equal(t, "key1", vs[0])
require.Equal(t, "key2", vs[1])
})

t.Run("COMMAND GETKEYS BLMPOP", func(t *testing.T) {
r := rdb.Do(ctx, "COMMAND", "GETKEYS", "BLMPOP", "0", "2", "key1", "key2")
vs, err := r.Slice()
require.NoError(t, err)
require.Len(t, vs, 2)
require.Equal(t, "key1", vs[0])
require.Equal(t, "key2", vs[1])
})
}

0 comments on commit 32e2a0f

Please sign in to comment.