vBulletin Search Engine Optimization
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| I compiled postgreSQL with 1kB block size and regresion test fails. Main problem is that output is correct but in different order. See attachment. I think affected test should contain order by keyword. Any comments? Zdenek *** ./expected/join.out Wed Jan 9 21:42:28 2008 --- ./results/join.out Mon Apr 21 13:50:53 2008 *************** *** 214,226 **** WHERE t1.a = t2.d; xxx | a | e -----+---+---- - | 0 | | 1 | -1 | 2 | 2 - | 2 | 4 | 3 | -3 | 5 | -5 | 5 | -5 (7 rows) -- --- 214,226 ---- WHERE t1.a = t2.d; xxx | a | e -----+---+---- | 1 | -1 | 2 | 2 | 3 | -3 + | 2 | 4 | 5 | -5 | 5 | -5 + | 0 | (7 rows) -- *************** *** 1569,1581 **** FROM J1_TBL INNER JOIN J2_TBL USING (i); xxx | i | j | t | k -----+---+---+-------+---- - | 0 | | zero | | 1 | 4 | one | -1 | 2 | 3 | two | 2 - | 2 | 3 | two | 4 | 3 | 2 | three | -3 | 5 | 0 | five | -5 | 5 | 0 | five | -5 (7 rows) -- Same as above, slightly different syntax --- 1569,1581 ---- FROM J1_TBL INNER JOIN J2_TBL USING (i); xxx | i | j | t | k -----+---+---+-------+---- | 1 | 4 | one | -1 | 2 | 3 | two | 2 | 3 | 2 | three | -3 + | 2 | 3 | two | 4 | 5 | 0 | five | -5 | 5 | 0 | five | -5 + | 0 | | zero | (7 rows) -- Same as above, slightly different syntax *************** *** 1583,1595 **** FROM J1_TBL JOIN J2_TBL USING (i); xxx | i | j | t | k -----+---+---+-------+---- - | 0 | | zero | | 1 | 4 | one | -1 | 2 | 3 | two | 2 - | 2 | 3 | two | 4 | 3 | 2 | three | -3 | 5 | 0 | five | -5 | 5 | 0 | five | -5 (7 rows) SELECT '' AS "xxx", * --- 1583,1595 ---- FROM J1_TBL JOIN J2_TBL USING (i); xxx | i | j | t | k -----+---+---+-------+---- | 1 | 4 | one | -1 | 2 | 3 | two | 2 | 3 | 2 | three | -3 + | 2 | 3 | two | 4 | 5 | 0 | five | -5 | 5 | 0 | five | -5 + | 0 | | zero | (7 rows) SELECT '' AS "xxx", * *************** *** 1625,1637 **** FROM J1_TBL NATURAL JOIN J2_TBL; xxx | i | j | t | k -----+---+---+-------+---- - | 0 | | zero | | 1 | 4 | one | -1 | 2 | 3 | two | 2 - | 2 | 3 | two | 4 | 3 | 2 | three | -3 | 5 | 0 | five | -5 | 5 | 0 | five | -5 (7 rows) SELECT '' AS "xxx", * --- 1625,1637 ---- FROM J1_TBL NATURAL JOIN J2_TBL; xxx | i | j | t | k -----+---+---+-------+---- | 1 | 4 | one | -1 | 2 | 3 | two | 2 | 3 | 2 | three | -3 + | 2 | 3 | two | 4 | 5 | 0 | five | -5 | 5 | 0 | five | -5 + | 0 | | zero | (7 rows) SELECT '' AS "xxx", * *************** *** 1638,1650 **** FROM J1_TBL t1 (a, b, c) NATURAL JOIN J2_TBL t2 (a, d); xxx | a | b | c | d -----+---+---+-------+---- - | 0 | | zero | | 1 | 4 | one | -1 | 2 | 3 | two | 2 - | 2 | 3 | two | 4 | 3 | 2 | three | -3 | 5 | 0 | five | -5 | 5 | 0 | five | -5 (7 rows) SELECT '' AS "xxx", * --- 1638,1650 ---- FROM J1_TBL t1 (a, b, c) NATURAL JOIN J2_TBL t2 (a, d); xxx | a | b | c | d -----+---+---+-------+---- | 1 | 4 | one | -1 | 2 | 3 | two | 2 | 3 | 2 | three | -3 + | 2 | 3 | two | 4 | 5 | 0 | five | -5 | 5 | 0 | five | -5 + | 0 | | zero | (7 rows) SELECT '' AS "xxx", * *************** *** 1651,1659 **** FROM J1_TBL t1 (a, b, c) NATURAL JOIN J2_TBL t2 (d, a); xxx | a | b | c | d -----+---+---+------+--- - | 0 | | zero | | 2 | 3 | two | 2 | 4 | 1 | four | 2 (3 rows) -- mismatch number of columns --- 1651,1659 ---- FROM J1_TBL t1 (a, b, c) NATURAL JOIN J2_TBL t2 (d, a); xxx | a | b | c | d -----+---+---+------+--- | 2 | 3 | two | 2 | 4 | 1 | four | 2 + | 0 | | zero | (3 rows) -- mismatch number of columns *************** *** 1662,1674 **** FROM J1_TBL t1 (a, b) NATURAL JOIN J2_TBL t2 (a); xxx | a | b | t | k -----+---+---+-------+---- - | 0 | | zero | | 1 | 4 | one | -1 | 2 | 3 | two | 2 - | 2 | 3 | two | 4 | 3 | 2 | three | -3 | 5 | 0 | five | -5 | 5 | 0 | five | -5 (7 rows) -- --- 1662,1674 ---- FROM J1_TBL t1 (a, b) NATURAL JOIN J2_TBL t2 (a); xxx | a | b | t | k -----+---+---+-------+---- | 1 | 4 | one | -1 | 2 | 3 | two | 2 | 3 | 2 | three | -3 + | 2 | 3 | two | 4 | 5 | 0 | five | -5 | 5 | 0 | five | -5 + | 0 | | zero | (7 rows) -- *************** *** 1678,1690 **** FROM J1_TBL JOIN J2_TBL ON (J1_TBL.i = J2_TBL.i); xxx | i | j | t | i | k -----+---+---+-------+---+---- - | 0 | | zero | 0 | | 1 | 4 | one | 1 | -1 | 2 | 3 | two | 2 | 2 - | 2 | 3 | two | 2 | 4 | 3 | 2 | three | 3 | -3 | 5 | 0 | five | 5 | -5 | 5 | 0 | five | 5 | -5 (7 rows) SELECT '' AS "xxx", * --- 1678,1690 ---- FROM J1_TBL JOIN J2_TBL ON (J1_TBL.i = J2_TBL.i); xxx | i | j | t | i | k -----+---+---+-------+---+---- | 1 | 4 | one | 1 | -1 | 2 | 3 | two | 2 | 2 | 3 | 2 | three | 3 | -3 + | 2 | 3 | two | 2 | 4 | 5 | 0 | five | 5 | -5 | 5 | 0 | five | 5 | -5 + | 0 | | zero | 0 | (7 rows) SELECT '' AS "xxx", * *************** *** 1691,1699 **** FROM J1_TBL JOIN J2_TBL ON (J1_TBL.i = J2_TBL.k); xxx | i | j | t | i | k -----+---+---+------+---+--- - | 0 | | zero | | 0 | 2 | 3 | two | 2 | 2 | 4 | 1 | four | 2 | 4 (3 rows) -- --- 1691,1699 ---- FROM J1_TBL JOIN J2_TBL ON (J1_TBL.i = J2_TBL.k); xxx | i | j | t | i | k -----+---+---+------+---+--- | 2 | 3 | two | 2 | 2 | 4 | 1 | four | 2 | 4 + | 0 | | zero | | 0 (3 rows) -- *************** *** 1762,1774 **** FROM J1_TBL RIGHT OUTER JOIN J2_TBL USING (i); xxx | i | j | t | k -----+---+---+-------+---- - | 0 | | zero | | 1 | 4 | one | -1 | 2 | 3 | two | 2 - | 2 | 3 | two | 4 | 3 | 2 | three | -3 | 5 | 0 | five | -5 | 5 | 0 | five | -5 | | | | | | | | 0 (9 rows) --- 1762,1774 ---- FROM J1_TBL RIGHT OUTER JOIN J2_TBL USING (i); xxx | i | j | t | k -----+---+---+-------+---- | 1 | 4 | one | -1 | 2 | 3 | two | 2 | 3 | 2 | three | -3 + | 2 | 3 | two | 4 | 5 | 0 | five | -5 | 5 | 0 | five | -5 + | 0 | | zero | | | | | | | | | 0 (9 rows) *************** *** 1777,1789 **** FROM J1_TBL RIGHT JOIN J2_TBL USING (i); xxx | i | j | t | k -----+---+---+-------+---- - | 0 | | zero | | 1 | 4 | one | -1 | 2 | 3 | two | 2 - | 2 | 3 | two | 4 | 3 | 2 | three | -3 | 5 | 0 | five | -5 | 5 | 0 | five | -5 | | | | | | | | 0 (9 rows) --- 1777,1789 ---- FROM J1_TBL RIGHT JOIN J2_TBL USING (i); xxx | i | j | t | k -----+---+---+-------+---- | 1 | 4 | one | -1 | 2 | 3 | two | 2 | 3 | 2 | three | -3 + | 2 | 3 | two | 4 | 5 | 0 | five | -5 | 5 | 0 | five | -5 + | 0 | | zero | | | | | | | | | 0 (9 rows) ================================================== ==================== *** ./expected/arrays.out Thu Mar 20 22:42:48 2008 --- ./results/arrays.out Mon Apr 21 13:50:52 2008 *************** *** 139,146 **** a | b | c ---------------+-----------------------+------------------- {16,25,3,4,5} | {{{113,142},{1,147}}} | {} - {16,25,23} | {{3,4},{4,5}} | {foobar,new_word} [4:4]={NULL} | {3,4} | {foo,new_word} (3 rows) -- --- 139,146 ---- a | b | c ---------------+-----------------------+------------------- {16,25,3,4,5} | {{{113,142},{1,147}}} | {} [4:4]={NULL} | {3,4} | {foo,new_word} + {16,25,23} | {{3,4},{4,5}} | {foobar,new_word} (3 rows) -- ================================================== ==================== *** ./expected/misc.out Mon Apr 21 13:50:12 2008 --- ./results/misc.out Mon Apr 21 13:50:55 2008 *************** *** 356,361 **** --- 356,362 ---- e | 18 | | | e | | hi elisa | | e | | | -4 | + f | 25 | | -9 | f | 19 | hi claire | -5 | f | 20 | hi mike | -6 | f | 21 | hi marcel | | *************** *** 362,368 **** f | 22 | | -7 | f | | hi keith | -8 | f | 24 | hi marc | | - f | 25 | | -9 | f | 26 | | | f | | hi allison | -10 | f | | hi jeff | | --- 363,368 ---- *************** *** 416,421 **** --- 416,422 ---- e | 18 | e | | e | | + f | 25 | f | 19 | f | 20 | f | 21 | *************** *** 422,428 **** f | 22 | f | | f | 24 | - f | 25 | f | 26 | f | | f | | --- 423,428 ---- ================================================== ==================== *** ./expected/polymorphism.out Fri Jan 11 19:39:41 2008 --- ./results/polymorphism.out Mon Apr 21 13:51:03 2008 *************** *** 355,362 **** select f3, myaggp01a(*) from t group by f3; f3 | myaggp01a ----+----------- - b | {} c | {} a | {} (3 rows) --- 355,362 ---- select f3, myaggp01a(*) from t group by f3; f3 | myaggp01a ----+----------- c | {} + b | {} a | {} (3 rows) *************** *** 363,370 **** select f3, myaggp03a(*) from t group by f3; f3 | myaggp03a ----+----------- - b | {} c | {} a | {} (3 rows) --- 363,370 ---- select f3, myaggp03a(*) from t group by f3; f3 | myaggp03a ----+----------- c | {} + b | {} a | {} (3 rows) *************** *** 371,378 **** select f3, myaggp03b(*) from t group by f3; f3 | myaggp03b ----+----------- - b | {} c | {} a | {} (3 rows) --- 371,378 ---- select f3, myaggp03b(*) from t group by f3; f3 | myaggp03b ----+----------- c | {} + b | {} a | {} (3 rows) *************** *** 379,386 **** select f3, myaggp05a(f1) from t group by f3; f3 | myaggp05a ----+----------- - b | {1,2,3} c | {1,2} a | {1,2,3} (3 rows) --- 379,386 ---- select f3, myaggp05a(f1) from t group by f3; f3 | myaggp05a ----+----------- c | {1,2} + b | {1,2,3} a | {1,2,3} (3 rows) *************** *** 387,394 **** select f3, myaggp06a(f1) from t group by f3; f3 | myaggp06a ----+----------- - b | {} c | {} a | {} (3 rows) --- 387,394 ---- select f3, myaggp06a(f1) from t group by f3; f3 | myaggp06a ----+----------- c | {} + b | {} a | {} (3 rows) *************** *** 395,402 **** select f3, myaggp08a(f1) from t group by f3; f3 | myaggp08a ----+----------- - b | {} c | {} a | {} (3 rows) --- 395,402 ---- select f3, myaggp08a(f1) from t group by f3; f3 | myaggp08a ----+----------- c | {} + b | {} a | {} (3 rows) *************** *** 403,410 **** select f3, myaggp09a(f1) from t group by f3; f3 | myaggp09a ----+----------- - b | {} c | {} a | {} (3 rows) --- 403,410 ---- select f3, myaggp09a(f1) from t group by f3; f3 | myaggp09a ----+----------- c | {} + b | {} a | {} (3 rows) *************** *** 411,418 **** select f3, myaggp09b(f1) from t group by f3; f3 | myaggp09b ----+----------- - b | {} c | {} a | {} (3 rows) --- 411,418 ---- select f3, myaggp09b(f1) from t group by f3; f3 | myaggp09b ----+----------- c | {} + b | {} a | {} (3 rows) *************** *** 419,426 **** select f3, myaggp10a(f1) from t group by f3; f3 | myaggp10a ----+----------- - b | {1,2,3} c | {1,2} a | {1,2,3} (3 rows) --- 419,426 ---- select f3, myaggp10a(f1) from t group by f3; f3 | myaggp10a ----+----------- c | {1,2} + b | {1,2,3} a | {1,2,3} (3 rows) *************** *** 427,434 **** select f3, myaggp10b(f1) from t group by f3; f3 | myaggp10b ----+----------- - b | {1,2,3} c | {1,2} a | {1,2,3} (3 rows) --- 427,434 ---- select f3, myaggp10b(f1) from t group by f3; f3 | myaggp10b ----+----------- c | {1,2} + b | {1,2,3} a | {1,2,3} (3 rows) *************** *** 435,442 **** select f3, myaggp20a(f1) from t group by f3; f3 | myaggp20a ----+----------- - b | {1,2,3} c | {1,2} a | {1,2,3} (3 rows) --- 435,442 ---- select f3, myaggp20a(f1) from t group by f3; f3 | myaggp20a ----+----------- c | {1,2} + b | {1,2,3} a | {1,2,3} (3 rows) *************** *** 443,450 **** select f3, myaggp20b(f1) from t group by f3; f3 | myaggp20b ----+----------- - b | {1,2,3} c | {1,2} a | {1,2,3} (3 rows) --- 443,450 ---- select f3, myaggp20b(f1) from t group by f3; f3 | myaggp20b ----+----------- c | {1,2} + b | {1,2,3} a | {1,2,3} (3 rows) *************** *** 451,458 **** select f3, myaggn01a(*) from t group by f3; f3 | myaggn01a ----+----------- - b | {} c | {} a | {} (3 rows) --- 451,458 ---- select f3, myaggn01a(*) from t group by f3; f3 | myaggn01a ----+----------- c | {} + b | {} a | {} (3 rows) *************** *** 459,466 **** select f3, myaggn01b(*) from t group by f3; f3 | myaggn01b ----+----------- - b | {} c | {} a | {} (3 rows) --- 459,466 ---- select f3, myaggn01b(*) from t group by f3; f3 | myaggn01b ----+----------- c | {} + b | {} a | {} (3 rows) *************** *** 467,474 **** select f3, myaggn03a(*) from t group by f3; f3 | myaggn03a ----+----------- - b | {} c | {} a | {} (3 rows) --- 467,474 ---- select f3, myaggn03a(*) from t group by f3; f3 | myaggn03a ----+----------- c | {} + b | {} a | {} (3 rows) *************** *** 475,482 **** select f3, myaggn05a(f1) from t group by f3; f3 | myaggn05a ----+----------- - b | {1,2,3} c | {1,2} a | {1,2,3} (3 rows) --- 475,482 ---- select f3, myaggn05a(f1) from t group by f3; f3 | myaggn05a ----+----------- c | {1,2} + b | {1,2,3} a | {1,2,3} (3 rows) *************** *** 483,490 **** select f3, myaggn05b(f1) from t group by f3; f3 | myaggn05b ----+----------- - b | {1,2,3} c | {1,2} a | {1,2,3} (3 rows) --- 483,490 ---- select f3, myaggn05b(f1) from t group by f3; f3 | myaggn05b ----+----------- c | {1,2} + b | {1,2,3} a | {1,2,3} (3 rows) *************** *** 491,498 **** select f3, myaggn06a(f1) from t group by f3; f3 | myaggn06a ----+----------- - b | {} c | {} a | {} (3 rows) --- 491,498 ---- select f3, myaggn06a(f1) from t group by f3; f3 | myaggn06a ----+----------- c | {} + b | {} a | {} (3 rows) *************** *** 499,506 **** select f3, myaggn06b(f1) from t group by f3; f3 | myaggn06b ----+----------- - b | {} c | {} a | {} (3 rows) --- 499,506 ---- select f3, myaggn06b(f1) from t group by f3; f3 | myaggn06b ----+----------- c | {} + b | {} a | {} (3 rows) *************** *** 507,514 **** select f3, myaggn08a(f1) from t group by f3; f3 | myaggn08a ----+----------- - b | {} c | {} a | {} (3 rows) --- 507,514 ---- select f3, myaggn08a(f1) from t group by f3; f3 | myaggn08a ----+----------- c | {} + b | {} a | {} (3 rows) *************** *** 515,522 **** select f3, myaggn08b(f1) from t group by f3; f3 | myaggn08b ----+----------- - b | {} c | {} a | {} (3 rows) --- 515,522 ---- select f3, myaggn08b(f1) from t group by f3; f3 | myaggn08b ----+----------- c | {} + b | {} a | {} (3 rows) *************** *** 523,530 **** select f3, myaggn09a(f1) from t group by f3; f3 | myaggn09a ----+----------- - b | {} c | {} a | {} (3 rows) --- 523,530 ---- select f3, myaggn09a(f1) from t group by f3; f3 | myaggn09a ----+----------- c | {} + b | {} a | {} (3 rows) *************** *** 531,538 **** select f3, myaggn10a(f1) from t group by f3; f3 | myaggn10a ----+----------- - b | {1,2,3} c | {1,2} a | {1,2,3} (3 rows) --- 531,538 ---- select f3, myaggn10a(f1) from t group by f3; f3 | myaggn10a ----+----------- c | {1,2} + b | {1,2,3} a | {1,2,3} (3 rows) ================================================== ==================== -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers |
| |||
| Am Montag, 21. April 2008 schrieb Zdenek Kotala: > I compiled postgreSQL with 1kB block size and regresion test fails. Main > problem is that output is correct but in different order. See attachment. This was previously reported: http://archives.postgresql.org/pgsql...1/msg00901.php > I think affected test should contain order by keyword. For previously established reasons, we don't want to add ORDER BY clauses to every test that might fail under exceptional circumstances so we test all plan types equally. I think very small block sizes are fairly exceptional, unless you have a reason up your sleeve why they are a good idea. -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers |
| |||
| On Mon, Apr 21, 2008 at 5:55 PM, Peter Eisentraut <peter_e@gmx.net> wrote: > > For previously established reasons, we don't want to add ORDER BY clauses to > every test that might fail under exceptional circumstances so we test all > plan types equally. I think very small block sizes are fairly exceptional, > unless you have a reason up your sleeve why they are a good idea. > Now that we have autovacuum on by default, we might get into random failures because of re-ordering. Though I don't seem to recall anybody complaining yet, it could just be that we are lucky or our regression suite don't have long enough running tests to give autovacuum chance to recycle some of the dead tuples. Thanks, Pavan -- Pavan Deolasee EnterpriseDB http://www.enterprisedb.com -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers |
| |||
| "Pavan Deolasee" <pavan.deolasee@gmail.com> writes: > Now that we have autovacuum on by default, we might get into random > failures because of re-ordering. Though I don't seem to recall anybody > complaining yet, it could just be that we are lucky or our regression > suite don't have long enough running tests to give autovacuum chance > to recycle some of the dead tuples. No, the reason you don't see that is that plain VACUUM doesn't move tuples around. regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers |
| |||
| Peter Eisentraut napsal(a): > Am Montag, 21. April 2008 schrieb Zdenek Kotala: >> I compiled postgreSQL with 1kB block size and regresion test fails. Main >> problem is that output is correct but in different order. See attachment. > > This was previously reported: > http://archives.postgresql.org/pgsql...1/msg00901.php > >> I think affected test should contain order by keyword. > > For previously established reasons, we don't want to add ORDER BY clauses to > every test that might fail under exceptional circumstances so we test all > plan types equally. I think very small block sizes are fairly exceptional, > unless you have a reason up your sleeve why they are a good idea. I'm only testing behavior with different block size and I think it is not good idea to support only 8kB for regtest. When 4kB is used then PG fails in Join regresion test and with 16kB, 32kB it fails because: *** ./expected/bitmapops.out Fri Apr 11 00:25:26 2008 --- ./results/bitmapops.out Mon Apr 21 15:30:18 2008 *************** *** 20,25 **** --- 20,26 ---- set enable_seqscan=false; -- Lower work_mem to trigger use of lossy bitmaps set work_mem = 64; + ERROR: 64 is outside the valid range for parameter "work_mem" (256 .. 2097151) -- Test bitmap-and. SELECT count(*) FROM bmscantest WHERE a = 1 AND b = 1; count Zdenek -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers |
| |||
| Am Montag, 21. April 2008 schrieb Zdenek Kotala: > I'm only testing behavior with different block size and I think it is not > good idea to support only 8kB for regtest. When 4kB is used then PG fails > in Join regresion test and with 16kB, 32kB it fails because: > > *** ./expected/bitmapops.out Fri Apr 11 00:25:26 2008 > --- ./results/bitmapops.out Mon Apr 21 15:30:18 2008 > *************** > *** 20,25 **** > --- 20,26 ---- > set enable_seqscan=false; > -- Lower work_mem to trigger use of lossy bitmaps > set work_mem = 64; > + ERROR: 64 is outside the valid range for parameter "work_mem" (256 .. > 2097151) -- Test bitmap-and. > SELECT count(*) FROM bmscantest WHERE a = 1 AND b = 1; > count This should probably be fixed by using a unit specification on work_mem. Do you want to prepare a patch? -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers |
| |||
| On Mon, Apr 21, 2008 at 02:25:31PM +0200, Peter Eisentraut wrote: > > I think affected test should contain order by keyword. > > For previously established reasons, we don't want to add ORDER BY clausesto > every test that might fail under exceptional circumstances so we test all > plan types equally. I think very small block sizes are fairly exceptional, > unless you have a reason up your sleeve why they are a good idea. I wonder if it would be feasable to, whenever a regression test fails to sort both files and compare again. This should tell you if the difference are *only* rearrangement automatically, without having to eyeball the output. Have a nice day, -- Martijn van Oosterhout <kleptog@svana.org> http://svana.org/kleptog/ > Please line up in a tree and maintain the heap invariant while > boarding. Thank you for flying nlogn airlines. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQFIDL3gIB7bNG8LQkwRAiJ3AJwJkrnJCigUafGj2Yusye pjWLq7RQCfV2vy Eru1NRcrhpxnIpG9QA4ZGrY= =MsAR -----END PGP SIGNATURE----- |
| |||
| Am Montag, 21. April 2008 schrieb Martijn van Oosterhout: > I wonder if it would be feasable to, whenever a regression test fails > to sort both files and compare again. This should tell you if the > difference are *only* rearrangement automatically, without having to > eyeball the output. That sounds like it should be worth a try. -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers |
| |||
| Peter Eisentraut wrote: > Am Montag, 21. April 2008 schrieb Martijn van Oosterhout: > >> I wonder if it would be feasable to, whenever a regression test fails >> to sort both files and compare again. This should tell you if the >> difference are *only* rearrangement automatically, without having to >> eyeball the output. >> > > That sounds like it should be worth a try. > I think we need first to identify cases where we don't care that much about output order. Teaching pg-regress the new check shouldn't be very hard. cheers andrew -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers |
| ||||
| Peter Eisentraut <peter_e@gmx.net> writes: > Am Montag, 21. April 2008 schrieb Martijn van Oosterhout: >> I wonder if it would be feasable to, whenever a regression test fails >> to sort both files and compare again. This should tell you if the >> difference are *only* rearrangement automatically, without having to >> eyeball the output. > That sounds like it should be worth a try. That sounds like a pretty bad idea, since it would treat ordering differences as insignificant even when they aren't --- for example, an ordering difference in the output of a query that *has* an ORDER BY is usually a bug. regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers |
| Thread Tools | |
| Display Modes | |
|
|