From: | Andreas Seltenreich <seltenreich(at)gmx(dot)de> |
---|---|
To: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> |
Cc: | Andres Freund <andres(at)anarazel(dot)de>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Adam Brusselback <adambrusselback(at)gmail(dot)com>, Petr Jelinek <petr(dot)jelinek(at)2ndquadrant(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Discussion on missing optimizations |
Date: | 2017-10-22 17:20:30 |
Message-ID: | 87wp3nhzfl.fsf@ansel.ydns.eu |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Alvaro Herrera writes:
> Andres Freund wrote:
>> Unfortunately it won't help in this specific case (no support for UNION,
>> just UNION ALL), but I thought it might be interesting to reference
>> https://medium.com/@uwdb/introducing-cosette-527898504bd6
>> here.
>
> Interesting. I thought about a completely different approach -- use a
> fuzzer, which runs each generated query on two servers, one patched one
> not, and compare the results. Would it be possible to tweak sqlsmith to
> do this?
I think the tweaking needed would be:
1. Log successful queries as well along with a result description.
Maybe logging returned/affected rows is sufficent.
2. Make it avoid nondeterministic things such as joining
pg_stat_activity or calling non-immutable functions
The second one is a bit harder and I can't think of a more elegant
solution than adding a blacklisting/whitelisting feature and let the
user do the hard work…
If these are solved though, one could make multiple runs with the same
random seed and query the logging database for differences in the result
descriptions.
regards,
Andreas
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2017-10-22 18:20:44 | Re: Useless(?) asymmetry in parse_func.c |
Previous Message | Tom Lane | 2017-10-22 17:07:03 | Re: [sqlsmith] Failed assertion in adjust_appendrel_attrs_mutator |