You've already forked node-redis
mirror of
https://github.com/redis/node-redis.git
synced 2025-08-07 13:22:56 +03:00
feat(search): Set default dialect to 2 for Redis Search commands (#2895)
- The default dialect `DEFAULT_DIALECT` is now set to '2' - Automatically append DIALECT parameter to search commands when not explicitly specified
This commit is contained in:
@@ -2,13 +2,14 @@ import { strict as assert } from 'node:assert';
|
||||
import testUtils, { GLOBAL } from '../test-utils';
|
||||
import AGGREGATE from './AGGREGATE';
|
||||
import { parseArgs } from '@redis/client/lib/commands/generic-transformers';
|
||||
import { DEFAULT_DIALECT } from '../dialect/default';
|
||||
|
||||
describe('AGGREGATE', () => {
|
||||
describe('AGGREGATE', () => {
|
||||
describe('transformArguments', () => {
|
||||
it('without options', () => {
|
||||
assert.deepEqual(
|
||||
parseArgs(AGGREGATE, 'index', '*'),
|
||||
['FT.AGGREGATE', 'index', '*']
|
||||
['FT.AGGREGATE', 'index', '*', 'DIALECT', DEFAULT_DIALECT]
|
||||
);
|
||||
});
|
||||
|
||||
@@ -17,14 +18,14 @@ describe('AGGREGATE', () => {
|
||||
parseArgs(AGGREGATE, 'index', '*', {
|
||||
VERBATIM: true
|
||||
}),
|
||||
['FT.AGGREGATE', 'index', '*', 'VERBATIM']
|
||||
['FT.AGGREGATE', 'index', '*', 'VERBATIM', 'DIALECT', DEFAULT_DIALECT]
|
||||
);
|
||||
});
|
||||
|
||||
it('with ADDSCORES', () => {
|
||||
assert.deepEqual(
|
||||
parseArgs(AGGREGATE, 'index', '*', { ADDSCORES: true }),
|
||||
['FT.AGGREGATE', 'index', '*', 'ADDSCORES']
|
||||
['FT.AGGREGATE', 'index', '*', 'ADDSCORES', 'DIALECT', DEFAULT_DIALECT]
|
||||
);
|
||||
});
|
||||
|
||||
@@ -36,7 +37,7 @@ describe('AGGREGATE', () => {
|
||||
parseArgs(AGGREGATE, 'index', '*', {
|
||||
LOAD: '@property'
|
||||
}),
|
||||
['FT.AGGREGATE', 'index', '*', 'LOAD', '1', '@property']
|
||||
['FT.AGGREGATE', 'index', '*', 'LOAD', '1', '@property', 'DIALECT', DEFAULT_DIALECT]
|
||||
);
|
||||
});
|
||||
|
||||
@@ -47,7 +48,7 @@ describe('AGGREGATE', () => {
|
||||
identifier: '@property'
|
||||
}
|
||||
}),
|
||||
['FT.AGGREGATE', 'index', '*', 'LOAD', '1', '@property']
|
||||
['FT.AGGREGATE', 'index', '*', 'LOAD', '1', '@property', 'DIALECT', DEFAULT_DIALECT]
|
||||
);
|
||||
});
|
||||
});
|
||||
@@ -60,7 +61,7 @@ describe('AGGREGATE', () => {
|
||||
AS: 'alias'
|
||||
}
|
||||
}),
|
||||
['FT.AGGREGATE', 'index', '*', 'LOAD', '3', '@property', 'AS', 'alias']
|
||||
['FT.AGGREGATE', 'index', '*', 'LOAD', '3', '@property', 'AS', 'alias', 'DIALECT', DEFAULT_DIALECT]
|
||||
);
|
||||
});
|
||||
});
|
||||
@@ -70,7 +71,7 @@ describe('AGGREGATE', () => {
|
||||
parseArgs(AGGREGATE, 'index', '*', {
|
||||
LOAD: ['@1', '@2']
|
||||
}),
|
||||
['FT.AGGREGATE', 'index', '*', 'LOAD', '2', '@1', '@2']
|
||||
['FT.AGGREGATE', 'index', '*', 'LOAD', '2', '@1', '@2', 'DIALECT', DEFAULT_DIALECT]
|
||||
);
|
||||
});
|
||||
});
|
||||
@@ -89,7 +90,7 @@ describe('AGGREGATE', () => {
|
||||
}
|
||||
}]
|
||||
}),
|
||||
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'COUNT', '0']
|
||||
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'COUNT', '0', 'DIALECT', DEFAULT_DIALECT]
|
||||
);
|
||||
});
|
||||
|
||||
@@ -104,7 +105,7 @@ describe('AGGREGATE', () => {
|
||||
}
|
||||
}]
|
||||
}),
|
||||
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'COUNT', '0', 'AS', 'count']
|
||||
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'COUNT', '0', 'AS', 'count', 'DIALECT', DEFAULT_DIALECT]
|
||||
);
|
||||
});
|
||||
});
|
||||
@@ -121,7 +122,7 @@ describe('AGGREGATE', () => {
|
||||
}
|
||||
}]
|
||||
}),
|
||||
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '1', '@property', 'REDUCE', 'COUNT', '0']
|
||||
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '1', '@property', 'REDUCE', 'COUNT', '0', 'DIALECT', DEFAULT_DIALECT]
|
||||
);
|
||||
});
|
||||
|
||||
@@ -136,7 +137,7 @@ describe('AGGREGATE', () => {
|
||||
}
|
||||
}]
|
||||
}),
|
||||
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '2', '@1', '@2', 'REDUCE', 'COUNT', '0']
|
||||
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '2', '@1', '@2', 'REDUCE', 'COUNT', '0', 'DIALECT', DEFAULT_DIALECT]
|
||||
);
|
||||
});
|
||||
});
|
||||
@@ -153,7 +154,7 @@ describe('AGGREGATE', () => {
|
||||
}
|
||||
}]
|
||||
}),
|
||||
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'COUNT_DISTINCT', '1', '@property']
|
||||
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'COUNT_DISTINCT', '1', '@property', 'DIALECT', DEFAULT_DIALECT]
|
||||
);
|
||||
});
|
||||
|
||||
@@ -168,7 +169,7 @@ describe('AGGREGATE', () => {
|
||||
}
|
||||
}]
|
||||
}),
|
||||
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'COUNT_DISTINCTISH', '1', '@property']
|
||||
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'COUNT_DISTINCTISH', '1', '@property', 'DIALECT', DEFAULT_DIALECT]
|
||||
);
|
||||
});
|
||||
|
||||
@@ -183,7 +184,7 @@ describe('AGGREGATE', () => {
|
||||
}
|
||||
}]
|
||||
}),
|
||||
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'SUM', '1', '@property']
|
||||
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'SUM', '1', '@property', 'DIALECT', DEFAULT_DIALECT]
|
||||
);
|
||||
});
|
||||
|
||||
@@ -198,7 +199,7 @@ describe('AGGREGATE', () => {
|
||||
}
|
||||
}]
|
||||
}),
|
||||
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'MIN', '1', '@property']
|
||||
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'MIN', '1', '@property', 'DIALECT', DEFAULT_DIALECT]
|
||||
);
|
||||
});
|
||||
|
||||
@@ -213,7 +214,7 @@ describe('AGGREGATE', () => {
|
||||
}
|
||||
}]
|
||||
}),
|
||||
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'MAX', '1', '@property']
|
||||
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'MAX', '1', '@property', 'DIALECT', DEFAULT_DIALECT]
|
||||
);
|
||||
});
|
||||
|
||||
@@ -228,7 +229,7 @@ describe('AGGREGATE', () => {
|
||||
}
|
||||
}]
|
||||
}),
|
||||
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'AVG', '1', '@property']
|
||||
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'AVG', '1', '@property', 'DIALECT', DEFAULT_DIALECT]
|
||||
);
|
||||
});
|
||||
it('STDDEV', () => {
|
||||
@@ -242,7 +243,7 @@ describe('AGGREGATE', () => {
|
||||
}
|
||||
}]
|
||||
}),
|
||||
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'STDDEV', '1', '@property']
|
||||
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'STDDEV', '1', '@property', 'DIALECT', DEFAULT_DIALECT]
|
||||
);
|
||||
});
|
||||
|
||||
@@ -258,7 +259,7 @@ describe('AGGREGATE', () => {
|
||||
}
|
||||
}]
|
||||
}),
|
||||
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'QUANTILE', '2', '@property', '0.5']
|
||||
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'QUANTILE', '2', '@property', '0.5', 'DIALECT', DEFAULT_DIALECT]
|
||||
);
|
||||
});
|
||||
|
||||
@@ -273,7 +274,7 @@ describe('AGGREGATE', () => {
|
||||
}
|
||||
}]
|
||||
}),
|
||||
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'TOLIST', '1', '@property']
|
||||
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'TOLIST', '1', '@property', 'DIALECT', DEFAULT_DIALECT]
|
||||
);
|
||||
});
|
||||
|
||||
@@ -289,7 +290,7 @@ describe('AGGREGATE', () => {
|
||||
}
|
||||
}]
|
||||
}),
|
||||
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'FIRST_VALUE', '1', '@property']
|
||||
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'FIRST_VALUE', '1', '@property', 'DIALECT', DEFAULT_DIALECT]
|
||||
);
|
||||
});
|
||||
|
||||
@@ -307,7 +308,7 @@ describe('AGGREGATE', () => {
|
||||
}
|
||||
}]
|
||||
}),
|
||||
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'FIRST_VALUE', '3', '@property', 'BY', '@by']
|
||||
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'FIRST_VALUE', '3', '@property', 'BY', '@by', 'DIALECT', DEFAULT_DIALECT]
|
||||
);
|
||||
});
|
||||
|
||||
@@ -326,7 +327,7 @@ describe('AGGREGATE', () => {
|
||||
}
|
||||
}]
|
||||
}),
|
||||
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'FIRST_VALUE', '3', '@property', 'BY', '@by']
|
||||
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'FIRST_VALUE', '3', '@property', 'BY', '@by', 'DIALECT', DEFAULT_DIALECT]
|
||||
);
|
||||
});
|
||||
});
|
||||
@@ -346,7 +347,7 @@ describe('AGGREGATE', () => {
|
||||
}
|
||||
}]
|
||||
}),
|
||||
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'FIRST_VALUE', '4', '@property', 'BY', '@by', 'ASC']
|
||||
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'FIRST_VALUE', '4', '@property', 'BY', '@by', 'ASC', 'DIALECT', DEFAULT_DIALECT]
|
||||
);
|
||||
});
|
||||
});
|
||||
@@ -364,7 +365,7 @@ describe('AGGREGATE', () => {
|
||||
}
|
||||
}]
|
||||
}),
|
||||
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'RANDOM_SAMPLE', '2', '@property', '1']
|
||||
['FT.AGGREGATE', 'index', '*', 'GROUPBY', '0', 'REDUCE', 'RANDOM_SAMPLE', '2', '@property', '1', 'DIALECT', DEFAULT_DIALECT]
|
||||
);
|
||||
});
|
||||
});
|
||||
@@ -378,7 +379,7 @@ describe('AGGREGATE', () => {
|
||||
BY: '@by'
|
||||
}]
|
||||
}),
|
||||
['FT.AGGREGATE', 'index', '*', 'SORTBY', '1', '@by']
|
||||
['FT.AGGREGATE', 'index', '*', 'SORTBY', '1', '@by', 'DIALECT', DEFAULT_DIALECT]
|
||||
);
|
||||
});
|
||||
|
||||
@@ -390,7 +391,7 @@ describe('AGGREGATE', () => {
|
||||
BY: ['@1', '@2']
|
||||
}]
|
||||
}),
|
||||
['FT.AGGREGATE', 'index', '*', 'SORTBY', '2', '@1', '@2']
|
||||
['FT.AGGREGATE', 'index', '*', 'SORTBY', '2', '@1', '@2', 'DIALECT', DEFAULT_DIALECT]
|
||||
);
|
||||
});
|
||||
|
||||
@@ -403,7 +404,7 @@ describe('AGGREGATE', () => {
|
||||
MAX: 1
|
||||
}]
|
||||
}),
|
||||
['FT.AGGREGATE', 'index', '*', 'SORTBY', '3', '@by', 'MAX', '1']
|
||||
['FT.AGGREGATE', 'index', '*', 'SORTBY', '3', '@by', 'MAX', '1', 'DIALECT', DEFAULT_DIALECT]
|
||||
);
|
||||
});
|
||||
});
|
||||
@@ -417,7 +418,7 @@ describe('AGGREGATE', () => {
|
||||
AS: 'as'
|
||||
}]
|
||||
}),
|
||||
['FT.AGGREGATE', 'index', '*', 'APPLY', '@field + 1', 'AS', 'as']
|
||||
['FT.AGGREGATE', 'index', '*', 'APPLY', '@field + 1', 'AS', 'as', 'DIALECT', DEFAULT_DIALECT]
|
||||
);
|
||||
});
|
||||
|
||||
@@ -430,7 +431,7 @@ describe('AGGREGATE', () => {
|
||||
size: 1
|
||||
}]
|
||||
}),
|
||||
['FT.AGGREGATE', 'index', '*', 'LIMIT', '0', '1']
|
||||
['FT.AGGREGATE', 'index', '*', 'LIMIT', '0', '1', 'DIALECT', DEFAULT_DIALECT]
|
||||
);
|
||||
});
|
||||
|
||||
@@ -442,7 +443,7 @@ describe('AGGREGATE', () => {
|
||||
expression: '@field != ""'
|
||||
}]
|
||||
}),
|
||||
['FT.AGGREGATE', 'index', '*', 'FILTER', '@field != ""']
|
||||
['FT.AGGREGATE', 'index', '*', 'FILTER', '@field != ""', 'DIALECT', DEFAULT_DIALECT]
|
||||
);
|
||||
});
|
||||
});
|
||||
@@ -454,7 +455,7 @@ describe('AGGREGATE', () => {
|
||||
param: 'value'
|
||||
}
|
||||
}),
|
||||
['FT.AGGREGATE', 'index', '*', 'PARAMS', '2', 'param', 'value']
|
||||
['FT.AGGREGATE', 'index', '*', 'PARAMS', '2', 'param', 'value', 'DIALECT', DEFAULT_DIALECT]
|
||||
);
|
||||
});
|
||||
|
||||
@@ -470,7 +471,7 @@ describe('AGGREGATE', () => {
|
||||
it('with TIMEOUT', () => {
|
||||
assert.deepEqual(
|
||||
parseArgs(AGGREGATE, 'index', '*', { TIMEOUT: 10 }),
|
||||
['FT.AGGREGATE', 'index', '*', 'TIMEOUT', '10']
|
||||
['FT.AGGREGATE', 'index', '*', 'TIMEOUT', '10', 'DIALECT', DEFAULT_DIALECT]
|
||||
);
|
||||
});
|
||||
});
|
||||
|
Reference in New Issue
Block a user