@Override
    public List<ProcessorFilter> fetchByRunAsUser(final String userUuid) {
        Objects.requireNonNull(userUuid);
        return JooqUtil.contextResult(processorDbConnProvider, context -> context
                        .select()
                        .from(PROCESSOR_FILTER)
                        .join(PROCESSOR_FILTER_TRACKER)
                        .on(PROCESSOR_FILTER.FK_PROCESSOR_FILTER_TRACKER_ID.eq(PROCESSOR_FILTER_TRACKER.ID))
                        .join(PROCESSOR)
                        .on(PROCESSOR_FILTER.FK_PROCESSOR_ID.eq(PROCESSOR.ID))
                        .where(PROCESSOR_FILTER.RUN_AS_USER_UUID.eq(userUuid))
                        .and(PROCESSOR_FILTER.DELETED.isFalse())
                        .fetch())
                .map(this::mapRecord);
    }
Physically delete old processor filters that are logically deleted with an update time older than the threshold.

@param deleteThreshold Only physically delete filters with an update time older than the threshold.
@return The processor filter UUIDs of all the processor filters deleted.
stroom-processor/stroom-processor-impl-db/src/main/java/stroom/processor/impl/db/ProcessorFilterDaoImpl.java