Updates the system query or system session throttle limits of a rule in the TDWM database.
REPLACE PROCEDURE TDWM.TDWMSetLimits ( IN RuleSetId INTEGER, IN RuleName TD_ANYTYPE, IN TDWMLock VARCHAR(1) CHARACTER SET LATIN, IN SessionLimit INTEGER, IN QueryLimit INTEGER, IN UtilityLimit INTEGER, IN TimeUnit VARCHAR(1) CHARACTER SET LATIN, IN QualifyTime INTEGER ) ... ;
- ID of the rule set in which the rule is found.
- Name of the rule specified.
- Type of request performed on the TDWMLock table:
- W = Wait for the TDWMLock
- A = Abort if the TDWMLock table is locked
- S = Perform the update without locking the TDWMLock table
- The TDWM places an exclusive lock on the TDWMLock table at startup.
- Maximum number of concurrent sessions. NULL indicates that the field is not changed.
- Maximum number of concurrent queries. NULL indicates that the field is not changed.
- If the rule is an arrival rate meter, this value is used with TimeUnit and QualifyTime to describe an arrival rate limit. The limit is QueryLimit/TimeUnit for QualifyTime. For example, a maximum of 10 (requests)/minute for 120 seconds.
- Maximum number of concurrent utilities. NULL indicates that the field is not changed.
- The time unit of the arrival rate meter:
- H = hour
- M = minute
- S = second
- Number of seconds that the arrival rate must continuously remain at the limit before new requests are held in the Defer queue.
Example: Using TDWMSetLimits
CALL TDWM.TDWMSetLimits(1, 'throttle1', 'A', NULL, 10, NULL);