Re: pg_rewind failure by file deletion in source server
От | Robert Haas |
---|---|
Тема | Re: pg_rewind failure by file deletion in source server |
Дата | |
Msg-id | CA+Tgmoav08DNHiaLAvszT5BgRgp5enR+J_GsQzQ8G+5aLfjoVQ@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: pg_rewind failure by file deletion in source server (Robert Haas <robertmhaas@gmail.com>) |
Ответы |
Re: pg_rewind failure by file deletion in source server
|
Список | pgsql-hackers |
On Fri, Jun 19, 2015 at 8:18 AM, Robert Haas <robertmhaas@gmail.com> wrote: > On Fri, Jun 19, 2015 at 12:14 AM, Michael Paquier > <michael.paquier@gmail.com> wrote: >>> Listing the directories with pg_ls_dir() has the same problem. >> >> (After some discussion on IM with Heikki on this one). >> This is actually more tricky because pg_ls_dir() does not return '.' >> or '..' that we could use to identify that the directory actually >> exists or not when it is empty. Hence I think that we should add two >> options to pg_ls_dir: >> - include_self, default to false. If set to true, '.' is added in the >> list of items. >> - if_not_exists, to bypass error that a folder does not exist, default >> at false. If if_not_exists = true and include_self = true, returning >> only '.' would mean that the folder exist but that it is empty. If >> if_not_exists = true and include_self = false, no rows are returned. >> We could as well ERROR as well if both options are set like that. I am >> fine with any of them as long as behavior is properly documented. > > Including '.' to distinguish between an empty directory and a > nonexistent one seems like an unnecessarily complicated and > non-obvious API. How about just one additional parameter bool > *exists. If NULL and no directory, ERROR, else on return set *exists > to true or false. Err, wait. You're talking about an SQL function, heh heh. So that won't work. Maybe what you proposed is the best we can do, then, although I would suggest that you rename the include_self parameter to something like include_dot_dirs and return both "." and "..". Returning only "." seems like it will seem weird to people. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
В списке pgsql-hackers по дате отправления: