Re: final patch - plpgsql: for-in-array
От | Pavel Stehule |
---|---|
Тема | Re: final patch - plpgsql: for-in-array |
Дата | |
Msg-id | AANLkTike8r8mm2m9ny7CyU=_o2aZSVnGny63h0fwFQxS@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: final patch - plpgsql: for-in-array (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-hackers |
Hello 2010/11/24 Tom Lane <tgl@sss.pgh.pa.us>: > Robert Haas <robertmhaas@gmail.com> writes: >> Right, that was my impression, too. But, I think this may be partly a >> case of people talking past each other. My impression of this >> conversation was a repetition of this sequence: > >> A: This syntax is bad. >> B: But it's way faster! > >> ...which makes no sense. However, what I now think is going on here >> is that there are really two separate things that are wished for here >> - a more compact syntax, and a performance improvement. And taken >> separately, I agree with both of those desires. PL/pgsql is an >> incredibly clunky language syntactically, and it's also slow. A patch >> that improves either one of those things has value, whether or not it >> also does the other one. > > I understand the desire for nicer syntax, in the abstract. I'm just > unimpressed by this particular change, mainly because I'm afraid that > it will make syntax-error behaviors worse and foreclose future options > for other changes to FOR. If it were necessary to change the syntax > to get the performance benefit, I might think that on balance we should > do so; but it isn't. > I am for any readable syntax. It must not be FOR-IN-ARRAY. I understand to problem with syntax-error checking. But I am not sure if some >>different<< loop with control variable can be less ugliness in language. Cannot we rewrite a parsing "for-clause" be more robust? I agree with you, so there can be a other request in future. And if I remember well, there was only few changes in other statements (on parser level) and significant changes in FOR. probably some hypothetical statement should be (my opinion) FOR var [, vars] <<UNKNOWN SYNTAX>> LOOP ... END LOOP; PL/SQL uses a enhanced FOR FOR var IN collection.first .. collection.last LOOP END LOOP; From my view a introduction of new keyword should be a higher risk so I don't would to do. Regards Pavel Stehule > regards, tom lane >
В списке pgsql-hackers по дате отправления: