@@ -1661,38 +1661,51 @@ private SelectionSummary getReprocessSelectionSummary(final Collection<Condition
1661
1661
final int offset ,
1662
1662
final int numberOfRows ,
1663
1663
final Set <Integer > usedValKeys ) {
1664
- return JooqUtil .contextResult (metaDbConnProvider , context ->
1665
- metaExpressionMapper .addJoins (context
1666
- .select (
1667
- DSL .countDistinct (parent .ID ),
1668
- DSL .countDistinct (parent .FEED_ID ),
1669
- DSL .groupConcatDistinct (parentFeed .NAME )
1670
- .separator (GROUP_CONCAT_DELIMITER ),
1671
- DSL .countDistinct (parent .TYPE_ID ),
1672
- DSL .groupConcatDistinct (parentType .NAME )
1673
- .separator (GROUP_CONCAT_DELIMITER ),
1674
- DSL .countDistinct (meta .PROCESSOR_ID ),
1675
- DSL .countDistinct (metaProcessor .PIPELINE_UUID ),
1676
- DSL .countDistinct (parent .STATUS ),
1677
- DSL .groupConcatDistinct (parent .STATUS )
1678
- .separator (GROUP_CONCAT_DELIMITER ),
1679
- DSL .min (parent .CREATE_TIME ),
1680
- DSL .max (parent .CREATE_TIME )
1681
- )
1682
- .from (meta )
1683
- .straightJoin (metaFeed ).on (meta .FEED_ID .eq (metaFeed .ID ))
1684
- .straightJoin (metaType ).on (meta .TYPE_ID .eq (metaType .ID ))
1685
- .leftOuterJoin (metaProcessor ).on (meta .PROCESSOR_ID .eq (metaProcessor .ID ))
1686
- .leftOuterJoin (parent ).on (meta .PARENT_ID .eq (parent .ID ))
1687
- .straightJoin (parentFeed ).on (parent .FEED_ID .eq (parentFeed .ID ))
1688
- .straightJoin (parentType ).on (parent .TYPE_ID .eq (parentType .ID )),
1689
- meta .ID ,
1690
- usedValKeys )
1691
- .where (conditions )
1692
- .and (parent .ID .isNotNull ())
1693
- .and (parent .STATUS .eq (MetaStatusId .getPrimitiveValue (Status .UNLOCKED )))
1694
- .limit (offset , numberOfRows )
1695
- .fetchOptional ())
1664
+ // CheckStyle is a bit fussy about this block
1665
+ return JooqUtil .contextResult (
1666
+ metaDbConnProvider ,
1667
+ context -> {
1668
+ final var baseQuery = context .select (
1669
+ DSL .countDistinct (parent .ID ),
1670
+ DSL .countDistinct (parent .FEED_ID ),
1671
+ DSL .groupConcatDistinct (parentFeed .NAME )
1672
+ .separator (GROUP_CONCAT_DELIMITER ),
1673
+ DSL .countDistinct (parent .TYPE_ID ),
1674
+ DSL .groupConcatDistinct (parentType .NAME )
1675
+ .separator (GROUP_CONCAT_DELIMITER ),
1676
+ DSL .countDistinct (meta .PROCESSOR_ID ),
1677
+ DSL .countDistinct (metaProcessor .PIPELINE_UUID ),
1678
+ DSL .countDistinct (parent .STATUS ),
1679
+ DSL .groupConcatDistinct (parent .STATUS )
1680
+ .separator (GROUP_CONCAT_DELIMITER ),
1681
+ DSL .min (parent .CREATE_TIME ),
1682
+ DSL .max (parent .CREATE_TIME )
1683
+ )
1684
+ .from (meta )
1685
+ .straightJoin (metaFeed ).on (meta .FEED_ID .eq (metaFeed .ID ))
1686
+ .straightJoin (metaType ).on (meta .TYPE_ID .eq (metaType .ID ))
1687
+ .leftOuterJoin (metaProcessor ).on (meta .PROCESSOR_ID .eq (metaProcessor .ID ))
1688
+ .leftOuterJoin (parent ).on (meta .PARENT_ID .eq (parent .ID ))
1689
+ .straightJoin (parentFeed ).on (parent .FEED_ID .eq (parentFeed .ID ))
1690
+ .straightJoin (parentType ).on (parent .TYPE_ID .eq (parentType .ID ));
1691
+
1692
+ // Status predicates need to be consistent with those in
1693
+ // stroom.processor.impl.ProcessorTaskCreatorImpl.runSelectMetaQuery
1694
+ // The default status=Unlocked term gets removed by the UI prior to
1695
+ // getting here.
1696
+ final var sql = metaExpressionMapper .addJoins (
1697
+ baseQuery ,
1698
+ meta .ID ,
1699
+ usedValKeys )
1700
+ .where (conditions )
1701
+ .and (parent .ID .isNotNull ())
1702
+ .and (parent .STATUS .notEqual (MetaStatusId .getPrimitiveValue (Status .DELETED )))
1703
+ .and (meta .STATUS .notEqual (MetaStatusId .getPrimitiveValue (Status .DELETED )))
1704
+ .limit (offset , numberOfRows );
1705
+
1706
+ LOGGER .debug ("getReprocessSelectionSummary() - sql:\n {}" , sql );
1707
+ return sql .fetchOptional ();
1708
+ })
1696
1709
.map (record -> {
1697
1710
final Set <String > distinctFeeds = splitGroupConcat (record .get (2 , String .class ));
1698
1711
final Set <String > distinctTypes = splitGroupConcat (record .get (4 , String .class ));
0 commit comments