• Michael Paquier's avatar
    Fix failure with lock mode used for custom relation options · 736b84ee
    Michael Paquier authored
    In-core relation options can use a custom lock mode since 47167b79, that
    has lowered the lock available for some autovacuum parameters.  However
    it forgot to consider custom relation options.  This causes failures
    with ALTER TABLE SET when changing a custom relation option, as its lock
    is not defined.  The existing APIs to define a custom reloption does not
    allow to define a custom lock mode, so enforce its initialization to
    AccessExclusiveMode which should be safe enough in all cases.  An
    upcoming patch will extend the existing APIs to allow a custom lock mode
    to be defined.
    
    The problem can be reproduced with bloom indexes, so add a test there.
    
    Reported-by: Nikolay Sharplov
    Analyzed-by: Thomas Munro, Michael Paquier
    Author: Michael Paquier
    Reviewed-by: Kuntal Ghosh
    Discussion: https://postgr.es/m/20190920013831.GD1844@paquier.xyz
    Backpatch-through: 9.6
    736b84ee
bloom.sql 2.71 KB