PostgreSQL View for active Edges

- removed testSearch
This commit is contained in:
Yevhenii 2025-05-21 12:37:42 +03:00
parent 42f892152f
commit f990cad134
3 changed files with 8 additions and 11 deletions

View File

@ -44,12 +44,10 @@ public interface EdgeRepository extends JpaRepository<EdgeEntity, UUID> {
"WHERE d.id = :edgeId") "WHERE d.id = :edgeId")
EdgeInfoEntity findEdgeInfoById(@Param("edgeId") UUID edgeId); EdgeInfoEntity findEdgeInfoById(@Param("edgeId") UUID edgeId);
@Query(value = "SELECT * " + @Query(value = "SELECT * FROM edge_active_attribute_view edge_active",
"FROM edge_active_attribute_view edge_active " + countQuery = "SELECT count(*) FROM edge_active_attribute_view",
"WHERE (:textSearch IS NULL OR edge_active.name ILIKE CONCAT('%', :textSearch, '%')) " + nativeQuery = true)
"ORDER BY edge_active.id", nativeQuery = true) Page<EdgeEntity> findActiveEdges(Pageable pageable);
Page<EdgeEntity> findActiveEdges(@Param("textSearch") String textSearch,
Pageable pageable);
@Query("SELECT d.id FROM EdgeEntity d WHERE d.tenantId = :tenantId " + @Query("SELECT d.id FROM EdgeEntity d WHERE d.tenantId = :tenantId " +
"AND (:textSearch IS NULL OR ilike(d.name, CONCAT('%', :textSearch, '%')) = true)") "AND (:textSearch IS NULL OR ilike(d.name, CONCAT('%', :textSearch, '%')) = true)")
@ -166,4 +164,5 @@ public interface EdgeRepository extends JpaRepository<EdgeEntity, UUID> {
@Query("SELECT new org.thingsboard.server.common.data.edqs.fields.EdgeFields(e.id, e.createdTime, e.tenantId, e.customerId," + @Query("SELECT new org.thingsboard.server.common.data.edqs.fields.EdgeFields(e.id, e.createdTime, e.tenantId, e.customerId," +
"e.name, e.version, e.type, e.label, e.additionalInfo) FROM EdgeEntity e WHERE e.id > :id ORDER BY e.id") "e.name, e.version, e.type, e.label, e.additionalInfo) FROM EdgeEntity e WHERE e.id > :id ORDER BY e.id")
List<EdgeFields> findNextBatch(@Param("id") UUID id, Limit limit); List<EdgeFields> findNextBatch(@Param("id") UUID id, Limit limit);
} }

View File

@ -68,10 +68,7 @@ public class JpaEdgeDao extends JpaAbstractDao<EdgeEntity, Edge> implements Edge
@Override @Override
public PageData<Edge> findActiveEdges(PageLink pageLink) { public PageData<Edge> findActiveEdges(PageLink pageLink) {
return DaoUtil.toPageData( return DaoUtil.toPageData(edgeRepository.findActiveEdges(DaoUtil.toPageable(pageLink)));
edgeRepository.findActiveEdges(
pageLink.getTextSearch(),
DaoUtil.toPageable(pageLink)));
} }
@Override @Override

View File

@ -89,7 +89,8 @@ SELECT ee.id
FROM edge ee FROM edge ee
JOIN attribute_kv ON ee.id = attribute_kv.entity_id JOIN attribute_kv ON ee.id = attribute_kv.entity_id
JOIN key_dictionary ON attribute_kv.attribute_key = key_dictionary.key_id JOIN key_dictionary ON attribute_kv.attribute_key = key_dictionary.key_id
WHERE attribute_kv.bool_v = true AND key_dictionary.key = 'active'; WHERE attribute_kv.bool_v = true AND key_dictionary.key = 'active'
ORDER BY ee.id;
CREATE OR REPLACE FUNCTION create_or_update_active_alarm( CREATE OR REPLACE FUNCTION create_or_update_active_alarm(
t_id uuid, c_id uuid, a_id uuid, a_created_ts bigint, t_id uuid, c_id uuid, a_id uuid, a_created_ts bigint,