| From: | Robert Haas <robertmhaas(at)gmail(dot)com> |
|---|---|
| To: | Ajay Pal <ajay(dot)pal(dot)k(at)gmail(dot)com> |
| Cc: | Jakub Wartak <jakub(dot)wartak(at)enterprisedb(dot)com>, Lukas Fittl <lukas(at)fittl(dot)com>, Jacob Champion <jacob(dot)champion(at)enterprisedb(dot)com>, Dian Fay <di(at)nmfay(dot)com>, Matheus Alcantara <matheusssilv97(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
| Subject: | Re: pg_plan_advice |
| Date: | 2026-01-26 16:07:55 |
| Message-ID: | CA+Tgmoa6EvDrqOfwyBwoVOWL7-y34=FUTwV62Rx32bN0RkDVOQ@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Here is v12.
The big change in this version is that I've added extensive SGML
documentation for v0005. If the README was a little too low-level for
you, this might work better. If you'd like to view it without
downloading the patch set, I've put it up here:
https://robertmhaas.github.io/postgresql-static/html-pgpa-v12/pgplanadvice.html
Aside from that:
* Added a new GUC pg_plan_advice.always_store_advice_details. Without
that, you can't generate advice or see feedback on supplied advice
when using prepared queries, because we don't know at plan time that
it's right to incur the overhead of generating that stuff, and most of
the time it won't be.
* Revoked privileges on pg_clear_collected_shared_advice() as I had
already done on pg_get_collected_shared_advice().
* Removed a bogus elog(ERROR) in pgpa_walker_would_advise() in favor
of returning 0. I think somebody, likely Jakub, pointed this out
earlier, but I didn't quite absorb what I was being told until I
rediscovered the problem.
* Added a bunch more tests. I think the test coverage is getting
pretty decent now, but it could still use some tests targeting more
complex scenarios and corner cases. If you are curious about the
coverage report, see here:
The low number for pgpa_scanner.l is basically bogus, but I don't know
of a way to make it not bogus. The low number for pgpa_ast.c is due to
a bunch of things related to bitmap scans not being right, which at
this point is, I think, the largest outstanding issue with the patch.
It's probably more interesting to look into ways of covering a few
more lines from pgpa_planner.c and pgpa_walker.c, which is where a lot
of the complexity in this code lives. Also, it would be nice to have
coverage of foreign scan cases, but I'm not quite sure what I need to
do to create tests for this module that also depend on postgres_fdw.
Any tips appreciated.
--
Robert Haas
EDB: http://www.enterprisedb.com
| Attachment | Content-Type | Size |
|---|---|---|
| v12-0004-Store-information-about-Append-node-consolidatio.patch | application/octet-stream | 40.5 KB |
| v12-0001-Allow-for-plugin-control-over-path-generation-st.patch | application/octet-stream | 56.1 KB |
| v12-0002-Store-information-about-range-table-flattening-i.patch | application/octet-stream | 7.8 KB |
| v12-0003-Store-information-about-elided-nodes-in-the-fina.patch | application/octet-stream | 9.8 KB |
| v12-0005-WIP-Add-pg_plan_advice-contrib-module.patch | application/octet-stream | 482.9 KB |
| From | Date | Subject | |
|---|---|---|---|
| Previous Message | Nathan Bossart | 2026-01-26 15:41:35 | Re: refactor architecture-specific popcount code |