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.94.2) (envelope-from ) id 1rksBC-00G3ku-PI for pgsql-hackers@arkaria.postgresql.org; Thu, 14 Mar 2024 20:59:59 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1rksBA-003ImE-TX for pgsql-hackers@arkaria.postgresql.org; Thu, 14 Mar 2024 20:59:57 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rksBA-003Im5-Hi for pgsql-hackers@lists.postgresql.org; Thu, 14 Mar 2024 20:59:57 +0000 Received: from meesny.iki.fi ([195.140.195.201]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rksB8-004XfC-1V for pgsql-hackers@lists.postgresql.org; Thu, 14 Mar 2024 20:59:56 +0000 Received: from [192.168.1.115] (dsl-hkibng22-54f8db-125.dhcp.inet.fi [84.248.219.125]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: hlinnaka) by meesny.iki.fi (Postfix) with ESMTPSA id 4Twfs26l0mzyQH; Thu, 14 Mar 2024 22:59:50 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iki.fi; s=meesny; t=1710449991; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=c/2PtauA33WkWoF7XFNiW1Opyrnl0Dn3CzYJV/kdNFw=; b=vABATUNMwoO5sJ01XVSj0eGpMcwQzd6nCL+ZuS23QEpuJY/BiykMZ7hZP5W5MO7ELvPA/x VAI3L0M7t2aiXclHtQPOx76s30XhoR4v4Oq25h9u0NGk69tZsfbb3aZwwbPvtEwJ617Wly zJe/4hWzCN4X7n6kJEOHVE7EVx9oWm8= ARC-Seal: i=1; s=meesny; d=iki.fi; t=1710449991; a=rsa-sha256; cv=none; b=UHB053WomfbeRmBOSOr4xtEWnP6SO6tXA9ZX7kbQQA4JQcpjMsaeBEajVeBLpikRw10Ihm deJGBdchozolC0waed8bUTxjuoNNqi1xNpTztopNjIWCYfNiFbzKalB+izxfCmG1LEus7V L+5ikx5BeQ8GbMsoEL6Ao9Jqt3qj+p4= ARC-Authentication-Results: i=1; ORIGINATING; auth=pass smtp.auth=hlinnaka smtp.mailfrom=hlinnaka@iki.fi ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=iki.fi; s=meesny; t=1710449991; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=c/2PtauA33WkWoF7XFNiW1Opyrnl0Dn3CzYJV/kdNFw=; b=r84AbZB5+KIBSul0aDevQOwmNUYwUmnnN4eIOTscAy5bLNq4QC6tvWA89YnGpRBKKWeJHM s+kjBjsM1yEA6pL12zTAcyhOQp02tXKpmcWSM4ec8VgHnKnpDCAfFqXREindJpjEtMPVJy gUXgfASwf86FlyolldFtxncmMqN8zWw= Message-ID: Date: Thu, 14 Mar 2024 22:59:50 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Parallel Bitmap Heap Scan reports per-worker stats in EXPLAIN ANALYZE Content-Language: en-US To: Melanie Plageman Cc: Tomas Vondra , Dilip Kumar , David Geier , PostgreSQL Developers References: <20240314200006.emadubnx5nukthhi@liskov> From: Heikki Linnakangas In-Reply-To: <20240314200006.emadubnx5nukthhi@liskov> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 14/03/2024 22:00, Melanie Plageman wrote: > On Thu, Mar 14, 2024 at 05:30:30PM +0200, Heikki Linnakangas wrote: >> typedef struct SharedBitmapHeapInstrumentation >> { >> int num_workers; >> BitmapHeapScanInstrumentation sinstrument[FLEXIBLE_ARRAY_MEMBER]; >> } SharedBitmapHeapInstrumentation; >> >> typedef struct BitmapHeapScanState >> { >> ScanState ss; /* its first field is NodeTag */ >> ... >> SharedBitmapHeapInstrumentation sinstrument; >> } BitmapHeapScanState; >> >> that compiles, at least with my compiler, but I find it weird to have a >> variable-length inner struct embedded in an outer struct like that. > > In the attached patch, BitmapHeapScanState->sinstrument is a pointer, > though. Or are you proposing the above as an alternative that you > decided not to go with? Right, the above is what I contemplated at first but decided it was a bad idea. -- Heikki Linnakangas Neon (https://neon.tech)