66 (
errmsg(
"new option value for string parameter %s",
82 "Integer option for dummy_index_am",
90 "Real option for dummy_index_am",
98 "Boolean option for dummy_index_am",
106 "One ternary option for dummy_index_am",
114 "Enum option for dummy_index_am",
117 "Valid values are \"one\" and \"two\".",
125 "String option for dummy_index_am with non-NULL default",
131 option_string_val_offset);
145 option_string_null_offset);
220 Cost *indexStartupCost,
Cost *indexTotalCost,
221 Selectivity *indexSelectivity,
double *indexCorrelation,
225 *indexStartupCost = 1.0e10;
226 *indexTotalCost = 1.0e10;
229 *indexSelectivity = 1;
230 *indexCorrelation = 0;
275 ScanKey orderbys,
int norderbys)
301 .amcanorderbyop =
false,
303 .amconsistentequality =
false,
304 .amconsistentordering =
false,
305 .amcanbackward =
false,
306 .amcanunique =
false,
307 .amcanmulticol =
false,
308 .amoptionalkey =
false,
309 .amsearcharray =
false,
310 .amsearchnulls =
false,
312 .amclusterable =
false,
313 .ampredlocks =
false,
314 .amcanparallel =
false,
315 .amcanbuildparallel =
false,
316 .amcaninclude =
false,
317 .amusemaintenanceworkmem =
false,
318 .amsummarizing =
false,
329 .amgettreeheight =
NULL,
332 .ambuildphasename =
NULL,
341 .amestimateparallelscan =
NULL,
342 .aminitparallelscan =
NULL,
343 .amparallelrescan =
NULL,
static bool validate(Port *port, const char *auth)
static Datum values[MAXATTR]
static bool divalidate(Oid opclassoid)
static relopt_parse_elt di_relopt_tab[8]
static void validate_string_option(const char *value)
static void diendscan(IndexScanDesc scan)
static void dibuildempty(Relation index)
static IndexBuildResult * dibuild(Relation heap, Relation index, IndexInfo *indexInfo)
static relopt_enum_elt_def dummyAmEnumValues[]
static void create_reloptions_table(void)
static bytea * dioptions(Datum reloptions, bool validate)
static IndexBulkDeleteResult * dibulkdelete(IndexVacuumInfo *info, IndexBulkDeleteResult *stats, IndexBulkDeleteCallback callback, void *callback_state)
static IndexScanDesc dibeginscan(Relation r, int nkeys, int norderbys)
static bool diinsert(Relation index, Datum *values, bool *isnull, ItemPointer ht_ctid, Relation heapRel, IndexUniqueCheck checkUnique, bool indexUnchanged, IndexInfo *indexInfo)
static void direscan(IndexScanDesc scan, ScanKey scankey, int nscankeys, ScanKey orderbys, int norderbys)
static IndexBulkDeleteResult * divacuumcleanup(IndexVacuumInfo *info, IndexBulkDeleteResult *stats)
static void dicostestimate(PlannerInfo *root, IndexPath *path, double loop_count, Cost *indexStartupCost, Cost *indexTotalCost, Selectivity *indexSelectivity, double *indexCorrelation, double *indexPages)
Datum dihandler(PG_FUNCTION_ARGS)
static relopt_kind di_relopt_kind
int errmsg(const char *fmt,...)
#define ereport(elevel,...)
#define palloc_object(type)
#define PG_FUNCTION_INFO_V1(funcname)
#define PG_RETURN_POINTER(x)
IndexScanDesc RelationGetIndexScan(Relation indexRelation, int nkeys, int norderbys)
bool(* IndexBulkDeleteCallback)(ItemPointer itemptr, void *state)
#define AccessExclusiveLock
void add_int_reloption(bits32 kinds, const char *name, const char *desc, int default_val, int min_val, int max_val, LOCKMODE lockmode)
void add_string_reloption(bits32 kinds, const char *name, const char *desc, const char *default_val, validate_string_relopt validator, LOCKMODE lockmode)
void add_enum_reloption(bits32 kinds, const char *name, const char *desc, relopt_enum_elt_def *members, int default_val, const char *detailmsg, LOCKMODE lockmode)
void * build_reloptions(Datum reloptions, bool validate, relopt_kind kind, Size relopt_struct_size, const relopt_parse_elt *relopt_elems, int num_relopt_elems)
void add_real_reloption(bits32 kinds, const char *name, const char *desc, double default_val, double min_val, double max_val, LOCKMODE lockmode)
void add_bool_reloption(bits32 kinds, const char *name, const char *desc, bool default_val, LOCKMODE lockmode)
relopt_kind add_reloption_kind(void)
void add_ternary_reloption(bits32 kinds, const char *name, const char *desc, LOCKMODE lockmode)
int option_string_val_offset
pg_ternary option_ternary_1
int option_string_null_offset
static void callback(struct sockaddr *addr, struct sockaddr *mask, void *unused)
#define VACUUM_OPTION_NO_PARALLEL