• T
    Revise memory management for libxml calls. Instead of keeping libxml's data · ac12412e
    Tom Lane 提交于
    in whichever context happens to be current during a call of an xml.c function,
    use a dedicated context that will not go away until we explicitly delete it
    (which we do at transaction end or subtransaction abort).  This makes recovery
    after an error much simpler --- we don't have to individually delete the data
    structures created by libxml.  Also, we need to initialize and cleanup libxml
    only once per transaction (if there's no error) instead of once per function
    call, so it should be a bit faster.  We'll need to keep an eye out for
    intra-transaction memory leaks, though.  Alvaro and Tom.
    ac12412e
xact.c 113.5 KB