Description
Updating primary key of a table with the cqd TRAF_RELOAD_NATABLE_CACHE 'ON' causes master executor to abend.
To reproduce
create table test1 like "PRIVMGR_MD".OBJECT_PRIVILEGES ;
UPDATE test1 SET grantor_id = 33333, grantor_name = 'DB__ROOT', privileges_bitmap = 3, grantable_bitmap = 0 WHERE object_uid = 6220152955843408334 AND grantor_id = 33333 AND grantee_id = 1000000 ;
The problem is that we call getScanIndexDesc() in Inlining.cpp while transforming the tree during binding of update primary key. Now scanIndexDesc is NULL is GU natable is different from source table NATable for an update. This code is meant for triggers but the determination was incorrectly made using a pointer comparision. Now we compare using table names.
Attachments
Issue Links
- links to