Rule node ids seach query: replaced Page with Slice to exclude count query execution (#10989)
* replaced Page with Slice to exclude count query execution * fixed test since Slice totalPages and totalElements is always 0
This commit is contained in:
parent
b3e78ef20a
commit
159c97ac67
@ -17,6 +17,7 @@ package org.thingsboard.server.dao.sql.rule;
|
||||
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.data.domain.Slice;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.Modifying;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
@ -51,7 +52,7 @@ public interface RuleNodeRepository extends JpaRepository<RuleNodeEntity, UUID>
|
||||
Pageable pageable);
|
||||
|
||||
@Query("SELECT r.id FROM RuleNodeEntity r WHERE r.type = :ruleType AND r.configurationVersion < :version")
|
||||
Page<UUID> findAllRuleNodeIdsByTypeAndVersionLessThan(@Param("ruleType") String ruleType,
|
||||
Slice<UUID> findAllRuleNodeIdsByTypeAndVersionLessThan(@Param("ruleType") String ruleType,
|
||||
@Param("version") int version,
|
||||
Pageable pageable);
|
||||
|
||||
|
||||
@ -22,7 +22,6 @@ import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.thingsboard.common.util.JacksonUtil;
|
||||
import org.thingsboard.server.common.data.StringUtils;
|
||||
import org.thingsboard.server.common.data.id.RuleChainId;
|
||||
import org.thingsboard.server.common.data.id.RuleNodeId;
|
||||
import org.thingsboard.server.common.data.id.TenantId;
|
||||
@ -127,20 +126,15 @@ public class JpaRuleNodeDaoTest extends AbstractJpaDaoTest {
|
||||
|
||||
@Test
|
||||
public void testFindRuleNodeIdsByTypeAndVersionLessThan() {
|
||||
// test - search text ignored
|
||||
PageData<RuleNodeId> ruleNodeIds = ruleNodeDao.findAllRuleNodeIdsByTypeAndVersionLessThan( "A", 1, new PageLink(10, 0, PREFIX_FOR_RULE_NODE_NAME));
|
||||
assertEquals(20, ruleNodeIds.getTotalElements());
|
||||
assertEquals(2, ruleNodeIds.getTotalPages());
|
||||
assertEquals(0, ruleNodeIds.getTotalElements()); // due to DaoUtil.pageToPageData impl for Slice
|
||||
assertEquals(0, ruleNodeIds.getTotalPages()); // due to DaoUtil.pageToPageData impl for Slice
|
||||
assertEquals(10, ruleNodeIds.getData().size());
|
||||
|
||||
ruleNodeIds = ruleNodeDao.findAllRuleNodeIdsByTypeAndVersionLessThan( "A", 1, new PageLink(10, 0));
|
||||
assertEquals(20, ruleNodeIds.getTotalElements());
|
||||
assertEquals(2, ruleNodeIds.getTotalPages());
|
||||
assertEquals(10, ruleNodeIds.getData().size());
|
||||
|
||||
// test - search text ignored
|
||||
ruleNodeIds = ruleNodeDao.findAllRuleNodeIdsByTypeAndVersionLessThan( "A", 1, new PageLink(10, 0, StringUtils.randomAlphabetic(5)));
|
||||
assertEquals(20, ruleNodeIds.getTotalElements());
|
||||
assertEquals(2, ruleNodeIds.getTotalPages());
|
||||
assertEquals(0, ruleNodeIds.getTotalElements()); // due to DaoUtil.pageToPageData impl for Slice
|
||||
assertEquals(0, ruleNodeIds.getTotalPages()); // due to DaoUtil.pageToPageData impl for Slice
|
||||
assertEquals(10, ruleNodeIds.getData().size());
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user