tidwall
aa1caa6131
Use zero for undefined fields in where expressions
...
This commit fixes an issue where expressions were
silently failing when encountering undefined fields.
Instead they should be treating the undefined field like
the number zero. This is required to stay compatible with
how Tile38 handles zeros.
https://tile38.com/commands/intersects/#fields
Fixes #754
2024-11-05 14:03:23 -07:00
Chris Rice
2451fce391
Add 'slave_repl_offset' to the INFO replication command output
2024-09-03 09:30:54 -07:00
Chris Rice
100c4dd837
Remove extra quote in ROLE command with JSON output
2024-08-02 09:33:15 -07:00
tidwall
193bce17c1
Fix followers not receiving channel messages
...
This commit fixes a bug where the leader was not propagating to
the followers.
See #468
2024-06-26 08:30:50 -07:00
Josh Baker
16055ff745
Merge pull request #743 from iwpnd/fix/whereins
...
fix: whereins defaulting to lower case
2024-06-03 19:38:33 -07:00
Josh Baker
0787085983
Merge pull request #742 from iwpnd/fix/fset/case
...
fix: FSET lowercasing upper case fields
2024-06-03 19:38:21 -07:00
Josh Baker
4ef11351f3
Merge pull request #738 from Kilowhisky/cors_support
...
Add support for CORS in http requests
2024-06-03 19:37:27 -07:00
Benjamin Ramser
a47f02b02d
fix: whereins defaulting to lower case
2024-05-27 22:54:55 +02:00
Benjamin Ramser
718bff54c1
fix: FSET lowercasing upper case fields
...
fixes #741
2024-05-25 12:16:58 +02:00
Kilowhisky
1a437d3855
Access-Control-Allow-Headers is apparently required by the spec
2024-05-06 22:07:07 -07:00
Kilowhisky
4b08376fad
Add support for CORS in http requests
2024-05-06 16:12:44 -07:00
oftenoccur
c3b9b40ee8
chore: fix some typos in comments
...
Signed-off-by: oftenoccur <ezc5@sina.com>
2024-04-11 11:16:44 +08:00
Josh Baker
9e869e04c3
Merge branch 'master' into exists
2024-03-24 22:54:40 -07:00
Chris Rice
c17482afa4
Add EXIST and FEXIST command
2024-03-19 03:19:16 +00:00
Chris Rice
48394af724
Add FGET command
2024-03-18 20:10:04 +00:00
Maxim Kropotov
c78c8b4287
fix #717 not returned metrics
...
expired_keys never incremented
additional metrics not returned from metrics endpoint
2024-02-12 22:26:23 +02:00
tidwall
6dd6e09af9
Allow healthz command without auth
...
Fixes #691
2023-07-31 04:51:14 -07:00
Josh Baker
c1ca106706
Merge pull request #699 from Kilowhisky/fix/698_2
...
Add auth to allowed commands while data is loading
2023-07-31 04:34:56 -07:00
Chris Rice
dbaa9c13a0
Add auth to allowed commands while data is loading
...
(cherry picked from commit 051605909e61bcc9251efaa350cb825436e06912)
2023-07-26 19:46:58 -07:00
Chris Rice
c45170d211
Use the right MSG variable?
2023-07-26 11:47:11 -07:00
Chris Rice
61b5023000
Change PING output to match REDIS protocol
2023-07-06 19:14:28 -07:00
Chris Rice
564b64a758
Syntax matching sugar
2023-07-06 16:29:40 -07:00
Chris Rice
ec47a58ba1
Fix ERR only (P)SUBSCRIBE / (P)UNSUBSCRIBE / PING / QUIT allowed in this context #694
2023-07-06 15:13:07 -07:00
Chris Rice
86d9557790
Fix
2023-06-29 08:03:47 -07:00
Chris Rice
9d072ea247
Bugfix
2023-06-28 19:43:31 -07:00
Chris Rice
f11aedb948
To properly support kubernetes & Sentinel. replica_announce properties should be supported #692
2023-06-28 14:59:28 -07:00
tidwall
0144ca6883
fix missing lock
2023-05-21 08:29:30 -07:00
tidwall
add9873fef
Added ROLE command
...
See #686
2023-05-21 08:22:27 -07:00
tidwall
05fbeabdb4
Add LRU cache for WHEREEVAL script
...
See #685
2023-05-11 03:18:18 -07:00
tidwall
5642fc42cc
Ensure FLUSHDB clears all hook memory references
...
Issue #685
2023-05-10 17:53:55 -07:00
tidwall
4e67d1497c
Fixed fields not persisting
...
This commit fixes a regression in 1.30.0, where an existing
object which has fields will lose those fields when the object
geometry is overwritten using a SET or JSET and no new fields
are provided.
fixes #668
2022-12-29 11:43:24 -07:00
tidwall
44396072a5
Suppress error message when live aof is closed
2022-12-20 05:59:45 -07:00
tidwall
a8c92a07c1
Speed up leader/follower replication
...
This commit lowers the response time for a leader to send
updates to a follower. Should now be nearly instant.
2022-12-14 04:46:28 -07:00
tidwall
e60ea706aa
Fix field names converting to lowercase
2022-12-14 04:23:21 -07:00
tidwall
bd8d8cdc77
Ensure case-insensitve compares
2022-11-22 07:41:33 -07:00
program--
f4ea9a169f
fix: remove explicit type declaration for startedAt
2022-11-11 15:53:16 -08:00
program--
02a614bc6d
fix: removed init(); modified lua function impls based on review
2022-11-11 15:47:33 -08:00
program--
fa74ffa10f
fix: remove package module load entirely, unnecessary
2022-11-09 14:09:36 -08:00
program--
9a531a8945
fix: set package module to nil in lua namespace; prevents calling loaders
2022-11-09 13:50:43 -08:00
program--
ab8e1cc202
fix: handle EVAL vulnerability; open subset of lua modules
2022-11-09 13:33:37 -08:00
tidwall
9c471e3f9c
Replace out old style atomics
2022-11-03 10:07:17 -07:00
tidwall
54590bb452
Add match method to expressions
...
SCAN fleet WHERE "properties.speed > 45 && id.match('truck*')"
2022-10-21 04:20:46 -07:00
tidwall
bdc80a7f70
Added WHERE expressions
...
It's now possible to do:
SCAN fleet WHERE "properties.speed < 25 || properties.speed > 50"
Uses javascript-like syntax using the https://github.com/tidwall/expr package.
Automatically reference fields and GeoJSON properties:
SET fleet truck1 FIELD speed 65 POINT -112 33
Can be queried:
SCAN fleet WHERE "speed > 50"
SCAN fleet WHERE "id == 'truck1'"
SCAN fleet WHERE "speed > 50 && id == 'truck1'"
2022-10-20 17:01:12 -07:00
tidwall
2075bbeae4
Allow for queries GeoJSON properties
...
This commit allows for performing WHERE on the object's GeoJSON
properties member.
For example:
SET fleet truck1 OBJECT '{"type":"Feature","geometry":{"type":"Point","coordinates":[-112,33]},"properties":{"speed":50}}'
You can now do:
SCAN fleet WHERE properties.speed > 50
2022-10-20 14:26:34 -07:00
tidwall
cf7f49fd9b
Add field path queries for json and comparison operators
...
It's now possible to query a JSON field using a GJSON path.
SET fleet truck1 FIELD props '{"speed":58,"name":"Andy"}' POINT 33 -112
You can then use the GJSON type path to return the objects that match the WHERE.
SCAN fleet WHERE props.speed 50 inf
SCAN fleet WHERE props.name Andy Andy
Included in this commit is support for '==', '<', '>', '<=', '>=', and '!='.
The previous queries could be written like:
SCAN fleet WHERE props.speed > 50
SCAN fleet WHERE props.name == Andy
2022-10-20 11:17:01 -07:00
tidwall
6b310cebb5
Fixed zero-field to deleting existing field
2022-10-19 04:36:17 -07:00
tidwall
e1df4dbf78
Better OUTPUT tests
2022-09-27 14:19:57 -07:00
tidwall
8608ed0917
Replace abool/aint with new go 1.19 atomics
2022-09-27 10:15:31 -07:00
tidwall
46927b476f
Better TEST tests
2022-09-27 08:18:17 -07:00
tidwall
659160289c
Better READONLY tests
2022-09-26 17:58:51 -07:00