From a23faeee83723de4fd5377b51b146edab716526f Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 23 Aug 1999 23:48:39 +0000 Subject: Remove bogus code in oper_exact --- if it didn't find an exact match then it tried for a self-commutative operator with the reversed input data types. This is pretty silly; there could never be such an operator, except maybe in binary-compatible-type scenarios, and we have oper_inexact for that. Besides which, the oprsanity regress test would complain about such an operator. Remove nonfunctional code and simplify routine calling convention accordingly. --- src/include/parser/parse_node.h | 4 +++- src/include/parser/parse_oper.h | 5 +---- 2 files changed, 4 insertions(+), 5 deletions(-) (limited to 'src/include') diff --git a/src/include/parser/parse_node.h b/src/include/parser/parse_node.h index 1591743e064..125305883df 100644 --- a/src/include/parser/parse_node.h +++ b/src/include/parser/parse_node.h @@ -5,7 +5,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: parse_node.h,v 1.15 1999/07/19 00:26:17 tgl Exp $ + * $Id: parse_node.h,v 1.16 1999/08/23 23:48:37 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -33,6 +33,8 @@ typedef struct ParseState extern ParseState *make_parsestate(ParseState *parentParseState); extern Expr *make_op(char *opname, Node *ltree, Node *rtree); +extern Node *make_operand(char *opname, Node *tree, + Oid orig_typeId, Oid target_typeId); extern Var *make_var(ParseState *pstate, Oid relid, char *refname, char *attrname); extern ArrayRef *transformArraySubscripts(ParseState *pstate, diff --git a/src/include/parser/parse_oper.h b/src/include/parser/parse_oper.h index 82e241ef87e..7c3f3b54c77 100644 --- a/src/include/parser/parse_oper.h +++ b/src/include/parser/parse_oper.h @@ -6,7 +6,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: parse_oper.h,v 1.8 1999/07/15 15:21:27 momjian Exp $ + * $Id: parse_oper.h,v 1.9 1999/08/23 23:48:38 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -23,7 +23,4 @@ extern Operator oper(char *op, Oid arg1, Oid arg2, bool noWarnings); extern Operator right_oper(char *op, Oid arg); extern Operator left_oper(char *op, Oid arg); -extern Operator oper_exact(char *op, Oid arg1, Oid arg2, Node **ltree, Node **rtree, bool noWarnings); -extern Operator oper_inexact(char *op, Oid arg1, Oid arg2, Node **ltree, Node **rtree, bool noWarnings); - #endif /* PARSE_OPER_H */ -- cgit v1.2.3