Tom Lane <[email protected]> wrote:
> Egad. If that's it, my confidence in the amount of testing SSI
> has gotten has just dropped dramatically.
If I'm reading this correctly, it would appear that nobody has
updated anything to a TOASTed value in a build against HEAD in
testing *anything* in the last two and a half months. And the
regression tests don't include a single UPDATE to a TOASTed value
anywhere. That seems like a significant code coverage deficiency.
Attached is a patch to cure the latter of these. I'm submitting
this separately since it seems a good idea regardless of what
happens with the related SSI issue.
It is, of course, no excuse for making a dumb mistake like that, but
it wouldn't have survived the day on my machine or Dan's, much less
been submitted as a patch or committed, with the attached general
test of update-to-TOAST functionality in the regression tests.
-Kevin
*** a/src/test/regress/expected/update.out
--- b/src/test/regress/expected/update.out
***************
*** 87,90 **** ERROR: invalid reference to FROM-clause entry for table
"update_test"
--- 87,99 ----
LINE 1: UPDATE update_test AS t SET b = update_test.b + 10 WHERE t.a...
^
HINT: Perhaps you meant to reference the table alias "t".
+ -- Make sure that we can update to a TOASTed value.
+ UPDATE update_test SET c = repeat('x', 10000) WHERE c = 'car';
+ SELECT a, b, char_length(c) FROM update_test;
+ a | b | char_length
+ -----+----+-------------
+ 100 | 20 |
+ 11 | 41 | 10000
+ (2 rows)
+
DROP TABLE update_test;
*** a/src/test/regress/sql/update.sql
--- b/src/test/regress/sql/update.sql
***************
*** 54,57 **** UPDATE update_test SET (a,b) = (select a,b FROM update_test
where c = 'foo')
--- 54,61 ----
-- to the original table name
UPDATE update_test AS t SET b = update_test.b + 10 WHERE t.a = 10;
+ -- Make sure that we can update to a TOASTed value.
+ UPDATE update_test SET c = repeat('x', 10000) WHERE c = 'car';
+ SELECT a, b, char_length(c) FROM update_test;
+
DROP TABLE update_test;
--
Sent via pgsql-bugs mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs