mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	Fix parsing of qualified relation names in RETURNING.
Given a qualified refname, refnameNamespaceItem() will search for a
matching namespace item by relation OID, rather than by name. Commit
80feb727c8 broke this by adding additional namespace items for OLD and
NEW in the RETURNING list, which have the same relation OID, causing
ambiguity. Fix this by ignoring these in the search, which is correct
since they don't match the qualified relation name, and so there is no
real ambiguity.
Reported by Richard Guo.
Discussion: https://postgr.es/m/CAMbWs49MBjWYWDROJ8MZ%3DY%2B4UgRQa10wzik1tWrD5yto9eoGXg%40mail.gmail.com
			
			
This commit is contained in:
		@@ -312,6 +312,12 @@ DELETE FROM zerocol
 | 
			
		||||
            new.tableoid::regclass, new.ctid, ctid, *;
 | 
			
		||||
DROP TABLE zerocol;
 | 
			
		||||
 | 
			
		||||
-- Test schema-qualified table name in RETURNING list
 | 
			
		||||
CREATE TABLE public.tt(a int, b int);
 | 
			
		||||
INSERT INTO public.tt VALUES (1, 10);
 | 
			
		||||
UPDATE public.tt SET b = b * 2 RETURNING a, b, old.b, new.b, tt.b, public.tt.b;
 | 
			
		||||
DROP TABLE public.tt;
 | 
			
		||||
 | 
			
		||||
-- Test cross-partition updates and attribute mapping
 | 
			
		||||
CREATE TABLE foo_parted (a int, b float8, c text) PARTITION BY LIST (a);
 | 
			
		||||
CREATE TABLE foo_part_s1 PARTITION OF foo_parted FOR VALUES IN (1);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user