• T
    Implement ALTER TABLE ADD UNIQUE/PRIMARY KEY USING INDEX. · 88452d5b
    Tom Lane 提交于
    This feature allows a unique or pkey constraint to be created using an
    already-existing unique index.  While the constraint isn't very
    functionally different from the bare index, it's nice to be able to do that
    for documentation purposes.  The main advantage over just issuing a plain
    ALTER TABLE ADD UNIQUE/PRIMARY KEY is that the index can be created with
    CREATE INDEX CONCURRENTLY, so that there is not a long interval where the
    table is locked against updates.
    
    On the way, refactor some of the code in DefineIndex() and index_create()
    so that we don't have to pass through those functions in order to create
    the index constraint's catalog entries.  Also, in parse_utilcmd.c, pass
    around the ParseState pointer in struct CreateStmtContext to save on
    notation, and add error location pointers to some error reports that didn't
    have one before.
    
    Gurjeet Singh, reviewed by Steve Singer and Tom Lane
    88452d5b
parsenodes.h 83.2 KB