From 311bcfc6b3acdd6fd152798c7f287ddf74fa2a98 Mon Sep 17 00:00:00 2001
From: Daniel Baumann <daniel.baumann@progress-linux.org>
Date: Tue, 16 Apr 2024 21:46:48 +0200
Subject: Adding upstream version 15.4.

Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
---
 src/pl/plperl/sql/plperl_end.sql | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)
 create mode 100644 src/pl/plperl/sql/plperl_end.sql

(limited to 'src/pl/plperl/sql/plperl_end.sql')

diff --git a/src/pl/plperl/sql/plperl_end.sql b/src/pl/plperl/sql/plperl_end.sql
new file mode 100644
index 0000000..90f49dc
--- /dev/null
+++ b/src/pl/plperl/sql/plperl_end.sql
@@ -0,0 +1,29 @@
+-- test END block handling
+
+-- Not included in the normal testing
+-- because it's beyond the scope of the test harness.
+-- Available here for manual developer testing.
+
+DO $do$
+	my $testlog = "/tmp/pgplperl_test.log";
+
+	warn "Run test, then examine contents of $testlog (which must already exist)\n";
+	return unless -f $testlog;
+
+    use IO::Handle; # for autoflush
+	open my $fh, '>', $testlog
+		or die "Can't write to $testlog: $!";
+    $fh->autoflush(1);
+
+    print $fh "# you should see just 3 'Warn: ...' lines: PRE, END and SPI ...\n";
+    $SIG{__WARN__} = sub { print $fh "Warn: @_" };
+    $SIG{__DIE__}  = sub { print $fh "Die: @_" unless $^S; die @_ };
+
+	END {
+		warn "END\n";
+		eval { spi_exec_query("select 1") };
+		warn $@;
+	}
+    warn "PRE\n";
+
+$do$ language plperlu;
-- 
cgit v1.2.3

