static void deparseCExpr()

in ext/pg_query/pg_query_deparse.c [332:380]


static void deparseCExpr(StringInfo str, Node *node)
{
	switch (nodeTag(node))
	{
		case T_ColumnRef:
			deparseColumnRef(str, castNode(ColumnRef, node));
			break;
		case T_A_Const:
			deparseAConst(str, castNode(A_Const, node));
			break;
		case T_TypeCast:
			deparseTypeCast(str, castNode(TypeCast, node));
			break;
		case T_A_Expr:
			appendStringInfoChar(str, '(');
			deparseAExpr(str, castNode(A_Expr, node), DEPARSE_NODE_CONTEXT_NONE);
			appendStringInfoChar(str, ')');
			break;
		case T_ParamRef:
			deparseParamRef(str, castNode(ParamRef, node));
			break;
		case T_A_Indirection:
			deparseAIndirection(str, castNode(A_Indirection, node));
			break;
		case T_CaseExpr:
			deparseCaseExpr(str, castNode(CaseExpr, node));
			break;
		case T_FuncCall:
			deparseFuncCall(str, castNode(FuncCall, node));
			break;
		case T_SubLink:
			deparseSubLink(str, castNode(SubLink, node));
			break;
		case T_A_ArrayExpr:
			deparseAArrayExpr(str, castNode(A_ArrayExpr, node));
			break;
		case T_RowExpr:
			deparseRowExpr(str, castNode(RowExpr, node));
			break;
		case T_GroupingFunc:
			deparseGroupingFunc(str, castNode(GroupingFunc, node));
			break;
		default:
			Assert(false);
			elog(ERROR, "unpermitted node type in c_expr: %d",
				 (int) nodeTag(node));
			break;
	}
}