static void deparseExpr()

in ext/pg_query/pg_query_deparse.c [250:329]


static void deparseExpr(StringInfo str, Node *node)
{
	switch (nodeTag(node))
	{
		case T_FuncCall:
			deparseFuncCall(str, castNode(FuncCall, node));
			break;
		case T_XmlExpr:
			deparseXmlExpr(str, castNode(XmlExpr, node));
			break;
		case T_TypeCast:
			deparseTypeCast(str, castNode(TypeCast, node));
			break;
		case T_A_Const:
			deparseAConst(str, castNode(A_Const, node));
			break;
		case T_ColumnRef:
			deparseColumnRef(str, castNode(ColumnRef, node));
			break;
		case T_A_Expr:
			deparseAExpr(str, castNode(A_Expr, node), DEPARSE_NODE_CONTEXT_NONE);
			break;
		case T_CaseExpr:
			deparseCaseExpr(str, castNode(CaseExpr, node));
			break;
		case T_A_ArrayExpr:
			deparseAArrayExpr(str, castNode(A_ArrayExpr, node));
			break;
		case T_NullTest:
			deparseNullTest(str, castNode(NullTest, node));
			break;
		case T_XmlSerialize:
			deparseXmlSerialize(str, castNode(XmlSerialize, node));
			break;
		case T_ParamRef:
			deparseParamRef(str, castNode(ParamRef, node));
			break;
		case T_BoolExpr:
			deparseBoolExpr(str, castNode(BoolExpr, node));
			break;
		case T_SubLink:
			deparseSubLink(str, castNode(SubLink, node));
			break;
		case T_RowExpr:
			deparseRowExpr(str, castNode(RowExpr, node));
			break;
		case T_CoalesceExpr:
			deparseCoalesceExpr(str, castNode(CoalesceExpr, node));
			break;
		case T_SetToDefault:
			deparseSetToDefault(str, castNode(SetToDefault, node));
			break;
		case T_A_Indirection:
			deparseAIndirection(str, castNode(A_Indirection, node));
			break;
		case T_CollateClause:
			deparseCollateClause(str, castNode(CollateClause, node));
			break;
		case T_CurrentOfExpr:
			deparseCurrentOfExpr(str, castNode(CurrentOfExpr, node));
			break;
		case T_SQLValueFunction:
			deparseSQLValueFunction(str, castNode(SQLValueFunction, node));
			break;
		case T_MinMaxExpr:
			deparseMinMaxExpr(str, castNode(MinMaxExpr, node));
			break;
		case T_BooleanTest:
			deparseBooleanTest(str, castNode(BooleanTest, node));
			break;
		case T_GroupingFunc:
			deparseGroupingFunc(str, castNode(GroupingFunc, node));
			break;
		default:
			Assert(false);
			elog(ERROR, "unpermitted node type in a_expr/b_expr: %d",
				 (int) nodeTag(node));
			break;
	}
}