Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 51db0d1

Browse files
committed
Fix plpgsql to enforce domain checks when returning a NULL domain value.
If a plpgsql function is declared to return a domain type, and the domain's constraints forbid a null value, it was nonetheless possible to return NULL, because we didn't bother to check the constraints for a null result. I'd noticed this while fooling with domains-over-composite, but had not gotten around to fixing it immediately. Add a regression test script exercising this and various other domain cases, largely borrowed from the plpython_types test. Although this is clearly a bug fix, I'm not sure whether anyone would thank us for changing the behavior in stable branches, so I'm inclined not to back-patch.
1 parent 439c7bc commit 51db0d1

File tree

6 files changed

+698
-1
lines changed

6 files changed

+698
-1
lines changed

src/pl/plpgsql/src/Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ DATA = plpgsql.control plpgsql--1.0.sql plpgsql--unpackaged--1.0.sql
2626

2727
REGRESS_OPTS = --dbname=$(PL_TESTDB)
2828

29-
REGRESS = plpgsql_call plpgsql_control plpgsql_record \
29+
REGRESS = plpgsql_call plpgsql_control plpgsql_domain plpgsql_record \
3030
plpgsql_transaction plpgsql_varprops
3131

3232
all: all-lib

0 commit comments

Comments
 (0)