Skip to content

Commit e075afe

Browse files
committed
[CAE-563] Changed the default dialect
1 parent 558ebb4 commit e075afe

17 files changed

+109
-83
lines changed

packages/search/lib/commands/AGGREGATE.spec.ts

Lines changed: 35 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,14 @@ import { strict as assert } from 'node:assert';
22
import testUtils, { GLOBAL } from '../test-utils';
33
import AGGREGATE from './AGGREGATE';
44
import { parseArgs } from '@redis/client/lib/commands/generic-transformers';
5+
import { DefaultDialect } from '../dialect/default';
56

6-
describe('AGGREGATE', () => {
7+
describe('AGGREGATE', () => {
78
describe('transformArguments', () => {
89
it('without options', () => {
910
assert.deepEqual(
1011
parseArgs(AGGREGATE, 'index', '*'),
11-
['FT.AGGREGATE', 'index', '*']
12+
['FT.AGGREGATE', 'index', '*', 'DIALECT', DefaultDialect]
1213
);
1314
});
1415

@@ -17,14 +18,14 @@ describe('AGGREGATE', () => {
1718
parseArgs(AGGREGATE, 'index', '*', {
1819
VERBATIM: true
1920
}),
20-
['FT.AGGREGATE', 'index', '*', 'VERBATIM']
21+
['FT.AGGREGATE', 'index', '*', 'VERBATIM', 'DIALECT', DefaultDialect]
2122
);
2223
});
2324

2425
it('with ADDSCORES', () => {
2526
assert.deepEqual(
2627
parseArgs(AGGREGATE, 'index', '*', { ADDSCORES: true }),
27-
['FT.AGGREGATE', 'index', '*', 'ADDSCORES']
28+
['FT.AGGREGATE', 'index', '*', 'ADDSCORES', 'DIALECT', DefaultDialect]
2829
);
2930
});
3031

@@ -36,7 +37,7 @@ describe('AGGREGATE', () => {
3637
parseArgs(AGGREGATE, 'index', '*', {
3738
LOAD: '@property'
3839
}),
39-
['FT.AGGREGATE', 'index', '*', 'LOAD', '1', '@property']
40+
['FT.AGGREGATE', 'index', '*', 'LOAD', '1', '@property', 'DIALECT', DefaultDialect]
4041
);
4142
});
4243

@@ -47,7 +48,7 @@ describe('AGGREGATE', () => {
4748
identifier: '@property'
4849
}
4950
}),
50-
['FT.AGGREGATE', 'index', '*', 'LOAD', '1', '@property']
51+
['FT.AGGREGATE', 'index', '*', 'LOAD', '1', '@property', 'DIALECT', DefaultDialect]
5152
);
5253
});
5354
});
@@ -60,7 +61,7 @@ describe('AGGREGATE', () => {
6061
AS: 'alias'
6162
}
6263
}),
63-
['FT.AGGREGATE', 'index', '*', 'LOAD', '3', '@property', 'AS', 'alias']
64+
['FT.AGGREGATE', 'index', '*', 'LOAD', '3', '@property', 'AS', 'alias', 'DIALECT', DefaultDialect]
6465
);
6566
});
6667
});
@@ -70,7 +71,7 @@ describe('AGGREGATE', () => {
7071
parseArgs(AGGREGATE, 'index', '*', {
7172
LOAD: ['@1', '@2']
7273
}),
73-
['FT.AGGREGATE', 'index', '*', 'LOAD', '2', '@1', '@2']
74+
['FT.AGGREGATE', 'index', '*', 'LOAD', '2', '@1', '@2', 'DIALECT', DefaultDialect]
7475
);
7576
});
7677
});
@@ -89,7 +90,7 @@ describe('AGGREGATE', () => {
8990
}
9091
}]
9192
}),
92-
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'COUNT', '0']
93+
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'COUNT', '0', 'DIALECT', DefaultDialect]
9394
);
9495
});
9596

@@ -104,7 +105,7 @@ describe('AGGREGATE', () => {
104105
}
105106
}]
106107
}),
107-
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'COUNT', '0', 'AS', 'count']
108+
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'COUNT', '0', 'AS', 'count', 'DIALECT', DefaultDialect]
108109
);
109110
});
110111
});
@@ -121,7 +122,7 @@ describe('AGGREGATE', () => {
121122
}
122123
}]
123124
}),
124-
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '1', '@property', 'REDUCE', 'COUNT', '0']
125+
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '1', '@property', 'REDUCE', 'COUNT', '0', 'DIALECT', DefaultDialect]
125126
);
126127
});
127128

@@ -136,7 +137,7 @@ describe('AGGREGATE', () => {
136137
}
137138
}]
138139
}),
139-
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '2', '@1', '@2', 'REDUCE', 'COUNT', '0']
140+
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '2', '@1', '@2', 'REDUCE', 'COUNT', '0', 'DIALECT', DefaultDialect]
140141
);
141142
});
142143
});
@@ -153,7 +154,7 @@ describe('AGGREGATE', () => {
153154
}
154155
}]
155156
}),
156-
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'COUNT_DISTINCT', '1', '@property']
157+
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'COUNT_DISTINCT', '1', '@property', 'DIALECT', DefaultDialect]
157158
);
158159
});
159160

@@ -168,7 +169,7 @@ describe('AGGREGATE', () => {
168169
}
169170
}]
170171
}),
171-
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'COUNT_DISTINCTISH', '1', '@property']
172+
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'COUNT_DISTINCTISH', '1', '@property', 'DIALECT', DefaultDialect]
172173
);
173174
});
174175

@@ -183,7 +184,7 @@ describe('AGGREGATE', () => {
183184
}
184185
}]
185186
}),
186-
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'SUM', '1', '@property']
187+
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'SUM', '1', '@property', 'DIALECT', DefaultDialect]
187188
);
188189
});
189190

@@ -198,7 +199,7 @@ describe('AGGREGATE', () => {
198199
}
199200
}]
200201
}),
201-
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'MIN', '1', '@property']
202+
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'MIN', '1', '@property', 'DIALECT', DefaultDialect]
202203
);
203204
});
204205

@@ -213,7 +214,7 @@ describe('AGGREGATE', () => {
213214
}
214215
}]
215216
}),
216-
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'MAX', '1', '@property']
217+
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'MAX', '1', '@property', 'DIALECT', DefaultDialect]
217218
);
218219
});
219220

@@ -228,7 +229,7 @@ describe('AGGREGATE', () => {
228229
}
229230
}]
230231
}),
231-
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'AVG', '1', '@property']
232+
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'AVG', '1', '@property', 'DIALECT', DefaultDialect]
232233
);
233234
});
234235
it('STDDEV', () => {
@@ -242,7 +243,7 @@ describe('AGGREGATE', () => {
242243
}
243244
}]
244245
}),
245-
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'STDDEV', '1', '@property']
246+
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'STDDEV', '1', '@property', 'DIALECT', DefaultDialect]
246247
);
247248
});
248249

@@ -258,7 +259,7 @@ describe('AGGREGATE', () => {
258259
}
259260
}]
260261
}),
261-
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'QUANTILE', '2', '@property', '0.5']
262+
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'QUANTILE', '2', '@property', '0.5', 'DIALECT', DefaultDialect]
262263
);
263264
});
264265

@@ -273,7 +274,7 @@ describe('AGGREGATE', () => {
273274
}
274275
}]
275276
}),
276-
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'TOLIST', '1', '@property']
277+
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'TOLIST', '1', '@property', 'DIALECT', DefaultDialect]
277278
);
278279
});
279280

@@ -289,7 +290,7 @@ describe('AGGREGATE', () => {
289290
}
290291
}]
291292
}),
292-
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'FIRST_VALUE', '1', '@property']
293+
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'FIRST_VALUE', '1', '@property', 'DIALECT', DefaultDialect]
293294
);
294295
});
295296

@@ -307,7 +308,7 @@ describe('AGGREGATE', () => {
307308
}
308309
}]
309310
}),
310-
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'FIRST_VALUE', '3', '@property', 'BY', '@by']
311+
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'FIRST_VALUE', '3', '@property', 'BY', '@by', 'DIALECT', DefaultDialect]
311312
);
312313
});
313314

@@ -326,7 +327,7 @@ describe('AGGREGATE', () => {
326327
}
327328
}]
328329
}),
329-
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'FIRST_VALUE', '3', '@property', 'BY', '@by']
330+
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'FIRST_VALUE', '3', '@property', 'BY', '@by', 'DIALECT', DefaultDialect]
330331
);
331332
});
332333
});
@@ -346,7 +347,7 @@ describe('AGGREGATE', () => {
346347
}
347348
}]
348349
}),
349-
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'FIRST_VALUE', '4', '@property', 'BY', '@by', 'ASC']
350+
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'FIRST_VALUE', '4', '@property', 'BY', '@by', 'ASC', 'DIALECT', DefaultDialect]
350351
);
351352
});
352353
});
@@ -364,7 +365,7 @@ describe('AGGREGATE', () => {
364365
}
365366
}]
366367
}),
367-
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'RANDOM_SAMPLE', '2', '@property', '1']
368+
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'RANDOM_SAMPLE', '2', '@property', '1', 'DIALECT', DefaultDialect]
368369
);
369370
});
370371
});
@@ -378,7 +379,7 @@ describe('AGGREGATE', () => {
378379
BY: '@by'
379380
}]
380381
}),
381-
['FT.AGGREGATE', 'index', '*', 'SORTBY', '1', '@by']
382+
['FT.AGGREGATE', 'index', '*', 'SORTBY', '1', '@by', 'DIALECT', DefaultDialect]
382383
);
383384
});
384385

@@ -390,7 +391,7 @@ describe('AGGREGATE', () => {
390391
BY: ['@1', '@2']
391392
}]
392393
}),
393-
['FT.AGGREGATE', 'index', '*', 'SORTBY', '2', '@1', '@2']
394+
['FT.AGGREGATE', 'index', '*', 'SORTBY', '2', '@1', '@2', 'DIALECT', DefaultDialect]
394395
);
395396
});
396397

@@ -403,7 +404,7 @@ describe('AGGREGATE', () => {
403404
MAX: 1
404405
}]
405406
}),
406-
['FT.AGGREGATE', 'index', '*', 'SORTBY', '3', '@by', 'MAX', '1']
407+
['FT.AGGREGATE', 'index', '*', 'SORTBY', '3', '@by', 'MAX', '1', 'DIALECT', DefaultDialect]
407408
);
408409
});
409410
});
@@ -417,7 +418,7 @@ describe('AGGREGATE', () => {
417418
AS: 'as'
418419
}]
419420
}),
420-
['FT.AGGREGATE', 'index', '*', 'APPLY', '@field + 1', 'AS', 'as']
421+
['FT.AGGREGATE', 'index', '*', 'APPLY', '@field + 1', 'AS', 'as', 'DIALECT', DefaultDialect]
421422
);
422423
});
423424

@@ -430,7 +431,7 @@ describe('AGGREGATE', () => {
430431
size: 1
431432
}]
432433
}),
433-
['FT.AGGREGATE', 'index', '*', 'LIMIT', '0', '1']
434+
['FT.AGGREGATE', 'index', '*', 'LIMIT', '0', '1', 'DIALECT', DefaultDialect]
434435
);
435436
});
436437

@@ -442,7 +443,7 @@ describe('AGGREGATE', () => {
442443
expression: '@field != ""'
443444
}]
444445
}),
445-
['FT.AGGREGATE', 'index', '*', 'FILTER', '@field != ""']
446+
['FT.AGGREGATE', 'index', '*', 'FILTER', '@field != ""', 'DIALECT', DefaultDialect]
446447
);
447448
});
448449
});
@@ -454,7 +455,7 @@ describe('AGGREGATE', () => {
454455
param: 'value'
455456
}
456457
}),
457-
['FT.AGGREGATE', 'index', '*', 'PARAMS', '2', 'param', 'value']
458+
['FT.AGGREGATE', 'index', '*', 'PARAMS', '2', 'param', 'value', 'DIALECT', DefaultDialect]
458459
);
459460
});
460461

@@ -470,7 +471,7 @@ describe('AGGREGATE', () => {
470471
it('with TIMEOUT', () => {
471472
assert.deepEqual(
472473
parseArgs(AGGREGATE, 'index', '*', { TIMEOUT: 10 }),
473-
['FT.AGGREGATE', 'index', '*', 'TIMEOUT', '10']
474+
['FT.AGGREGATE', 'index', '*', 'TIMEOUT', '10', 'DIALECT', DefaultDialect]
474475
);
475476
});
476477
});

packages/search/lib/commands/AGGREGATE.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { ArrayReply, BlobStringReply, Command, MapReply, NumberReply, RedisArgum
33
import { RediSearchProperty } from './CREATE';
44
import { FtSearchParams, parseParamsArgument } from './SEARCH';
55
import { transformTuplesReply } from '@redis/client/dist/lib/commands/generic-transformers';
6+
import { DefaultDialect } from '../dialect/default';
67

78
type LoadField = RediSearchProperty | {
89
identifier: RediSearchProperty;
@@ -12,12 +13,12 @@ type LoadField = RediSearchProperty | {
1213
export const FT_AGGREGATE_STEPS = {
1314
GROUPBY: 'GROUPBY',
1415
SORTBY: 'SORTBY',
15-
APPLY: 'APPLY',
16+
APPLY: 'APPLY',
1617
LIMIT: 'LIMIT',
1718
FILTER: 'FILTER'
1819
} as const;
1920

20-
type FT_AGGREGATE_STEPS = typeof FT_AGGREGATE_STEPS;
21+
type FT_AGGREGATE_STEPS = typeof FT_AGGREGATE_STEPS;
2122

2223
export type FtAggregateStep = FT_AGGREGATE_STEPS[keyof FT_AGGREGATE_STEPS];
2324

@@ -124,6 +125,7 @@ export interface FtAggregateOptions {
124125
TIMEOUT?: number;
125126
STEPS?: Array<GroupByStep | SortStep | ApplyStep | LimitStep | FilterStep>;
126127
PARAMS?: FtSearchParams;
128+
SKIPDIALECT?: boolean;
127129
DIALECT?: number;
128130
}
129131

@@ -249,8 +251,10 @@ export function parseAggregateOptions(parser: CommandParser , options?: FtAggreg
249251

250252
parseParamsArgument(parser, options?.PARAMS);
251253

252-
if (options?.DIALECT !== undefined) {
254+
if (options?.DIALECT) {
253255
parser.push('DIALECT', options.DIALECT.toString());
256+
} else {
257+
parser.push('DIALECT', DefaultDialect);
254258
}
255259
}
256260

packages/search/lib/commands/AGGREGATE_WITHCURSOR.spec.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,14 @@ import { strict as assert } from 'node:assert';
22
import testUtils, { GLOBAL } from '../test-utils';
33
import AGGREGATE_WITHCURSOR from './AGGREGATE_WITHCURSOR';
44
import { parseArgs } from '@redis/client/lib/commands/generic-transformers';
5+
import { DefaultDialect } from '../dialect/default';
56

67
describe('AGGREGATE WITHCURSOR', () => {
78
describe('transformArguments', () => {
89
it('without options', () => {
910
assert.deepEqual(
1011
parseArgs(AGGREGATE_WITHCURSOR, 'index', '*'),
11-
['FT.AGGREGATE', 'index', '*', 'WITHCURSOR']
12+
['FT.AGGREGATE', 'index', '*', 'DIALECT', DefaultDialect, 'WITHCURSOR']
1213
);
1314
});
1415

@@ -17,7 +18,7 @@ describe('AGGREGATE WITHCURSOR', () => {
1718
parseArgs(AGGREGATE_WITHCURSOR, 'index', '*', {
1819
COUNT: 1
1920
}),
20-
['FT.AGGREGATE', 'index', '*', 'WITHCURSOR', 'COUNT', '1']
21+
['FT.AGGREGATE', 'index', '*', 'DIALECT', DefaultDialect, 'WITHCURSOR', 'COUNT', '1']
2122
);
2223
});
2324

@@ -26,7 +27,7 @@ describe('AGGREGATE WITHCURSOR', () => {
2627
parseArgs(AGGREGATE_WITHCURSOR, 'index', '*', {
2728
MAXIDLE: 1
2829
}),
29-
['FT.AGGREGATE', 'index', '*', 'WITHCURSOR', 'MAXIDLE', '1']
30+
['FT.AGGREGATE', 'index', '*', 'DIALECT', DefaultDialect, 'WITHCURSOR', 'MAXIDLE', '1']
3031
);
3132
});
3233
});

packages/search/lib/commands/AGGREGATE_WITHCURSOR.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,14 @@ export default {
2121
IS_READ_ONLY: AGGREGATE.IS_READ_ONLY,
2222
parseCommand(parser: CommandParser, index: RedisArgument, query: RedisArgument, options?: FtAggregateWithCursorOptions) {
2323
AGGREGATE.parseCommand(parser, index, query, options);
24+
2425
parser.push('WITHCURSOR');
2526

26-
if (options?.COUNT !== undefined) {
27+
if (options?.COUNT) {
2728
parser.push('COUNT', options.COUNT.toString());
2829
}
2930

30-
if(options?.MAXIDLE !== undefined) {
31+
if(options?.MAXIDLE) {
3132
parser.push('MAXIDLE', options.MAXIDLE.toString());
3233
}
3334
},

0 commit comments

Comments
 (0)