Re: Index AmInsert Parameter Confused?
От | jacktby jacktby |
---|---|
Тема | Re: Index AmInsert Parameter Confused? |
Дата | |
Msg-id | 0DE3162E-375E-439C-A104-11E37B97BE5D@gmail.com обсуждение исходный текст |
Ответ на | Re: Index AmInsert Parameter Confused? (Matthias van de Meent <boekewurm+postgres@gmail.com>) |
Ответы |
Re: Index AmInsert Parameter Confused?
|
Список | pgsql-hackers |
> 2023年9月27日 00:45,Matthias van de Meent <boekewurm+postgres@gmail.com> 写道: > > On Tue, 26 Sept 2023 at 18:38, jacktby jacktby <jacktby@gmail.com> wrote: >> >> typedef bool (*aminsert_function) (Relation indexRelation, >> Datum *values, >> bool *isnull, >> ItemPointer heap_tid, >> Relation heapRelation, >> IndexUniqueCheck checkUnique, >> bool indexUnchanged, >> struct IndexInfo *indexInfo); >> >> Why is there a heap_tid, We haven’t inserted the value, so where does it from ? > > Index insertion only happens after the TableAM tuple has been > inserted. As indexes refer to locations in the heap, this TID contains > the TID of the table tuple that contains the indexed values, so that > the index knows which tuple to refer to. > > Note that access/amapi.h describes only index AM APIs; it does not > cover the table AM APIs descibed in access/tableam.h > > Kind regards, > > Matthias van de Meent 1.Thanks, so if we insert a tuple into a table which has a index on itself, pg will insert tuple into heap firstly, and thegive the heaptid form heap to the Index am api right? 2. I’m trying to implement a new index, but I just need the data held in index table, I hope it’s not inserted into heap,because the all data I want can be in index table.
В списке pgsql-hackers по дате отправления: