| -- interval check |
| CREATE TABLE intervaltmp (a interval); |
| \copy intervaltmp from 'data/interval.data' |
| SET enable_seqscan=on; |
| SELECT count(*) FROM intervaltmp WHERE a < '199 days 21:21:23'; |
| count |
| ------- |
| 329 |
| (1 row) |
| |
| SELECT count(*) FROM intervaltmp WHERE a <= '199 days 21:21:23'; |
| count |
| ------- |
| 330 |
| (1 row) |
| |
| SELECT count(*) FROM intervaltmp WHERE a = '199 days 21:21:23'; |
| count |
| ------- |
| 1 |
| (1 row) |
| |
| SELECT count(*) FROM intervaltmp WHERE a >= '199 days 21:21:23'; |
| count |
| ------- |
| 271 |
| (1 row) |
| |
| SELECT count(*) FROM intervaltmp WHERE a > '199 days 21:21:23'; |
| count |
| ------- |
| 270 |
| (1 row) |
| |
| SELECT a, a <-> '199 days 21:21:23' FROM intervaltmp ORDER BY a <-> '199 days 21:21:23' LIMIT 3; |
| a | ?column? |
| -------------------------------------+-------------------------------------- |
| @ 199 days 21 hours 21 mins 23 secs | @ 0 |
| @ 183 days 6 hours 52 mins 48 secs | @ 16 days 14 hours 28 mins 35 secs |
| @ 220 days 19 hours 5 mins 42 secs | @ 21 days -2 hours -15 mins -41 secs |
| (3 rows) |
| |
| CREATE INDEX intervalidx ON intervaltmp USING gist ( a ); |
| SET enable_seqscan=off; |
| SELECT count(*) FROM intervaltmp WHERE a < '199 days 21:21:23'::interval; |
| count |
| ------- |
| 329 |
| (1 row) |
| |
| SELECT count(*) FROM intervaltmp WHERE a <= '199 days 21:21:23'::interval; |
| count |
| ------- |
| 330 |
| (1 row) |
| |
| SELECT count(*) FROM intervaltmp WHERE a = '199 days 21:21:23'::interval; |
| count |
| ------- |
| 1 |
| (1 row) |
| |
| SELECT count(*) FROM intervaltmp WHERE a >= '199 days 21:21:23'::interval; |
| count |
| ------- |
| 271 |
| (1 row) |
| |
| SELECT count(*) FROM intervaltmp WHERE a > '199 days 21:21:23'::interval; |
| count |
| ------- |
| 270 |
| (1 row) |
| |
| EXPLAIN (COSTS OFF) |
| SELECT a, a <-> '199 days 21:21:23' FROM intervaltmp ORDER BY a <-> '199 days 21:21:23' LIMIT 3; |
| QUERY PLAN |
| ----------------------------------------------------------------------------------- |
| Limit |
| -> Gather Motion 3:1 (slice1; segments: 3) |
| Merge Key: ((a <-> '@ 199 days 21 hours 21 mins 23 secs'::interval)) |
| -> Sort |
| Sort Key: ((a <-> '@ 199 days 21 hours 21 mins 23 secs'::interval)) |
| -> Seq Scan on intervaltmp |
| Optimizer: Pivotal Optimizer (GPORCA) |
| (7 rows) |
| |
| SELECT a, a <-> '199 days 21:21:23' FROM intervaltmp ORDER BY a <-> '199 days 21:21:23' LIMIT 3; |
| a | ?column? |
| -------------------------------------+-------------------------------------- |
| @ 199 days 21 hours 21 mins 23 secs | @ 0 |
| @ 183 days 6 hours 52 mins 48 secs | @ 16 days 14 hours 28 mins 35 secs |
| @ 220 days 19 hours 5 mins 42 secs | @ 21 days -2 hours -15 mins -41 secs |
| (3 rows) |
| |
| SET enable_indexonlyscan=off; |
| EXPLAIN (COSTS OFF) |
| SELECT a, a <-> '199 days 21:21:23' FROM intervaltmp ORDER BY a <-> '199 days 21:21:23' LIMIT 3; |
| QUERY PLAN |
| ----------------------------------------------------------------------------------- |
| Limit |
| -> Gather Motion 3:1 (slice1; segments: 3) |
| Merge Key: ((a <-> '@ 199 days 21 hours 21 mins 23 secs'::interval)) |
| -> Sort |
| Sort Key: ((a <-> '@ 199 days 21 hours 21 mins 23 secs'::interval)) |
| -> Seq Scan on intervaltmp |
| Optimizer: Pivotal Optimizer (GPORCA) |
| (7 rows) |
| |
| SELECT a, a <-> '199 days 21:21:23' FROM intervaltmp ORDER BY a <-> '199 days 21:21:23' LIMIT 3; |
| a | ?column? |
| -------------------------------------+-------------------------------------- |
| @ 199 days 21 hours 21 mins 23 secs | @ 0 |
| @ 183 days 6 hours 52 mins 48 secs | @ 16 days 14 hours 28 mins 35 secs |
| @ 220 days 19 hours 5 mins 42 secs | @ 21 days -2 hours -15 mins -41 secs |
| (3 rows) |
| |