Hi Tim,

I have to correct my previous answer, my change does not alter the behavior of 
your patch significantly.

> The difference:
> In your version of the patch vacuumlo will stop after N lo_unlink(OID) 
> attempts.
> The previous behavior of the patch is that vacuumlo will stop after N 
> successful lo_unlink(OID)s.
> 
> If you have good reason for your behavior please add another flag so that it 
> is optional.
> There should be a clear distinction between "counting vs not", and "aborting 
> vs continuing" when a lo_unlink(OID) is unsuccessful.



                if (param->dry_run == 0)
                {
                        if (lo_unlink(conn, lo) < 0)
                        {
                                fprintf(stderr, "\nFailed to remove lo %u: ", 
lo);
                                fprintf(stderr, "%s", PQerrorMessage(conn));
                        }
                        else
                                deleted++;
                }
                else
                        deleted++;
                if(param->transaction_limit!=0 && 
deleted>=param->transaction_limit)
                    break;


The variable "deleted" is only incremented if a lo_unlink was successful, so my 
patch only introduces a negligible overhead but no actual change in behavior.

I'm very grateful for your patch and I think it should be accepted as soon as 
possible, one or two "if" does not matter to me.

Aron
-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to