Commit Graph

373 Commits

Author SHA1 Message Date
Josh Baker 1b34db46a4
Merge pull request #731 from oftenoccur/master
chore: fix some typos in comments
2024-06-03 19:36:24 -07:00
tidwall 51e6862797 Fix field floating point parsing misrepresentation
This commit fixes an issue where fields with floating points
that have zero prefixes and underscores are being parsed as
numbers.

Now those are treated as string values.

See #736
2024-05-03 18:14:06 -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
Josh Baker ee61cd11c1
Merge pull request #702 from LLluma/bug_sqs_url_china_region
[BUG] Fix AWS SQS base domain parsing for China region
2023-11-20 11:27:32 -07:00
Chris Rice c113180d0b Add support for 'none' authentication for kafka while still allowing SSL 2023-09-08 08:58:23 -07:00
Yaroslav Shumlianskyi 8ac31c6234 [BUG] Fix AWS SQS base domain parsing for China region
For AWS China region base domain is slightly different than for
the rest world. It is `amazon.com.cn`.
Currently AWS domain is hard coded in the `sqs.go`. Would be nice if
that will be configured parameter.

But this is a minimal posible change which is not breaking exist code
and make possible to use it for AWS China region.
2023-08-22 21:56:20 +03: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 fd72c5e539 Update dependencies
Update golang.org/x/text and xdg-go/scram

Fixes #671
2023-05-11 03:46:33 -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 9ea0803ce0 Merge branch 'master' of https://github.com/pacaj2am/tile38 into pacaj2am-master 2023-05-06 06:56:00 -07:00
uwer c63468a704 disabled AMQP queue and binding for type topic 2023-05-03 16:22:37 +10: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
Josh Baker cc942b2c1c
Merge pull request #663 from program--/lua-sanitize
Prevent certain Lua modules/functions from loading
2022-11-21 04:56:02 -07:00
tidwall 6b8211c468 Fixed invalid BOUNDS result
This commit ensures that BOUNDS always returns Polygon.
2022-11-21 04:47:56 -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
tidwall 588207d162 Added AOFSHINK tests 2022-09-26 16:43:55 -07:00