diff options
| author | Tom Lane <tgl@sss.pgh.pa.us> | 2013-03-16 23:22:17 -0400 |
|---|---|---|
| committer | Tom Lane <tgl@sss.pgh.pa.us> | 2013-03-16 23:22:57 -0400 |
| commit | d43837d03067487560af481474ae985df894f786 (patch) | |
| tree | 7289d038a184fa3dc59195aaa27538714ea85ad9 /src/test/isolation/expected | |
| parent | d2bef5f7db5f3afdbbb3f58b8eff49f0bc7ef790 (diff) | |
| download | postgresql-d43837d03067487560af481474ae985df894f786.tar.gz | |
Add lock_timeout configuration parameter.
This GUC allows limiting the time spent waiting to acquire any one
heavyweight lock.
In support of this, improve the recently-added timeout infrastructure
to permit efficiently enabling or disabling multiple timeouts at once.
That reduces the performance hit from turning on lock_timeout, though
it's still not zero.
Zoltán Böszörményi, reviewed by Tom Lane,
Stephen Frost, and Hari Babu
Diffstat (limited to 'src/test/isolation/expected')
| -rw-r--r-- | src/test/isolation/expected/timeouts.out | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/src/test/isolation/expected/timeouts.out b/src/test/isolation/expected/timeouts.out new file mode 100644 index 0000000000..0ad792ae09 --- /dev/null +++ b/src/test/isolation/expected/timeouts.out @@ -0,0 +1,73 @@ +Parsed test spec with 2 sessions + +starting permutation: rdtbl sto locktbl +step rdtbl: SELECT * FROM accounts; +accountid balance + +checking 600 +savings 600 +step sto: SET statement_timeout = 1000; +step locktbl: LOCK TABLE accounts; <waiting ...> +step locktbl: <... completed> +ERROR: canceling statement due to statement timeout + +starting permutation: rdtbl lto locktbl +step rdtbl: SELECT * FROM accounts; +accountid balance + +checking 600 +savings 600 +step lto: SET lock_timeout = 1000; +step locktbl: LOCK TABLE accounts; <waiting ...> +step locktbl: <... completed> +ERROR: canceling statement due to lock timeout + +starting permutation: rdtbl lsto locktbl +step rdtbl: SELECT * FROM accounts; +accountid balance + +checking 600 +savings 600 +step lsto: SET lock_timeout = 1000; SET statement_timeout = 2000; +step locktbl: LOCK TABLE accounts; <waiting ...> +step locktbl: <... completed> +ERROR: canceling statement due to lock timeout + +starting permutation: rdtbl slto locktbl +step rdtbl: SELECT * FROM accounts; +accountid balance + +checking 600 +savings 600 +step slto: SET lock_timeout = 2000; SET statement_timeout = 1000; +step locktbl: LOCK TABLE accounts; <waiting ...> +step locktbl: <... completed> +ERROR: canceling statement due to statement timeout + +starting permutation: wrtbl sto update +step wrtbl: UPDATE accounts SET balance = balance + 100; +step sto: SET statement_timeout = 1000; +step update: DELETE FROM accounts WHERE accountid = 'checking'; <waiting ...> +step update: <... completed> +ERROR: canceling statement due to statement timeout + +starting permutation: wrtbl lto update +step wrtbl: UPDATE accounts SET balance = balance + 100; +step lto: SET lock_timeout = 1000; +step update: DELETE FROM accounts WHERE accountid = 'checking'; <waiting ...> +step update: <... completed> +ERROR: canceling statement due to lock timeout + +starting permutation: wrtbl lsto update +step wrtbl: UPDATE accounts SET balance = balance + 100; +step lsto: SET lock_timeout = 1000; SET statement_timeout = 2000; +step update: DELETE FROM accounts WHERE accountid = 'checking'; <waiting ...> +step update: <... completed> +ERROR: canceling statement due to lock timeout + +starting permutation: wrtbl slto update +step wrtbl: UPDATE accounts SET balance = balance + 100; +step slto: SET lock_timeout = 2000; SET statement_timeout = 1000; +step update: DELETE FROM accounts WHERE accountid = 'checking'; <waiting ...> +step update: <... completed> +ERROR: canceling statement due to statement timeout |
