PostgreSQL Source Code: src/include/access/amapi.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12#ifndef AMAPI_H

13#define AMAPI_H

14

18

19

20

21

22

23

26

27

29

30

31

32

33

34

35

37{

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

87{

88 bool is_func;

89 Oid object;

90 int number;

93 Oid sortfamily;

95 bool ref_is_family;

98

99

100

101

102

103

104

106

107

109

110

114

115

117

118

121 bool *isnull,

125 bool indexUnchanged,

127

128

131

132

136 void *callback_state);

137

138

141

142

144

145

148 double loop_count,

149 Cost *indexStartupCost,

150 Cost *indexTotalCost,

152 double *indexCorrelation,

153 double *indexPages);

154

155

156

157

158

159

161

162

163typedef bytea *(*amoptions_function) (Datum reloptions,

165

166

169 bool *res, bool *isnull);

170

171

172typedef char *(*ambuildphasename_function) (int64 phasenum);

173

174

176

177

179 Oid opclassoid,

180 List *operators,

182

183

185 int nkeys,

186 int norderbys);

187

188

191 int nkeys,

193 int norderbys);

194

195

198

199

202

203

205

206

208

209

211

212

213

214

215

216

218 int nkeys, int norderbys);

219

220

222

223

225

226

227

228

229

231{

233

234

235

236

237

239

241

243

245

247

249

251

253

255

257

259

261

263

265

267

269

271

273

275

277

279

281

283

285

286

287

288

289

290

291

292

314

315

319

320

324

325

326

331

332#endif

IndexAmRoutine * GetIndexAmRoutine(Oid amhandler)

void(* amparallelrescan_function)(IndexScanDesc scan)

CompareType(* amtranslate_strategy_function)(StrategyNumber strategy, Oid opfamily)

IndexScanDesc(* ambeginscan_function)(Relation indexRelation, int nkeys, int norderbys)

void(* amadjustmembers_function)(Oid opfamilyoid, Oid opclassoid, List *operators, List *functions)

int(* amgettreeheight_function)(Relation rel)

bool(* amproperty_function)(Oid index_oid, int attno, IndexAMProperty prop, const char *propname, bool *res, bool *isnull)

bool(* amvalidate_function)(Oid opclassoid)

void(* amendscan_function)(IndexScanDesc scan)

IndexBulkDeleteResult *(* ambulkdelete_function)(IndexVacuumInfo *info, IndexBulkDeleteResult *stats, IndexBulkDeleteCallback callback, void *callback_state)

bool(* amcanreturn_function)(Relation indexRelation, int attno)

bytea *(* amoptions_function)(Datum reloptions, bool validate)

bool(* aminsert_function)(Relation indexRelation, Datum *values, bool *isnull, ItemPointer heap_tid, Relation heapRelation, IndexUniqueCheck checkUnique, bool indexUnchanged, struct IndexInfo *indexInfo)

void(* ambuildempty_function)(Relation indexRelation)

StrategyNumber(* amtranslate_cmptype_function)(CompareType cmptype, Oid opfamily)

int64(* amgetbitmap_function)(IndexScanDesc scan, TIDBitmap *tbm)

void(* amrestrpos_function)(IndexScanDesc scan)

void(* amcostestimate_function)(struct PlannerInfo *root, struct IndexPath *path, double loop_count, Cost *indexStartupCost, Cost *indexTotalCost, Selectivity *indexSelectivity, double *indexCorrelation, double *indexPages)

char *(* ambuildphasename_function)(int64 phasenum)

IndexBulkDeleteResult *(* amvacuumcleanup_function)(IndexVacuumInfo *info, IndexBulkDeleteResult *stats)

bool(* amgettuple_function)(IndexScanDesc scan, ScanDirection direction)

StrategyNumber IndexAmTranslateCompareType(CompareType cmptype, Oid amoid, Oid opfamily, bool missing_ok)

@ AMPROP_DISTANCE_ORDERABLE

Size(* amestimateparallelscan_function)(Relation indexRelation, int nkeys, int norderbys)

void(* aminitparallelscan_function)(void *target)

void(* ammarkpos_function)(IndexScanDesc scan)

struct OpFamilyMember OpFamilyMember

void(* aminsertcleanup_function)(Relation indexRelation, struct IndexInfo *indexInfo)

CompareType IndexAmTranslateStrategy(StrategyNumber strategy, Oid amoid, Oid opfamily, bool missing_ok)

IndexAmRoutine * GetIndexAmRoutineByAmId(Oid amoid, bool noerror)

struct IndexAmRoutine IndexAmRoutine

IndexBuildResult *(* ambuild_function)(Relation heapRelation, Relation indexRelation, struct IndexInfo *indexInfo)

void(* amrescan_function)(IndexScanDesc scan, ScanKey keys, int nkeys, ScanKey orderbys, int norderbys)

static bool validate(Port *port, const char *auth)

static Datum values[MAXATTR]

bool(* IndexBulkDeleteCallback)(ItemPointer itemptr, void *state)

struct IndexScanDescData * IndexScanDesc

static const struct fns functions

ambuildphasename_function ambuildphasename

ambuildempty_function ambuildempty

amvacuumcleanup_function amvacuumcleanup

amoptions_function amoptions

amestimateparallelscan_function amestimateparallelscan

amrestrpos_function amrestrpos

aminsert_function aminsert

amendscan_function amendscan

amtranslate_strategy_function amtranslatestrategy

amparallelrescan_function amparallelrescan

bool amconsistentordering

amtranslate_cmptype_function amtranslatecmptype

amcostestimate_function amcostestimate

amadjustmembers_function amadjustmembers

amgettuple_function amgettuple

amcanreturn_function amcanreturn

amgetbitmap_function amgetbitmap

amproperty_function amproperty

ambulkdelete_function ambulkdelete

amvalidate_function amvalidate

ammarkpos_function ammarkpos

bool amusemaintenanceworkmem

ambeginscan_function ambeginscan

amrescan_function amrescan

aminitparallelscan_function aminitparallelscan

uint8 amparallelvacuumoptions

aminsertcleanup_function aminsertcleanup

amgettreeheight_function amgettreeheight

bool amconsistentequality

static void callback(struct sockaddr *addr, struct sockaddr *mask, void *unused)