Обсуждение: Mismatched parentheses when creating a rule with multiple action queries

Поиск
Список
Период
Сортировка

Mismatched parentheses when creating a rule with multiple action queries

От
"Yurgis Baykshtis"
Дата:
PostgreSQL 7.3.2.
The parser does not seem to like semicolon between action queries:
(Mismatched parentheses)

So, it makes impossible to create a rule with more than one action
query.
Or am I missing something?

CREATE RULE my_insert_rule AS ON INSERT  TO my_view DO INSTEAD (     INSERT INTO my_table1... ;     INSERT INTO
my_table2...); 


The rule with just one action works fine: DO INSTEAD (     INSERT INTO my_table1...  );





Re: Mismatched parentheses when creating a rule with multiple action queries

От
"Yurgis Baykshtis"
Дата:
The problem happens only when running this query from the plpgsql
function... So it must be a bug specific to plpgsql parser.


-----Original Message-----
From: Yurgis Baykshtis
Sent: Wednesday, May 28, 2003 1:07 PM
To: pgsql-hackers@postgresql.org
Subject: Mismatched parentheses when creating a rule with multiple
action queries

PostgreSQL 7.3.2.
The parser does not seem to like semicolon between action queries:
(Mismatched parentheses)

So, it makes impossible to create a rule with more than one action
query.
Or am I missing something?

CREATE RULE my_insert_rule AS ON INSERT  TO my_view DO INSTEAD (     INSERT INTO my_table1... ;     INSERT INTO
my_table2...); 


The rule with just one action works fine: DO INSTEAD (     INSERT INTO my_table1...  );





Re: Mismatched parentheses when creating a rule with multiple action queries

От
Tom Lane
Дата:
"Yurgis Baykshtis" <ybaykshtis@aurigin.com> writes:
> The problem happens only when running this query from the plpgsql
> function... So it must be a bug specific to plpgsql parser.

It's actually plpgsql trying to be helpful and detect errors.

99% of the time I think this behavior would be considered a feature
rather than a bug --- issuing CREATE RULE from a plpgsql function is
well out past the second standard deviation (even with only one action
in it ;-)), and AFAIK there are no other cases where a semicolon could
be embedded in a SQL construct.  So I'm inclined to leave it as-is.
        regards, tom lane