Skip to content

Commit 2dbdbbe

Browse files
address comment: fix transaction
Signed-off-by: James Xin <[email protected]>
1 parent 6074c83 commit 2dbdbbe

File tree

2 files changed

+47
-28
lines changed

2 files changed

+47
-28
lines changed

node/src/Transaction.ts

+6-9
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import {
1010
ReadFrom, // eslint-disable-line @typescript-eslint/no-unused-vars
1111
SortedSetDataType,
1212
convertGlideRecord,
13+
Score,
1314
} from "./BaseClient";
1415

1516
import {
@@ -66,7 +67,6 @@ import {
6667
TimeUnit,
6768
ZAddOptions,
6869
ZScanOptions,
69-
convertElementsAndScores,
7070
convertFieldsAndValuesToHashDataType,
7171
createAppend,
7272
createBLMPop,
@@ -1738,16 +1738,13 @@ class BaseTransaction<T extends BaseTransaction<T>> {
17381738
*/
17391739
public zadd(
17401740
key: GlideString,
1741-
membersAndScores: SortedSetDataType | Record<string, number>,
1741+
membersAndScores:
1742+
| SortedSetDataType
1743+
| Record<string, number>
1744+
| Record<string, Score>,
17421745
options?: ZAddOptions,
17431746
): T {
1744-
return this.addAndReturn(
1745-
createZAdd(
1746-
key,
1747-
convertElementsAndScores(membersAndScores),
1748-
options,
1749-
),
1750-
);
1747+
return this.addAndReturn(createZAdd(key, membersAndScores, options));
17511748
}
17521749

17531750
/**

node/tests/TestUtilities.ts

+41-19
Original file line numberDiff line numberDiff line change
@@ -1109,28 +1109,44 @@ export async function transactionTest(
11091109
responseData.push(['smove(key7, key7, "non_existing_member")', false]);
11101110
baseTransaction.scard(key7);
11111111
responseData.push(["scard(key7)", 0]);
1112-
baseTransaction.zadd(key8, [
1113-
{ element: member1, score: 1 },
1114-
{ element: member2, score: 2 },
1115-
{ element: member3, score: 3.5 },
1116-
{ element: member4, score: 4 },
1117-
{ element: member5, score: 5 },
1118-
]);
1119-
responseData.push(["zadd(key8, { ... } ", 5]);
1112+
baseTransaction.zadd(key8, {
1113+
member1: 1,
1114+
member2: 2,
1115+
member3: 3.5,
1116+
member4: 4,
1117+
member5: 5,
1118+
infMember: "+inf",
1119+
negInfMember: "-inf",
1120+
});
1121+
responseData.push(["zadd(key8, { ... } ", 7]);
11201122
baseTransaction.zrank(key8, member1);
1121-
responseData.push(['zrank(key8, "member1")', 0]);
1123+
responseData.push(['zrank(key8, "member1")', 1]);
1124+
baseTransaction.zrank(key8, "negInfMember");
1125+
responseData.push(['zrank(key8, "negInfMember")', 0]);
11221126

11231127
if (!cluster.checkIfServerVersionLessThan("7.2.0")) {
11241128
baseTransaction.zrankWithScore(key8, member1);
1125-
responseData.push(['zrankWithScore(key8, "member1")', [0, 1]]);
1129+
responseData.push(['zrankWithScore(key8, "member1")', [1, 1]]);
1130+
baseTransaction.zrankWithScore(key8, "negInfMember");
1131+
responseData.push([
1132+
'zrankWithScore(key8, "negInfMember")',
1133+
[0, -Infinity],
1134+
]);
11261135
}
11271136

11281137
baseTransaction.zrevrank(key8, "member5");
1129-
responseData.push(['zrevrank(key8, "member5")', 0]);
1138+
responseData.push(['zrevrank(key8, "member5")', 1]);
1139+
baseTransaction.zrevrank(key8, "infMember");
1140+
responseData.push(['zrevrank(key8, "infMember")', 0]);
11301141

11311142
if (!cluster.checkIfServerVersionLessThan("7.2.0")) {
11321143
baseTransaction.zrevrankWithScore(key8, "member5");
1133-
responseData.push(['zrevrankWithScore(key8, "member5")', [0, 5]]);
1144+
responseData.push(['zrevrankWithScore(key8, "member5")', [1, 5]]);
1145+
baseTransaction.zrevrankWithScore(key8, "infMember");
1146+
responseData.push([
1147+
'zrevrankWithScore(key8, "infMember")',
1148+
[0, Infinity],
1149+
]);
11341150
}
11351151

11361152
baseTransaction.zaddIncr(key8, member2, 1);
@@ -1140,28 +1156,34 @@ export async function transactionTest(
11401156
baseTransaction.zrem(key8, [member1]);
11411157
responseData.push(['zrem(key8, ["member1"])', 1]);
11421158
baseTransaction.zcard(key8);
1143-
responseData.push(["zcard(key8)", 4]);
1159+
responseData.push(["zcard(key8)", 6]);
11441160

11451161
baseTransaction.zscore(key8, member2);
11461162
responseData.push(['zscore(key8, "member2")', 3.0]);
1163+
baseTransaction.zscore(key8, "infMember");
1164+
responseData.push(['zscore(key8, "infMember")', Infinity]);
11471165
baseTransaction.zrange(key8, { start: 0, end: -1 });
11481166
responseData.push([
11491167
"zrange(key8, { start: 0, end: -1 })",
11501168
[
1169+
"negInfMember",
11511170
member2.toString(),
11521171
member3.toString(),
11531172
member4.toString(),
11541173
member5.toString(),
1174+
"infMember",
11551175
],
11561176
]);
11571177
baseTransaction.zrangeWithScores(key8, { start: 0, end: -1 });
11581178
responseData.push([
11591179
"zrangeWithScores(key8, { start: 0, end: -1 })",
11601180
convertRecordToGlideRecord({
1181+
negInfMember: -Infinity,
11611182
member2: 3,
11621183
member3: 3.5,
11631184
member4: 4,
11641185
member5: 5,
1186+
infMember: Infinity,
11651187
}),
11661188
]);
11671189
baseTransaction.zadd(key12, [
@@ -1202,7 +1224,7 @@ export async function transactionTest(
12021224
baseTransaction.zrangeStore(key8, key8, { start: 0, end: -1 });
12031225
responseData.push([
12041226
"zrangeStore(key8, key8, { start: 0, end: -1 })",
1205-
4,
1227+
6,
12061228
]);
12071229
baseTransaction.zdiff([key13, key12]);
12081230
responseData.push(["zdiff([key13, key12])", ["three"]]);
@@ -1258,7 +1280,7 @@ export async function transactionTest(
12581280
baseTransaction.zcount(key8, { value: 2 }, InfBoundary.PositiveInfinity);
12591281
responseData.push([
12601282
"zcount(key8, { value: 2 }, InfBoundary.PositiveInfinity)",
1261-
4,
1283+
5,
12621284
]);
12631285
baseTransaction.zlexcount(
12641286
key8,
@@ -1267,17 +1289,17 @@ export async function transactionTest(
12671289
);
12681290
responseData.push([
12691291
'zlexcount(key8, { value: "a" }, InfBoundary.PositiveInfinity)',
1270-
4,
1292+
6,
12711293
]);
12721294
baseTransaction.zpopmin(key8);
12731295
responseData.push([
12741296
"zpopmin(key8)",
1275-
convertRecordToGlideRecord({ member2: 3.0 }),
1297+
convertRecordToGlideRecord({ negInfMember: -Infinity }),
12761298
]);
12771299
baseTransaction.zpopmax(key8);
12781300
responseData.push([
12791301
"zpopmax(key8)",
1280-
convertRecordToGlideRecord({ member5: 5 }),
1302+
convertRecordToGlideRecord({ infMember: Infinity }),
12811303
]);
12821304
baseTransaction.zadd(key8, [{ element: member6, score: 6 }]);
12831305
responseData.push(["zadd(key8, {member6: 6})", 1]);
@@ -1300,7 +1322,7 @@ export async function transactionTest(
13001322
InfBoundary.NegativeInfinity,
13011323
InfBoundary.PositiveInfinity,
13021324
);
1303-
responseData.push(["zremRangeByScore(key8, -Inf, +Inf)", 1]); // key8 is now empty
1325+
responseData.push(["zremRangeByScore(key8, -Inf, +Inf)", 3]); // key8 is now empty
13041326
baseTransaction.zremRangeByLex(
13051327
key8,
13061328
InfBoundary.NegativeInfinity,

0 commit comments

Comments
 (0)