exprNodeConstantDesc d = (exprNodeConstantDesc)desc;
return d.getValue() == null;
} else if (desc instanceof exprNodeNullDesc) {
return false;
} else if (desc instanceof exprNodeFieldDesc) {
exprNodeFieldDesc d = (exprNodeFieldDesc)desc;
return mightBeUnknown(d.getDesc());
} else if (desc instanceof exprNodeFuncDesc) {
exprNodeFuncDesc d = (exprNodeFuncDesc)desc;
for(int i=0; i<d.getChildren().size(); i++) {
if (mightBeUnknown(d.getChildExprs().get(i))) {
return true;
}
}
return false;
} else if (desc instanceof exprNodeGenericFuncDesc) {
exprNodeGenericFuncDesc d = (exprNodeGenericFuncDesc)desc;
for(int i=0; i<d.getChildren().size(); i++) {
if (mightBeUnknown(d.getChildExprs().get(i))) {
return true;
}
}
return false;
} else if (desc instanceof exprNodeColumnDesc) {