• Alvaro Herrera's avatar
    Clone extended stats in CREATE TABLE (LIKE INCLUDING ALL) · 5564c118
    Alvaro Herrera authored
    The LIKE INCLUDING ALL clause to CREATE TABLE intuitively indicates
    cloning of extended statistics on the source table, but it failed to do
    so.  Patch it up so that it does.  Also include an INCLUDING STATISTICS
    option to the LIKE clause, so that the behavior can be requested
    individually, or excluded individually.
    
    While at it, reorder the INCLUDING options, both in code and in docs, in
    alphabetical order which makes more sense than feature-implementation
    order that was previously used.
    
    Backpatch this to Postgres 10, where extended statistics were
    introduced, because this is seen as an oversight in a fresh feature
    which is better to get consistent from the get-go instead of changing
    only in pg11.
    
    In pg11, comments on statistics objects are cloned too.  In pg10 they
    are not, because I (Álvaro) was too coward to change the parse node as
    required to support it.  Also, in pg10 I chose not to renumber the
    parser symbols for the various INCLUDING options in LIKE, for the same
    reason.  Any corresponding user-visible changes (docs) are backpatched,
    though.
    
    Reported-by: Stephen Froehlich
    Author: David Rowley
    Reviewed-by: Álvaro Herrera, Tomas Vondra
    Discussion: https://postgr.es/m/CY1PR0601MB1927315B45667A1B679D0FD5E5EF0@CY1PR0601MB1927.namprd06.prod.outlook.com
    5564c118
parse_utilcmd.c 111 KB