if (node instanceof ConstantExpression)
return (ConstantExpression)node;
TPreparedExpression expr = assembleExpression(node, null, null);
TPreptimeValue preptimeValue = expr.evaluateConstant(planContext.getQueryContext());
if (preptimeValue == null)
throw new AkibanInternalException("required constant expression: " + expr);
ValueSource valueSource = preptimeValue.value();
if (valueSource == null)
throw new AkibanInternalException("required constant expression: " + expr);
if (node instanceof ConditionExpression) {
Boolean value = valueSource.isNull() ? null : valueSource.getBoolean();
return new BooleanConstantExpression(value);
}
else {