aboutsummaryrefslogtreecommitdiff
path: root/src/include/parser/parse_oper.h
blob: dd32290ddebd90d7285d1b4fa699932475f59129 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/*-------------------------------------------------------------------------
 *
 * catalog_utils.h--
 *
 *
 *
 * Copyright (c) 1994, Regents of the University of California
 *
 * $Id: parse_oper.h,v 1.2 1997/11/26 01:14:07 momjian Exp $
 *
 *-------------------------------------------------------------------------
 */
#ifndef PARSE_OPER_H
#define PARSE_OPER_H

#include <parser/parse_func.h>
#include <parser/parse_node.h>

typedef HeapTuple Operator;

extern Oid any_ordering_op(int restype);
extern Oid oprid(Operator op);
extern int binary_oper_get_candidates(char *opname,
						   Oid leftTypeId,
						   Oid rightTypeId,
						   CandidateList *candidates);
extern bool equivalentOpersAfterPromotion(CandidateList candidates);
extern CandidateList binary_oper_select_candidate(Oid arg1,
							 Oid arg2,
							 CandidateList candidates);
extern Operator oper(char *op, Oid arg1, Oid arg2, bool noWarnings);
extern int unary_oper_get_candidates(char *op,
						  Oid typeId,
						  CandidateList *candidates,
						  char rightleft);
extern Operator right_oper(char *op, Oid arg);
extern Operator left_oper(char *op, Oid arg);
extern void op_error(char *op, Oid arg1, Oid arg2);

#endif							/* PARSE_OPER_H */