|
1 | | -<!-- $PostgreSQL: pgsql/doc/src/sgml/rules.sgml,v 1.40 2005/01/23 00:30:18 momjian Exp $ --> |
| 1 | +<!-- $PostgreSQL: pgsql/doc/src/sgml/rules.sgml,v 1.41 2005/01/29 23:45:36 tgl Exp $ --> |
2 | 2 |
|
3 | 3 | <chapter id="rules"> |
4 | 4 | <title>The Rule System</title> |
@@ -1000,12 +1000,11 @@ CREATE RULE <replaceable>rule_name</> AS ON <replaceable>event</> |
1000 | 1000 | The query trees generated from rule actions are thrown into the |
1001 | 1001 | rewrite system again, and maybe more rules get applied resulting |
1002 | 1002 | in more or less query trees. |
1003 | | - So the query trees in the rule actions must have either a different command type |
1004 | | - or a different result relation, otherwise, this recursive process will end up in a loop. |
1005 | | - There is a fixed recursion limit of currently 100 iterations. |
1006 | | - If after 100 iterations there are still update rules to apply, the |
1007 | | - rule system assumes a loop over multiple rule definitions and reports |
1008 | | - an error. |
| 1003 | + So a rule's actions must have either a different |
| 1004 | + command type or a different result relation than the rule itself is |
| 1005 | + on, otherwise this recursive process will end up in an infinite loop. |
| 1006 | + (Recursive expansion of a rule will be detected and reported as an |
| 1007 | + error.) |
1009 | 1008 | </para> |
1010 | 1009 |
|
1011 | 1010 | <para> |
|