Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dhcNF-00057V-4j for pgsql-hackers@arkaria.postgresql.org; Tue, 15 Aug 2017 13:59:13 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1dhcNE-0002oG-Kq for pgsql-hackers@arkaria.postgresql.org; Tue, 15 Aug 2017 13:59:12 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1dhcND-0002nA-DX for pgsql-hackers@postgresql.org; Tue, 15 Aug 2017 13:59:11 +0000 Received: from mail-wm0-x229.google.com ([2a00:1450:400c:c09::229]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1dhcN9-0006aj-JR for pgsql-hackers@postgresql.org; Tue, 15 Aug 2017 13:59:10 +0000 Received: by mail-wm0-x229.google.com with SMTP id f15so10514173wmg.1 for ; Tue, 15 Aug 2017 06:59:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=2ndquadrant-com.20150623.gappssmtp.com; s=20150623; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-language:content-transfer-encoding; bh=8+IEae/i75iwE58XsgP5s9kot+RcQ8+1ObRzyhNPagU=; b=UEYMYt1S+I/okiZORLuAUAR2QidnhEOW61nRoPCxV8u+sxkOYeHN/Q9SKLtn4rlzAw WXg/JLNEZrtUP/TV2udVvQxxqZMAMK7Fjvkk6irpbKtQXnxqN2YR+9CahVkYd1dmAyW+ +BAcAR/IFjm1vSh60w0k2pka+mBGmgWzVQS4UK6d54OpndBifxZVgi1/0VXGgINRqYwD l+tGJleiCAkYN2Y7DpDYVrEAMPwFHSkEpl4JX0LXXODMqbS4io8Bv58gryjz6XTkLyX7 /tFH1vA8JfzxE+XhHP/UI8CVCUT9gO0nHMffPLXYP1EuUooQsu1Y9ewcy0D57j4pV7Hp XlCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=8+IEae/i75iwE58XsgP5s9kot+RcQ8+1ObRzyhNPagU=; b=h875ibLKECedGPIL/THHKuJLctzRQdqvSoKTdEvWvpaMmiJf7bwYWLdEk99CLbvWR4 Zh2Chf4NxDxcbrVr1iw0glwI8zp/R7ul9BmgYislD3NX/KOtqXFthyIllWI7Ij6NukIV pLYtYc5BpKSXTUij+7BB++rrsIvy1YDNUDX30Q+gT2g2Ni/5UYIr3ERYFrBxvbBIfwVt NDpV/MoEQfC4swQ+XnUF6ySXUy5urf6WKBa95WAQmVK7NBUsSSWqzhh0Ir6NB0+3Xm6B 7Is9eVm8VnzNwK7iO4JQLofroPj+kDxYUGR0sj04NO8vM1cJtxugir5MTKs1pANTw0Ya +4OQ== X-Gm-Message-State: AHYfb5gc5m9vOdWrNfnZKOoVRV1lwYktRvfbhSsa6D2OsRfbDgTckUUd cMhu3iKjPCXDFVzxeSGnZXJ9VGSsLqlN2azbTlCaILAfX9rJeJ5yb1zDmX3+d2wFNKkW+fcEFdu 7z9bcV8HtmozwbAHKG6PGlsKJuDUdVdEovS04XcSFDz9AxgGV3oZQxtFo/U5908tx3vz6uuuO1i pYdw== X-Received: by 10.80.220.75 with SMTP id y11mr28491378edk.100.1502805546439; Tue, 15 Aug 2017 06:59:06 -0700 (PDT) Received: from [10.137.1.17] ([212.24.157.174]) by smtp.gmail.com with ESMTPSA id h28sm5435287ede.56.2017.08.15.06.59.05 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 15 Aug 2017 06:59:05 -0700 (PDT) Subject: Re: [PATCH] pageinspect function to decode infomasks To: pgsql-hackers@postgresql.org References: <005801d31563$748c6560$5da53020$@lab.ntt.co.jp> From: Tomas Vondra Message-ID: Date: Tue, 15 Aug 2017 15:59:03 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.0a2 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-hackers Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org On 08/15/2017 03:24 PM, Robert Haas wrote: > On Mon, Aug 14, 2017 at 9:59 PM, Craig Ringer wrote: >> The bits are set, those macros just test to exclude the special meaning of >> both bits being set at once to mean "frozen". >> >> I was reluctant to filter out HEAP_XMIN_COMMITTED and HEAP_XMIN_INVALID >> when we detect that it's frozen, because that could well be misleading when >> debugging. > > I don't think so -- the "committed" and "invalid" meanings are > effectively canceled when the "frozen" mask is present. > > I mean, "committed" and "invalid" contradict each other... > FWIW I agree with Craig - the functions should output the masks raw, without any filtering. The reason is that when you're investigating data corruption or unexpected behavior, all this is very useful when reasoning about what might (not) have happened. Or at least make the filtering optional. regards -- Tomas Vondra http://www.2ndQuadrant.com PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers