From 2bd78eb8d51cc9ee03ba0287b23ff4c266dcd9b9 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Wed, 6 Apr 2011 22:36:06 +0300 Subject: Add traceback information to PL/Python errors MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This mimics the traceback information the Python interpreter prints with exceptions. Jan UrbaƄski --- .../expected/plpython_subtransaction_5.out | 30 +++++++++++++++++----- 1 file changed, 24 insertions(+), 6 deletions(-) (limited to 'src/pl/plpython/expected/plpython_subtransaction_5.out') diff --git a/src/pl/plpython/expected/plpython_subtransaction_5.out b/src/pl/plpython/expected/plpython_subtransaction_5.out index 4e6c06729a..9216151b94 100644 --- a/src/pl/plpython/expected/plpython_subtransaction_5.out +++ b/src/pl/plpython/expected/plpython_subtransaction_5.out @@ -47,7 +47,10 @@ ERROR: spiexceptions.InvalidTextRepresentation: invalid input syntax for intege LINE 1: INSERT INTO subtransaction_tbl VALUES ('oops') ^ QUERY: INSERT INTO subtransaction_tbl VALUES ('oops') -CONTEXT: PL/Python function "subtransaction_test" +CONTEXT: Traceback (most recent call last): + PL/Python function "subtransaction_test", line 11, in + plpy.execute("INSERT INTO subtransaction_tbl VALUES ('oops')") +PL/Python function "subtransaction_test" SELECT * FROM subtransaction_tbl; i --- @@ -56,7 +59,10 @@ SELECT * FROM subtransaction_tbl; TRUNCATE subtransaction_tbl; SELECT subtransaction_test('Python'); ERROR: AttributeError: 'module' object has no attribute 'attribute_error' -CONTEXT: PL/Python function "subtransaction_test" +CONTEXT: Traceback (most recent call last): + PL/Python function "subtransaction_test", line 13, in + plpy.attribute_error +PL/Python function "subtransaction_test" SELECT * FROM subtransaction_tbl; i --- @@ -223,7 +229,10 @@ ERROR: could not compile PL/Python function "subtransaction_exit_subtransaction DETAIL: SyntaxError: invalid syntax (, line 3) SELECT subtransaction_exit_without_enter(); ERROR: ValueError: this subtransaction has not been entered -CONTEXT: PL/Python function "subtransaction_exit_without_enter" +CONTEXT: Traceback (most recent call last): + PL/Python function "subtransaction_exit_without_enter", line 2, in + plpy.subtransaction().__exit__(None, None, None) +PL/Python function "subtransaction_exit_without_enter" SELECT subtransaction_enter_without_exit(); WARNING: forcibly aborting a subtransaction that has not been exited CONTEXT: PL/Python function "subtransaction_enter_without_exit" @@ -236,7 +245,10 @@ SELECT subtransaction_exit_twice(); WARNING: forcibly aborting a subtransaction that has not been exited CONTEXT: PL/Python function "subtransaction_exit_twice" ERROR: ValueError: this subtransaction has not been entered -CONTEXT: PL/Python function "subtransaction_exit_twice" +CONTEXT: Traceback (most recent call last): + PL/Python function "subtransaction_exit_twice", line 3, in + plpy.subtransaction().__exit__(None, None, None) +PL/Python function "subtransaction_exit_twice" SELECT subtransaction_enter_twice(); WARNING: forcibly aborting a subtransaction that has not been exited CONTEXT: PL/Python function "subtransaction_enter_twice" @@ -249,12 +261,18 @@ CONTEXT: PL/Python function "subtransaction_enter_twice" SELECT subtransaction_exit_same_subtransaction_twice(); ERROR: ValueError: this subtransaction has already been exited -CONTEXT: PL/Python function "subtransaction_exit_same_subtransaction_twice" +CONTEXT: Traceback (most recent call last): + PL/Python function "subtransaction_exit_same_subtransaction_twice", line 5, in + s.__exit__(None, None, None) +PL/Python function "subtransaction_exit_same_subtransaction_twice" SELECT subtransaction_enter_same_subtransaction_twice(); WARNING: forcibly aborting a subtransaction that has not been exited CONTEXT: PL/Python function "subtransaction_enter_same_subtransaction_twice" ERROR: ValueError: this subtransaction has already been entered -CONTEXT: PL/Python function "subtransaction_enter_same_subtransaction_twice" +CONTEXT: Traceback (most recent call last): + PL/Python function "subtransaction_enter_same_subtransaction_twice", line 4, in + s.__enter__() +PL/Python function "subtransaction_enter_same_subtransaction_twice" SELECT subtransaction_enter_subtransaction_in_with(); ERROR: function subtransaction_enter_subtransaction_in_with() does not exist LINE 1: SELECT subtransaction_enter_subtransaction_in_with(); -- cgit v1.2.1