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
tidwall
ad8d40dee5
Better AOF/AOFMD5 tests
2022-09-26 15:43:14 -07:00
tidwall
c093b041e1
Parallel integration tests
2022-09-26 13:26:46 -07:00
tidwall
3cb8e0509a
Thread safe log and support for concurrent tile38 instances
2022-09-26 10:02:02 -07:00
tidwall
906824323b
More graceful Tile38 shutdown
2022-09-25 06:28:17 -07:00
tidwall
f2c3b3924a
wip - aof tests
2022-09-25 03:54:22 -07:00
tidwall
13ceb7da41
Removed global variables from core package
...
The core package uses global variables that keep from having
more than one Tile38 instance runnning in the same process.
Move the core variables in the server.Options type which are
uniquely stated per Server instance.
The build variables are still present in the core package.
2022-09-24 15:44:32 -07:00
tidwall
0301545fe6
Better INFO tests
2022-09-24 14:28:47 -07:00
tidwall
1001de7311
Refactor for better coverage
2022-09-24 14:01:36 -07:00
tidwall
891fd10ef6
Added bson tests
2022-09-24 13:57:03 -07:00
tidwall
d8ecbba0be
Better CLIENT tests
2022-09-24 13:41:36 -07:00
tidwall
e6cced4c4a
Fix hang on empty RESP response
2022-09-24 07:22:39 -07:00
tidwall
5460998086
wip - fixing the empty response error
2022-09-24 06:22:58 -07:00
tidwall
9c8e7e90e1
Clean up some tests
2022-09-23 17:54:49 -07:00
tidwall
5c455cbe10
Better HEALTHZ tests
2022-09-23 17:34:09 -07:00
tidwall
5bcef43894
Better KEYS tests
2022-09-23 16:12:32 -07:00
tidwall
295a9c45a8
Better SET/PERSIST/TTL/STATS tests
2022-09-23 15:29:46 -07:00
tidwall
7fa2dc4419
Better FSET tests
...
Execute oom check immediately after setting maxmemory
2022-09-23 12:42:39 -07:00
tidwall
d7ad01e593
Better FLUSHDB/EXPIRES tests
2022-09-23 11:40:48 -07:00
tidwall
960c860b3a
Better RENAME/RENAMENX tests
2022-09-23 11:18:01 -07:00
tidwall
ede1ce0269
Better GET/DROP tests
2022-09-23 10:42:43 -07:00
tidwall
db380a4fee
Better DEL/PDEL/TYPE tests
2022-09-23 09:04:01 -07:00
tidwall
ef95f04aca
Better coverage BOUNDS
2022-09-23 07:51:05 -07:00
tidwall
a824d58419
Minor optimization to avoid unneeded field merging
2022-09-22 14:22:45 -07:00
tidwall
a452d45a1e
Merge fix follower auth fix
2022-09-22 04:46:18 -07:00
tidwall
0b2814d8e0
Fix follower not authenticating after an aofshrink
2022-09-21 18:44:09 -07:00
tidwall
40dddd2620
Update btree and minor optz
2022-09-21 18:29:01 -07:00
tidwall
ac0f170477
Keep struct file in tree
2022-09-21 10:42:13 -07:00
tidwall
4b71083fae
Binary objects
2022-09-21 10:40:37 -07:00
tidwall
def9c173bf
Remove created field
2022-09-21 10:03:53 -07:00
tidwall
2c643996e7
Immutable Object type
2022-09-20 14:20:53 -07:00
tidwall
ba9a767988
Changed the collection rectangle dimension type
...
Previously used float64s, now using float32s.
Saving about 15% on rectangle memory.
Uses the Roundoff trick from Sqlite.
2022-09-19 17:51:14 -07:00