Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jQG6v-00065l-4H for pgsql-hackers@arkaria.postgresql.org; Sun, 19 Apr 2020 20:00:13 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1jQG6t-0000ww-BQ for pgsql-hackers@arkaria.postgresql.org; Sun, 19 Apr 2020 20:00:11 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jQG6t-0000wp-2e for pgsql-hackers@lists.postgresql.org; Sun, 19 Apr 2020 20:00:11 +0000 Received: from mail-lf1-x12d.google.com ([2a00:1450:4864:20::12d]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1jQG6m-0004jM-P1 for pgsql-hackers@postgresql.org; Sun, 19 Apr 2020 20:00:10 +0000 Received: by mail-lf1-x12d.google.com with SMTP id m2so6114487lfo.6 for ; Sun, 19 Apr 2020 13:00:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-language; bh=YG79Sgd0w6uJ+++sKJNCsjxsRyMAJ7YFgwlyZJx3328=; b=Vcr1+6p9clRrpTOlOvCMtfLbbGtN4e7RjWnMAj6LdKSPqmrTLEvgEi8r5bf3mXl1Uj DfEgR5yFE2oajxmZ8idKbUNpniYeHRDgPqXDM/s4Mc0eDUgKA/A2IOfnyhDrugLabBAM pCXMn9aktj0QoCgMvTCypiYkkuhtSh5Q2BVEeggK2ypyUcTtEhpWa/MHoRdh2UbDxMvO PTTGxJNgAw3g7OGn/JfhgGKcLc/aY91xsg+9gRHKDytrARuCwgGjJnTCIcuoWMBi2ZmC nVrpE0I+PJ9jwx2XzBd/oiMX/9k8Pe9JYCW2lWaS6SGOfGX9ppV/c993Z2QDbWYEa790 kiiw== 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; bh=YG79Sgd0w6uJ+++sKJNCsjxsRyMAJ7YFgwlyZJx3328=; b=V37WURt3BarPHIKvi6M8M3IxP1xonNvHdWBmGgrOIONyHZUFF5ECHiyN0Ul9zUgLmw ThW8WxUrdLf1Ii/1MER6HM0mw+5doHL12+ZT85IdhaOKx36VYQUD1h3TZ2YGBA75Bvu+ VTBRBx2v+zM0q/7BFRF9Parog/NBToXNGF/EBKXtM4n98LrxUTLF3AKlKeellQf9MIqz Vuekxa5fy9pOzoXpq2Tc7RnrfJPxgA5oQ1BCUI/Ulr/fqUv8CTQHRR72//XD8Nje5FfY sisrLW8np+NCYMSMyHDiVb6dqMPNA9tBzt+4mUxY1f41x82yhIEo9pQgjvqxrOC+1S0T DQYg== X-Gm-Message-State: AGi0PuZUXNqEzINak1S3dAPcSSnrH/4vpXGlLmd8dlkB4Uhcxp0qOc01 /2drr0m6ChDdBrXb7yFZk/sRfX+7 X-Google-Smtp-Source: APiQypLTE2XLnU4eSyBmEtVcA8hx1JpRA8gwWJTVpGGxISb/fdXamteAysRbbK/kqhI5/5/RiZ8VaQ== X-Received: by 2002:ac2:483a:: with SMTP id 26mr8224140lft.5.1587326403262; Sun, 19 Apr 2020 13:00:03 -0700 (PDT) Received: from [1.0.0.7] ([178.155.6.196]) by smtp.gmail.com with ESMTPSA id 64sm24112801lfh.32.2020.04.19.13.00.02 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 19 Apr 2020 13:00:02 -0700 (PDT) Subject: Re: HEAPDEBUGALL is broken To: pgsql-hackers References: <645c0646-4218-d4c3-409a-a7003a0c108d@2ndquadrant.com> From: Alexander Lakhin Message-ID: <3070eb7d-e06d-31a0-5b68-4ae088fd146c@gmail.com> Date: Sun, 19 Apr 2020 23:00:00 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 MIME-Version: 1.0 In-Reply-To: <645c0646-4218-d4c3-409a-a7003a0c108d@2ndquadrant.com> Content-Type: multipart/alternative; boundary="------------A3D7311BE6913FCF19CB599E" Content-Language: ru-RU List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk This is a multi-part message in MIME format. --------------A3D7311BE6913FCF19CB599E Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Hello hackers, 19.04.2020 13:37, Tom Lane wrote: > > Peter Eisentraut writes: >> The HEAPDEBUGALL define has been broken since PG12 due to tableam >> changes.  Should we just remove this?  It doesn't look very useful. >> It's been around since Postgres95. >> If we opt for removing: PG12 added an analogous HEAPAMSLOTDEBUGALL >> (which still compiles correctly).  Would we want to keep that? > > +1 for removing both.  There are a lot of such debug "features" > in the code, and few of them are worth anything IME. To the point, I've tried to use HAVE_ALLOCINFO on master today and it failed too: $ CPPFLAGS="-DHAVE_ALLOCINFO" ./configure --enable-tap-tests --enable-debug --enable-cassert  >/dev/null && make -j16 >/dev/null generation.c: In function ‘GenerationAlloc’: generation.c:191:11: error: ‘GenerationContext {aka struct GenerationContext}’ has no member named ‘name’      (_cxt)->name, (_chunk), (_chunk)->size)            ^ generation.c:386:3: note: in expansion of macro ‘GenerationAllocInfo’    GenerationAllocInfo(set, chunk);    ^~~~~~~~~~~~~~~~~~~ generation.c:191:11: error: ‘GenerationContext {aka struct GenerationContext}’ has no member named ‘name’      (_cxt)->name, (_chunk), (_chunk)->size)            ^ generation.c:463:2: note: in expansion of macro ‘GenerationAllocInfo’   GenerationAllocInfo(set, chunk);   ^~~~~~~~~~~~~~~~~~~ Best regards, Alexander --------------A3D7311BE6913FCF19CB599E Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 8bit
Hello hackers,
19.04.2020 13:37, Tom Lane wrote:

Peter Eisentraut <peter.eisentraut@2ndquadrant.com> writes:
The HEAPDEBUGALL define has been broken since PG12 due to tableam changes.  Should we just remove this?  It doesn't look very useful. It's been around since Postgres95.
If we opt for removing: PG12 added an analogous HEAPAMSLOTDEBUGALL (which still compiles correctly).  Would we want to keep that?

+1 for removing both.  There are a lot of such debug "features"
in the code, and few of them are worth anything IME.
To the point, I've tried to use HAVE_ALLOCINFO on master today and it failed too:
$ CPPFLAGS="-DHAVE_ALLOCINFO" ./configure --enable-tap-tests --enable-debug --enable-cassert  >/dev/null && make -j16 >/dev/null
generation.c: In function ‘GenerationAlloc’:
generation.c:191:11: error: ‘GenerationContext {aka struct GenerationContext}’ has no member named ‘name’
     (_cxt)->name, (_chunk), (_chunk)->size)
           ^
generation.c:386:3: note: in expansion of macro ‘GenerationAllocInfo’
   GenerationAllocInfo(set, chunk);
   ^~~~~~~~~~~~~~~~~~~
generation.c:191:11: error: ‘GenerationContext {aka struct GenerationContext}’ has no member named ‘name’
     (_cxt)->name, (_chunk), (_chunk)->size)
           ^
generation.c:463:2: note: in expansion of macro ‘GenerationAllocInfo’
  GenerationAllocInfo(set, chunk);
  ^~~~~~~~~~~~~~~~~~~

Best regards,
Alexander
--------------A3D7311BE6913FCF19CB599E--