Opchain Converter Plugin
Learn how to implement a custom OpChain converter for multi-stage engine extensibility
Overview
Why Use OpChain Converter SPI?
Implementing an OpChain Converter
package org.apache.pinot.query.runtime.operator;
public interface OpChainConverter {
/**
* Converts a logical plan node into an OpChain for execution.
*
* @param context the plan request context containing query metadata
* @param planNode the logical query plan node to convert
* @return an OpChain ready for execution, or null if this converter cannot handle this plan
*/
OpChain convert(PlanRequestContext context, PlanNode planNode);
/**
* Returns the priority of this converter. Higher priority converters are selected first.
* When multiple converters have the same priority, they are ordered by converter ID.
*
* @return the priority value (higher = higher priority)
*/
int priority();
/**
* Returns a unique identifier for this converter.
*
* @return the converter ID
*/
String getId();
}Registering Your OpChain Converter
Priority and Selection
Example: Custom Converter Implementation
Default Implementation
Testing Your OpChain Converter
Related Documentation
Last updated
Was this helpful?

