diff --git a/object/service.proto b/object/service.proto index dbbb8af..6daad81 100644 --- a/object/service.proto +++ b/object/service.proto @@ -496,6 +496,9 @@ message SearchRequest { // objects. Most human users expect to get only object they can directly // work with. In that case, `$Object:ROOT` filter should be used. // + // If `match_type` field is numerical, both `value` field and object + // attribute MUST be base-10 numbers. + // // By default `key` field refers to the corresponding object's `Attribute`. // Some Object's header fields can also be accessed by adding `$Object:` // prefix to the name. Here is the list of fields available via this prefix: diff --git a/object/types.proto b/object/types.proto index 1d8a749..7a85fcb 100644 --- a/object/types.proto +++ b/object/types.proto @@ -47,6 +47,18 @@ enum MatchType { // String prefix match COMMON_PREFIX = 4; + + // Numerical 'greater than' + NUM_GT = 5; + + // Numerical 'greater or equal than' + NUM_GE = 6; + + // Numerical 'less than' + NUM_LT = 7; + + // Numerical 'less or equal than' + NUM_LE = 8; } // Short header fields diff --git a/proto-docs/object.md b/proto-docs/object.md index 7913487..c170e5b 100644 --- a/proto-docs/object.md +++ b/proto-docs/object.md @@ -771,6 +771,9 @@ container, including Regular object, Tombstones and Storage Group objects. Most human users expect to get only object they can directly work with. In that case, `$Object:ROOT` filter should be used. +If `match_type` field is numerical, both `value` field and object +attribute MUST be base-10 numbers. + By default `key` field refers to the corresponding object's `Attribute`. Some Object's header fields can also be accessed by adding `$Object:` prefix to the name. Here is the list of fields available via this prefix: @@ -1021,6 +1024,10 @@ Type of match expression | STRING_NOT_EQUAL | 2 | Full string mismatch | | NOT_PRESENT | 3 | Lack of key | | COMMON_PREFIX | 4 | String prefix match | +| NUM_GT | 5 | Numerical 'greater than' | +| NUM_GE | 6 | Numerical 'greater or equal than' | +| NUM_LT | 7 | Numerical 'less than' | +| NUM_LE | 8 | Numerical 'less or equal than' |