@Override
    public Optional<ProcessorFilter> fetchByUuid(final String uuid) {
        Objects.requireNonNull(uuid);
        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.UUID.eq(uuid))
                                .fetchOptional())
                .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