mirror of
https://github.com/fluencelabs/redis
synced 2025-03-18 16:40:50 +00:00
Geo: only one way to specify any given option.
This commit is contained in:
parent
710c05ac2a
commit
cd91beea1c
13
src/geo.c
13
src/geo.c
@ -413,6 +413,7 @@ void geoAddCommand(redisClient *c) {
|
||||
#define RADIUS_MEMBER 2
|
||||
|
||||
/* GEORADIUS key x y radius unit [WITHDIST] [WITHHASH] [WITHCOORD] [ASC|DESC]
|
||||
* [LIMIT count]
|
||||
* GEORADIUSBYMEMBER key member radius unit ... options ... */
|
||||
static void geoRadiusGeneric(redisClient *c, int type) {
|
||||
robj *key = c->argv[1];
|
||||
@ -457,17 +458,17 @@ static void geoRadiusGeneric(redisClient *c, int type) {
|
||||
int remaining = c->argc - base_args;
|
||||
for (int i = 0; i < remaining; i++) {
|
||||
char *arg = c->argv[base_args + i]->ptr;
|
||||
if (!strncasecmp(arg, "withdist", 8))
|
||||
if (!strcasecmp(arg, "withdist")) {
|
||||
withdist = 1;
|
||||
else if (!strcasecmp(arg, "withhash"))
|
||||
} else if (!strcasecmp(arg, "withhash")) {
|
||||
withhash = 1;
|
||||
else if (!strncasecmp(arg, "withcoord", 9))
|
||||
} else if (!strcasecmp(arg, "withcoord")) {
|
||||
withcoords = 1;
|
||||
else if (!strncasecmp(arg, "asc", 3))
|
||||
} else if (!strcasecmp(arg, "asc")) {
|
||||
sort = SORT_ASC;
|
||||
else if (!strncasecmp(arg, "desc", 4))
|
||||
} else if (!strcasecmp(arg, "desc")) {
|
||||
sort = SORT_DESC;
|
||||
else {
|
||||
} else {
|
||||
addReply(c, shared.syntaxerr);
|
||||
return;
|
||||
}
|
||||
|
@ -49,18 +49,18 @@ start_server {tags {"geo"}} {
|
||||
} {{wtc one} 1791873972053020 {union square} 1791875485187452 {central park n/q/r} 1791875761332224 4545 1791875796750882 {lic market} 1791875804419201 q4 1791875830079666 jfk 1791895905559723}
|
||||
|
||||
test {GEORADIUS simple (sorted)} {
|
||||
r georadius nyc -73.9798091 40.7598464 3 km ascending
|
||||
r georadius nyc -73.9798091 40.7598464 3 km asc
|
||||
} {{central park n/q/r} 4545 {union square}}
|
||||
|
||||
test {GEORADIUS withdistance (sorted)} {
|
||||
r georadius nyc -73.9798091 40.7598464 3 km withdistance ascending
|
||||
test {GEORADIUS withdist (sorted)} {
|
||||
r georadius nyc -73.9798091 40.7598464 3 km withdist asc
|
||||
} {{{central park n/q/r} 0.7750} {4545 2.3651} {{union square} 2.7697}}
|
||||
|
||||
test {GEORADIUSBYMEMBER simple (sorted)} {
|
||||
r georadiusbymember nyc "wtc one" 7 km
|
||||
} {{wtc one} {union square} {central park n/q/r} 4545 {lic market}}
|
||||
|
||||
test {GEORADIUSBYMEMBER withdistance (sorted)} {
|
||||
test {GEORADIUSBYMEMBER withdist (sorted)} {
|
||||
r georadiusbymember nyc "wtc one" 7 km withdist
|
||||
} {{{wtc one} 0.0000} {{union square} 3.2544} {{central park n/q/r} 6.7000} {4545 6.1975} {{lic market} 6.8969}}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user