|
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>
|
|