On Tue, Apr 5, 2016 at 7:23 PM, Kyotaro HORIGUCHI <horiguchi.kyot...@lab.ntt.co.jp> wrote: > At Mon, 4 Apr 2016 22:00:24 +0900, Masahiko Sawada <sawada.m...@gmail.com> > wrote in <cad21aodoq1uby4kkkhra9jzavxekwat7gv5pqjbs+wj98b9...@mail.gmail.com> >> > For this case, the tree members of SyncRepConfig are '2[Sby1,', >> > 'Sby2', "Sby3]'. This syntax is valid for the current >> > specification but will surely get different meaning by the future >> > changes. We should refuse this known-to-be-wrong-in-future syntax >> > from now. >> >> I couldn't get your point but why will the above syntax meaning be >> different from current meaning by future change? >> I thought that another method uses another kind of parentheses. > > If the 'another kind of parehtheses' is a pair of brackets, an > application_name 'tokyo[A]', for example, is currently allowed to > occur unquoted in the list but will become disallowed by the > syntax change. > >
Thank you for explaining. I understood but since the future syntax is yet to be reached consensus, I thought that it would be difficult to refuse particular kind of parentheses for now. > > list_member_int() performs the loop internally. So I'm not sure how much > > adding extra list_member_int() here can optimize this processing. > > Another idea is to make SyncRepGetSyncStandby() check whether I'm sync > > standby or not. In this idea, without adding extra loop, we can exit > > earilier > > in the case where I'm not a sync standby. Does this make sense? > The list_member_int() is also performed in the "(snip)" part. So > SyncRepGetSyncStandbys() returning am_sync seems making sense. > > sync_standbys = SyncRepGetSyncStandbys(am_sync); > > /* > * Quick exit if I am not synchronous or there's not > * enough synchronous standbys > * / > if (!*am_sync || list_length(sync_standbys) < SyncRepConfig->num_sync) > { > list_free(sync_standbys); > return false; I meant that it can skip to acquire spin lock at least, so it will optimise that logic. But anyway I agree with making SyncRepGetSyncStandbys returns am_sync variable. -- Regards, -- Masahiko Sawada -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers