From: | Andreas Seltenreich <seltenreich(at)gmx(dot)de> |
---|---|
To: | Greg Stark <stark(at)mit(dot)edu> |
Cc: | Peter Geoghegan <pg(at)heroku(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, David Fetter <david(at)fetter(dot)org>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Subject: | Re: [sqlsmith] Failed to generate plan on lateral subqueries |
Date: | 2015-12-13 01:14:20 |
Message-ID: | 87wpsjduab.fsf@elite.ansel.ydns.eu |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Greg Stark writes:
> On Sat, Dec 12, 2015 at 8:30 PM, Andreas Seltenreich <seltenreich(at)gmx(dot)de> wrote:
> When you hit the timeout is this implemented in your fuzzer or using
> statement_timeout? If the former, can you add a statement_timeout of
> just short of the timeout in the fuzzer and find cases where the
> planner might not be calling CHECK_FOR_INTERRUPTS frequently enough?
It's the latter. I don't think I can add a client-side timeout into
sqlsmith elegantly. IMHO it's better to write another test tool that
just re-runs the queries that were logged with a timeout by sqlsmith and
investigates their timeout-behavior more closely.
>> I do have some older numbers for line coverage from before the recent grammar extension:
>
> If you have a corpus of queries in a simple format it would be pretty
> convenient to add them in a regression test and then run make coverage
> to get html reports.
Hmm, I thought I found a workflow that would yield sqlsmith's coverage
without integrating it into the regession tests. This is what I did:
make install
initdb /tmp/gcov
pg_ctl -D /tmp/gcov start
make installcheck
pg_ctl -D /tmp/gcov stop
make coverage-clean
pg_ctl -D /tmp/gcov start
sqlsmith --target='dbname=regression' --max-queries=10000
pg_ctl -D /tmp/gcov stop
make coverage-html
It seems to yield a pure sqlsmith-only coverage report, as a "make
coverage-html" before the "make coverage-clean" yields a report with
much higher score. Maybe there are drawbacks to the workflow you are
suggesting? I just re-did it with the current sqlsmith code, and it's
up by 25% compared to the latest tested revision:
| revision | overall | parser |
|----------+---------+--------|
| a4c1989 | 26.0 | 20.4 |
| ee099e6 | 33.8 | 25.8 |
I also put the report here, in case someone wants to look at certain
details, or make suggestions into what directions to best extend the
grammar to increase coverage.
http://ansel.ydns.eu/~andreas/coverage/
http://ansel.ydns.eu/~andreas/gcov.tar.xz
> Did you publish the source already? I haven't been following all
> along, sorry if these are all answered questions.
It's not had a proper release yet, but the code is available via github
in all its rapid-prototypesque glory:
https://github.com/anse1/sqlsmith
regards,
Andreas
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Haas | 2015-12-13 02:15:52 | Re: [PATCH] Refactoring of LWLock tranches |
Previous Message | Tom Lane | 2015-12-13 01:03:09 | Re: [PATCH] PostGIS Doc Urls |