blob: 03a8b35e6d6c4f5bbf27edef6f1b5c26fd90c9cb [file] [log] [blame]
create schema eagerfree;
set search_path=eagerfree;
create table smallt (i int, t text, d date) distributed by (i);
insert into smallt select i%10, 'text ' || (i%15), '2011-01-01'::date + ((i%20) || ' days')::interval
from generate_series(0, 99) i;
analyze smallt;
create table bigt (i int, t text, d date) distributed by (i);
insert into bigt select i/10, 'text ' || (i/15), '2011-01-01'::date + ((i/20) || ' days')::interval
from generate_series(0, 999999) i;
analyze bigt;
create table smallt2 (i int, t text, d date) distributed by (i);
insert into smallt2 select i%5, 'text ' || (i%10), '2011-01-01'::date + ((i%15) || ' days')::interval
from generate_series(0, 49) i;
analyze smallt2;
set optimizer_segments = 3;
set gp_motion_cost_per_row = 0.1;
-- HashAgg, Agg
select d, count(*) from smallt group by d;
d | count
------------+-------
01-19-2011 | 5
01-16-2011 | 5
01-13-2011 | 5
01-10-2011 | 5
01-15-2011 | 5
01-11-2011 | 5
01-09-2011 | 5
01-17-2011 | 5
01-05-2011 | 5
01-12-2011 | 5
01-18-2011 | 5
01-06-2011 | 5
01-08-2011 | 5
01-14-2011 | 5
01-20-2011 | 5
01-02-2011 | 5
01-03-2011 | 5
01-01-2011 | 5
01-07-2011 | 5
01-04-2011 | 5
(20 rows)
explain analyze select d, count(*) from smallt group by d;
QUERY PLAN
--------------------------------------------------------------------------------------------------------------------------------------------------
Gather Motion 3:1 (slice2; segments: 3) (cost=0.00..431.01 rows=20 width=12) (actual time=1.785..1.787 rows=20 loops=1)
-> GroupAggregate (cost=0.00..431.01 rows=7 width=12) (actual time=1.513..1.522 rows=7 loops=1)
Group Key: d
-> Sort (cost=0.00..431.01 rows=34 width=4) (actual time=1.510..1.513 rows=35 loops=1)
Sort Key: d
Sort Method: quicksort Memory: 99kB
-> Redistribute Motion 3:3 (slice1; segments: 3) (cost=0.00..431.00 rows=34 width=4) (actual time=0.342..1.481 rows=35 loops=1)
Hash Key: d
-> Seq Scan on smallt (cost=0.00..431.00 rows=34 width=4) (actual time=0.002..0.004 rows=50 loops=1)
Planning time: 17.216 ms
(slice0) Executor memory: 63K bytes.
(slice1) Executor memory: 42K bytes avg x 3 workers, 42K bytes max (seg0).
(slice2) Executor memory: 64K bytes avg x 3 workers, 64K bytes max (seg0). Work_mem: 33K bytes max.
Memory used: 128000kB
Optimizer: Pivotal Optimizer (GPORCA) version 3.64.0
Execution time: 2.061 ms
(16 rows)
set statement_mem=2560;
select count(*) from (select i, t, d, count(*) from bigt group by i, t, d) tmp;
count
--------
133333
(1 row)
explain analyze select count(*) from (select i, t, d, count(*) from bigt group by i, t, d) tmp;
QUERY PLAN
-------------------------------------------------------------------------------------------------------------------------------------
Finalize Aggregate (cost=0.00..571.36 rows=1 width=8) (actual time=362.957..362.957 rows=1 loops=1)
-> Gather Motion 3:1 (slice1; segments: 3) (cost=0.00..571.36 rows=1 width=8) (actual time=265.826..362.941 rows=3 loops=1)
-> Partial Aggregate (cost=0.00..571.36 rows=1 width=8) (actual time=265.338..265.338 rows=1 loops=1)
-> HashAggregate (cost=0.00..571.36 rows=333580 width=1) (actual time=338.390..356.986 rows=44572 loops=1)
Group Key: i, t, d
(seg0) 44435 groups total in 32 batches; 1 overflows; 44435 spill groups.
(seg0) Hash chain length 2.8 avg, 10 max, using 30315 of 32768 buckets; total 9 expansions.
-> Seq Scan on bigt (cost=0.00..439.81 rows=333580 width=18) (actual time=0.026..49.692 rows=333530 loops=1)
(slice0) Executor memory: 386K bytes.
(slice1) * Executor memory: 3180K bytes avg x 3 workers, 3180K bytes max (seg0). Work_mem: 2461K bytes max, 4866K bytes wanted.
Memory used: 2560kB
Memory wanted: 5265kB
Optimizer: Pivotal Optimizer (GPORCA) version 2.67.0
Total runtime: 363.922 ms
(14 rows)
set statement_mem=128000;
-- DQA
set gp_enable_agg_distinct=off;
set gp_enable_multiphase_agg=off;
select count(distinct d) from smallt;
count
-------
20
(1 row)
explain analyze select count(distinct d) from smallt;
QUERY PLAN
--------------------------------------------------------------------------------------------------------------------------------------------------
Finalize Aggregate (cost=0.00..431.00 rows=1 width=8) (actual time=1.637..1.637 rows=1 loops=1)
-> Gather Motion 3:1 (slice2; segments: 3) (cost=0.00..431.00 rows=1 width=8) (actual time=1.631..1.633 rows=3 loops=1)
-> Partial Aggregate (cost=0.00..431.00 rows=1 width=8) (actual time=1.408..1.408 rows=1 loops=1)
-> Redistribute Motion 3:3 (slice1; segments: 3) (cost=0.00..431.00 rows=34 width=4) (actual time=1.396..1.402 rows=35 loops=1)
Hash Key: d
-> Seq Scan on smallt (cost=0.00..431.00 rows=34 width=4) (actual time=0.002..0.006 rows=50 loops=1)
Planning time: 19.307 ms
(slice0) Executor memory: 59K bytes.
(slice1) Executor memory: 42K bytes avg x 3 workers, 42K bytes max (seg0).
(slice2) Executor memory: 64K bytes avg x 3 workers, 64K bytes max (seg0). Work_mem: 33K bytes max.
Memory used: 128000kB
Optimizer: Pivotal Optimizer (GPORCA) version 3.64.0
Execution time: 1.904 ms
(13 rows)
set statement_mem=2560;
select count(distinct d) from bigt;
count
-------
50000
(1 row)
explain analyze select count(distinct d) from bigt;
QUERY PLAN
------------------------------------------------------------------------------------------------------------------------------------------------------------
Finalize Aggregate (cost=0.00..446.60 rows=1 width=8) (actual time=394.139..394.139 rows=1 loops=1)
-> Gather Motion 3:1 (slice2; segments: 3) (cost=0.00..446.60 rows=1 width=8) (actual time=388.126..394.130 rows=3 loops=1)
-> Partial Aggregate (cost=0.00..446.60 rows=1 width=8) (actual time=393.902..393.903 rows=1 loops=1)
-> Redistribute Motion 3:3 (slice1; segments: 3) (cost=0.00..446.45 rows=333334 width=4) (actual time=0.670..118.334 rows=334920 loops=1)
Hash Key: d
-> Seq Scan on bigt (cost=0.00..439.80 rows=333334 width=4) (actual time=0.013..46.779 rows=334620 loops=1)
Planning time: 27.350 ms
(slice0) Executor memory: 59K bytes.
(slice1) Executor memory: 68K bytes avg x 3 workers, 68K bytes max (seg0).
* (slice2) Executor memory: 2768K bytes avg x 3 workers, 2768K bytes max (seg0). Work_mem: 2617K bytes max, 7876K bytes wanted.
Memory used: 2560kB
Memory wanted: 8275kB
Optimizer: Pivotal Optimizer (GPORCA) version 3.64.0
Execution time: 394.389 ms
(14 rows)
set statement_mem=128000;
set gp_enable_agg_distinct=on;
set gp_enable_multiphase_agg=on;
-- Rescan on Agg (with Material in the inner side of nestloop)
-- start_ignore
-- Known_opt_diff: This test is only here for the planner. It doesn't exercise eagerfree in ORCA plans
-- end_ignore
set enable_nestloop=on;
set enable_hashjoin=off;
select t1.*, t2.* from
(select d, count(*) from smallt group by d) as t1, (select d, sum(i) from smallt group by d) as t2
where t1.d = t2.d;
d | count | d | sum
------------+-------+------------+-----
01-19-2011 | 5 | 01-19-2011 | 40
01-16-2011 | 5 | 01-16-2011 | 25
01-13-2011 | 5 | 01-13-2011 | 10
01-10-2011 | 5 | 01-10-2011 | 45
01-15-2011 | 5 | 01-15-2011 | 20
01-17-2011 | 5 | 01-17-2011 | 30
01-11-2011 | 5 | 01-11-2011 | 0
01-09-2011 | 5 | 01-09-2011 | 40
01-05-2011 | 5 | 01-05-2011 | 20
01-12-2011 | 5 | 01-12-2011 | 5
01-18-2011 | 5 | 01-18-2011 | 35
01-06-2011 | 5 | 01-06-2011 | 25
01-08-2011 | 5 | 01-08-2011 | 35
01-14-2011 | 5 | 01-14-2011 | 15
01-20-2011 | 5 | 01-20-2011 | 45
01-02-2011 | 5 | 01-02-2011 | 5
01-03-2011 | 5 | 01-03-2011 | 10
01-01-2011 | 5 | 01-01-2011 | 0
01-07-2011 | 5 | 01-07-2011 | 30
01-04-2011 | 5 | 01-04-2011 | 15
(20 rows)
explain analyze select t1.*, t2.* from
(select d, count(*) from smallt group by d) as t1, (select d, sum(i) from smallt group by d) as t2
where t1.d = t2.d;
QUERY PLAN
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
Gather Motion 3:1 (slice3; segments: 3) (cost=0.00..862.02 rows=20 width=24) (actual time=1.873..1.922 rows=20 loops=1)
-> Hash Join (cost=0.00..862.02 rows=7 width=24) (actual time=1.498..1.631 rows=7 loops=1)
Hash Cond: (smallt.d = smallt_1.d)
Extra Text: (seg1) Hash chain length 1.0 avg, 1 max, using 7 of 131072 buckets.Hash chain length 1.2 avg, 2 max, using 6 of 32 buckets; total 0 expansions.
-> GroupAggregate (cost=0.00..431.01 rows=7 width=12) (actual time=0.032..0.038 rows=7 loops=1)
Group Key: smallt.d
-> Sort (cost=0.00..431.01 rows=34 width=4) (actual time=0.029..0.032 rows=35 loops=1)
Sort Key: smallt.d
Sort Method: quicksort Memory: 99kB
-> Redistribute Motion 3:3 (slice1; segments: 3) (cost=0.00..431.00 rows=34 width=4) (actual time=0.004..0.011 rows=35 loops=1)
Hash Key: smallt.d
-> Seq Scan on smallt (cost=0.00..431.00 rows=34 width=4) (actual time=0.003..0.018 rows=50 loops=1)
-> Hash (cost=431.01..431.01 rows=7 width=12) (actual time=1.402..1.402 rows=7 loops=1)
-> HashAggregate (cost=0.00..431.01 rows=7 width=12) (actual time=1.388..1.398 rows=7 loops=1)
Group Key: smallt_1.d
Extra Text: (seg1) Hash chain length 1.2 avg, 2 max, using 6 of 32 buckets; total 0 expansions.
-> Redistribute Motion 3:3 (slice2; segments: 3) (cost=0.00..431.00 rows=34 width=8) (actual time=0.245..1.337 rows=35 loops=1)
Hash Key: smallt_1.d
-> Seq Scan on smallt smallt_1 (cost=0.00..431.00 rows=34 width=8) (actual time=0.003..0.018 rows=50 loops=1)
Planning time: 64.498 ms
(slice0) Executor memory: 127K bytes.
(slice1) Executor memory: 44K bytes avg x 3 workers, 44K bytes max (seg0).
(slice2) Executor memory: 44K bytes avg x 3 workers, 44K bytes max (seg0).
(slice3) Executor memory: 1192K bytes avg x 3 workers, 1192K bytes max (seg0). Work_mem: 33K bytes max.
Memory used: 128000kB
Optimizer: Pivotal Optimizer (GPORCA) version 3.64.0
Execution time: 2.226 ms
(29 rows)
set enable_nestloop=off;
set enable_hashjoin=on;
-- Rescan on Agg (with Material in the inner side of nestloop)
-- start_ignore
-- Known_opt_diff: This test is only here for the planner. It doesn't exercise eagerfree in ORCA plans
-- end_ignore
set enable_nestloop=on;
set enable_hashjoin=off;
select t1.*, t2.* from
(select i, count(*) from smallt group by i) as t1, (select i, sum(i) from smallt group by i) as t2
where t1.i = t2.i;
i | count | i | sum
---+-------+---+-----
1 | 10 | 1 | 10
3 | 10 | 3 | 30
0 | 10 | 0 | 0
4 | 10 | 4 | 40
7 | 10 | 7 | 70
8 | 10 | 8 | 80
2 | 10 | 2 | 20
5 | 10 | 5 | 50
6 | 10 | 6 | 60
9 | 10 | 9 | 90
(10 rows)
explain analyze select t1.*, t2.* from
(select i, count(*) from smallt group by i) as t1, (select i, sum(i) from smallt group by i) as t2
where t1.i = t2.i;
QUERY PLAN
-------------------------------------------------------------------------------------------------------------------------------------------
Gather Motion 3:1 (slice1; segments: 3) (cost=0.00..862.01 rows=10 width=24) (actual time=0.501..0.740 rows=5 loops=2)
-> Hash Join (cost=0.00..862.01 rows=4 width=24) (actual time=0.166..0.460 rows=2 loops=2)
Hash Cond: smallt.i = smallt_1.i
Extra Text: (seg0) Hash chain length 1.0 avg, 1 max, using 4 of 131072 buckets.
-> GroupAggregate (cost=0.00..431.01 rows=4 width=12) (actual time=0.041..0.055 rows=2 loops=2)
Group Key: smallt.i
-> Sort (cost=0.00..431.00 rows=34 width=4) (actual time=0.036..0.042 rows=20 loops=2)
Sort Key: smallt.i
Sort Method: quicksort Memory: 99kB
-> Seq Scan on smallt (cost=0.00..431.00 rows=34 width=4) (actual time=0.004..0.013 rows=20 loops=2)
-> Hash (cost=431.01..431.01 rows=4 width=12) (actual time=0.072..0.072 rows=2 loops=2)
-> GroupAggregate (cost=0.00..431.01 rows=4 width=12) (actual time=0.053..0.069 rows=2 loops=2)
Group Key: smallt_1.i
-> Sort (cost=0.00..431.00 rows=34 width=4) (actual time=0.048..0.053 rows=20 loops=2)
Sort Key: smallt_1.i
Sort Method: quicksort Memory: 99kB
-> Seq Scan on smallt smallt_1 (cost=0.00..431.00 rows=34 width=4) (actual time=0.012..0.022 rows=20 loops=2)
(slice0) Executor memory: 386K bytes.
(slice1) Executor memory: 1238K bytes avg x 3 workers, 1238K bytes max (seg0). Work_mem: 33K bytes max.
Memory used: 128000kB
Optimizer: Pivotal Optimizer (GPORCA) version 2.74.0
Total runtime: 2.471 ms
(23 rows)
set enable_nestloop=off;
set enable_hashjoin=on;
-- Limit on Agg
select d, count(*) from smallt group by d limit 5; --ignore
d | count
------------+-------
01-19-2011 | 5
01-16-2011 | 5
01-13-2011 | 5
01-10-2011 | 5
01-15-2011 | 5
(5 rows)
explain analyze select d, count(*) from smallt group by d limit 5;
QUERY PLAN
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Limit (cost=0.00..431.01 rows=2 width=12) (actual time=1.700..1.702 rows=5 loops=1)
-> Gather Motion 3:1 (slice2; segments: 3) (cost=0.00..431.01 rows=5 width=12) (actual time=1.698..1.700 rows=5 loops=1)
-> Limit (cost=0.00..431.01 rows=2 width=12) (actual time=1.456..1.464 rows=5 loops=1)
-> GroupAggregate (cost=0.00..431.01 rows=7 width=12) (actual time=1.455..1.460 rows=5 loops=1)
Group Key: d
-> Sort (cost=0.00..431.01 rows=34 width=4) (actual time=1.449..1.453 rows=26 loops=1)
Sort Key: d
Sort Method: quicksort Memory: 99kB
-> Redistribute Motion 3:3 (slice1; segments: 3) (cost=0.00..431.00 rows=34 width=4) (actual time=0.413..1.428 rows=35 loops=1)
Hash Key: d
-> Seq Scan on smallt (cost=0.00..431.00 rows=34 width=4) (actual time=0.003..0.006 rows=50 loops=1)
Planning time: 16.802 ms
(slice0) Executor memory: 59K bytes.
(slice1) Executor memory: 42K bytes avg x 3 workers, 42K bytes max (seg0).
(slice2) Executor memory: 64K bytes avg x 3 workers, 64K bytes max (seg0). Work_mem: 33K bytes max.
Memory used: 128000kB
Optimizer: Pivotal Optimizer (GPORCA) version 3.64.0
Execution time: 2.024 ms
(18 rows)
-- HashJoin
select t1.* from smallt as t1, smallt as t2 where t1.i = t2.i order by 1,2,3;
i | t | d
---+---------+------------
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-11-2011
0 | text 0 | 01-11-2011
0 | text 0 | 01-11-2011
0 | text 0 | 01-11-2011
0 | text 0 | 01-11-2011
0 | text 0 | 01-11-2011
0 | text 0 | 01-11-2011
0 | text 0 | 01-11-2011
0 | text 0 | 01-11-2011
0 | text 0 | 01-11-2011
0 | text 0 | 01-11-2011
0 | text 0 | 01-11-2011
0 | text 0 | 01-11-2011
0 | text 0 | 01-11-2011
0 | text 0 | 01-11-2011
0 | text 0 | 01-11-2011
0 | text 0 | 01-11-2011
0 | text 0 | 01-11-2011
0 | text 0 | 01-11-2011
0 | text 0 | 01-11-2011
0 | text 10 | 01-01-2011
0 | text 10 | 01-01-2011
0 | text 10 | 01-01-2011
0 | text 10 | 01-01-2011
0 | text 10 | 01-01-2011
0 | text 10 | 01-01-2011
0 | text 10 | 01-01-2011
0 | text 10 | 01-01-2011
0 | text 10 | 01-01-2011
0 | text 10 | 01-01-2011
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-11-2011
0 | text 5 | 01-11-2011
0 | text 5 | 01-11-2011
0 | text 5 | 01-11-2011
0 | text 5 | 01-11-2011
0 | text 5 | 01-11-2011
0 | text 5 | 01-11-2011
0 | text 5 | 01-11-2011
0 | text 5 | 01-11-2011
0 | text 5 | 01-11-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-12-2011
1 | text 1 | 01-12-2011
1 | text 1 | 01-12-2011
1 | text 1 | 01-12-2011
1 | text 1 | 01-12-2011
1 | text 1 | 01-12-2011
1 | text 1 | 01-12-2011
1 | text 1 | 01-12-2011
1 | text 1 | 01-12-2011
1 | text 1 | 01-12-2011
1 | text 1 | 01-12-2011
1 | text 1 | 01-12-2011
1 | text 1 | 01-12-2011
1 | text 1 | 01-12-2011
1 | text 1 | 01-12-2011
1 | text 1 | 01-12-2011
1 | text 1 | 01-12-2011
1 | text 1 | 01-12-2011
1 | text 1 | 01-12-2011
1 | text 1 | 01-12-2011
1 | text 11 | 01-02-2011
1 | text 11 | 01-02-2011
1 | text 11 | 01-02-2011
1 | text 11 | 01-02-2011
1 | text 11 | 01-02-2011
1 | text 11 | 01-02-2011
1 | text 11 | 01-02-2011
1 | text 11 | 01-02-2011
1 | text 11 | 01-02-2011
1 | text 11 | 01-02-2011
1 | text 11 | 01-12-2011
1 | text 11 | 01-12-2011
1 | text 11 | 01-12-2011
1 | text 11 | 01-12-2011
1 | text 11 | 01-12-2011
1 | text 11 | 01-12-2011
1 | text 11 | 01-12-2011
1 | text 11 | 01-12-2011
1 | text 11 | 01-12-2011
1 | text 11 | 01-12-2011
1 | text 11 | 01-12-2011
1 | text 11 | 01-12-2011
1 | text 11 | 01-12-2011
1 | text 11 | 01-12-2011
1 | text 11 | 01-12-2011
1 | text 11 | 01-12-2011
1 | text 11 | 01-12-2011
1 | text 11 | 01-12-2011
1 | text 11 | 01-12-2011
1 | text 11 | 01-12-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-12-2011
1 | text 6 | 01-12-2011
1 | text 6 | 01-12-2011
1 | text 6 | 01-12-2011
1 | text 6 | 01-12-2011
1 | text 6 | 01-12-2011
1 | text 6 | 01-12-2011
1 | text 6 | 01-12-2011
1 | text 6 | 01-12-2011
1 | text 6 | 01-12-2011
2 | text 12 | 01-03-2011
2 | text 12 | 01-03-2011
2 | text 12 | 01-03-2011
2 | text 12 | 01-03-2011
2 | text 12 | 01-03-2011
2 | text 12 | 01-03-2011
2 | text 12 | 01-03-2011
2 | text 12 | 01-03-2011
2 | text 12 | 01-03-2011
2 | text 12 | 01-03-2011
2 | text 12 | 01-13-2011
2 | text 12 | 01-13-2011
2 | text 12 | 01-13-2011
2 | text 12 | 01-13-2011
2 | text 12 | 01-13-2011
2 | text 12 | 01-13-2011
2 | text 12 | 01-13-2011
2 | text 12 | 01-13-2011
2 | text 12 | 01-13-2011
2 | text 12 | 01-13-2011
2 | text 12 | 01-13-2011
2 | text 12 | 01-13-2011
2 | text 12 | 01-13-2011
2 | text 12 | 01-13-2011
2 | text 12 | 01-13-2011
2 | text 12 | 01-13-2011
2 | text 12 | 01-13-2011
2 | text 12 | 01-13-2011
2 | text 12 | 01-13-2011
2 | text 12 | 01-13-2011
2 | text 2 | 01-03-2011
2 | text 2 | 01-03-2011
2 | text 2 | 01-03-2011
2 | text 2 | 01-03-2011
2 | text 2 | 01-03-2011
2 | text 2 | 01-03-2011
2 | text 2 | 01-03-2011
2 | text 2 | 01-03-2011
2 | text 2 | 01-03-2011
2 | text 2 | 01-03-2011
2 | text 2 | 01-03-2011
2 | text 2 | 01-03-2011
2 | text 2 | 01-03-2011
2 | text 2 | 01-03-2011
2 | text 2 | 01-03-2011
2 | text 2 | 01-03-2011
2 | text 2 | 01-03-2011
2 | text 2 | 01-03-2011
2 | text 2 | 01-03-2011
2 | text 2 | 01-03-2011
2 | text 2 | 01-13-2011
2 | text 2 | 01-13-2011
2 | text 2 | 01-13-2011
2 | text 2 | 01-13-2011
2 | text 2 | 01-13-2011
2 | text 2 | 01-13-2011
2 | text 2 | 01-13-2011
2 | text 2 | 01-13-2011
2 | text 2 | 01-13-2011
2 | text 2 | 01-13-2011
2 | text 2 | 01-13-2011
2 | text 2 | 01-13-2011
2 | text 2 | 01-13-2011
2 | text 2 | 01-13-2011
2 | text 2 | 01-13-2011
2 | text 2 | 01-13-2011
2 | text 2 | 01-13-2011
2 | text 2 | 01-13-2011
2 | text 2 | 01-13-2011
2 | text 2 | 01-13-2011
2 | text 7 | 01-03-2011
2 | text 7 | 01-03-2011
2 | text 7 | 01-03-2011
2 | text 7 | 01-03-2011
2 | text 7 | 01-03-2011
2 | text 7 | 01-03-2011
2 | text 7 | 01-03-2011
2 | text 7 | 01-03-2011
2 | text 7 | 01-03-2011
2 | text 7 | 01-03-2011
2 | text 7 | 01-03-2011
2 | text 7 | 01-03-2011
2 | text 7 | 01-03-2011
2 | text 7 | 01-03-2011
2 | text 7 | 01-03-2011
2 | text 7 | 01-03-2011
2 | text 7 | 01-03-2011
2 | text 7 | 01-03-2011
2 | text 7 | 01-03-2011
2 | text 7 | 01-03-2011
2 | text 7 | 01-13-2011
2 | text 7 | 01-13-2011
2 | text 7 | 01-13-2011
2 | text 7 | 01-13-2011
2 | text 7 | 01-13-2011
2 | text 7 | 01-13-2011
2 | text 7 | 01-13-2011
2 | text 7 | 01-13-2011
2 | text 7 | 01-13-2011
2 | text 7 | 01-13-2011
3 | text 13 | 01-04-2011
3 | text 13 | 01-04-2011
3 | text 13 | 01-04-2011
3 | text 13 | 01-04-2011
3 | text 13 | 01-04-2011
3 | text 13 | 01-04-2011
3 | text 13 | 01-04-2011
3 | text 13 | 01-04-2011
3 | text 13 | 01-04-2011
3 | text 13 | 01-04-2011
3 | text 13 | 01-14-2011
3 | text 13 | 01-14-2011
3 | text 13 | 01-14-2011
3 | text 13 | 01-14-2011
3 | text 13 | 01-14-2011
3 | text 13 | 01-14-2011
3 | text 13 | 01-14-2011
3 | text 13 | 01-14-2011
3 | text 13 | 01-14-2011
3 | text 13 | 01-14-2011
3 | text 13 | 01-14-2011
3 | text 13 | 01-14-2011
3 | text 13 | 01-14-2011
3 | text 13 | 01-14-2011
3 | text 13 | 01-14-2011
3 | text 13 | 01-14-2011
3 | text 13 | 01-14-2011
3 | text 13 | 01-14-2011
3 | text 13 | 01-14-2011
3 | text 13 | 01-14-2011
3 | text 3 | 01-04-2011
3 | text 3 | 01-04-2011
3 | text 3 | 01-04-2011
3 | text 3 | 01-04-2011
3 | text 3 | 01-04-2011
3 | text 3 | 01-04-2011
3 | text 3 | 01-04-2011
3 | text 3 | 01-04-2011
3 | text 3 | 01-04-2011
3 | text 3 | 01-04-2011
3 | text 3 | 01-04-2011
3 | text 3 | 01-04-2011
3 | text 3 | 01-04-2011
3 | text 3 | 01-04-2011
3 | text 3 | 01-04-2011
3 | text 3 | 01-04-2011
3 | text 3 | 01-04-2011
3 | text 3 | 01-04-2011
3 | text 3 | 01-04-2011
3 | text 3 | 01-04-2011
3 | text 3 | 01-14-2011
3 | text 3 | 01-14-2011
3 | text 3 | 01-14-2011
3 | text 3 | 01-14-2011
3 | text 3 | 01-14-2011
3 | text 3 | 01-14-2011
3 | text 3 | 01-14-2011
3 | text 3 | 01-14-2011
3 | text 3 | 01-14-2011
3 | text 3 | 01-14-2011
3 | text 3 | 01-14-2011
3 | text 3 | 01-14-2011
3 | text 3 | 01-14-2011
3 | text 3 | 01-14-2011
3 | text 3 | 01-14-2011
3 | text 3 | 01-14-2011
3 | text 3 | 01-14-2011
3 | text 3 | 01-14-2011
3 | text 3 | 01-14-2011
3 | text 3 | 01-14-2011
3 | text 8 | 01-04-2011
3 | text 8 | 01-04-2011
3 | text 8 | 01-04-2011
3 | text 8 | 01-04-2011
3 | text 8 | 01-04-2011
3 | text 8 | 01-04-2011
3 | text 8 | 01-04-2011
3 | text 8 | 01-04-2011
3 | text 8 | 01-04-2011
3 | text 8 | 01-04-2011
3 | text 8 | 01-04-2011
3 | text 8 | 01-04-2011
3 | text 8 | 01-04-2011
3 | text 8 | 01-04-2011
3 | text 8 | 01-04-2011
3 | text 8 | 01-04-2011
3 | text 8 | 01-04-2011
3 | text 8 | 01-04-2011
3 | text 8 | 01-04-2011
3 | text 8 | 01-04-2011
3 | text 8 | 01-14-2011
3 | text 8 | 01-14-2011
3 | text 8 | 01-14-2011
3 | text 8 | 01-14-2011
3 | text 8 | 01-14-2011
3 | text 8 | 01-14-2011
3 | text 8 | 01-14-2011
3 | text 8 | 01-14-2011
3 | text 8 | 01-14-2011
3 | text 8 | 01-14-2011
4 | text 14 | 01-05-2011
4 | text 14 | 01-05-2011
4 | text 14 | 01-05-2011
4 | text 14 | 01-05-2011
4 | text 14 | 01-05-2011
4 | text 14 | 01-05-2011
4 | text 14 | 01-05-2011
4 | text 14 | 01-05-2011
4 | text 14 | 01-05-2011
4 | text 14 | 01-05-2011
4 | text 14 | 01-15-2011
4 | text 14 | 01-15-2011
4 | text 14 | 01-15-2011
4 | text 14 | 01-15-2011
4 | text 14 | 01-15-2011
4 | text 14 | 01-15-2011
4 | text 14 | 01-15-2011
4 | text 14 | 01-15-2011
4 | text 14 | 01-15-2011
4 | text 14 | 01-15-2011
4 | text 14 | 01-15-2011
4 | text 14 | 01-15-2011
4 | text 14 | 01-15-2011
4 | text 14 | 01-15-2011
4 | text 14 | 01-15-2011
4 | text 14 | 01-15-2011
4 | text 14 | 01-15-2011
4 | text 14 | 01-15-2011
4 | text 14 | 01-15-2011
4 | text 14 | 01-15-2011
4 | text 4 | 01-05-2011
4 | text 4 | 01-05-2011
4 | text 4 | 01-05-2011
4 | text 4 | 01-05-2011
4 | text 4 | 01-05-2011
4 | text 4 | 01-05-2011
4 | text 4 | 01-05-2011
4 | text 4 | 01-05-2011
4 | text 4 | 01-05-2011
4 | text 4 | 01-05-2011
4 | text 4 | 01-05-2011
4 | text 4 | 01-05-2011
4 | text 4 | 01-05-2011
4 | text 4 | 01-05-2011
4 | text 4 | 01-05-2011
4 | text 4 | 01-05-2011
4 | text 4 | 01-05-2011
4 | text 4 | 01-05-2011
4 | text 4 | 01-05-2011
4 | text 4 | 01-05-2011
4 | text 4 | 01-15-2011
4 | text 4 | 01-15-2011
4 | text 4 | 01-15-2011
4 | text 4 | 01-15-2011
4 | text 4 | 01-15-2011
4 | text 4 | 01-15-2011
4 | text 4 | 01-15-2011
4 | text 4 | 01-15-2011
4 | text 4 | 01-15-2011
4 | text 4 | 01-15-2011
4 | text 4 | 01-15-2011
4 | text 4 | 01-15-2011
4 | text 4 | 01-15-2011
4 | text 4 | 01-15-2011
4 | text 4 | 01-15-2011
4 | text 4 | 01-15-2011
4 | text 4 | 01-15-2011
4 | text 4 | 01-15-2011
4 | text 4 | 01-15-2011
4 | text 4 | 01-15-2011
4 | text 9 | 01-05-2011
4 | text 9 | 01-05-2011
4 | text 9 | 01-05-2011
4 | text 9 | 01-05-2011
4 | text 9 | 01-05-2011
4 | text 9 | 01-05-2011
4 | text 9 | 01-05-2011
4 | text 9 | 01-05-2011
4 | text 9 | 01-05-2011
4 | text 9 | 01-05-2011
4 | text 9 | 01-05-2011
4 | text 9 | 01-05-2011
4 | text 9 | 01-05-2011
4 | text 9 | 01-05-2011
4 | text 9 | 01-05-2011
4 | text 9 | 01-05-2011
4 | text 9 | 01-05-2011
4 | text 9 | 01-05-2011
4 | text 9 | 01-05-2011
4 | text 9 | 01-05-2011
4 | text 9 | 01-15-2011
4 | text 9 | 01-15-2011
4 | text 9 | 01-15-2011
4 | text 9 | 01-15-2011
4 | text 9 | 01-15-2011
4 | text 9 | 01-15-2011
4 | text 9 | 01-15-2011
4 | text 9 | 01-15-2011
4 | text 9 | 01-15-2011
4 | text 9 | 01-15-2011
5 | text 0 | 01-06-2011
5 | text 0 | 01-06-2011
5 | text 0 | 01-06-2011
5 | text 0 | 01-06-2011
5 | text 0 | 01-06-2011
5 | text 0 | 01-06-2011
5 | text 0 | 01-06-2011
5 | text 0 | 01-06-2011
5 | text 0 | 01-06-2011
5 | text 0 | 01-06-2011
5 | text 0 | 01-16-2011
5 | text 0 | 01-16-2011
5 | text 0 | 01-16-2011
5 | text 0 | 01-16-2011
5 | text 0 | 01-16-2011
5 | text 0 | 01-16-2011
5 | text 0 | 01-16-2011
5 | text 0 | 01-16-2011
5 | text 0 | 01-16-2011
5 | text 0 | 01-16-2011
5 | text 0 | 01-16-2011
5 | text 0 | 01-16-2011
5 | text 0 | 01-16-2011
5 | text 0 | 01-16-2011
5 | text 0 | 01-16-2011
5 | text 0 | 01-16-2011
5 | text 0 | 01-16-2011
5 | text 0 | 01-16-2011
5 | text 0 | 01-16-2011
5 | text 0 | 01-16-2011
5 | text 10 | 01-06-2011
5 | text 10 | 01-06-2011
5 | text 10 | 01-06-2011
5 | text 10 | 01-06-2011
5 | text 10 | 01-06-2011
5 | text 10 | 01-06-2011
5 | text 10 | 01-06-2011
5 | text 10 | 01-06-2011
5 | text 10 | 01-06-2011
5 | text 10 | 01-06-2011
5 | text 10 | 01-06-2011
5 | text 10 | 01-06-2011
5 | text 10 | 01-06-2011
5 | text 10 | 01-06-2011
5 | text 10 | 01-06-2011
5 | text 10 | 01-06-2011
5 | text 10 | 01-06-2011
5 | text 10 | 01-06-2011
5 | text 10 | 01-06-2011
5 | text 10 | 01-06-2011
5 | text 10 | 01-16-2011
5 | text 10 | 01-16-2011
5 | text 10 | 01-16-2011
5 | text 10 | 01-16-2011
5 | text 10 | 01-16-2011
5 | text 10 | 01-16-2011
5 | text 10 | 01-16-2011
5 | text 10 | 01-16-2011
5 | text 10 | 01-16-2011
5 | text 10 | 01-16-2011
5 | text 5 | 01-06-2011
5 | text 5 | 01-06-2011
5 | text 5 | 01-06-2011
5 | text 5 | 01-06-2011
5 | text 5 | 01-06-2011
5 | text 5 | 01-06-2011
5 | text 5 | 01-06-2011
5 | text 5 | 01-06-2011
5 | text 5 | 01-06-2011
5 | text 5 | 01-06-2011
5 | text 5 | 01-06-2011
5 | text 5 | 01-06-2011
5 | text 5 | 01-06-2011
5 | text 5 | 01-06-2011
5 | text 5 | 01-06-2011
5 | text 5 | 01-06-2011
5 | text 5 | 01-06-2011
5 | text 5 | 01-06-2011
5 | text 5 | 01-06-2011
5 | text 5 | 01-06-2011
5 | text 5 | 01-16-2011
5 | text 5 | 01-16-2011
5 | text 5 | 01-16-2011
5 | text 5 | 01-16-2011
5 | text 5 | 01-16-2011
5 | text 5 | 01-16-2011
5 | text 5 | 01-16-2011
5 | text 5 | 01-16-2011
5 | text 5 | 01-16-2011
5 | text 5 | 01-16-2011
5 | text 5 | 01-16-2011
5 | text 5 | 01-16-2011
5 | text 5 | 01-16-2011
5 | text 5 | 01-16-2011
5 | text 5 | 01-16-2011
5 | text 5 | 01-16-2011
5 | text 5 | 01-16-2011
5 | text 5 | 01-16-2011
5 | text 5 | 01-16-2011
5 | text 5 | 01-16-2011
6 | text 1 | 01-07-2011
6 | text 1 | 01-07-2011
6 | text 1 | 01-07-2011
6 | text 1 | 01-07-2011
6 | text 1 | 01-07-2011
6 | text 1 | 01-07-2011
6 | text 1 | 01-07-2011
6 | text 1 | 01-07-2011
6 | text 1 | 01-07-2011
6 | text 1 | 01-07-2011
6 | text 1 | 01-17-2011
6 | text 1 | 01-17-2011
6 | text 1 | 01-17-2011
6 | text 1 | 01-17-2011
6 | text 1 | 01-17-2011
6 | text 1 | 01-17-2011
6 | text 1 | 01-17-2011
6 | text 1 | 01-17-2011
6 | text 1 | 01-17-2011
6 | text 1 | 01-17-2011
6 | text 1 | 01-17-2011
6 | text 1 | 01-17-2011
6 | text 1 | 01-17-2011
6 | text 1 | 01-17-2011
6 | text 1 | 01-17-2011
6 | text 1 | 01-17-2011
6 | text 1 | 01-17-2011
6 | text 1 | 01-17-2011
6 | text 1 | 01-17-2011
6 | text 1 | 01-17-2011
6 | text 11 | 01-07-2011
6 | text 11 | 01-07-2011
6 | text 11 | 01-07-2011
6 | text 11 | 01-07-2011
6 | text 11 | 01-07-2011
6 | text 11 | 01-07-2011
6 | text 11 | 01-07-2011
6 | text 11 | 01-07-2011
6 | text 11 | 01-07-2011
6 | text 11 | 01-07-2011
6 | text 11 | 01-07-2011
6 | text 11 | 01-07-2011
6 | text 11 | 01-07-2011
6 | text 11 | 01-07-2011
6 | text 11 | 01-07-2011
6 | text 11 | 01-07-2011
6 | text 11 | 01-07-2011
6 | text 11 | 01-07-2011
6 | text 11 | 01-07-2011
6 | text 11 | 01-07-2011
6 | text 11 | 01-17-2011
6 | text 11 | 01-17-2011
6 | text 11 | 01-17-2011
6 | text 11 | 01-17-2011
6 | text 11 | 01-17-2011
6 | text 11 | 01-17-2011
6 | text 11 | 01-17-2011
6 | text 11 | 01-17-2011
6 | text 11 | 01-17-2011
6 | text 11 | 01-17-2011
6 | text 6 | 01-07-2011
6 | text 6 | 01-07-2011
6 | text 6 | 01-07-2011
6 | text 6 | 01-07-2011
6 | text 6 | 01-07-2011
6 | text 6 | 01-07-2011
6 | text 6 | 01-07-2011
6 | text 6 | 01-07-2011
6 | text 6 | 01-07-2011
6 | text 6 | 01-07-2011
6 | text 6 | 01-07-2011
6 | text 6 | 01-07-2011
6 | text 6 | 01-07-2011
6 | text 6 | 01-07-2011
6 | text 6 | 01-07-2011
6 | text 6 | 01-07-2011
6 | text 6 | 01-07-2011
6 | text 6 | 01-07-2011
6 | text 6 | 01-07-2011
6 | text 6 | 01-07-2011
6 | text 6 | 01-17-2011
6 | text 6 | 01-17-2011
6 | text 6 | 01-17-2011
6 | text 6 | 01-17-2011
6 | text 6 | 01-17-2011
6 | text 6 | 01-17-2011
6 | text 6 | 01-17-2011
6 | text 6 | 01-17-2011
6 | text 6 | 01-17-2011
6 | text 6 | 01-17-2011
6 | text 6 | 01-17-2011
6 | text 6 | 01-17-2011
6 | text 6 | 01-17-2011
6 | text 6 | 01-17-2011
6 | text 6 | 01-17-2011
6 | text 6 | 01-17-2011
6 | text 6 | 01-17-2011
6 | text 6 | 01-17-2011
6 | text 6 | 01-17-2011
6 | text 6 | 01-17-2011
7 | text 12 | 01-08-2011
7 | text 12 | 01-08-2011
7 | text 12 | 01-08-2011
7 | text 12 | 01-08-2011
7 | text 12 | 01-08-2011
7 | text 12 | 01-08-2011
7 | text 12 | 01-08-2011
7 | text 12 | 01-08-2011
7 | text 12 | 01-08-2011
7 | text 12 | 01-08-2011
7 | text 12 | 01-08-2011
7 | text 12 | 01-08-2011
7 | text 12 | 01-08-2011
7 | text 12 | 01-08-2011
7 | text 12 | 01-08-2011
7 | text 12 | 01-08-2011
7 | text 12 | 01-08-2011
7 | text 12 | 01-08-2011
7 | text 12 | 01-08-2011
7 | text 12 | 01-08-2011
7 | text 12 | 01-18-2011
7 | text 12 | 01-18-2011
7 | text 12 | 01-18-2011
7 | text 12 | 01-18-2011
7 | text 12 | 01-18-2011
7 | text 12 | 01-18-2011
7 | text 12 | 01-18-2011
7 | text 12 | 01-18-2011
7 | text 12 | 01-18-2011
7 | text 12 | 01-18-2011
7 | text 2 | 01-08-2011
7 | text 2 | 01-08-2011
7 | text 2 | 01-08-2011
7 | text 2 | 01-08-2011
7 | text 2 | 01-08-2011
7 | text 2 | 01-08-2011
7 | text 2 | 01-08-2011
7 | text 2 | 01-08-2011
7 | text 2 | 01-08-2011
7 | text 2 | 01-08-2011
7 | text 2 | 01-18-2011
7 | text 2 | 01-18-2011
7 | text 2 | 01-18-2011
7 | text 2 | 01-18-2011
7 | text 2 | 01-18-2011
7 | text 2 | 01-18-2011
7 | text 2 | 01-18-2011
7 | text 2 | 01-18-2011
7 | text 2 | 01-18-2011
7 | text 2 | 01-18-2011
7 | text 2 | 01-18-2011
7 | text 2 | 01-18-2011
7 | text 2 | 01-18-2011
7 | text 2 | 01-18-2011
7 | text 2 | 01-18-2011
7 | text 2 | 01-18-2011
7 | text 2 | 01-18-2011
7 | text 2 | 01-18-2011
7 | text 2 | 01-18-2011
7 | text 2 | 01-18-2011
7 | text 7 | 01-08-2011
7 | text 7 | 01-08-2011
7 | text 7 | 01-08-2011
7 | text 7 | 01-08-2011
7 | text 7 | 01-08-2011
7 | text 7 | 01-08-2011
7 | text 7 | 01-08-2011
7 | text 7 | 01-08-2011
7 | text 7 | 01-08-2011
7 | text 7 | 01-08-2011
7 | text 7 | 01-08-2011
7 | text 7 | 01-08-2011
7 | text 7 | 01-08-2011
7 | text 7 | 01-08-2011
7 | text 7 | 01-08-2011
7 | text 7 | 01-08-2011
7 | text 7 | 01-08-2011
7 | text 7 | 01-08-2011
7 | text 7 | 01-08-2011
7 | text 7 | 01-08-2011
7 | text 7 | 01-18-2011
7 | text 7 | 01-18-2011
7 | text 7 | 01-18-2011
7 | text 7 | 01-18-2011
7 | text 7 | 01-18-2011
7 | text 7 | 01-18-2011
7 | text 7 | 01-18-2011
7 | text 7 | 01-18-2011
7 | text 7 | 01-18-2011
7 | text 7 | 01-18-2011
7 | text 7 | 01-18-2011
7 | text 7 | 01-18-2011
7 | text 7 | 01-18-2011
7 | text 7 | 01-18-2011
7 | text 7 | 01-18-2011
7 | text 7 | 01-18-2011
7 | text 7 | 01-18-2011
7 | text 7 | 01-18-2011
7 | text 7 | 01-18-2011
7 | text 7 | 01-18-2011
8 | text 13 | 01-09-2011
8 | text 13 | 01-09-2011
8 | text 13 | 01-09-2011
8 | text 13 | 01-09-2011
8 | text 13 | 01-09-2011
8 | text 13 | 01-09-2011
8 | text 13 | 01-09-2011
8 | text 13 | 01-09-2011
8 | text 13 | 01-09-2011
8 | text 13 | 01-09-2011
8 | text 13 | 01-09-2011
8 | text 13 | 01-09-2011
8 | text 13 | 01-09-2011
8 | text 13 | 01-09-2011
8 | text 13 | 01-09-2011
8 | text 13 | 01-09-2011
8 | text 13 | 01-09-2011
8 | text 13 | 01-09-2011
8 | text 13 | 01-09-2011
8 | text 13 | 01-09-2011
8 | text 13 | 01-19-2011
8 | text 13 | 01-19-2011
8 | text 13 | 01-19-2011
8 | text 13 | 01-19-2011
8 | text 13 | 01-19-2011
8 | text 13 | 01-19-2011
8 | text 13 | 01-19-2011
8 | text 13 | 01-19-2011
8 | text 13 | 01-19-2011
8 | text 13 | 01-19-2011
8 | text 3 | 01-09-2011
8 | text 3 | 01-09-2011
8 | text 3 | 01-09-2011
8 | text 3 | 01-09-2011
8 | text 3 | 01-09-2011
8 | text 3 | 01-09-2011
8 | text 3 | 01-09-2011
8 | text 3 | 01-09-2011
8 | text 3 | 01-09-2011
8 | text 3 | 01-09-2011
8 | text 3 | 01-19-2011
8 | text 3 | 01-19-2011
8 | text 3 | 01-19-2011
8 | text 3 | 01-19-2011
8 | text 3 | 01-19-2011
8 | text 3 | 01-19-2011
8 | text 3 | 01-19-2011
8 | text 3 | 01-19-2011
8 | text 3 | 01-19-2011
8 | text 3 | 01-19-2011
8 | text 3 | 01-19-2011
8 | text 3 | 01-19-2011
8 | text 3 | 01-19-2011
8 | text 3 | 01-19-2011
8 | text 3 | 01-19-2011
8 | text 3 | 01-19-2011
8 | text 3 | 01-19-2011
8 | text 3 | 01-19-2011
8 | text 3 | 01-19-2011
8 | text 3 | 01-19-2011
8 | text 8 | 01-09-2011
8 | text 8 | 01-09-2011
8 | text 8 | 01-09-2011
8 | text 8 | 01-09-2011
8 | text 8 | 01-09-2011
8 | text 8 | 01-09-2011
8 | text 8 | 01-09-2011
8 | text 8 | 01-09-2011
8 | text 8 | 01-09-2011
8 | text 8 | 01-09-2011
8 | text 8 | 01-09-2011
8 | text 8 | 01-09-2011
8 | text 8 | 01-09-2011
8 | text 8 | 01-09-2011
8 | text 8 | 01-09-2011
8 | text 8 | 01-09-2011
8 | text 8 | 01-09-2011
8 | text 8 | 01-09-2011
8 | text 8 | 01-09-2011
8 | text 8 | 01-09-2011
8 | text 8 | 01-19-2011
8 | text 8 | 01-19-2011
8 | text 8 | 01-19-2011
8 | text 8 | 01-19-2011
8 | text 8 | 01-19-2011
8 | text 8 | 01-19-2011
8 | text 8 | 01-19-2011
8 | text 8 | 01-19-2011
8 | text 8 | 01-19-2011
8 | text 8 | 01-19-2011
8 | text 8 | 01-19-2011
8 | text 8 | 01-19-2011
8 | text 8 | 01-19-2011
8 | text 8 | 01-19-2011
8 | text 8 | 01-19-2011
8 | text 8 | 01-19-2011
8 | text 8 | 01-19-2011
8 | text 8 | 01-19-2011
8 | text 8 | 01-19-2011
8 | text 8 | 01-19-2011
9 | text 14 | 01-10-2011
9 | text 14 | 01-10-2011
9 | text 14 | 01-10-2011
9 | text 14 | 01-10-2011
9 | text 14 | 01-10-2011
9 | text 14 | 01-10-2011
9 | text 14 | 01-10-2011
9 | text 14 | 01-10-2011
9 | text 14 | 01-10-2011
9 | text 14 | 01-10-2011
9 | text 14 | 01-10-2011
9 | text 14 | 01-10-2011
9 | text 14 | 01-10-2011
9 | text 14 | 01-10-2011
9 | text 14 | 01-10-2011
9 | text 14 | 01-10-2011
9 | text 14 | 01-10-2011
9 | text 14 | 01-10-2011
9 | text 14 | 01-10-2011
9 | text 14 | 01-10-2011
9 | text 14 | 01-20-2011
9 | text 14 | 01-20-2011
9 | text 14 | 01-20-2011
9 | text 14 | 01-20-2011
9 | text 14 | 01-20-2011
9 | text 14 | 01-20-2011
9 | text 14 | 01-20-2011
9 | text 14 | 01-20-2011
9 | text 14 | 01-20-2011
9 | text 14 | 01-20-2011
9 | text 4 | 01-10-2011
9 | text 4 | 01-10-2011
9 | text 4 | 01-10-2011
9 | text 4 | 01-10-2011
9 | text 4 | 01-10-2011
9 | text 4 | 01-10-2011
9 | text 4 | 01-10-2011
9 | text 4 | 01-10-2011
9 | text 4 | 01-10-2011
9 | text 4 | 01-10-2011
9 | text 4 | 01-20-2011
9 | text 4 | 01-20-2011
9 | text 4 | 01-20-2011
9 | text 4 | 01-20-2011
9 | text 4 | 01-20-2011
9 | text 4 | 01-20-2011
9 | text 4 | 01-20-2011
9 | text 4 | 01-20-2011
9 | text 4 | 01-20-2011
9 | text 4 | 01-20-2011
9 | text 4 | 01-20-2011
9 | text 4 | 01-20-2011
9 | text 4 | 01-20-2011
9 | text 4 | 01-20-2011
9 | text 4 | 01-20-2011
9 | text 4 | 01-20-2011
9 | text 4 | 01-20-2011
9 | text 4 | 01-20-2011
9 | text 4 | 01-20-2011
9 | text 4 | 01-20-2011
9 | text 9 | 01-10-2011
9 | text 9 | 01-10-2011
9 | text 9 | 01-10-2011
9 | text 9 | 01-10-2011
9 | text 9 | 01-10-2011
9 | text 9 | 01-10-2011
9 | text 9 | 01-10-2011
9 | text 9 | 01-10-2011
9 | text 9 | 01-10-2011
9 | text 9 | 01-10-2011
9 | text 9 | 01-10-2011
9 | text 9 | 01-10-2011
9 | text 9 | 01-10-2011
9 | text 9 | 01-10-2011
9 | text 9 | 01-10-2011
9 | text 9 | 01-10-2011
9 | text 9 | 01-10-2011
9 | text 9 | 01-10-2011
9 | text 9 | 01-10-2011
9 | text 9 | 01-10-2011
9 | text 9 | 01-20-2011
9 | text 9 | 01-20-2011
9 | text 9 | 01-20-2011
9 | text 9 | 01-20-2011
9 | text 9 | 01-20-2011
9 | text 9 | 01-20-2011
9 | text 9 | 01-20-2011
9 | text 9 | 01-20-2011
9 | text 9 | 01-20-2011
9 | text 9 | 01-20-2011
9 | text 9 | 01-20-2011
9 | text 9 | 01-20-2011
9 | text 9 | 01-20-2011
9 | text 9 | 01-20-2011
9 | text 9 | 01-20-2011
9 | text 9 | 01-20-2011
9 | text 9 | 01-20-2011
9 | text 9 | 01-20-2011
9 | text 9 | 01-20-2011
9 | text 9 | 01-20-2011
(1000 rows)
explain analyze select t1.* from smallt as t1, smallt as t2 where t1.i = t2.i;
QUERY PLAN
-------------------------------------------------------------------------------------------------------------------------------
Gather Motion 3:1 (slice1; segments: 3) (cost=0.00..862.09 rows=1000 width=15) (actual time=3.003..4.822 rows=1000 loops=1)
-> Hash Join (cost=0.00..862.03 rows=334 width=15) (actual time=2.335..4.141 rows=500 loops=1)
Hash Cond: (t1.i = t2.i)
Extra Text: (seg0) Hash chain length 10.0 avg, 10 max, using 5 of 524288 buckets.
-> Seq Scan on smallt t1 (cost=0.00..431.00 rows=34 width=15) (actual time=0.006..0.015 rows=50 loops=1)
-> Hash (cost=431.00..431.00 rows=34 width=4) (actual time=0.225..0.225 rows=50 loops=1)
Buckets: 524288 Batches: 1 Memory Usage: 4098kB
-> Seq Scan on smallt t2 (cost=0.00..431.00 rows=34 width=4) (actual time=0.195..0.206 rows=50 loops=1)
Optimizer: Pivotal Optimizer (GPORCA)
Planning Time: 6.933 ms
(slice0) Executor memory: 37K bytes.
(slice1) Executor memory: 4159K bytes avg x 3 workers, 4161K bytes max (seg0). Work_mem: 4098K bytes max.
Memory used: 128000kB
Execution Time: 5.477 ms
(14 rows)
-- Rescan on HashJoin
--select t1.* from (select t11.* from smallt as t11, smallt as t22 where t11.i = t22.i and t11.i < 2) as t1,
-- (select t11.* from smallt as t11, smallt as t22 where t11.d = t22.d and t11.i < 5) as t2;
-- Material in SubPlan
select smallt2.* from smallt2
where i < (select count(*) from smallt where smallt.i = smallt2.i) order by 1,2,3;
i | t | d
---+--------+------------
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-06-2011
0 | text 0 | 01-11-2011
0 | text 0 | 01-11-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-06-2011
0 | text 5 | 01-06-2011
0 | text 5 | 01-11-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-07-2011
1 | text 1 | 01-12-2011
1 | text 1 | 01-12-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-07-2011
1 | text 6 | 01-07-2011
1 | text 6 | 01-12-2011
2 | text 2 | 01-03-2011
2 | text 2 | 01-03-2011
2 | text 2 | 01-08-2011
2 | text 2 | 01-13-2011
2 | text 2 | 01-13-2011
2 | text 7 | 01-03-2011
2 | text 7 | 01-03-2011
2 | text 7 | 01-08-2011
2 | text 7 | 01-08-2011
2 | text 7 | 01-13-2011
3 | text 3 | 01-04-2011
3 | text 3 | 01-04-2011
3 | text 3 | 01-09-2011
3 | text 3 | 01-14-2011
3 | text 3 | 01-14-2011
3 | text 8 | 01-04-2011
3 | text 8 | 01-04-2011
3 | text 8 | 01-09-2011
3 | text 8 | 01-09-2011
3 | text 8 | 01-14-2011
4 | text 4 | 01-05-2011
4 | text 4 | 01-05-2011
4 | text 4 | 01-10-2011
4 | text 4 | 01-15-2011
4 | text 4 | 01-15-2011
4 | text 9 | 01-05-2011
4 | text 9 | 01-05-2011
4 | text 9 | 01-10-2011
4 | text 9 | 01-10-2011
4 | text 9 | 01-15-2011
(50 rows)
explain select smallt2.* from smallt2
where i < (select count(*) from smallt where smallt.i = smallt2.i);
QUERY PLAN
---------------------------------------------------------------------------------------------
Gather Motion 3:1 (slice1; segments: 3) (cost=0.00..862.02 rows=50 width=15)
-> Result (cost=0.00..862.01 rows=17 width=15)
Filter: (smallt2.i < COALESCE((count(*)), '0'::bigint))
-> Hash Left Join (cost=0.00..862.01 rows=17 width=23)
Hash Cond: (smallt2.i = smallt.i)
-> Seq Scan on smallt2 (cost=0.00..431.00 rows=17 width=15)
-> Hash (cost=431.01..431.01 rows=4 width=12)
-> GroupAggregate (cost=0.00..431.01 rows=4 width=12)
Group Key: smallt.i
-> Sort (cost=0.00..431.00 rows=34 width=4)
Sort Key: smallt.i
-> Seq Scan on smallt (cost=0.00..431.00 rows=34 width=4)
Optimizer: Pivotal Optimizer (GPORCA) version 3.83.0
(13 rows)
-- Sort in MergeJoin
-- start_ignore
-- Known_opt_diff: OPT-3417. Missing feature: Sort Merge Join
-- end_ignore
set enable_hashjoin=off;
set enable_mergejoin=on;
select t1.* from smallt as t1, smallt as t2 where t1.i = t2.i and t1.i < 2;
i | t | d
---+---------+------------
1 | text 1 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 11 | 01-12-2011
1 | text 11 | 01-12-2011
1 | text 11 | 01-12-2011
1 | text 11 | 01-12-2011
1 | text 11 | 01-12-2011
1 | text 11 | 01-12-2011
1 | text 11 | 01-12-2011
1 | text 11 | 01-12-2011
1 | text 11 | 01-12-2011
1 | text 11 | 01-12-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 1 | 01-12-2011
1 | text 1 | 01-12-2011
1 | text 1 | 01-12-2011
1 | text 1 | 01-12-2011
1 | text 1 | 01-12-2011
1 | text 1 | 01-12-2011
1 | text 1 | 01-12-2011
1 | text 1 | 01-12-2011
1 | text 1 | 01-12-2011
1 | text 1 | 01-12-2011
1 | text 11 | 01-02-2011
1 | text 11 | 01-02-2011
1 | text 11 | 01-02-2011
1 | text 11 | 01-02-2011
1 | text 11 | 01-02-2011
1 | text 11 | 01-02-2011
1 | text 11 | 01-02-2011
1 | text 11 | 01-02-2011
1 | text 11 | 01-02-2011
1 | text 11 | 01-02-2011
1 | text 6 | 01-12-2011
1 | text 6 | 01-12-2011
1 | text 6 | 01-12-2011
1 | text 6 | 01-12-2011
1 | text 6 | 01-12-2011
1 | text 6 | 01-12-2011
1 | text 6 | 01-12-2011
1 | text 6 | 01-12-2011
1 | text 6 | 01-12-2011
1 | text 6 | 01-12-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 11 | 01-12-2011
1 | text 11 | 01-12-2011
1 | text 11 | 01-12-2011
1 | text 11 | 01-12-2011
1 | text 11 | 01-12-2011
1 | text 11 | 01-12-2011
1 | text 11 | 01-12-2011
1 | text 11 | 01-12-2011
1 | text 11 | 01-12-2011
1 | text 11 | 01-12-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 1 | 01-12-2011
1 | text 1 | 01-12-2011
1 | text 1 | 01-12-2011
1 | text 1 | 01-12-2011
1 | text 1 | 01-12-2011
1 | text 1 | 01-12-2011
1 | text 1 | 01-12-2011
1 | text 1 | 01-12-2011
1 | text 1 | 01-12-2011
1 | text 1 | 01-12-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 0 | 01-11-2011
0 | text 0 | 01-11-2011
0 | text 0 | 01-11-2011
0 | text 0 | 01-11-2011
0 | text 0 | 01-11-2011
0 | text 0 | 01-11-2011
0 | text 0 | 01-11-2011
0 | text 0 | 01-11-2011
0 | text 0 | 01-11-2011
0 | text 0 | 01-11-2011
0 | text 10 | 01-01-2011
0 | text 10 | 01-01-2011
0 | text 10 | 01-01-2011
0 | text 10 | 01-01-2011
0 | text 10 | 01-01-2011
0 | text 10 | 01-01-2011
0 | text 10 | 01-01-2011
0 | text 10 | 01-01-2011
0 | text 10 | 01-01-2011
0 | text 10 | 01-01-2011
0 | text 5 | 01-11-2011
0 | text 5 | 01-11-2011
0 | text 5 | 01-11-2011
0 | text 5 | 01-11-2011
0 | text 5 | 01-11-2011
0 | text 5 | 01-11-2011
0 | text 5 | 01-11-2011
0 | text 5 | 01-11-2011
0 | text 5 | 01-11-2011
0 | text 5 | 01-11-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 0 | 01-11-2011
0 | text 0 | 01-11-2011
0 | text 0 | 01-11-2011
0 | text 0 | 01-11-2011
0 | text 0 | 01-11-2011
0 | text 0 | 01-11-2011
0 | text 0 | 01-11-2011
0 | text 0 | 01-11-2011
0 | text 0 | 01-11-2011
0 | text 0 | 01-11-2011
(200 rows)
explain analyze select t1.* from smallt as t1, smallt as t2 where t1.i = t2.i and t1.i < 2;
QUERY PLAN
-----------------------------------------------------------------------------------------------------------------------------
Gather Motion 3:1 (slice1; segments: 3) (cost=0.00..862.02 rows=200 width=15) (actual time=1.423..1.484 rows=100 loops=2)
-> Hash Join (cost=0.00..862.01 rows=67 width=15) (actual time=0.289..1.208 rows=50 loops=2)
Hash Cond: smallt.i = smallt_1.i
Extra Text: (seg0) Hash chain length 10.0 avg, 10 max, using 1 of 524288 buckets.
-> Seq Scan on smallt t1 (cost=0.00..431.00 rows=7 width=15) (actual time=0.002..0.007 rows=5 loops=2)
Filter: i < 2
-> Hash (cost=431.00..431.00 rows=7 width=4) (actual time=0.049..0.049 rows=5 loops=2)
-> Seq Scan on smallt t2 (cost=0.00..431.00 rows=7 width=4) (actual time=0.037..0.044 rows=5 loops=2)
Filter: i < 2
(slice0) Executor memory: 322K bytes.
(slice1) Executor memory: 4182K bytes avg x 3 workers, 4182K bytes max (seg0). Work_mem: 1K bytes max.
Memory used: 128000kB
Optimizer: Pivotal Optimizer (GPORCA) version 2.74.0
Total runtime: 3.631 ms
(15 rows)
select t1.* from smallt as t1, smallt as t2 where t1.d = t2.d and t1.i < 2;
i | t | d
---+---------+------------
1 | text 11 | 01-12-2011
1 | text 11 | 01-12-2011
1 | text 11 | 01-12-2011
1 | text 11 | 01-12-2011
1 | text 11 | 01-12-2011
1 | text 1 | 01-12-2011
1 | text 1 | 01-12-2011
1 | text 1 | 01-12-2011
1 | text 1 | 01-12-2011
1 | text 1 | 01-12-2011
1 | text 6 | 01-12-2011
1 | text 6 | 01-12-2011
1 | text 6 | 01-12-2011
1 | text 6 | 01-12-2011
1 | text 6 | 01-12-2011
1 | text 11 | 01-12-2011
1 | text 11 | 01-12-2011
1 | text 11 | 01-12-2011
1 | text 11 | 01-12-2011
1 | text 11 | 01-12-2011
1 | text 1 | 01-12-2011
1 | text 1 | 01-12-2011
1 | text 1 | 01-12-2011
1 | text 1 | 01-12-2011
1 | text 1 | 01-12-2011
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 0 | 01-11-2011
0 | text 0 | 01-11-2011
0 | text 0 | 01-11-2011
0 | text 0 | 01-11-2011
0 | text 0 | 01-11-2011
0 | text 5 | 01-11-2011
0 | text 5 | 01-11-2011
0 | text 5 | 01-11-2011
0 | text 5 | 01-11-2011
0 | text 5 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 0 | 01-11-2011
0 | text 0 | 01-11-2011
0 | text 0 | 01-11-2011
0 | text 0 | 01-11-2011
0 | text 0 | 01-11-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 11 | 01-02-2011
1 | text 11 | 01-02-2011
1 | text 11 | 01-02-2011
1 | text 11 | 01-02-2011
1 | text 11 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 1 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-02-2011
1 | text 6 | 01-02-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 10 | 01-01-2011
0 | text 10 | 01-01-2011
0 | text 10 | 01-01-2011
0 | text 10 | 01-01-2011
0 | text 10 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
(100 rows)
--start_ignore
explain analyze select t1.* from smallt as t1, smallt as t2 where t1.d = t2.d and t1.i < 2;
QUERY PLAN
--------------------------------------------------------------------------------------------------------------------------------------------------
Gather Motion 3:1 (slice1; segments: 3) (cost=0.00..862.02 rows=100 width=15) (actual time=5.608..5.721 rows=100 loops=1)
-> Hash Join (cost=0.00..862.01 rows=34 width=15) (actual time=3.568..5.300 rows=75 loops=1)
Hash Cond: (t1.d = t2.d)
Extra Text: (seg1) Hash chain length 5.0 avg, 5 max, using 7 of 524288 buckets.
-> Redistribute Motion 3:3 (slice2; segments: 3) (cost=0.00..431.00 rows=7 width=15) (actual time=0.084..0.087 rows=15 loops=1)
Hash Key: t1.d
-> Seq Scan on smallt t1 (cost=0.00..431.00 rows=7 width=15) (actual time=0.188..0.207 rows=20 loops=1)
Filter: (i < 2)
-> Hash (cost=431.00..431.00 rows=34 width=4) (actual time=1.436..1.437 rows=35 loops=1)
Buckets: 524288 Batches: 1 Memory Usage: 4098kB
-> Redistribute Motion 3:3 (slice3; segments: 3) (cost=0.00..431.00 rows=34 width=4) (actual time=1.189..1.386 rows=35 loops=1)
Hash Key: t2.d
-> Seq Scan on smallt t2 (cost=0.00..431.00 rows=34 width=4) (actual time=0.878..0.891 rows=50 loops=1)
Optimizer: Pivotal Optimizer (GPORCA)
Planning Time: 9.661 ms
(slice0) Executor memory: 39K bytes.
(slice1) Executor memory: 4148K bytes avg x 3 workers, 4148K bytes max (seg1). Work_mem: 4098K bytes max.
(slice2) Executor memory: 37K bytes avg x 3 workers, 37K bytes max (seg0).
(slice3) Executor memory: 37K bytes avg x 3 workers, 37K bytes max (seg0).
Memory used: 128000kB
Optimizer: Pivotal Optimizer (GPORCA) version 2.74.0
Total runtime: 5.688 ms
(20 rows)
--end_ignore
set enable_hashjoin=on;
set enable_mergejoin=off;
-- ShareInputScan
--with my_group_max(i, maximum) as (select i, max(d) from smallt group by i)
--select smallt2.* from my_group_max, smallt2 where my_group_max.i = smallt2.i
--and smallt2.i < any (select maximum from my_group_max);
--explain analyze with my_group_max(i, maximum) as (select i, max(d) from smallt group by i)
--select smallt2.* from my_group_max, smallt2 where my_group_max.i = smallt2.i
--and smallt2.i < any (select maximum from my_group_max);
-- IndexScan
create index smallt_d_idx on smallt (d);
create index smallt2_d_idx on smallt2 (d);
-- start_ignore
-- Known_opt_diff: This test is only here for the planner. It doesn't exercise eagerfree in ORCA plans
-- end_ignore
set enable_hashjoin=off;
set enable_nestloop=on;
set enable_seqscan=off;
set enable_bitmapscan=off;
select smallt.* from smallt, smallt2 where smallt.i = smallt2.i and smallt2.d = '2011-01-04'::date
and smallt.d = '2011-01-04'::date order by 1,2,3;
i | t | d
---+---------+------------
3 | text 13 | 01-04-2011
3 | text 13 | 01-04-2011
3 | text 13 | 01-04-2011
3 | text 13 | 01-04-2011
3 | text 3 | 01-04-2011
3 | text 3 | 01-04-2011
3 | text 3 | 01-04-2011
3 | text 3 | 01-04-2011
3 | text 3 | 01-04-2011
3 | text 3 | 01-04-2011
3 | text 3 | 01-04-2011
3 | text 3 | 01-04-2011
3 | text 8 | 01-04-2011
3 | text 8 | 01-04-2011
3 | text 8 | 01-04-2011
3 | text 8 | 01-04-2011
3 | text 8 | 01-04-2011
3 | text 8 | 01-04-2011
3 | text 8 | 01-04-2011
3 | text 8 | 01-04-2011
(20 rows)
explain analyze select smallt.* from smallt, smallt2 where smallt.i = smallt2.i and smallt2.d = '2011-01-04'::date
and smallt.d = '2011-01-04'::date;
QUERY PLAN
-----------------------------------------------------------------------------------------------------------------------------------------
Gather Motion 3:1 (slice1; segments: 3) (cost=0.00..17.99 rows=2 width=15) (actual time=2.338..2.341 rows=20 loops=1)
-> Hash Join (cost=0.00..17.99 rows=1 width=15) (actual time=0.464..1.817 rows=20 loops=1)
Hash Cond: smallt.i = smallt2.i
(seg2) Hash chain length 4.0 avg, 4 max, using 1 of 524288 buckets.
-> Index Scan using smallt_d_idx on smallt (cost=0.00..9.99 rows=2 width=15) (actual time=0.005..0.007 rows=5 loops=1)
Index Cond: d = '01-04-2011'::date
-> Hash (cost=8.00..8.00 rows=2 width=4) (actual time=0.034..0.034 rows=4 loops=1)
-> Index Scan using smallt2_d_idx on smallt2 (cost=0.00..8.00 rows=2 width=4) (actual time=0.023..0.027 rows=4 loops=1)
Index Cond: d = '01-04-2011'::date
(slice0) Executor memory: 450K bytes.
(slice1) Executor memory: 4234K bytes avg x 3 workers, 4234K bytes max (seg0). Work_mem: 1K bytes max.
Memory used: 128000kB
Optimizer: Pivotal Optimizer (GPORCA) version 2.67.0
Total runtime: 3.325 ms
(14 rows)
-- IndexOnlyScan
explain analyze select *, exists(select 1 from pg_class where oid = c.oid) as dummy from pg_class c;
QUERY PLAN
-----------------------------------------------------------------------------------------------------------------------------------------------
Seq Scan on pg_class c (cost=10000000000.00..10000002182.48 rows=521 width=266) (actual time=9.570..13.952 rows=539 loops=1)
SubPlan 2
-> Index Only Scan using pg_class_oid_index on pg_class (cost=0.15..15.97 rows=521 width=4) (actual time=1.975..5.980 rows=539 loops=1)
Heap Fetches: 315
Planning Time: 3.349 ms
(slice0) Executor memory: 274K bytes.
Memory used: 128000kB
Optimizer: Postgres query optimizer
Execution Time: 17.133 ms
(9 rows)
-- BitmapScan
-- start_ignore
-- Known_opt_diff: This test is only here for the planner. It doesn't exercise eagerfree in ORCA plans
-- end_ignore
set enable_indexscan=off;
set enable_bitmapscan=on;
select smallt.* from smallt, smallt2 where smallt.i = smallt2.i and smallt2.d = '2011-01-04'::date
and smallt.d = '2011-01-04'::date order by 1,2,3;
i | t | d
---+---------+------------
3 | text 13 | 01-04-2011
3 | text 13 | 01-04-2011
3 | text 13 | 01-04-2011
3 | text 13 | 01-04-2011
3 | text 3 | 01-04-2011
3 | text 3 | 01-04-2011
3 | text 3 | 01-04-2011
3 | text 3 | 01-04-2011
3 | text 3 | 01-04-2011
3 | text 3 | 01-04-2011
3 | text 3 | 01-04-2011
3 | text 3 | 01-04-2011
3 | text 8 | 01-04-2011
3 | text 8 | 01-04-2011
3 | text 8 | 01-04-2011
3 | text 8 | 01-04-2011
3 | text 8 | 01-04-2011
3 | text 8 | 01-04-2011
3 | text 8 | 01-04-2011
3 | text 8 | 01-04-2011
(20 rows)
explain analyze select smallt.* from smallt, smallt2 where smallt.i = smallt2.i and smallt2.d = '2011-01-04'::date
and smallt.d = '2011-01-04'::date;
QUERY PLAN
-----------------------------------------------------------------------------------------------------------------------------------------
Gather Motion 3:1 (slice1; segments: 3) (cost=0.00..17.99 rows=2 width=15) (actual time=3.960..3.964 rows=20 loops=1)
-> Hash Join (cost=0.00..17.99 rows=1 width=15) (actual time=0.267..1.566 rows=20 loops=1)
Hash Cond: smallt.i = smallt2.i
(seg2) Hash chain length 4.0 avg, 4 max, using 1 of 524288 buckets.
-> Index Scan using smallt_d_idx on smallt (cost=0.00..9.99 rows=2 width=15) (actual time=0.005..0.007 rows=5 loops=1)
Index Cond: d = '01-04-2011'::date
-> Hash (cost=8.00..8.00 rows=2 width=4) (actual time=0.031..0.031 rows=4 loops=1)
-> Index Scan using smallt2_d_idx on smallt2 (cost=0.00..8.00 rows=2 width=4) (actual time=0.020..0.024 rows=4 loops=1)
Index Cond: d = '01-04-2011'::date
(slice0) Executor memory: 450K bytes.
(slice1) Executor memory: 4234K bytes avg x 3 workers, 4234K bytes max (seg0). Work_mem: 1K bytes max.
Memory used: 128000kB
Optimizer: Pivotal Optimizer (GPORCA) version 2.67.0
Total runtime: 5.131 ms
(14 rows)
set enable_hashjoin=on;
set enable_nestloop=off;
set enable_seqscan=on;
set enable_indexscan=on;
-- SubPlan
with my_group_sum(d, total) as (select d, sum(i) from smallt group by d)
select smallt2.* from smallt2
where i < all (select total from my_group_sum, smallt, smallt2 as tmp where my_group_sum.d = smallt.d and smallt.d = tmp.d and my_group_sum.d = smallt2.d)
and i = 0 order by 1,2,3; --order 1,2,3
i | t | d
---+--------+------------
0 | text 0 | 01-06-2011
0 | text 5 | 01-06-2011
0 | text 5 | 01-06-2011
(3 rows)
select smallt2.* from smallt2
where i < all (select total from (select d, sum(i) as total from smallt group by d) as my_group_sum, smallt, smallt2 as tmp
where my_group_sum.d = smallt.d and smallt.d = tmp.d and my_group_sum.d = smallt2.d)
and i = 0 order by 1,2,3; --order 1,2,3
i | t | d
---+--------+------------
0 | text 0 | 01-06-2011
0 | text 5 | 01-06-2011
0 | text 5 | 01-06-2011
(3 rows)
-- Test Subplan with Agg
with my_group_sum(d, total) as (select d, sum(i) from smallt group by d)
select count(*) from smallt2
where 0 < all (select total from my_group_sum, smallt2 as tmp where my_group_sum.d = smallt2.d);
count
-------
43
(1 row)
--start_ignore
explain with my_group_sum(d, total) as (select d, sum(i) from smallt group by d)
select count(*) from smallt2
where 0 < all (select total from my_group_sum, smallt2 as tmp where my_group_sum.d = smallt2.d);
QUERY PLAN
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Finalize Aggregate (cost=0.00..1324486.07 rows=1 width=8)
-> Gather Motion 3:1 (slice1; segments: 3) (cost=0.00..1324486.07 rows=1 width=8)
-> Partial Aggregate (cost=0.00..1324486.07 rows=1 width=8)
-> Hash Join (cost=0.00..1324486.07 rows=6 width=1)
Hash Cond: (smallt2.d = smallt.d)
-> Redistribute Motion 3:3 (slice2; segments: 3) (cost=0.00..431.00 rows=17 width=4)
Hash Key: smallt2.d
-> Seq Scan on smallt2 (cost=0.00..431.00 rows=17 width=4)
-> Hash (cost=1324055.07..1324055.07 rows=3 width=4)
-> Result (cost=0.00..1324055.07 rows=3 width=4)
Filter: ((CASE WHEN (sum((CASE WHEN (0 >= (sum(smallt.i))) THEN 1 ELSE 0 END)) IS NULL) THEN true WHEN (sum((CASE WHEN ((sum(smallt.i)) IS NULL) THEN 1 ELSE 0 END)) > '0'::bigint) THEN NULL::boolean WHEN (0 IS NULL) THEN NULL::boolean WHEN (sum((CASE WHEN (0 >= (sum(smallt.i))) THEN 1 ELSE 0 END)) = '0'::bigint) THEN true ELSE false END) = true)
-> HashAggregate (cost=0.00..1324055.07 rows=7 width=20)
Group Key: smallt.d
-> Nested Loop (cost=0.00..1324055.03 rows=334 width=12)
Join Filter: true
-> HashAggregate (cost=0.00..431.01 rows=7 width=12)
Group Key: smallt.d
-> Redistribute Motion 3:3 (slice4; segments: 3) (cost=0.00..431.00 rows=34 width=8)
Hash Key: smallt.d
-> Seq Scan on smallt (cost=0.00..431.00 rows=34 width=8)
-> Materialize (cost=0.00..431.00 rows=50 width=1)
-> Broadcast Motion 3:3 (slice3; segments: 3) (cost=0.00..431.00 rows=50 width=1)
-> Seq Scan on smallt2 tmp (cost=0.00..431.00 rows=17 width=1)
Optimizer: Pivotal Optimizer (GPORCA)
(24 rows)
--end_ignore
-- Nested Subplan
create table eager_free_r (r1 int, r2 int, r3 int);
NOTICE: Table doesn't have 'DISTRIBUTED BY' clause -- Using column named 'r1' as the Apache Cloudberry data distribution key for this table.
HINT: The 'DISTRIBUTED BY' clause determines the distribution of data. Make sure column(s) chosen are the optimal data distribution key to minimize skew.
create table eager_free_s (s1 int, s2 int, s3 int);
NOTICE: Table doesn't have 'DISTRIBUTED BY' clause -- Using column named 's1' as the Apache Cloudberry data distribution key for this table.
HINT: The 'DISTRIBUTED BY' clause determines the distribution of data. Make sure column(s) chosen are the optimal data distribution key to minimize skew.
create table eager_free_t (t1 int, t2 int, t3 int);
NOTICE: Table doesn't have 'DISTRIBUTED BY' clause -- Using column named 't1' as the Apache Cloudberry data distribution key for this table.
HINT: The 'DISTRIBUTED BY' clause determines the distribution of data. Make sure column(s) chosen are the optimal data distribution key to minimize skew.
insert into eager_free_r select 1 + g % 20, 1 + g % 5, 1 + g % 8 from generate_series(0, 39) g;
insert into eager_free_s select 1 + g % 20, 6 + g % 5, 1 + g % 4 from generate_series(0, 19) g;
insert into eager_free_t select 1 + g % 30, 1 + g % 6, 1 + g % 5 from generate_series(0, 29) g;
select * from eager_free_t where t1 > (select min(r1) from eager_free_r where r2<t2 and r3 > (Select min(s3) from eager_free_s where s1<r1));
t1 | t2 | t3
----+----+----
11 | 5 | 1
17 | 5 | 2
18 | 6 | 3
21 | 3 | 1
20 | 2 | 5
29 | 5 | 4
26 | 2 | 1
27 | 3 | 2
5 | 5 | 5
9 | 3 | 4
12 | 6 | 2
23 | 5 | 3
24 | 6 | 4
28 | 4 | 3
30 | 6 | 5
4 | 4 | 4
3 | 3 | 3
8 | 2 | 3
6 | 6 | 1
14 | 2 | 4
10 | 4 | 5
15 | 3 | 5
16 | 4 | 1
22 | 4 | 2
(24 rows)
reset optimizer_segments;
reset search_path;
drop schema eagerfree cascade;
NOTICE: drop cascades to 6 other objects
DETAIL: drop cascades to table eagerfree.smallt
drop cascades to table eagerfree.bigt
drop cascades to table eagerfree.smallt2
drop cascades to table eagerfree.eager_free_r
drop cascades to table eagerfree.eager_free_s
drop cascades to table eagerfree.eager_free_t