77 * Copyright (c) 2002-2005, PostgreSQL Global Development Group
88 *
99 * IDENTIFICATION
10- * $PostgreSQL: pgsql/src/backend/utils/fmgr/funcapi.c,v 1.20 2005/04/05 06:22:14 tgl Exp $
10+ * $PostgreSQL: pgsql/src/backend/utils/fmgr/funcapi.c,v 1.21 2005/04/25 20:59:44 tgl Exp $
1111 *
1212 *-------------------------------------------------------------------------
1313 */
@@ -229,6 +229,12 @@ get_expr_result_type(Node *expr,
229229NULL ,
230230resultTypeId ,
231231resultTupleDesc );
232+ else if (expr && IsA (expr ,OpExpr ))
233+ result = internal_get_result_type (get_opcode (((OpExpr * )expr )-> opno ),
234+ expr ,
235+ NULL ,
236+ resultTypeId ,
237+ resultTupleDesc );
232238else
233239{
234240/* handle as a generic expression; no chance to resolve RECORD */
@@ -247,7 +253,7 @@ get_expr_result_type(Node *expr,
247253}
248254
249255/*
250- *get_expr_result_type
256+ *get_func_result_type
251257 *As above, but work from a function's OID only
252258 *
253259 * This will not be able to resolve pure-RECORD results nor polymorphism.