mirror of
https://github.com/pgvector/pgvector.git
synced 2026-07-12 23:56:55 +08:00
Restored interrupts [skip ci]
This commit is contained in:
@@ -84,6 +84,12 @@ HnswBuildAppendPage(Relation index, Buffer *buf, Page *page, GenericXLogState **
|
|||||||
GenericXLogFinish(*state);
|
GenericXLogFinish(*state);
|
||||||
UnlockReleaseBuffer(*buf);
|
UnlockReleaseBuffer(*buf);
|
||||||
|
|
||||||
|
/* Can take a while, so ensure we can interrupt */
|
||||||
|
/* Needs to be called when no buffer locks are held */
|
||||||
|
LockBuffer(newbuf, BUFFER_LOCK_UNLOCK);
|
||||||
|
CHECK_FOR_INTERRUPTS();
|
||||||
|
LockBuffer(newbuf, BUFFER_LOCK_EXCLUSIVE);
|
||||||
|
|
||||||
/* Prepare new page */
|
/* Prepare new page */
|
||||||
*buf = newbuf;
|
*buf = newbuf;
|
||||||
*state = GenericXLogStart(index);
|
*state = GenericXLogStart(index);
|
||||||
@@ -202,6 +208,10 @@ CreateNeighborPages(HnswBuildState * buildstate)
|
|||||||
GenericXLogState *state;
|
GenericXLogState *state;
|
||||||
Size neighborsz = HNSW_NEIGHBOR_TUPLE_SIZE(e->level, m);
|
Size neighborsz = HNSW_NEIGHBOR_TUPLE_SIZE(e->level, m);
|
||||||
|
|
||||||
|
/* Can take a while, so ensure we can interrupt */
|
||||||
|
/* Needs to be called when no buffer locks are held */
|
||||||
|
CHECK_FOR_INTERRUPTS();
|
||||||
|
|
||||||
buf = ReadBufferExtended(index, forkNum, e->neighborPage, RBM_NORMAL, NULL);
|
buf = ReadBufferExtended(index, forkNum, e->neighborPage, RBM_NORMAL, NULL);
|
||||||
LockBuffer(buf, BUFFER_LOCK_EXCLUSIVE);
|
LockBuffer(buf, BUFFER_LOCK_EXCLUSIVE);
|
||||||
state = GenericXLogStart(index);
|
state = GenericXLogStart(index);
|
||||||
|
|||||||
Reference in New Issue
Block a user