Re: Does PostgreSQL have complete functional test cases?

From: Tianyin Xu <tixu(at)cs(dot)ucsd(dot)edu>
To: Andres Freund <andres(at)2ndquadrant(dot)com>
Cc: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>, Bruce Momjian <bruce(at)momjian(dot)us>, "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>, Jeff Janes <jeff(dot)janes(at)gmail(dot)com>
Subject: Re: Does PostgreSQL have complete functional test cases?
Date: 2012-11-08 19:28:29
Message-ID: CABBDWwfca8D0KFGj5pgCzAOVnSVPUykGu1t_ELpYUbqRgprfLw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Thanks a lot, Pavel, Jeff, Andres!

I just changed the configuration file, postgresql.conf.

Using the default one, all the regress tests are passed (so it should not
be the block size?). But when I changed something, quite a number of tests
are failed.

I looked at the regression.diffs file, but I don't understand what it said.

For example, I have a bunch of things as follows:

***
/home/tianyin/source_code/postgresql-9.2.1/src/test/regress/expected/select.out
2012-09-19 14:47:58.000000000 -0700
---
/home/tianyin/source_code/postgresql-9.2.1/src/test/regress/results/select.out
2012-11-08 11:02:54.306666883 -0800
***************
*** 219,234 ****
SELECT onek2.* FROM onek2 WHERE onek2.unique1 < 10;
unique1 | unique2 | two | four | ten | twenty | hundred | thousand |
twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 |
string4

---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 0 | 998 | 0 | 0 | 0 | 0 | 0 | 0
| 0 | 0 | 0 | 0 | 1 | AAAAAA | KMBAAA |
OOOOxx
1 | 214 | 1 | 1 | 1 | 1 | 1 | 1
| 1 | 1 | 1 | 2 | 3 | BAAAAA | GIAAAA |
OOOOxx
2 | 326 | 0 | 2 | 2 | 2 | 2 | 2
| 2 | 2 | 2 | 4 | 5 | CAAAAA | OMAAAA |
OOOOxx
3 | 431 | 1 | 3 | 3 | 3 | 3 | 3
| 3 | 3 | 3 | 6 | 7 | DAAAAA | PQAAAA |
VVVVxx
- 4 | 833 | 0 | 0 | 4 | 4 | 4 | 4
| 4 | 4 | 4 | 8 | 9 | EAAAAA | BGBAAA |
HHHHxx
5 | 541 | 1 | 1 | 5 | 5 | 5 | 5
| 5 | 5 | 5 | 10 | 11 | FAAAAA | VUAAAA |
HHHHxx
- 6 | 978 | 0 | 2 | 6 | 6 | 6 | 6
| 6 | 6 | 6 | 12 | 13 | GAAAAA | QLBAAA |
OOOOxx
7 | 647 | 1 | 3 | 7 | 7 | 7 | 7
| 7 | 7 | 7 | 14 | 15 | HAAAAA | XYAAAA |
VVVVxx
8 | 653 | 0 | 0 | 8 | 8 | 8 | 8
| 8 | 8 | 8 | 16 | 17 | IAAAAA | DZAAAA |
HHHHxx
! 9 | 49 | 1 | 1 | 9 | 9 | 9 | 9
| 9 | 9 | 9 | 18 | 19 | JAAAAA | XBAAAA |
HHHHxx
(10 rows)

......

*** 268,292 ****
WHERE onek2.unique1 > 980;
unique1 | stringu1
---------+----------
! 981 | TLAAAA
! 982 | ULAAAA
983 | VLAAAA
- 984 | WLAAAA
- 985 | XLAAAA
- 986 | YLAAAA
- 987 | ZLAAAA
- 988 | AMAAAA
989 | BMAAAA
990 | CMAAAA
991 | DMAAAA
! 992 | EMAAAA
993 | FMAAAA
994 | GMAAAA
! 995 | HMAAAA
! 996 | IMAAAA
! 997 | JMAAAA
! 998 | KMAAAA
! 999 | LMAAAA
(19 rows)

And also something like that:

***
/home/tianyin/source_code/postgresql-9.2.1/src/test/regress/expected/join.out
2012-09-19 14:47:58.000000000 -0700
---
/home/tianyin/source_code/postgresql-9.2.1/src/test/regress/results/join.out
2012-11-08 11:02:56.210666929 -0800
***************
*** 2545,2561 ****
( SELECT COALESCE(q2, -1) AS qq FROM int8_tbl b ) AS ss2
USING (qq)
INNER JOIN tenk1 c ON qq = unique2;
! QUERY
PLAN
!
-------------------------------------------------------------------------------------------------------
! Nested Loop
! -> Hash Full Join
! Hash Cond: (COALESCE(a.q1, 0::bigint) = COALESCE(b.q2,
(-1)::bigint))
! -> Seq Scan on int8_tbl a
! -> Hash
! -> Seq Scan on int8_tbl b
! -> Index Scan using tenk1_unique2 on tenk1 c
! Index Cond: (unique2 = COALESCE((COALESCE(a.q1, 0::bigint)),
(COALESCE(b.q2, (-1)::bigint))))
! (8 rows)

SELECT qq, unique1
FROM

***
/home/tianyin/source_code/postgresql-9.2.1/src/test/regress/expected/stats.out
2012-09-19 14:47:58.000000000 -0700
---
/home/tianyin/source_code/postgresql-9.2.1/src/test/regress/results/stats.out
2012-11-08 11:04:15.206668806 -0800
***************
*** 99,105 ****
WHERE st.relname='tenk2' AND cl.relname='tenk2';
?column? | ?column? | ?column? | ?column?
----------+----------+----------+----------
! t | t | t | t
(1 row)

SELECT st.heap_blks_read + st.heap_blks_hit >= pr.heap_blks + cl.relpages,
--- 99,105 ----
WHERE st.relname='tenk2' AND cl.relname='tenk2';
?column? | ?column? | ?column? | ?column?
----------+----------+----------+----------
! t | t | f | f
(1 row)

SELECT st.heap_blks_read + st.heap_blks_hit >= pr.heap_blks + cl.relpages,
***************
*** 108,114 ****
WHERE st.relname='tenk2' AND cl.relname='tenk2';
?column? | ?column?
----------+----------
! t | t
(1 row)

-- End of Stats Test
--- 108,114 ----
WHERE st.relname='tenk2' AND cl.relname='tenk2';
?column? | ?column?
----------+----------
! t | f
(1 row)

-- End of Stats Test

======================================================================

On Thu, Nov 8, 2012 at 11:09 AM, Andres Freund <andres(at)2ndquadrant(dot)com>wrote:

> On 2012-11-08 10:47:18 -0800, Tianyin Xu wrote:
> > (p.s., in the default configuration, all the test suites are passed.)
>
> What did you change?
>
> Greetings,
>
> Andres Freund
>
> --
> Andres Freund http://www.2ndQuadrant.com/
> PostgreSQL Development, 24x7 Support, Training & Services
>

--
Tianyin XU,
http://cseweb.ucsd.edu/~tixu/

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Steven Plummer 2012-11-08 19:47:27 Range constraint with unique index
Previous Message Andres Freund 2012-11-08 19:09:23 Re: Does PostgreSQL have complete functional test cases?