Re: pgsql: Get rid of pg_class.reltoastidxid.
От | Michael Paquier |
---|---|
Тема | Re: pgsql: Get rid of pg_class.reltoastidxid. |
Дата | |
Msg-id | CAB7nPqSp0R+zmTKXNy1P_8dnLNLv3-B9hpqJkzzki4dWiOZUGQ@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: pgsql: Get rid of pg_class.reltoastidxid. (Andres Freund <andres@2ndquadrant.com>) |
Ответы |
Re: pgsql: Get rid of pg_class.reltoastidxid.
|
Список | pgsql-committers |
On Wed, Jan 15, 2014 at 9:29 PM, Andres Freund <andres@2ndquadrant.com> wrote: > Hi Fujii, Michael, > > Coverity indicated that there's a problem with this - a quick look > confirms that: > > foreach(lc, indexlist) > (*toastidxs)[i++] = index_open(lfirst_oid(lc), lock); > > /* Fetch the first valid index in list */ > for (i = 0; i < *num_indexes; i++) > { > Relation toastidx = *toastidxs[i]; > if (toastidx->rd_index->indisvalid) > { > res = i; > found = true; > break; > } > } > > Note how the second access to toastidxs is missing parentheses. It > should be (*toastidxs)[i]. > > I think this happens to mostly work because usually the older index will > still be valid when we open the toast indexes when there are multiple > ones and RelationGetIndexList() returns indexes in toast order. Oops, good catch. If someone could show up and commit the attached to master and REL9_3_STABLE... Regards, -- Michael
В списке pgsql-committers по дате отправления: