aboutsummaryrefslogtreecommitdiff
path: root/src/include/access
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2011-12-18 15:49:00 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2011-12-18 15:50:37 -0500
commit3695a555136a6d179cac8ae48d5f90171d5b30e9 (patch)
treeefb7fb5afb3dea1292c9a50635b53215cc548e64 /src/include/access
parent19d223171801dda36f84e24dc89c9fbab1ababad (diff)
downloadpostgresql-3695a555136a6d179cac8ae48d5f90171d5b30e9.tar.gz
postgresql-3695a555136a6d179cac8ae48d5f90171d5b30e9.zip
Replace simple constant pg_am.amcanreturn with an AM support function.
The need for this was debated when we put in the index-only-scan feature, but at the time we had no near-term expectation of having AMs that could support such scans for only some indexes; so we kept it simple. However, the SP-GiST AM forces the issue, so let's fix it. This patch only installs the new API; no behavior actually changes.
Diffstat (limited to 'src/include/access')
-rw-r--r--src/include/access/genam.h1
-rw-r--r--src/include/access/nbtree.h1
-rw-r--r--src/include/access/spgist.h1
3 files changed, 3 insertions, 0 deletions
diff --git a/src/include/access/genam.h b/src/include/access/genam.h
index dd62680dd54..48ebf1986c9 100644
--- a/src/include/access/genam.h
+++ b/src/include/access/genam.h
@@ -156,6 +156,7 @@ extern IndexBulkDeleteResult *index_bulk_delete(IndexVacuumInfo *info,
void *callback_state);
extern IndexBulkDeleteResult *index_vacuum_cleanup(IndexVacuumInfo *info,
IndexBulkDeleteResult *stats);
+extern bool index_can_return(Relation indexRelation);
extern RegProcedure index_getprocid(Relation irel, AttrNumber attnum,
uint16 procnum);
extern FmgrInfo *index_getprocinfo(Relation irel, AttrNumber attnum,
diff --git a/src/include/access/nbtree.h b/src/include/access/nbtree.h
index 9a751ce1004..3a3ff61e571 100644
--- a/src/include/access/nbtree.h
+++ b/src/include/access/nbtree.h
@@ -607,6 +607,7 @@ extern Datum btmarkpos(PG_FUNCTION_ARGS);
extern Datum btrestrpos(PG_FUNCTION_ARGS);
extern Datum btbulkdelete(PG_FUNCTION_ARGS);
extern Datum btvacuumcleanup(PG_FUNCTION_ARGS);
+extern Datum btcanreturn(PG_FUNCTION_ARGS);
extern Datum btoptions(PG_FUNCTION_ARGS);
/*
diff --git a/src/include/access/spgist.h b/src/include/access/spgist.h
index aa655a31402..df6fec6cf45 100644
--- a/src/include/access/spgist.h
+++ b/src/include/access/spgist.h
@@ -182,6 +182,7 @@ extern Datum spgmarkpos(PG_FUNCTION_ARGS);
extern Datum spgrestrpos(PG_FUNCTION_ARGS);
extern Datum spggetbitmap(PG_FUNCTION_ARGS);
extern Datum spggettuple(PG_FUNCTION_ARGS);
+extern Datum spgcanreturn(PG_FUNCTION_ARGS);
/* spgutils.c */
extern Datum spgoptions(PG_FUNCTION_ARGS);