Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w9AX4-001Edi-1S for pgsql-hackers@arkaria.postgresql.org; Sat, 04 Apr 2026 23:36:02 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w9AX2-000qoI-2z for pgsql-hackers@arkaria.postgresql.org; Sat, 04 Apr 2026 23:36:01 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w9AX2-000qoA-1g for pgsql-hackers@lists.postgresql.org; Sat, 04 Apr 2026 23:36:01 +0000 Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w9AX0-00000000azd-18Qz for pgsql-hackers@lists.postgresql.org; Sat, 04 Apr 2026 23:36:00 +0000 Received: by mail-wr1-x432.google.com with SMTP id ffacd0b85a97d-43ccda008cdso1874487f8f.0 for ; Sat, 04 Apr 2026 16:35:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1775345756; cv=none; d=google.com; s=arc-20240605; b=PI/FyxvLu8GrDrML80aIN0HHArLzD3fy8oEJ0yx81CNrsDuDkFCoCOCImcJ0PBksdN h7WV08X/dloTMlgNZG90yHU0m9lZMA6okkvW+x6C87qQ+XaKp5tQGLHPM4QUOpmBPxet FfhUnoUVyUR8o8jrJ8YgZivuB3qV4uEeG5Up7kQoWahQskjzCy53eejMMjS3a4sge7rI 6rag++Wi5WRh8HnAJHnafH9+iHlFn2Wht1ZiFydEeTa7zVeSrod4uWglTgBhmi5xiRJI 7oohvx8JLFArkVLW4sC3MB9ffPA71e4NlhX6WWeXeCpDhK29Xgoy42wwRu2fYdMrNf0M j1cQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=fZWI+lSw+LM+01BrmiyWBL6/sD7H3WSQ5ohMZIrBE/c=; fh=EeihVDw6SKsnqMeUNjB4tFR/hH+/ZFlyK4vIA/kB8V8=; b=efvnHFvnH1t/qnclhsTbPss7OeBwnv2Vqq3QrGBCXSPxdYW0wKdf4G3BKMHofGvD7X j78+NhVFaICxfMxgOh/H1CC8UM/S3RgkVv8n0eG5AwkQ8viCtOqOGxBjvW4B9IkRBhep sjR87b7IiAYwdjscQtNbed6ZgR8hqfaNfvZQx3eO9rmoLg0mKo+wdi+QzBGG2+TjdAjw pmxQsFS9//8IXEcXVe+WNhz3aDb03PjgFGkFydnBUpoVMqphBfR2wOh3JIXk9bZJDKHf VOF0455f9wi+L9DRxgTG0XgkkzdXHMGXxTyxLZfKZQXOYq0ItbpH0DchocUdTrkkYY1m i/sQ==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bowt-ie.20251104.gappssmtp.com; s=20251104; t=1775345756; x=1775950556; darn=lists.postgresql.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=fZWI+lSw+LM+01BrmiyWBL6/sD7H3WSQ5ohMZIrBE/c=; b=TaimuIcuS6r0ampqy808YvPf9+y/XX7PJ+rOk4CHc4VOu3h9XU2m38vVEsezOWun0L zh/xPaPPJdLRbBA+iUP7YF+3MV9jYu5PU2kzIwkwuqM3rAZ5sdO/3JNcCdm0flORpjfd uNoFgVGZtvBBY3BjSCuGCUQUGre7IQ+3wbn7fqMbgG3xMLuWtBIaLIxEeVW4EJjLRvy+ zMQ/Wb/Ei41DSCo2jcUSlFnVkpdZIvMSIz2c7nn05N8osR8JDAJxp3ZnoPYFWJ4Vz0nA B7JyMsz3bqXG9lwr1XeRXoHNOdVbuZ46RZi3rboyJtlGAHM7i5gVfRJjZNDvDp03yFOT hNpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775345756; x=1775950556; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=fZWI+lSw+LM+01BrmiyWBL6/sD7H3WSQ5ohMZIrBE/c=; b=Xcbr4P4w6YDv/UByXiUwBj+2dgBcGy5wik7pMUejPBTrVNlkDnUUJ7HLi0JF62/TzQ 3NRuSSkM7d01v73feMVGuPj6/IS/WDAfcllorCBPQ2dOMFTxf9ho95rZaAGloabVx0qH tu0f0fyTNA3M4Ft9gLZd5rMZ0XWr2PwLL06uT23RX9qrQjjpt9UF+M1X0Pfny9vXp8lV rSOk4XQGN8S3Y3IJrf+BR3sIxdjeJIzBGNmb37plRyT5SENZa0Q/xmChLZruR9wL4S5C KJ6/YItGjOpZV8fkvpc6ahc3X5cGAlnFkftsSiDzHEEyBWH3w9zZhiMeaRd3jH35Iwa6 PV+Q== X-Forwarded-Encrypted: i=1; AJvYcCXsQsoXeN3HVIQIUdnSbTlJHrqTbZ+D3mc2Lg+xADwZ6dLINkrAyItz2ClagyqFOtAnpAw2vMctSkf7+0ph@lists.postgresql.org X-Gm-Message-State: AOJu0Yy/9QlmGbLc9Y+BkShO/44yBzppbpjG04uUWUCE30pmFkSI2pyZ aF3wQvMMd/ET8E98le51q8bgi5LKWtc0z3aP+5US8rIc8ECpWHJL/G5UotsEDYH0JBlk8l7UlXa aPiffL6kpI9DfDh6p1uimkNBj7mAgjXWUL+TThu1dGA== X-Gm-Gg: AeBDieubTFwj/o+PRhPCOL7Gqw/WFyBDRKoiJS3NVwczz6qVs2bJcwYERIt9Q8+rCiC X/6hpOT+LSvriFpX5i9V/Ir/mirQK4HA5GahvP+jwDvBwToVP2857FFvr+iHJTIKdwNH6NAA4ll KIjjEGl2ibvgWBhIjEbCkZniPYQtmJ9q5E5LaWuBRI17LeJLD49rv9KTTD5EYqP93B5ttr+Y0vY 49XJZDu1iD1SG0bBYugWlqTlS+V1AM9S0zhqSMvi8x5KjvBMRiAe7Di+YDLkfUM7dJQ36mb6aoL FdshIYc5YApv31hESBm7LGWApU79O0tBmPTdduEDCCtEe3pgSaXPPw== X-Received: by 2002:a05:6000:2886:b0:43c:fc5c:aa08 with SMTP id ffacd0b85a97d-43d28f95b8emr12285873f8f.8.1775345756534; Sat, 04 Apr 2026 16:35:56 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Peter Geoghegan Date: Sat, 4 Apr 2026 19:35:28 -0400 X-Gm-Features: AQROBzCm8ZWXrwyLCP4-TakxZFRuu1wepG3aOasw7LHj2YS-ABVIZfPpfp3iX2A Message-ID: Subject: Re: index prefetching To: Andres Freund Cc: Tomas Vondra , Alexandre Felipe , Thomas Munro , Nazir Bilal Yavuz , Robert Haas , Melanie Plageman , PostgreSQL Hackers , Georgios , Konstantin Knizhnik , Dilip Kumar Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Sat, Apr 4, 2026 at 1:33=E2=80=AFAM Andres Freund w= rote: > static inline bool > index_scan_batch_loaded(IndexScanDescData *scan, uint8 idx) > { > return (int8) (idx - scan->batchringbuf.headBatch) >=3D 0 && > (int8) (idx - scan->batchringbuf.nextBatch) < 0; > } > > once the differences between the values don't fit into an int8 anymore. The static assertion is incorrect (or not strict enough). It didn't account for this int8 arithmetic. That'll be fixed in the next version; the true maximum number of batches is 128 (still more than anybody is likely to ever need). > But I'm tired. Same. --=20 Peter Geoghegan