interface IActorOptimizeQueryOperationFilterPushdownArgs {
    aggressivePushdown: boolean;
    beforeActors?: Actor<
        IActionOptimizeQueryOperation,
        IActorTest,
        IActorOptimizeQueryOperationOutput,
        undefined,
    >[];
    bus: Bus<
        Actor<
            IActionOptimizeQueryOperation,
            IActorTest,
            IActorOptimizeQueryOperationOutput,
            undefined,
        >,
        IActionOptimizeQueryOperation,
        IActorTest,
        IActorOptimizeQueryOperationOutput,
        undefined,
    >;
    busFailMessage?: string;
    maxIterations: number;
    mergeConjunctive: boolean;
    name: string;
    pushEqualityIntoPatterns: boolean;
    pushIntoLeftJoins: boolean;
    splitConjunctive: boolean;
}

Hierarchy (View Summary)

Properties

aggressivePushdown: boolean

If filters should be pushed down as deep as possible. If false, filters will only be pushed down if the source(s) accept them, or if the filter is very selective.

{false}
beforeActors?: Actor<
    IActionOptimizeQueryOperation,
    IActorTest,
    IActorOptimizeQueryOperationOutput,
    undefined,
>[]

Actor that must be registered in the bus before this actor.

bus: Bus<
    Actor<
        IActionOptimizeQueryOperation,
        IActorTest,
        IActorOptimizeQueryOperationOutput,
        undefined,
    >,
    IActionOptimizeQueryOperation,
    IActorTest,
    IActorOptimizeQueryOperationOutput,
    undefined,
>

The bus this actor subscribes to.

busFailMessage?: string

The message that will be configured in the bus for reporting failures.

This message may be a template string that contains references to the executed action. For example, the following templated string is allowed: "RDF dereferencing failed: no actors could handle ${action.handle.mediaType}"

maxIterations: number

The maximum number of full iterations across the query can be done for attempting to push down filters.

{10}
mergeConjunctive: boolean

If nested filters should be merged into conjunctive filters after applying filter pushdown.

{true}
name: string

The name for this actor.

{<rdf:subject>}
pushEqualityIntoPatterns: boolean

If simple equality filters should be pushed into patterns and paths. This only applies to equality filters with terms that are not literals that have no canonical lexical form.

{true}
pushIntoLeftJoins: boolean

If filters should be pushed into left-joins.

{true}
splitConjunctive: boolean

If conjunctive filters should be split into nested filters before applying filter pushdown. This can enable pushing down deeper.

{true}