• Robert Haas's avatar
    Support fls(). · 4f658dc8
    Robert Haas authored
    The immediate impetus for this is that Noah Misch's patch to elide
    unnecessary table and index rebuilds when changing typmod for temporal
    types uses it; and this is extracted from that patch, with some
    further commentary by me.  But it seems logically separate from the
    remainder of the patch, so I'm committing it separately; this is not
    the first time someone has wanted fls() in the backend and probably
    won't be the last.
    
    If we end up using this in more performance-critical spots it may be
    worthwhile to add some architecture-specific optimizations to our
    src/port version of fls() - e.g. any x86 platform can implement this
    using the assembly instruction BSRL.  But performance won't matter
    a bit for assessing typmod changes, so I'm not worried about that
    right now.
    4f658dc8
fls.c 2.32 KB