• Tom Lane's avatar
    Provide database object names as separate fields in error messages. · 991f3e5a
    Tom Lane authored
    This patch addresses the problem that applications currently have to
    extract object names from possibly-localized textual error messages,
    if they want to know for example which index caused a UNIQUE_VIOLATION
    failure.  It adds new error message fields to the wire protocol, which
    can carry the name of a table, table column, data type, or constraint
    associated with the error.  (Since the protocol spec has always instructed
    clients to ignore unrecognized field types, this should not create any
    compatibility problem.)
    
    Support for providing these new fields has been added to just a limited set
    of error reports (mainly, those in the "integrity constraint violation"
    SQLSTATE class), but we will doubtless add them to more calls in future.
    
    Pavel Stehule, reviewed and extensively revised by Peter Geoghegan, with
    additional hacking by Tom Lane.
    991f3e5a
libpq.sgml 282 KB