mirror of
https://codeberg.org/redict/redict.git
synced 2025-01-23 08:38:27 -05:00
Merge branch 'unstable' of github.com:/antirez/redis into unstable
This commit is contained in:
commit
241d18d954
@ -406,7 +406,7 @@ replicas, or to continue the replication after a disconnection.
|
|||||||
Other C files
|
Other C files
|
||||||
---
|
---
|
||||||
|
|
||||||
* `t_hash.c`, `t_list.c`, `t_set.c`, `t_string.c` and `t_zset.c` contains the implementation of the Redis data types. They implement both an API to access a given data type, and the client commands implementations for these data types.
|
* `t_hash.c`, `t_list.c`, `t_set.c`, `t_string.c`, `t_zset.c` and `t_stream.c` contains the implementation of the Redis data types. They implement both an API to access a given data type, and the client commands implementations for these data types.
|
||||||
* `ae.c` implements the Redis event loop, it's a self contained library which is simple to read and understand.
|
* `ae.c` implements the Redis event loop, it's a self contained library which is simple to read and understand.
|
||||||
* `sds.c` is the Redis string library, check http://github.com/antirez/sds for more information.
|
* `sds.c` is the Redis string library, check http://github.com/antirez/sds for more information.
|
||||||
* `anet.c` is a library to use POSIX networking in a simpler way compared to the raw interface exposed by the kernel.
|
* `anet.c` is a library to use POSIX networking in a simpler way compared to the raw interface exposed by the kernel.
|
||||||
|
2
src/db.c
2
src/db.c
@ -1028,7 +1028,7 @@ void scanDatabaseForReadyLists(redisDb *db) {
|
|||||||
*
|
*
|
||||||
* Returns C_ERR if at least one of the DB ids are out of range, otherwise
|
* Returns C_ERR if at least one of the DB ids are out of range, otherwise
|
||||||
* C_OK is returned. */
|
* C_OK is returned. */
|
||||||
int dbSwapDatabases(int id1, int id2) {
|
int dbSwapDatabases(long id1, long id2) {
|
||||||
if (id1 < 0 || id1 >= server.dbnum ||
|
if (id1 < 0 || id1 >= server.dbnum ||
|
||||||
id2 < 0 || id2 >= server.dbnum) return C_ERR;
|
id2 < 0 || id2 >= server.dbnum) return C_ERR;
|
||||||
if (id1 == id2) return C_OK;
|
if (id1 == id2) return C_OK;
|
||||||
|
@ -507,7 +507,7 @@ void addReplyDouble(client *c, double d) {
|
|||||||
if (c->resp == 2) {
|
if (c->resp == 2) {
|
||||||
addReplyBulkCString(c, d > 0 ? "inf" : "-inf");
|
addReplyBulkCString(c, d > 0 ? "inf" : "-inf");
|
||||||
} else {
|
} else {
|
||||||
addReplyProto(c, d > 0 ? ",inf\r\n" : "-inf\r\n",
|
addReplyProto(c, d > 0 ? ",inf\r\n" : ",-inf\r\n",
|
||||||
d > 0 ? 6 : 7);
|
d > 0 ? 6 : 7);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -61,6 +61,7 @@ set regression_vectors {
|
|||||||
{939895 151 59.149620271823181 65.204186651485145}
|
{939895 151 59.149620271823181 65.204186651485145}
|
||||||
{1412 156 149.29737817929004 15.95807862745508}
|
{1412 156 149.29737817929004 15.95807862745508}
|
||||||
{564862 149 84.062063109158544 -65.685403922426232}
|
{564862 149 84.062063109158544 -65.685403922426232}
|
||||||
|
{1546032440391 16751 -1.8175081637769495 20.665668878082954}
|
||||||
}
|
}
|
||||||
set rv_idx 0
|
set rv_idx 0
|
||||||
|
|
||||||
@ -274,8 +275,19 @@ start_server {tags {"geo"}} {
|
|||||||
foreach place $diff {
|
foreach place $diff {
|
||||||
set mydist [geo_distance $lon $lat $search_lon $search_lat]
|
set mydist [geo_distance $lon $lat $search_lon $search_lat]
|
||||||
set mydist [expr $mydist/1000]
|
set mydist [expr $mydist/1000]
|
||||||
if {($mydist / $radius_km) > 0.999} {incr rounding_errors}
|
if {($mydist / $radius_km) > 0.999} {
|
||||||
|
incr rounding_errors
|
||||||
|
continue
|
||||||
}
|
}
|
||||||
|
if {$mydist < $radius_m} {
|
||||||
|
# This is a false positive for redis since given the
|
||||||
|
# same points the higher precision calculation provided
|
||||||
|
# by TCL shows the point within range
|
||||||
|
incr rounding_errors
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
# Make sure this is a real error and not a rounidng issue.
|
# Make sure this is a real error and not a rounidng issue.
|
||||||
if {[llength $diff] == $rounding_errors} {
|
if {[llength $diff] == $rounding_errors} {
|
||||||
set res $res2; # Error silenced
|
set res $res2; # Error silenced
|
||||||
|
Loading…
Reference in New Issue
Block a user