From: | Ashutosh Bapat <ashutosh(dot)bapat(at)enterprisedb(dot)com> |
---|---|
To: | Amit Langote <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp> |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Printing bitmap objects in the debugger |
Date: | 2016-09-15 06:10:37 |
Message-ID: | CAFjFpRf_YcVO8w6xDK9bkZ6V4UUxWw+r94sZmpiGvJZOghb8vQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
>> Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> writes:
>>> I don't understand. Why don't you just use "call pprint(the bitmapset)"
>>> in the debugger?
>>
>> Bitmapsets aren't Nodes, so pprint doesn't work directly on them.
>> I usually find that I can pprint some node containing the value(s)
>> I'm interested in, but maybe that isn't working for Ashutosh's
>> particular case.
that's right.
>
> There are many loose (ie, not inside any Node) Relids variables within the
> optimizer code. Perhaps Ashutosh ended up needing to look at those a lot.
that's right too.
In joinrels.c for example we are manipulating Relids so many times.
[ashutosh(at)ubuntu pg_head]grep bms_ src/backend/optimizer/path/joinrels.c | wc -l
69
There are many other instances of this in other optimizer and planner
files. There are other places where we manipulate Bitmapsets.
And not every Relids object computed is contained in a Node. So,
pprint() doesn't help much.
--
Best Wishes,
Ashutosh Bapat
EnterpriseDB Corporation
The Postgres Database Company
From | Date | Subject | |
---|---|---|---|
Next Message | Amit Kapila | 2016-09-15 06:13:07 | Re: Hash Indexes |
Previous Message | Amit Kapila | 2016-09-15 06:03:24 | Re: Hash Indexes |