Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-13919

There's no way to project the key for Ickle query

This issue belongs to an archived project. You can view it, but you can't modify it. Learn more

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Obsolete
    • Icon: Major Major
    • None
    • 13.0.10.Final
    • Indexing
    • None

      There's now way to project the key for Ickle query. You can project the key in Infinispan 9. The SearchManager, QueryBuilder and CacheQuery is removed. It's replaced by Ickle query. But there's no way for it. And here's an example for the infinispan 9.

              SearchManager searchManager = distributedDataAPI.getSearchManager();
              QueryBuilder queryBuilder = searchManager.buildQueryBuilderForClass(ClientChannelGroupMemberImpl.class).get();
              Query query0 = queryBuilder.keyword().onField("belongToClientChannelGroupId").matching(clientChannelGroupId).createQuery();
              Query query1 = queryBuilder.keyword().onField("memberId").matching(memberId).createQuery();
              Query query = queryBuilder.bool().must(query0).must(query1).createQuery();
              CacheQuery<Object[]> cacheQuery = searchManager.getQuery(query, ClientChannelGroupMemberImpl.class);
              cacheQuery.projection(ProjectionConstants.KEY);
              List<Object[]> clientChannelGroupMemberKeys = cacheQuery.list();
              if (clientChannelGroupMemberKeys.size() == 1) {
                  DataRef<ClientChannelGroupMemberImpl> dataRef = distributedDataAPI.getRef((String) clientChannelGroupMemberKeys.get(0)[0]);
                  distributedDataAPI.remove(dataRef.get());
              } 

              fercoli Fabio Massimo Ercoli
              61304189@qq.com Jie Situ (Inactive)
              Archiver:
              rhn-support-adongare Amol Dongare

                Created:
                Updated:
                Resolved:
                Archived: