Skip to content

EQUAL PREDICATE #644

@SylvainAssemat

Description

@SylvainAssemat

Hi all

I am trying some tests on the 1.0.0 released yesterday to see if wen can update our 0.9.7 stack without too much regression.

I have an issue on a simple filter query using EntityStream and find out that the double quote seems problematic

💾 BACKINGQUERY : (( @reference:{CLIENTS}) ( @menuId:{"ae11d16c\-33b8\-4ed0\-b5d8\-a7fb5f47bc60"})) java.lang.RuntimeException: redis.clients.jedis.exceptions.JedisDataException: Syntax error at offset 36 near menuId
it seems in EqualPredicate.class , this method is adding the double quote because of i am escaping the hyphen

   private String escapeTagValue(String value) {
      return value.matches(".*[\\s,.<>{}\\[\\]\"':;!@#$%^&*()\\-+=~/].*") ? "{\"" + value + "\"}" : "{" + value + "}";
   }

This method is not present in 0.9.7 so, it 's working as expected .

What do you think ?

Thanks


Complément :

        EqualPredicate condition1 = RDMenu$.REFERENCE.eq(QueryUtils.escape(reference, true));
        EqualPredicate condition2 = RDMenu$.MENU_ID.eq(menuId.replaceAll("-", "\\-"));

        Predicate filter = condition1.and(condition2);

In my class

    @Id
    private String id; // UUID 

    @Indexed
    private String menuId;

In Metamodel :

  public static TextTagField<RDMenu, String> MENU_ID;
  public static TextTagField<RDMenu, String> ID;

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions