* ParseContext)
*/
@Override
public ParseContext transform(ParseContext pctx) throws SemanticException {
// create a the context for walking operators
NodeProcessorCtx opPartWalkerCtx = new LBOpPartitionWalkerCtx(pctx);
// Retrieve all partitions generated from partition pruner and partition column pruner
PrunerUtils.walkOperatorTree(pctx, opPartWalkerCtx, LBPartitionProcFactory.getFilterProc(),
LBPartitionProcFactory.getDefaultProc());
PrunedPartitionList partsList = ((LBOpPartitionWalkerCtx) opPartWalkerCtx).getPartitions();
if (partsList != null) {
Set<Partition> parts = null;
parts = partsList.getConfirmedPartns();
parts.addAll(partsList.getUnknownPartns());
if ((parts != null) && (parts.size() > 0)) {
for (Partition part : parts) {
// only process partition which is skewed and list bucketed
if (ListBucketingPrunerUtils.isListBucketingPart(part)) {
// create a the context for walking operators
NodeProcessorCtx opWalkerCtx = new LBOpWalkerCtx(pctx.getOpToPartToSkewedPruner(),
part);
// walk operator tree to create expression tree for list bucketing
PrunerUtils.walkOperatorTree(pctx, opWalkerCtx, LBProcFactory.getFilterProc(),
LBProcFactory.getDefaultProc());