On Tue, Apr 24, 2012 at 08:49:26AM +0200, Sandro Santilli wrote: > On Mon, Apr 23, 2012 at 08:34:44PM +0300, Ants Aasma wrote:
> > SELECT (SELECT reservoir_sample(some_table, 50) AS samples > > FROM some_table WHERE ctid =~ ANY (rnd_pgtids)) > > FROM random_pages('some_table', 50) AS rnd_pgtids; > > But I don't understand the reservoir_sample call, what is it supposed to do ? Ok got it, that was probably to avoid: ERROR: more than one row returned by a subquery used as an expression But this also works nicely: SELECT * FROM lots_of_points WHERE ctid = ANY ( ARRAY[(SELECT random_tids('lots_of_points', 100000))] ); and still uses tidscan. The advanced TID operator would be for random_tids to only return pages rather than full tids... --strk; ,------o-. | __/ | Delivering high quality PostGIS 2.0 ! | / 2.0 | http://strk.keybit.net - http://vizzuality.com `-o------' -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers