Create a separate test file for exercising system views
In connection with the "pg_hba_file_settings view patch" thread, I was
wondering where we could logically insert a regression test case for that
view. I realized that there is no natural home for it among the existing
regression tests, because it's not really connected to any SQL language
feature. The same is true for a number of other built-in views, and
unsurprisingly, most of them are not exercised anywhere :-(.
Accordingly, I propose creating a new regression test file whose charter
is to exercise the SRFs underlying system views, as per attached.
I don't think we desperately need new tests for views that expand to
simple SQL, but these test cases correspond directly to code coverage
for C functions, so they seem worthwhile.
I did not do anything about testing the various pg_stat_xxx views.
Those could be added later, or maybe they deserve their own home.
(In many cases, those would need something smarter than the basic
count(*) technique used here, because the C functions are invoked
in the view's SELECT list not in FROM, so the planner would throw
away those calls.)
Comments/objections?
regards, tom lane
Attachments:
new-sysviews-test-1.patchtext/x-diff; charset=us-ascii; name=new-sysviews-test-1.patchDownload+164-71
Hi,
On 2017-01-29 16:02:21 -0500, Tom Lane wrote:
I did not do anything about testing the various pg_stat_xxx views.
Those could be added later, or maybe they deserve their own home.
(In many cases, those would need something smarter than the basic
count(*) technique used here, because the C functions are invoked
in the view's SELECT list not in FROM, so the planner would throw
away those calls.)
I've previously wished there were a portable equivalent of \o /dev/null
that'd not be perfect, but it'd still exercise more than what we
currently have. Alternatively casting the entire row to text should
allow to use count(*) trickery in some of the cases at least.
Comments/objections?
Sounds like a good idea here.
Greetings,
Andres Freund
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers
On Mon, Jan 30, 2017 at 6:02 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
In connection with the "pg_hba_file_settings view patch" thread, I was
wondering where we could logically insert a regression test case for that
view. I realized that there is no natural home for it among the existing
regression tests, because it's not really connected to any SQL language
feature. The same is true for a number of other built-in views, and
unsurprisingly, most of them are not exercised anywhere :-(.Accordingly, I propose creating a new regression test file whose charter
is to exercise the SRFs underlying system views, as per attached.
I don't think we desperately need new tests for views that expand to
simple SQL, but these test cases correspond directly to code coverage
for C functions, so they seem worthwhile.I did not do anything about testing the various pg_stat_xxx views.
Those could be added later, or maybe they deserve their own home.
(In many cases, those would need something smarter than the basic
count(*) technique used here, because the C functions are invoked
in the view's SELECT list not in FROM, so the planner would throw
away those calls.)Comments/objections?
Nice idea to group those tests in the same file. I am not noticing any
issues with the patch proposed.
--
Michael
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers
On Mon, Jan 30, 2017 at 2:32 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
In connection with the "pg_hba_file_settings view patch" thread, I was
wondering where we could logically insert a regression test case for that
view. I realized that there is no natural home for it among the existing
regression tests, because it's not really connected to any SQL language
feature. The same is true for a number of other built-in views, and
unsurprisingly, most of them are not exercised anywhere :-(.Accordingly, I propose creating a new regression test file whose charter
is to exercise the SRFs underlying system views, as per attached.
I don't think we desperately need new tests for views that expand to
simple SQL, but these test cases correspond directly to code coverage
for C functions, so they seem worthwhile.I did not do anything about testing the various pg_stat_xxx views.
Those could be added later, or maybe they deserve their own home.
(In many cases, those would need something smarter than the basic
count(*) technique used here, because the C functions are invoked
in the view's SELECT list not in FROM, so the planner would throw
away those calls.)Comments/objections?
I think this is good in the given infrastructure. Thanks for working on it.
--
Best Wishes,
Ashutosh Bapat
EnterpriseDB Corporation
The Postgres Database Company
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers