Re: TABLESAMPLE patch
От | Michael Paquier |
---|---|
Тема | Re: TABLESAMPLE patch |
Дата | |
Msg-id | CAB7nPqRnEivoQ2m89t+K9T3_HpYgh-Jmrgdmb1EZuzEKZqd6rg@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: TABLESAMPLE patch (Simon Riggs <simon@2ndQuadrant.com>) |
Список | pgsql-hackers |
On Thu, Apr 9, 2015 at 5:52 PM, Simon Riggs <simon@2ndquadrant.com> wrote: > On 9 April 2015 at 04:12, Michael Paquier <michael.paquier@gmail.com> wrote: > >> Also, I am wondering if the sampling logic based on block analysis is >> actually correct, for example for now this fails and I think that we >> should support it: >> =# with query_select as (select generate_series(1, 10) as a) select >> query_select.a from query_select tablesample system (100.0/11) >> REPEATABLE (9999); >> ERROR: 42P01: relation "query_select" does not exist >> >> How does the SQL spec define exactly TABLESAMPLE? Shouldn't we get a >> sample from a result set? >> Thoughts? > > Good catch. The above query doesn't make any sense. > > TABLESAMPLE SYSTEM implies system-defined sampling mechanism, which is > block level sampling. So any block level sampling method should be > barred from operating on a result set in this way... i.e. should > generate an "ERROR inappropriate sampling method specified" > > TABLESAMPLE BERNOULLI could work in this case, or any other non-block > based sampling mechanism. Whether it does work yet is another matter. > > This query should be part of the test suite and should generate a > useful message or work correctly. Ahah, you just beat me on that ;) See a more precise reply below. -- Michael
В списке pgsql-hackers по дате отправления: