Re: Re: proposal: a width specification for s specifier (format function), fix behave when positional and ordered placeholders are used
Pavel Stehule <pavel.stehule@gmail.com>
From: Pavel Stehule <pavel.stehule@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Dean Rasheed <dean.a.rasheed@gmail.com>,
Stephen Frost <sfrost@snowman.net>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2013-01-29T17:18:54Z
Lists: pgsql-hackers
2013/1/28 Tom Lane <tgl@sss.pgh.pa.us>: > Pavel Stehule <pavel.stehule@gmail.com> writes: >> 2013/1/28 Dean Rasheed <dean.a.rasheed@gmail.com>: >>> Starting with the first patch - it issues a new WARNING if the format >>> string contains a mixture of format specifiers with and without >>> parameter indexes (e.g., 'Hello %s, %1$s'). >>> >>> Having thought about it a bit, I really don't like this for a number of reasons: > >> I am not sure what you dislike? >> warnings or redesign of behave. > > Both. If we had done this when we first implemented format(), it'd be > fine, but it's too late to change it now. There very likely are > applications out there that depend on the current behavior. As Dean > says, it's not incompatible with SUS, just a superset, so ISTM this > patch is proposing to remove documented functionality --- for no very > strong reason. I disagree - but I have not a arguments. I am thinking so current implementation is wrong, and now is last time when we can to fix it - format() function is not too old and there is relative chance to minimal impact to users. I didn't propose removing this functionality, but fixing via more logical independent counter for ordered arguments. Dependency on previous positional argument is unpractical and unclean. I am not satisfied so it is undefined and then it is ok. Regards Pavel > > I vote for rejecting this change entirely. > > regards, tom lane