+ default String[] getFieldNames() {
+ return null;
+ }
+
+ void generateIterate(
+ PlanContext context,
+ CodeWriter w,
+ long location,
+ int boundMask,
+ Variable[] variables,
+ Expression[] expressions,
+ Expression[] typeConstraintEvidenceParameters);
+ void generateEnforce(
+ PlanContext context,
+ CodeWriter w,
+ long location,
+ Expression[] parameters,
+ Expression[] typeConstraintEvidenceParameters);
+ Type getEnforceEffect();
+ Type getQueryEffect();