diff options
Diffstat (limited to 'doc/src')
| -rw-r--r-- | doc/src/sgml/indexam.sgml | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/doc/src/sgml/indexam.sgml b/doc/src/sgml/indexam.sgml index 401b11598eb..ac512588e24 100644 --- a/doc/src/sgml/indexam.sgml +++ b/doc/src/sgml/indexam.sgml @@ -551,15 +551,19 @@ amgettuple (IndexScanDesc scan, <para> If the index supports <link linkend="indexes-index-only-scans">index-only scans</link> (i.e., <function>amcanreturn</function> returns TRUE for it), - then on success the AM must also check - <literal>scan->xs_want_itup</>, and if that is true it must return - the original indexed data for the index entry, in the form of an + then on success the AM must also check <literal>scan->xs_want_itup</>, + and if that is true it must return the originally indexed data for the + index entry. The data can be returned in the form of an <structname>IndexTuple</> pointer stored at <literal>scan->xs_itup</>, - with tuple descriptor <literal>scan->xs_itupdesc</>. - (Management of the data referenced by the pointer is the access method's + with tuple descriptor <literal>scan->xs_itupdesc</>; or in the form of + a <structname>HeapTuple</> pointer stored at <literal>scan->xs_hitup</>, + with tuple descriptor <literal>scan->xs_hitupdesc</>. (The latter + format should be used when reconstructing data that might possibly not fit + into an IndexTuple.) In either case, + management of the data referenced by the pointer is the access method's responsibility. The data must remain good at least until the next <function>amgettuple</>, <function>amrescan</>, or <function>amendscan</> - call for the scan.) + call for the scan. </para> <para> |
