HEX
Server: Apache
System: Linux SH-FR-PM-y8qo 6.6.80-paas #1 SMP PREEMPT_DYNAMIC Thu Sep 25 11:18:23 UTC 2025 x86_64
User: hosting-user (5000)
PHP: 8.3.28
Disabled: NONE
Upload Files
File: //proc/160/root/opt/postgresql-11.1/include/server/access/amvalidate.h
/*-------------------------------------------------------------------------
 *
 * amvalidate.h
 *	  Support routines for index access methods' amvalidate functions.
 *
 * Copyright (c) 2016-2018, PostgreSQL Global Development Group
 *
 * src/include/access/amvalidate.h
 *
 *-------------------------------------------------------------------------
 */
#ifndef AMVALIDATE_H
#define AMVALIDATE_H

#include "utils/catcache.h"


/* Struct returned (in a list) by identify_opfamily_groups() */
typedef struct OpFamilyOpFuncGroup
{
	Oid			lefttype;		/* amoplefttype/amproclefttype */
	Oid			righttype;		/* amoprighttype/amprocrighttype */
	uint64		operatorset;	/* bitmask of operators with these types */
	uint64		functionset;	/* bitmask of support funcs with these types */
} OpFamilyOpFuncGroup;


/* Functions in access/index/amvalidate.c */
extern List *identify_opfamily_groups(CatCList *oprlist, CatCList *proclist);
extern bool check_amproc_signature(Oid funcid, Oid restype, bool exact,
					   int minargs, int maxargs,...);
extern bool check_amop_signature(Oid opno, Oid restype,
					 Oid lefttype, Oid righttype);
extern bool opfamily_can_sort_type(Oid opfamilyoid, Oid datatypeoid);

#endif							/* AMVALIDATE_H */