Plan execution with PDQ

Similar to planning in order to run PDQ's runtime you have to create a configuration folder with the following files: schema.xml, query.xml, plan.xml and case.properties. The plan.xml contains the plan found during planning, while the case.properties file specifies the runtime parameters.
The syntax to run the PDQ runtime is
java -jar pdq-benchmark.jar runtime -i configuration/folder/path [logging options] [runtime options]

Runtime options

-Dexecutor_type=[PIPELINED, SQL_TREE, SQL_STEP, SQL_WITH]

  • PIPELINED: Volcano-style pipelining iterator execution, where all operators are implemented in the middleware. When using the PIPELINED plan executor, users do also have the option to specify the number of output tuples using the -Dtuples_limit option.
  • SQL_TREE: Executes a query by translating it to a nested SQL query and delegating its execution to PostgreSQL.
  • SQL_STEP: Executes a query by translating it to a sequence of SQL queries and delegating its execution to PostgreSQL. Each query is materialized and possibly relies on a previously materialized one.
  • SQL_WITH: Executes a query by translating it to a SQL WITH query and delegating its execution to PostgreSQL.