0s autopkgtest [04:30:40]: starting date and time: 2025-02-19 04:30:40+0000
0s autopkgtest [04:30:40]: git checkout: 325255d2 Merge branch 'pin-any-arch' into 'ubuntu/production'
0s autopkgtest [04:30:40]: host juju-7f2275-prod-proposed-migration-environment-20; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.out3c_x3/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:glibc --apt-upgrade postgresql-pllua --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=glibc/2.41-1ubuntu1 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest-s390x --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-20@bos03-s390x-3.secgroup --name adt-plucky-s390x-postgresql-pllua-20250219-043040-juju-7f2275-prod-proposed-migration-environment-20-40ff1f0c-476e-407f-a6be-0aec5cf61604 --image adt/ubuntu-plucky-s390x-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-20 --net-id=net_prod-proposed-migration-s390x -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com,radosgw.ps5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/
128s autopkgtest [04:32:48]: testbed dpkg architecture: s390x
128s autopkgtest [04:32:48]: testbed apt version: 2.9.29
129s autopkgtest [04:32:49]: @@@@@@@@@@@@@@@@@@@@ test bed setup
129s autopkgtest [04:32:49]: testbed release detected to be: None
130s autopkgtest [04:32:50]: updating testbed package index (apt update)
130s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [110 kB]
130s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease
130s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease
130s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease
130s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [3120 B]
130s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [76.2 kB]
130s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [770 kB]
131s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [14.6 kB]
131s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x Packages [93.9 kB]
131s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted s390x Packages [760 B]
131s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe s390x Packages [648 kB]
131s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse s390x Packages [5836 B]
131s Fetched 1723 kB in 1s (1733 kB/s)
132s Reading package lists...
132s Reading package lists...
132s Building dependency tree...
132s Reading state information...
132s Calculating upgrade...
132s The following packages were automatically installed and are no longer required:
132s libnsl2 libpython3.12-minimal libpython3.12-stdlib libpython3.12t64
132s linux-headers-6.11.0-8 linux-headers-6.11.0-8-generic
132s linux-modules-6.11.0-8-generic linux-tools-6.11.0-8
132s linux-tools-6.11.0-8-generic
132s Use 'sudo apt autoremove' to remove them.
132s The following NEW packages will be installed:
132s libapt-pkg7.0
132s The following packages will be upgraded:
132s apt apt-utils dhcpcd-base rsyslog s390-tools s390-tools-data
132s s390-tools-signed
133s 7 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
133s Need to get 8909 kB of archives.
133s After this operation, 3624 kB of additional disk space will be used.
133s Get:1 http://ftpmaster.internal/ubuntu plucky/main s390x libapt-pkg7.0 s390x 2.9.30 [1103 kB]
133s Get:2 http://ftpmaster.internal/ubuntu plucky/main s390x apt s390x 2.9.30 [1418 kB]
133s Get:3 http://ftpmaster.internal/ubuntu plucky/main s390x apt-utils s390x 2.9.30 [214 kB]
133s Get:4 http://ftpmaster.internal/ubuntu plucky/main s390x dhcpcd-base s390x 1:10.1.0-7 [219 kB]
133s Get:5 http://ftpmaster.internal/ubuntu plucky/main s390x rsyslog s390x 8.2412.0-2ubuntu1 [536 kB]
133s Get:6 http://ftpmaster.internal/ubuntu plucky/main s390x s390-tools-data all 2.37.0-0ubuntu2 [20.4 kB]
133s Get:7 http://ftpmaster.internal/ubuntu plucky/main s390x s390-tools s390x 2.37.0-0ubuntu2 [5385 kB]
134s Get:8 http://ftpmaster.internal/ubuntu plucky/main s390x s390-tools-signed all 2.37.0-0ubuntu2 [12.4 kB]
134s Fetched 8909 kB in 1s (8639 kB/s)
134s Selecting previously unselected package libapt-pkg7.0:s390x.
134s (Reading database ...
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 80980 files and directories currently installed.)
134s Preparing to unpack .../libapt-pkg7.0_2.9.30_s390x.deb ...
134s Unpacking libapt-pkg7.0:s390x (2.9.30) ...
134s Setting up libapt-pkg7.0:s390x (2.9.30) ...
134s (Reading database ...
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 81029 files and directories currently installed.)
134s Preparing to unpack .../archives/apt_2.9.30_s390x.deb ...
134s Unpacking apt (2.9.30) over (2.9.29) ...
134s Setting up apt (2.9.30) ...
135s (Reading database ...
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 81029 files and directories currently installed.)
135s Preparing to unpack .../0-apt-utils_2.9.30_s390x.deb ...
135s Unpacking apt-utils (2.9.30) over (2.9.29) ...
135s Preparing to unpack .../1-dhcpcd-base_1%3a10.1.0-7_s390x.deb ...
135s Unpacking dhcpcd-base (1:10.1.0-7) over (1:10.1.0-6) ...
135s Preparing to unpack .../2-rsyslog_8.2412.0-2ubuntu1_s390x.deb ...
135s Unpacking rsyslog (8.2412.0-2ubuntu1) over (8.2412.0-1ubuntu1) ...
135s Preparing to unpack .../3-s390-tools-data_2.37.0-0ubuntu2_all.deb ...
135s Unpacking s390-tools-data (2.37.0-0ubuntu2) over (2.37.0-0ubuntu1) ...
135s Preparing to unpack .../4-s390-tools_2.37.0-0ubuntu2_s390x.deb ...
135s Unpacking s390-tools (2.37.0-0ubuntu2) over (2.37.0-0ubuntu1) ...
135s Preparing to unpack .../5-s390-tools-signed_2.37.0-0ubuntu2_all.deb ...
135s Unpacking s390-tools-signed (2.37.0-0ubuntu2) over (2.37.0-0ubuntu1) ...
135s Setting up apt-utils (2.9.30) ...
135s Setting up rsyslog (8.2412.0-2ubuntu1) ...
135s info: The user `syslog' is already a member of `adm'.
136s Setting up s390-tools-signed (2.37.0-0ubuntu2) ...
136s Setting up dhcpcd-base (1:10.1.0-7) ...
136s Setting up s390-tools-data (2.37.0-0ubuntu2) ...
136s Setting up s390-tools (2.37.0-0ubuntu2) ...
137s Processing triggers for libc-bin (2.40-4ubuntu1) ...
137s Processing triggers for man-db (2.13.0-1) ...
138s Processing triggers for initramfs-tools (0.145ubuntu2) ...
138s update-initramfs: Generating /boot/initrd.img-6.12.0-15-generic
138s W: No lz4 in /usr/bin:/sbin:/bin, using gzip
142s Using config file '/etc/zipl.conf'
142s Building bootmap in '/boot'
142s Adding IPL section 'ubuntu' (default)
142s Preparing boot device for LD-IPL: vda (0000).
142s Done.
143s Reading package lists...
143s Building dependency tree...
143s Reading state information...
144s The following packages will be REMOVED:
144s libnsl2* libpython3.12-minimal* libpython3.12-stdlib* libpython3.12t64*
144s linux-headers-6.11.0-8* linux-headers-6.11.0-8-generic*
144s linux-modules-6.11.0-8-generic* linux-tools-6.11.0-8*
144s linux-tools-6.11.0-8-generic*
144s 0 upgraded, 0 newly installed, 9 to remove and 5 not upgraded.
144s After this operation, 167 MB disk space will be freed.
144s (Reading database ...
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 81030 files and directories currently installed.)
144s Removing linux-tools-6.11.0-8-generic (6.11.0-8.8) ...
144s Removing linux-tools-6.11.0-8 (6.11.0-8.8) ...
144s Removing libpython3.12t64:s390x (3.12.9-1) ...
144s Removing libpython3.12-stdlib:s390x (3.12.9-1) ...
144s Removing libnsl2:s390x (1.3.0-3build3) ...
144s Removing libpython3.12-minimal:s390x (3.12.9-1) ...
144s Removing linux-headers-6.11.0-8-generic (6.11.0-8.8) ...
144s Removing linux-headers-6.11.0-8 (6.11.0-8.8) ...
145s Removing linux-modules-6.11.0-8-generic (6.11.0-8.8) ...
145s Processing triggers for libc-bin (2.40-4ubuntu1) ...
145s (Reading database ...
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 55930 files and directories currently installed.)
145s Purging configuration files for libpython3.12-minimal:s390x (3.12.9-1) ...
145s Purging configuration files for linux-modules-6.11.0-8-generic (6.11.0-8.8) ...
145s autopkgtest [04:33:05]: upgrading testbed (apt dist-upgrade and autopurge)
146s Reading package lists...
146s Building dependency tree...
146s Reading state information...
146s Calculating upgrade...Starting pkgProblemResolver with broken count: 0
146s Starting 2 pkgProblemResolver with broken count: 0
146s Done
146s Entering ResolveByKeep
146s
147s The following packages will be upgraded:
147s libc-bin libc-dev-bin libc6 libc6-dev locales
147s 5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
147s Need to get 9512 kB of archives.
147s After this operation, 288 kB of additional disk space will be used.
147s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x libc-dev-bin s390x 2.41-1ubuntu1 [24.3 kB]
147s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x libc6-dev s390x 2.41-1ubuntu1 [1679 kB]
147s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x locales all 2.41-1ubuntu1 [4246 kB]
147s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x libc6 s390x 2.41-1ubuntu1 [2891 kB]
148s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x libc-bin s390x 2.41-1ubuntu1 [672 kB]
148s Preconfiguring packages ...
148s Fetched 9512 kB in 1s (8146 kB/s)
148s (Reading database ...
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 55928 files and directories currently installed.)
148s Preparing to unpack .../libc-dev-bin_2.41-1ubuntu1_s390x.deb ...
148s Unpacking libc-dev-bin (2.41-1ubuntu1) over (2.40-4ubuntu1) ...
148s Preparing to unpack .../libc6-dev_2.41-1ubuntu1_s390x.deb ...
148s Unpacking libc6-dev:s390x (2.41-1ubuntu1) over (2.40-4ubuntu1) ...
148s Preparing to unpack .../locales_2.41-1ubuntu1_all.deb ...
148s Unpacking locales (2.41-1ubuntu1) over (2.40-4ubuntu1) ...
148s Preparing to unpack .../libc6_2.41-1ubuntu1_s390x.deb ...
148s Checking for services that may need to be restarted...
148s Checking init scripts...
148s Checking for services that may need to be restarted...
148s Checking init scripts...
148s Stopping some services possibly affected by the upgrade (will be restarted later):
148s cron: stopping...done.
148s
148s Unpacking libc6:s390x (2.41-1ubuntu1) over (2.40-4ubuntu1) ...
148s Setting up libc6:s390x (2.41-1ubuntu1) ...
149s Checking for services that may need to be restarted...
149s Checking init scripts...
149s Restarting services possibly affected by the upgrade:
149s cron: restarting...done.
149s
149s Services restarted successfully.
149s (Reading database ...
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 55929 files and directories currently installed.)
149s Preparing to unpack .../libc-bin_2.41-1ubuntu1_s390x.deb ...
149s Unpacking libc-bin (2.41-1ubuntu1) over (2.40-4ubuntu1) ...
149s Setting up libc-bin (2.41-1ubuntu1) ...
149s Setting up locales (2.41-1ubuntu1) ...
149s Installing new version of config file /etc/locale.alias ...
149s Generating locales (this might take a while)...
150s en_US.UTF-8... done
150s Generation complete.
150s Setting up libc-dev-bin (2.41-1ubuntu1) ...
150s Setting up libc6-dev:s390x (2.41-1ubuntu1) ...
150s Processing triggers for man-db (2.13.0-1) ...
151s Processing triggers for systemd (257.2-3ubuntu1) ...
152s Reading package lists...
152s Building dependency tree...
152s Reading state information...
152s Starting pkgProblemResolver with broken count: 0
152s Starting 2 pkgProblemResolver with broken count: 0
152s Done
152s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
152s autopkgtest [04:33:12]: rebooting testbed after setup commands that affected boot
156s autopkgtest-virt-ssh: WARNING: ssh connection failed. Retrying in 3 seconds...
174s autopkgtest [04:33:34]: testbed running kernel: Linux 6.12.0-15-generic #15-Ubuntu SMP Tue Feb 4 15:05:57 UTC 2025
176s autopkgtest [04:33:36]: @@@@@@@@@@@@@@@@@@@@ apt-source postgresql-pllua
178s Get:1 http://ftpmaster.internal/ubuntu plucky/universe postgresql-pllua 1:2.0.12-3 (dsc) [2209 B]
178s Get:2 http://ftpmaster.internal/ubuntu plucky/universe postgresql-pllua 1:2.0.12-3 (tar) [222 kB]
178s Get:3 http://ftpmaster.internal/ubuntu plucky/universe postgresql-pllua 1:2.0.12-3 (diff) [4676 B]
178s gpgv: Signature made Sat Sep 14 21:50:12 2024 UTC
178s gpgv: using RSA key 5C48FE6157F49179597087C64C5A6BAB12D2A7AE
178s gpgv: Can't check signature: No public key
178s dpkg-source: warning: cannot verify inline signature for ./postgresql-pllua_2.0.12-3.dsc: no acceptable signature found
178s autopkgtest [04:33:38]: testing package postgresql-pllua version 1:2.0.12-3
179s autopkgtest [04:33:39]: build not needed
179s autopkgtest [04:33:39]: test installcheck-pllua: preparing testbed
180s Reading package lists...
180s Building dependency tree...
180s Reading state information...
180s Starting pkgProblemResolver with broken count: 0
180s Starting 2 pkgProblemResolver with broken count: 0
180s Done
180s The following NEW packages will be installed:
180s libio-pty-perl libipc-run-perl libjson-perl liblua5.3-0 libpq5 libxslt1.1
180s lua5.3 postgresql-17 postgresql-17-pllua postgresql-client-17
180s postgresql-client-common postgresql-common postgresql-common-dev ssl-cert
180s 0 upgraded, 14 newly installed, 0 to remove and 0 not upgraded.
180s Need to get 19.7 MB of archives.
180s After this operation, 57.5 MB of additional disk space will be used.
180s Get:1 http://ftpmaster.internal/ubuntu plucky/main s390x libjson-perl all 4.10000-1 [81.9 kB]
181s Get:2 http://ftpmaster.internal/ubuntu plucky/main s390x postgresql-client-common all 273 [47.5 kB]
181s Get:3 http://ftpmaster.internal/ubuntu plucky/main s390x libio-pty-perl s390x 1:1.20-1build3 [31.6 kB]
181s Get:4 http://ftpmaster.internal/ubuntu plucky/main s390x libipc-run-perl all 20231003.0-2 [91.5 kB]
181s Get:5 http://ftpmaster.internal/ubuntu plucky/main s390x postgresql-common-dev all 273 [72.9 kB]
181s Get:6 http://ftpmaster.internal/ubuntu plucky/main s390x ssl-cert all 1.1.3ubuntu1 [18.7 kB]
181s Get:7 http://ftpmaster.internal/ubuntu plucky/main s390x postgresql-common all 273 [101 kB]
181s Get:8 http://ftpmaster.internal/ubuntu plucky/universe s390x liblua5.3-0 s390x 5.3.6-2build2 [155 kB]
181s Get:9 http://ftpmaster.internal/ubuntu plucky/main s390x libpq5 s390x 17.3-3 [147 kB]
181s Get:10 http://ftpmaster.internal/ubuntu plucky/main s390x libxslt1.1 s390x 1.1.39-0exp1ubuntu2 [169 kB]
181s Get:11 http://ftpmaster.internal/ubuntu plucky/universe s390x lua5.3 s390x 5.3.6-2build2 [158 kB]
181s Get:12 http://ftpmaster.internal/ubuntu plucky/main s390x postgresql-client-17 s390x 17.3-3 [1367 kB]
181s Get:13 http://ftpmaster.internal/ubuntu plucky/main s390x postgresql-17 s390x 17.3-3 [16.9 MB]
182s Get:14 http://ftpmaster.internal/ubuntu plucky/universe s390x postgresql-17-pllua s390x 1:2.0.12-3 [394 kB]
182s Preconfiguring packages ...
182s Fetched 19.7 MB in 2s (10.1 MB/s)
182s Selecting previously unselected package libjson-perl.
183s (Reading database ...
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 55929 files and directories currently installed.)
183s Preparing to unpack .../00-libjson-perl_4.10000-1_all.deb ...
183s Unpacking libjson-perl (4.10000-1) ...
183s Selecting previously unselected package postgresql-client-common.
183s Preparing to unpack .../01-postgresql-client-common_273_all.deb ...
183s Unpacking postgresql-client-common (273) ...
183s Selecting previously unselected package libio-pty-perl.
183s Preparing to unpack .../02-libio-pty-perl_1%3a1.20-1build3_s390x.deb ...
183s Unpacking libio-pty-perl (1:1.20-1build3) ...
183s Selecting previously unselected package libipc-run-perl.
183s Preparing to unpack .../03-libipc-run-perl_20231003.0-2_all.deb ...
183s Unpacking libipc-run-perl (20231003.0-2) ...
183s Selecting previously unselected package postgresql-common-dev.
183s Preparing to unpack .../04-postgresql-common-dev_273_all.deb ...
183s Unpacking postgresql-common-dev (273) ...
183s Selecting previously unselected package ssl-cert.
183s Preparing to unpack .../05-ssl-cert_1.1.3ubuntu1_all.deb ...
183s Unpacking ssl-cert (1.1.3ubuntu1) ...
183s Selecting previously unselected package postgresql-common.
183s Preparing to unpack .../06-postgresql-common_273_all.deb ...
183s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common'
183s Unpacking postgresql-common (273) ...
183s Selecting previously unselected package liblua5.3-0:s390x.
183s Preparing to unpack .../07-liblua5.3-0_5.3.6-2build2_s390x.deb ...
183s Unpacking liblua5.3-0:s390x (5.3.6-2build2) ...
183s Selecting previously unselected package libpq5:s390x.
183s Preparing to unpack .../08-libpq5_17.3-3_s390x.deb ...
183s Unpacking libpq5:s390x (17.3-3) ...
183s Selecting previously unselected package libxslt1.1:s390x.
183s Preparing to unpack .../09-libxslt1.1_1.1.39-0exp1ubuntu2_s390x.deb ...
183s Unpacking libxslt1.1:s390x (1.1.39-0exp1ubuntu2) ...
183s Selecting previously unselected package lua5.3.
183s Preparing to unpack .../10-lua5.3_5.3.6-2build2_s390x.deb ...
183s Unpacking lua5.3 (5.3.6-2build2) ...
183s Selecting previously unselected package postgresql-client-17.
183s Preparing to unpack .../11-postgresql-client-17_17.3-3_s390x.deb ...
183s Unpacking postgresql-client-17 (17.3-3) ...
183s Selecting previously unselected package postgresql-17.
183s Preparing to unpack .../12-postgresql-17_17.3-3_s390x.deb ...
183s Unpacking postgresql-17 (17.3-3) ...
183s Selecting previously unselected package postgresql-17-pllua.
183s Preparing to unpack .../13-postgresql-17-pllua_1%3a2.0.12-3_s390x.deb ...
183s Unpacking postgresql-17-pllua (1:2.0.12-3) ...
183s Setting up postgresql-client-common (273) ...
183s Setting up libio-pty-perl (1:1.20-1build3) ...
183s Setting up lua5.3 (5.3.6-2build2) ...
183s update-alternatives: using /usr/bin/lua5.3 to provide /usr/bin/lua (lua-interpreter) in auto mode
183s update-alternatives: using /usr/bin/luac5.3 to provide /usr/bin/luac (lua-compiler) in auto mode
183s Setting up libpq5:s390x (17.3-3) ...
183s Setting up ssl-cert (1.1.3ubuntu1) ...
183s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'.
184s Setting up libipc-run-perl (20231003.0-2) ...
184s Setting up liblua5.3-0:s390x (5.3.6-2build2) ...
184s Setting up libjson-perl (4.10000-1) ...
184s Setting up libxslt1.1:s390x (1.1.39-0exp1ubuntu2) ...
184s Setting up postgresql-common-dev (273) ...
184s Setting up postgresql-client-17 (17.3-3) ...
184s update-alternatives: using /usr/share/postgresql/17/man/man1/psql.1.gz to provide /usr/share/man/man1/psql.1.gz (psql.1.gz) in auto mode
184s Setting up postgresql-common (273) ...
184s Creating config file /etc/postgresql-common/createcluster.conf with new version
184s Building PostgreSQL dictionaries from installed myspell/hunspell packages...
184s Removing obsolete dictionary files:
185s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'.
185s Setting up postgresql-17 (17.3-3) ...
186s Creating new PostgreSQL cluster 17/main ...
186s /usr/lib/postgresql/17/bin/initdb -D /var/lib/postgresql/17/main --auth-local peer --auth-host scram-sha-256 --no-instructions
186s The files belonging to this database system will be owned by user "postgres".
186s This user must also own the server process.
186s
186s The database cluster will be initialized with locale "C.UTF-8".
186s The default database encoding has accordingly been set to "UTF8".
186s The default text search configuration will be set to "english".
186s
186s Data page checksums are disabled.
186s
186s fixing permissions on existing directory /var/lib/postgresql/17/main ... ok
186s creating subdirectories ... ok
186s selecting dynamic shared memory implementation ... posix
186s selecting default "max_connections" ... 100
186s selecting default "shared_buffers" ... 128MB
186s selecting default time zone ... Etc/UTC
186s creating configuration files ... ok
186s running bootstrap script ... ok
186s performing post-bootstrap initialization ... ok
186s syncing data to disk ... ok
189s Setting up postgresql-17-pllua (1:2.0.12-3) ...
189s Processing triggers for man-db (2.13.0-1) ...
190s Processing triggers for libc-bin (2.41-1ubuntu1) ...
191s autopkgtest [04:33:51]: test installcheck-pllua: LUA=lua5.3 pg_buildext installcheck
191s autopkgtest [04:33:51]: test installcheck-pllua: [-----------------------
191s ### PostgreSQL 17 installcheck ###
191s Creating new PostgreSQL cluster 17/regress ...
194s echo "# +++ regress install-check in +++" && /usr/lib/postgresql/17/lib/pgxs/src/makefiles/../../src/test/regress/pg_regress --inputdir=./ --bindir='/usr/lib/postgresql/17/bin' --dbname=contrib_regression --schedule=.//serial_schedule triggers_10 procedures
194s # +++ regress install-check in +++
194s # using postmaster on localhost, port 5433
194s not ok 1 - pllua 25 ms
194s not ok 2 - pllua_old 23 ms
194s not ok 3 - trusted 16 ms
194s not ok 4 - arrays 58 ms
194s not ok 5 - jsonb 193 ms
194s not ok 6 - numerics 18 ms
194s not ok 7 - horology 21 ms
194s not ok 8 - horology-errors 16 ms
194s not ok 9 - paths 16 ms
195s not ok 10 - rowdatum 259 ms
195s not ok 11 - spi 22 ms
195s not ok 12 - subxact 20 ms
195s not ok 13 - types 27 ms
195s not ok 14 - triggers 28 ms
195s not ok 15 - event_triggers 18 ms
195s not ok 16 - triggers_10 18 ms
195s not ok 17 - procedures 19 ms
195s 1..17
195s *** /tmp/pg_virtualenv.wI4Kfv/log/postgresql-17-regress.log (last 100 lines) ***
195s print(trigger.name,...)
195s print(trigger.when, trigger.level, trigger.operation, trigger.relation.name)
195s for r in spi.rows([[ select * from oldtab ]]) do print(r) end
195s $$;
195s 2025-02-19 04:33:55.151 UTC [3606] ubuntu@contrib_regression ERROR: function ttrig1() does not exist
195s 2025-02-19 04:33:55.151 UTC [3606] ubuntu@contrib_regression STATEMENT: create trigger t1
195s after insert on trigtst2
195s referencing new table as newtab
195s for each statement
195s execute procedure ttrig1('t1 insert');
195s 2025-02-19 04:33:55.151 UTC [3606] ubuntu@contrib_regression ERROR: function ttrig2() does not exist
195s 2025-02-19 04:33:55.151 UTC [3606] ubuntu@contrib_regression STATEMENT: create trigger t2
195s after update on trigtst2
195s referencing old table as oldtab
195s new table as newtab
195s for each statement
195s execute procedure ttrig2('t2 update');
195s 2025-02-19 04:33:55.151 UTC [3606] ubuntu@contrib_regression ERROR: function ttrig3() does not exist
195s 2025-02-19 04:33:55.151 UTC [3606] ubuntu@contrib_regression STATEMENT: create trigger t3
195s after delete on trigtst2
195s referencing old table as oldtab
195s for each statement
195s execute procedure ttrig3('t3 delete');
195s 2025-02-19 04:33:55.170 UTC [3612] ubuntu@contrib_regression ERROR: language "pllua" does not exist
195s 2025-02-19 04:33:55.170 UTC [3612] ubuntu@contrib_regression HINT: Use CREATE EXTENSION to load the language into the database.
195s 2025-02-19 04:33:55.170 UTC [3612] ubuntu@contrib_regression STATEMENT: create procedure pg_temp.tp1(a text)
195s language pllua
195s as $$
195s print("hello world", a)
195s print(spi.is_atomic() and "atomic context" or "non-atomic context")
195s $$;
195s 2025-02-19 04:33:55.170 UTC [3612] ubuntu@contrib_regression ERROR: schema "pg_temp" does not exist at character 6
195s 2025-02-19 04:33:55.170 UTC [3612] ubuntu@contrib_regression STATEMENT: call pg_temp.tp1('foo');
195s 2025-02-19 04:33:55.170 UTC [3612] ubuntu@contrib_regression ERROR: schema "pg_temp" does not exist at character 6
195s 2025-02-19 04:33:55.170 UTC [3612] ubuntu@contrib_regression STATEMENT: call pg_temp.tp1('foo');
195s 2025-02-19 04:33:55.170 UTC [3612] ubuntu@contrib_regression ERROR: language "pllua" does not exist
195s 2025-02-19 04:33:55.170 UTC [3612] ubuntu@contrib_regression HINT: Use CREATE EXTENSION to load the language into the database.
195s 2025-02-19 04:33:55.170 UTC [3612] ubuntu@contrib_regression STATEMENT: do language pllua $$
195s print(spi.is_atomic() and "atomic context" or "non-atomic context")
195s $$;
195s 2025-02-19 04:33:55.171 UTC [3612] ubuntu@contrib_regression ERROR: language "pllua" does not exist
195s 2025-02-19 04:33:55.171 UTC [3612] ubuntu@contrib_regression HINT: Use CREATE EXTENSION to load the language into the database.
195s 2025-02-19 04:33:55.171 UTC [3612] ubuntu@contrib_regression STATEMENT: do language pllua $$
195s print(spi.is_atomic() and "atomic context" or "non-atomic context")
195s $$;
195s 2025-02-19 04:33:55.171 UTC [3612] ubuntu@contrib_regression ERROR: language "pllua" does not exist
195s 2025-02-19 04:33:55.171 UTC [3612] ubuntu@contrib_regression HINT: Use CREATE EXTENSION to load the language into the database.
195s 2025-02-19 04:33:55.171 UTC [3612] ubuntu@contrib_regression STATEMENT: create procedure pg_temp.tp2()
195s language pllua
195s as $$
195s local stmt = spi.prepare([[ insert into xatst2 values ($1) ]]);
195s stmt:execute(1);
195s spi.commit();
195s stmt:execute(2);
195s spi.rollback();
195s stmt:execute(3);
195s spi.commit();
195s stmt:execute(4);
195s $$;
195s 2025-02-19 04:33:55.171 UTC [3612] ubuntu@contrib_regression ERROR: schema "pg_temp" does not exist at character 6
195s 2025-02-19 04:33:55.171 UTC [3612] ubuntu@contrib_regression STATEMENT: call pg_temp.tp2();
195s 2025-02-19 04:33:55.171 UTC [3612] ubuntu@contrib_regression ERROR: language "pllua" does not exist
195s 2025-02-19 04:33:55.171 UTC [3612] ubuntu@contrib_regression HINT: Use CREATE EXTENSION to load the language into the database.
195s 2025-02-19 04:33:55.171 UTC [3612] ubuntu@contrib_regression STATEMENT: create procedure pg_temp.tp3()
195s language pllua
195s as $$
195s local stmt = spi.prepare([[ select i from generate_series(1,10) i ]]);
195s for r in stmt:rows() do
195s print(r.i)
195s spi.commit();
195s end
195s $$;
195s 2025-02-19 04:33:55.172 UTC [3612] ubuntu@contrib_regression ERROR: schema "pg_temp" does not exist at character 6
195s 2025-02-19 04:33:55.172 UTC [3612] ubuntu@contrib_regression STATEMENT: call pg_temp.tp3();
195s 2025-02-19 04:33:55.172 UTC [3612] ubuntu@contrib_regression ERROR: language "pllua" does not exist
195s 2025-02-19 04:33:55.172 UTC [3612] ubuntu@contrib_regression HINT: Use CREATE EXTENSION to load the language into the database.
195s 2025-02-19 04:33:55.172 UTC [3612] ubuntu@contrib_regression STATEMENT: create procedure pg_temp.tp4()
195s language pllua
195s as $$
195s local stmt = spi.prepare([[ select i from generate_series(1,10) i ]], {}, { hold = true });
195s for r in stmt:rows() do
195s print(r.i)
195s spi.commit();
195s end
195s $$;
195s 2025-02-19 04:33:55.172 UTC [3612] ubuntu@contrib_regression ERROR: schema "pg_temp" does not exist at character 6
195s 2025-02-19 04:33:55.172 UTC [3612] ubuntu@contrib_regression STATEMENT: call pg_temp.tp4();
195s 2025-02-19 04:33:55.172 UTC [3612] ubuntu@contrib_regression ERROR: language "pllua" does not exist
195s 2025-02-19 04:33:55.172 UTC [3612] ubuntu@contrib_regression HINT: Use CREATE EXTENSION to load the language into the database.
195s 2025-02-19 04:33:55.172 UTC [3612] ubuntu@contrib_regression STATEMENT: do language pllua $$
195s local stmt = spi.prepare([[ insert into xatst2 values ($1) ]]);
195s stmt:execute(1);
195s spi.commit();
195s stmt:execute(2);
195s print(pcall(function() stmt:execute(3) spi.commit() end))
195s -- the commit threw a lua error and the subxact was rolled back,
195s -- so we should be in the same xact as row 2
195s stmt:execute(4);
195s spi.commit();
195s $$;
195s Dropping cluster 17/regress ...
195s # 17 of 17 tests failed.
195s # The differences that caused some tests to fail can be viewed in the file "/tmp/autopkgtest.eqpTSM/build.9UR/src/regression.diffs".
195s # A copy of the test summary that you see above is saved in the file "/tmp/autopkgtest.eqpTSM/build.9UR/src/regression.out".
195s make: *** [/usr/lib/postgresql/17/lib/pgxs/src/makefiles/pgxs.mk:436: installcheck] Error 1
195s **** regression.diffs ****
195s diff -U3 /tmp/autopkgtest.eqpTSM/build.9UR/src/expected/pllua.out /tmp/autopkgtest.eqpTSM/build.9UR/src/results/pllua.out
195s --- /tmp/autopkgtest.eqpTSM/build.9UR/src/expected/pllua.out 2023-07-29 18:06:29.000000000 +0000
195s +++ /tmp/autopkgtest.eqpTSM/build.9UR/src/results/pllua.out 2025-02-19 04:33:54.348554267 +0000
195s @@ -1,270 +1,142 @@
195s --
195s CREATE EXTENSION pllua;
195s +ERROR: could not load library "/usr/lib/postgresql/17/lib/pllua.so": /usr/lib/postgresql/17/lib/pllua.so: cannot enable executable stack as shared object requires: Invalid argument
195s CREATE EXTENSION plluau;
195s +ERROR: could not load library "/usr/lib/postgresql/17/lib/pllua.so": /usr/lib/postgresql/17/lib/pllua.so: cannot enable executable stack as shared object requires: Invalid argument
195s \set VERBOSITY terse
195s -- smoke test
195s do language pllua $$ print "hello world!" $$;
195s -INFO: hello world!
195s +ERROR: language "pllua" does not exist
195s do language plluau $$ print "hello world!" $$;
195s -INFO: hello world!
195s +ERROR: language "plluau" does not exist
195s create function pg_temp.f1() returns text language pllua as $$ return "hello world" $$;
195s +ERROR: language "pllua" does not exist
195s select pg_temp.f1();
195s - f1
195s --------------
195s - hello world
195s -(1 row)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 8
195s create function pg_temp.f2() returns text language plluau as $$ return "hello world" $$;
195s +ERROR: language "plluau" does not exist
195s select pg_temp.f2();
195s - f2
195s --------------
195s - hello world
195s -(1 row)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 8
195s -- Rest of this file concentrates on simple tests of code paths in
195s -- compile, exec, and interpreter setup. Tests of other parts of the
195s -- module are separate.
195s -- validator
195s create function pg_temp."bad name"() returns text language pllua as $$ $$;
195s -ERROR: PL/Lua function name "bad name" is not a valid Lua identifier
195s +ERROR: language "pllua" does not exist
195s create function pg_temp.f3("bad arg" integer) returns text language pllua as $$ $$;
195s -ERROR: PL/Lua argument name "bad arg" is not a valid Lua identifier
195s +ERROR: language "pllua" does not exist
195s -- simple params and results (see types.sql for detailed checks)
195s create function pg_temp.f4(a integer) returns integer language pllua as $$ return a + 1 $$;
195s +ERROR: language "pllua" does not exist
195s select pg_temp.f4(1);
195s - f4
195s -----
195s - 2
195s -(1 row)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 8
195s create function pg_temp.f5(a text) returns text language pllua as $$ return a.."bar" $$;
195s +ERROR: language "pllua" does not exist
195s select pg_temp.f5('foo');
195s - f5
195s ---------
195s - foobar
195s -(1 row)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 8
195s create function pg_temp.f6(a text, b integer) returns text language pllua as $$ return a..b $$;
195s +ERROR: language "pllua" does not exist
195s select pg_temp.f6('foo',1);
195s - f6
195s -------
195s - foo1
195s -(1 row)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 8
195s -- try some polymorphism too
195s create function pg_temp.f7(a anyelement) returns anyelement language pllua as $$ return a $$;
195s +ERROR: language "pllua" does not exist
195s select pg_temp.f7(text 'foo');
195s - f7
195s ------
195s - foo
195s -(1 row)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 8
195s select pg_temp.f7(json '{"foo":1}');
195s - f7
195s ------------
195s - {"foo":1}
195s -(1 row)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 8
195s --select pg_temp.f7(xml 'bar'); -- don't bother with this, might be compiled out
195s select pg_temp.f7(varchar 'foo');
195s - f7
195s ------
195s - foo
195s -(1 row)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 8
195s select 'x',pg_temp.f7('foo'::char(20)),'x';
195s - ?column? | f7 | ?column?
195s -----------+----------------------+----------
195s - x | foo | x
195s -(1 row)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 12
195s select pg_temp.f7(cstring 'foo');
195s - f7
195s ------
195s - foo
195s -(1 row)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 8
195s select pg_temp.f7(name 'foo');
195s - f7
195s ------
195s - foo
195s -(1 row)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 8
195s select pg_temp.f7(bytea 'foo\000bar');
195s - f7
195s -------------------
195s - \x666f6f00626172
195s -(1 row)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 8
195s select pg_temp.f7(smallint '2');
195s - f7
195s -----
195s - 2
195s -(1 row)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 8
195s select pg_temp.f7(integer '2');
195s - f7
195s -----
195s - 2
195s -(1 row)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 8
195s select pg_temp.f7(bigint '123456789012345');
195s - f7
195s ------------------
195s - 123456789012345
195s -(1 row)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 8
195s select pg_temp.f7(oid '10');
195s - f7
195s -----
195s - 10
195s -(1 row)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 8
195s select pg_temp.f7(oid '4294967295');
195s - f7
195s -------------
195s - 4294967295
195s -(1 row)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 8
195s select pg_temp.f7(true);
195s - f7
195s -----
195s - t
195s -(1 row)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 8
195s select pg_temp.f7(false);
195s - f7
195s -----
195s - f
195s -(1 row)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 8
195s select pg_temp.f7(1.5::float8);
195s - f7
195s ------
195s - 1.5
195s -(1 row)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 8
195s select pg_temp.f7(1.5::float4);
195s - f7
195s ------
195s - 1.5
195s -(1 row)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 8
195s -- variadics
195s create function pg_temp.f8(a text, variadic b integer[]) returns void language pllua as $$ print(a,type(b),b) $$;
195s +ERROR: language "pllua" does not exist
195s select pg_temp.f8('foo', 1, 2, 3);
195s -INFO: foo userdata {1,2,3}
195s - f8
195s -----
195s -
195s -(1 row)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 8
195s create function pg_temp.f9(a integer, variadic b text[]) returns void language pllua as $$ print(a,type(b),b) $$;
195s +ERROR: language "pllua" does not exist
195s select pg_temp.f9(1, 'foo', 'bar', 'baz');
195s -INFO: 1 userdata {foo,bar,baz}
195s - f9
195s -----
195s -
195s -(1 row)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 8
195s create function pg_temp.f10(a integer, variadic "any") returns void language pllua as $$ print(a,...) $$;
195s +ERROR: language "pllua" does not exist
195s select pg_temp.f10(1, 'foo', 2, 'baz');
195s -INFO: 1 foo 2 baz
195s - f10
195s ------
195s -
195s -(1 row)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 8
195s -- SRF code paths
195s create function pg_temp.f11(a integer) returns setof text
195s language pllua as $$ return $$; -- 0 rows
195s +ERROR: language "pllua" does not exist
195s select * from pg_temp.f11(1);
195s - f11
195s ------
195s -(0 rows)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 15
195s create function pg_temp.f11b(a integer) returns setof text
195s language pllua as $$ return 'foo' $$; -- 1 row
195s +ERROR: language "pllua" does not exist
195s select * from pg_temp.f11b(1);
195s - f11b
195s -------
195s - foo
195s -(1 row)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 15
195s create function pg_temp.f12(a integer) returns setof text
195s language pllua as $$ coroutine.yield() $$; -- 1 row, null
195s +ERROR: language "pllua" does not exist
195s select * from pg_temp.f12(1);
195s - f12
195s ------
195s -
195s -(1 row)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 15
195s create function pg_temp.f13(a integer) returns setof text
195s language pllua as $$ for i = 1,a do coroutine.yield("row "..i) end $$;
195s +ERROR: language "pllua" does not exist
195s select * from pg_temp.f13(4);
195s - f13
195s --------
195s - row 1
195s - row 2
195s - row 3
195s - row 4
195s -(4 rows)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 15
195s create function pg_temp.f14(a integer, out x text, out y integer) returns setof record
195s language pllua as $$ for i = 1,a do coroutine.yield("row "..i, i) end $$;
195s +ERROR: language "pllua" does not exist
195s select * from pg_temp.f14(4);
195s - x | y
195s --------+---
195s - row 1 | 1
195s - row 2 | 2
195s - row 3 | 3
195s - row 4 | 4
195s -(4 rows)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 15
195s create function pg_temp.f15(a integer) returns table(x text, y integer)
195s language pllua as $$ for i = 1,a do coroutine.yield("row "..i, i) end $$;
195s +ERROR: language "pllua" does not exist
195s select * from pg_temp.f15(4);
195s - x | y
195s --------+---
195s - row 1 | 1
195s - row 2 | 2
195s - row 3 | 3
195s - row 4 | 4
195s -(4 rows)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 15
195s create function pg_temp.f16(a inout integer, x out text) returns setof record
195s language pllua as $$ for i = 1,a do coroutine.yield(i, "row "..i) end $$;
195s +ERROR: language "pllua" does not exist
195s select * from pg_temp.f16(4);
195s - a | x
195s ----+-------
195s - 1 | row 1
195s - 2 | row 2
195s - 3 | row 3
195s - 4 | row 4
195s -(4 rows)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 15
195s -- SRF vs null returns
195s create function pg_temp.f16b(a integer) returns table(x text, y integer)
195s language pllua as $$ coroutine.yield() $$; -- 1 row, null
195s +ERROR: language "pllua" does not exist
195s select * from pg_temp.f16b(1);
195s - x | y
195s ----+---
195s - |
195s -(1 row)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 15
195s create function pg_temp.f16c(a integer) returns table(x text, y integer)
195s language pllua as $$ coroutine.yield() for i = 1,a do coroutine.yield('foo',i) end $$;
195s +ERROR: language "pllua" does not exist
195s select * from pg_temp.f16c(3);
195s - x | y
195s ------+---
195s - |
195s - foo | 1
195s - foo | 2
195s - foo | 3
195s -(4 rows)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 15
195s -- compiler and validator code paths
195s do language pllua $$ _G.rdepth = 40 $$; -- global var hack
195s +ERROR: language "pllua" does not exist
195s -- This function will try and call itself at a point where it is visible
195s -- but has no definition interned yet; the recursive call will likewise
195s -- not see an interned definition and recurses again. without any limits
195s @@ -282,35 +154,23 @@
195s u = spi.execute("select pg_temp.f17(1)")
195s end
195s $$;
195s +ERROR: language "pllua" does not exist
195s select pg_temp.f17(1);
195s - f17
195s ------
195s - 1
195s -(1 row)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 8
195s create type pg_temp.t1 as (a integer, b text);
195s create function pg_temp.f18(a integer, b text) returns pg_temp.t1
195s language pllua as $$ return a,b $$;
195s +ERROR: language "pllua" does not exist
195s select * from pg_temp.f18(123,'foo');
195s - a | b
195s ------+-----
195s - 123 | foo
195s -(1 row)
195s -
195s +ERROR: function pg_temp.f18(integer, unknown) does not exist at character 15
195s create function pg_temp.f19(a integer) returns text language pllua as $$ return 'foo '..a $$;
195s +ERROR: language "pllua" does not exist
195s select pg_temp.f19(2);
195s - f19
195s --------
195s - foo 2
195s -(1 row)
195s -
195s +ERROR: function pg_temp.f19(integer) does not exist at character 8
195s create or replace function pg_temp.f19(a integer) returns text language pllua as $$ return 'bar '..a $$;
195s +ERROR: language "pllua" does not exist
195s select pg_temp.f19(3);
195s - f19
195s --------
195s - bar 3
195s -(1 row)
195s -
195s +ERROR: function pg_temp.f19(integer) does not exist at character 8
195s -- trusted interpreter setup
195s -- check we really do have different interpreters
195s -- this is hard because we intentionally isolate trusted-language code
195s @@ -323,26 +183,22 @@
195s -- address (whereas base C functions do not differ between
195s -- interpreters in recent lua versions).
195s create function pg_temp.f20() returns text language pllua as $$ return tostring(spi.error) $$;
195s +ERROR: language "pllua" does not exist
195s create function pg_temp.f21() returns text language plluau as $$ return tostring(spi.error) $$;
195s +ERROR: language "plluau" does not exist
195s select pg_temp.f20() as a intersect select pg_temp.f21(); -- should be empty
195s - a
195s ----
195s -(0 rows)
195s -
195s +ERROR: function pg_temp.f20() does not exist at character 8
195s -- check the global table
195s do language pllua $$
195s local gk = { "io", "dofile", "debug" } -- must not exist
195s for i = 1,#gk do print(gk[i],type(_G[gk[i]])) end
195s $$;
195s -INFO: io nil
195s -INFO: dofile nil
195s -INFO: debug nil
195s +ERROR: language "pllua" does not exist
195s do language plluau $$
195s local gk = { "io", "dofile" } -- probably exist
195s for i = 1,#gk do print(gk[i],type(_G[gk[i]])) end
195s $$;
195s -INFO: io table
195s -INFO: dofile function
195s +ERROR: language "plluau" does not exist
195s -- check that trusted gets only the restricted os module, even from
195s -- require
195s do language pllua $$
195s @@ -350,16 +206,11 @@
195s local gk = { "time", "difftime", "execute", "getenv", "exit" }
195s for i = 1,#gk do print(gk[i],type(os[gk[i]])) end
195s $$;
195s -INFO: time function
195s -INFO: difftime function
195s -INFO: execute nil
195s -INFO: getenv nil
195s -INFO: exit nil
195s +ERROR: language "pllua" does not exist
195s -- check that trusted can't require dangerous core modules
195s do language pllua $$
195s print((lpcall(require,"debug")))
195s print((lpcall(require,"io")))
195s $$;
195s -INFO: false
195s -INFO: false
195s +ERROR: language "pllua" does not exist
195s --end
195s diff -U3 /tmp/autopkgtest.eqpTSM/build.9UR/src/expected/pllua_old.out /tmp/autopkgtest.eqpTSM/build.9UR/src/results/pllua_old.out
195s --- /tmp/autopkgtest.eqpTSM/build.9UR/src/expected/pllua_old.out 2023-07-29 18:06:29.000000000 +0000
195s +++ /tmp/autopkgtest.eqpTSM/build.9UR/src/results/pllua_old.out 2025-02-19 04:33:54.378554267 +0000
195s @@ -7,24 +7,18 @@
195s RETURNS text AS $$
195s return string.format("Hello, %s!", name)
195s $$ LANGUAGE pllua;
195s +ERROR: language "pllua" does not exist
195s SELECT hello('PostgreSQL');
195s - hello
195s ---------------------
195s - Hello, PostgreSQL!
195s -(1 row)
195s -
195s +ERROR: function hello(unknown) does not exist at character 8
195s -- null handling
195s CREATE FUNCTION max(a integer, b integer) RETURNS integer AS $$
195s if a == nil then return b end -- first arg is NULL?
195s if b == nil then return a end -- second arg is NULL?
195s return a > b and a or b -- return max(a, b)
195s $$ LANGUAGE pllua;
195s +ERROR: language "pllua" does not exist
195s SELECT max(1,2), max(2,1), max(2,null), max(null, 2), max(null, null);
195s - max | max | max | max | max
195s ------+-----+-----+-----+-----
195s - 2 | 2 | 2 | 2 |
195s -(1 row)
195s -
195s +ERROR: function max(integer, integer) does not exist at character 8
195s -- plain recursive
195s CREATE FUNCTION fib(n int) RETURNS int AS $$
195s if n < 3 then
195s @@ -33,12 +27,9 @@
195s return fib(n - 1) + fib(n - 2)
195s end
195s $$ LANGUAGE pllua;
195s +ERROR: language "pllua" does not exist
195s SELECT fib(4);
195s - fib
195s ------
195s - 5
195s -(1 row)
195s -
195s +ERROR: function fib(integer) does not exist at character 8
195s -- memoized
195s CREATE FUNCTION fibm(n integer) RETURNS integer AS $$
195s if n < 3 then return n
195s @@ -53,12 +44,9 @@
195s end
195s do _U = {}
195s $$ LANGUAGE pllua;
195s +ERROR: language "pllua" does not exist
195s SELECT fibm(4);
195s - fibm
195s -------
195s - 5
195s -(1 row)
195s -
195s +ERROR: function fibm(integer) does not exist at character 8
195s -- tail recursive
195s CREATE FUNCTION fibt(n integer) RETURNS integer AS $$
195s return _U(n, 0, 1)
195s @@ -67,12 +55,9 @@
195s if n < 1 then return b
195s else return _U(n - 1, b, a + b) end
195s $$ LANGUAGE pllua;
195s +ERROR: language "pllua" does not exist
195s SELECT fibt(4);
195s - fibt
195s -------
195s - 5
195s -(1 row)
195s -
195s +ERROR: function fibt(integer) does not exist at character 8
195s -- iterator
195s CREATE FUNCTION fibi() RETURNS integer AS $$
195s while true do
195s @@ -84,18 +69,11 @@
195s _U = {curr = 0, next = 1}
195s fibi = coroutine.wrap(fibi)
195s $$ LANGUAGE pllua;
195s +ERROR: language "pllua" does not exist
195s SELECT fibi(), fibi(), fibi(), fibi(), fibi();
195s - fibi | fibi | fibi | fibi | fibi
195s -------+------+------+------+------
195s - 1 | 1 | 2 | 3 | 5
195s -(1 row)
195s -
195s +ERROR: function fibi() does not exist at character 8
195s SELECT fibi(), fibi(), fibi(), fibi(), fibi();
195s - fibi | fibi | fibi | fibi | fibi
195s -------+------+------+------+------
195s - 8 | 13 | 21 | 34 | 55
195s -(1 row)
195s -
195s +ERROR: function fibi() does not exist at character 8
195s -- upvalue
195s CREATE FUNCTION counter() RETURNS int AS $$
195s while true do
195s @@ -107,35 +85,21 @@
195s _U = 0 -- counter
195s counter = coroutine.wrap(counter)
195s $$ LANGUAGE pllua;
195s +ERROR: language "pllua" does not exist
195s SELECT counter();
195s - counter
195s ----------
195s - 1
195s -(1 row)
195s -
195s +ERROR: function counter() does not exist at character 8
195s SELECT counter();
195s - counter
195s ----------
195s - 2
195s -(1 row)
195s -
195s +ERROR: function counter() does not exist at character 8
195s SELECT counter();
195s - counter
195s ----------
195s - 3
195s -(1 row)
195s -
195s +ERROR: function counter() does not exist at character 8
195s -- record input
195s CREATE TYPE greeting AS (how text, who text);
195s CREATE FUNCTION makegreeting (g greeting, f text) RETURNS text AS $$
195s return string.format(f, g.how, g.who)
195s $$ LANGUAGE pllua;
195s +ERROR: language "pllua" does not exist
195s SELECT makegreeting(('how', 'who'), '%s, %s!');
195s - makegreeting
195s ---------------
195s - how, who!
195s -(1 row)
195s -
195s +ERROR: function makegreeting(record, unknown) does not exist at character 8
195s -- array, record output
195s CREATE FUNCTION greetingset (how text, who text[])
195s RETURNS SETOF greeting AS $$
195s @@ -143,15 +107,10 @@
195s coroutine.yield{how=how, who=name}
195s end
195s $$ LANGUAGE pllua;
195s +ERROR: language "pllua" does not exist
195s SELECT makegreeting(greetingset, '%s, %s!') FROM
195s (SELECT greetingset('Hello', ARRAY['foo', 'bar', 'psql'])) AS q;
195s - makegreeting
195s ---------------
195s - Hello, foo!
195s - Hello, bar!
195s - Hello, psql!
195s -(3 rows)
195s -
195s +ERROR: function greetingset(unknown, text[]) does not exist at character 60
195s -- more array, upvalue
195s CREATE FUNCTION perm (a text[]) RETURNS SETOF text[] AS $$
195s _U(a, #a)
195s @@ -169,17 +128,9 @@
195s end
195s end
195s $$ LANGUAGE pllua;
195s +ERROR: language "pllua" does not exist
195s SELECT * FROM perm(array['1', '2', '3']);
195s - perm
195s ----------
195s - {2,3,1}
195s - {3,2,1}
195s - {3,1,2}
195s - {1,3,2}
195s - {2,1,3}
195s - {1,2,3}
195s -(6 rows)
195s -
195s +ERROR: function perm(text[]) does not exist at character 15
195s -- shared variables
195s CREATE FUNCTION getcounter() RETURNS integer AS $$
195s if shared.counter == nil then -- not cached?
195s @@ -187,6 +138,7 @@
195s end
195s return counter -- _G.counter == shared.counter
195s $$ LANGUAGE pllua;
195s +ERROR: language "pllua" does not exist
195s CREATE FUNCTION setcounter(c integer) RETURNS void AS $$
195s if shared.counter == nil then -- not cached?
195s setshared("counter", c)
195s @@ -194,24 +146,13 @@
195s counter = c -- _G.counter == shared.counter
195s end
195s $$ LANGUAGE pllua;
195s +ERROR: language "pllua" does not exist
195s SELECT getcounter();
195s - getcounter
195s -------------
195s - 0
195s -(1 row)
195s -
195s +ERROR: function getcounter() does not exist at character 8
195s SELECT setcounter(5);
195s - setcounter
195s -------------
195s -
195s -(1 row)
195s -
195s +ERROR: function setcounter(integer) does not exist at character 8
195s SELECT getcounter();
195s - getcounter
195s -------------
195s - 5
195s -(1 row)
195s -
195s +ERROR: function getcounter() does not exist at character 8
195s -- SPI usage
195s CREATE TABLE sometable ( sid int4, sname text, sdata text);
195s INSERT INTO sometable VALUES (1, 'name', 'data');
195s @@ -229,12 +170,9 @@
195s end
195s c:close()
195s $$ LANGUAGE pllua;
195s +ERROR: language "pllua" does not exist
195s SELECT * FROM get_rows('name');
195s - sid | sname | sdata
195s ------+-------+-------
195s - 1 | name | data
195s -(1 row)
195s -
195s +ERROR: function get_rows(unknown) does not exist at character 15
195s SET client_min_messages = warning;
195s CREATE TABLE tree (id INT PRIMARY KEY, lchild INT, rchild INT);
195s RESET client_min_messages;
195s @@ -246,12 +184,9 @@
195s p:execute{i, lchild, rchild} -- insert values
195s end
195s $$ LANGUAGE pllua;
195s +ERROR: language "pllua" does not exist
195s SELECT filltree('tree', 10);
195s - filltree
195s -----------
195s -
195s -(1 row)
195s -
195s +ERROR: function filltree(unknown, integer) does not exist at character 8
195s CREATE FUNCTION preorder (t text, s int) RETURNS SETOF int AS $$
195s coroutine.yield(s)
195s local q = server.execute("select * from " .. t .. " where id=" .. s,
195s @@ -262,32 +197,9 @@
195s if rchild ~= nil then preorder(t, rchild) end
195s end
195s $$ LANGUAGE pllua;
195s +ERROR: language "pllua" does not exist
195s SELECT * from preorder('tree', 1);
195s - preorder
195s -----------
195s - 1
195s - 2
195s - 4
195s - 8
195s - 16
195s - 17
195s - 9
195s - 18
195s - 19
195s - 5
195s - 10
195s - 20
195s - 21
195s - 11
195s - 3
195s - 6
195s - 12
195s - 13
195s - 7
195s - 14
195s - 15
195s -(21 rows)
195s -
195s +ERROR: function preorder(unknown, integer) does not exist at character 15
195s CREATE FUNCTION postorder (t text, s int) RETURNS SETOF int AS $$
195s local p = _U[t]
195s if p == nil then -- plan not cached?
195s @@ -306,32 +218,9 @@
195s end
195s do _U = {} -- plan cache
195s $$ LANGUAGE pllua;
195s +ERROR: language "pllua" does not exist
195s SELECT * FROM postorder('tree', 1);
195s - postorder
195s ------------
195s - 16
195s - 17
195s - 8
195s - 18
195s - 19
195s - 9
195s - 4
195s - 20
195s - 21
195s - 10
195s - 11
195s - 5
195s - 2
195s - 12
195s - 13
195s - 6
195s - 14
195s - 15
195s - 7
195s - 3
195s - 1
195s -(21 rows)
195s -
195s +ERROR: function postorder(unknown, integer) does not exist at character 15
195s -- trigger
195s CREATE FUNCTION treetrigger() RETURNS trigger AS $$
195s local row, operation = trigger.row, trigger.operation
195s @@ -372,128 +261,80 @@
195s .. "join tree tr on ti.rchild=tr.id) as q where lp=$1", "int4")
195s }
195s $$ LANGUAGE pllua;
195s +ERROR: language "pllua" does not exist
195s CREATE TRIGGER tree_trigger BEFORE INSERT OR UPDATE OR DELETE ON tree
195s FOR EACH ROW EXECUTE PROCEDURE treetrigger();
195s +ERROR: function treetrigger() does not exist
195s SELECT * FROM tree WHERE id = 1;
195s id | lchild | rchild
195s ----+--------+--------
195s - 1 | 2 | 3
195s -(1 row)
195s +(0 rows)
195s
195s UPDATE tree SET rchild = 1 WHERE id = 1;
195s SELECT * FROM tree WHERE id = 10;
195s id | lchild | rchild
195s ----+--------+--------
195s - 10 | 20 | 21
195s -(1 row)
195s +(0 rows)
195s
195s DELETE FROM tree where id = 10;
195s DELETE FROM tree where id = 1;
195s -- passthru types
195s CREATE FUNCTION echo_int2(arg int2) RETURNS int2 AS $$ return arg $$ LANGUAGE pllua;
195s +ERROR: language "pllua" does not exist
195s SELECT echo_int2('12345');
195s - echo_int2
195s ------------
195s - 12345
195s -(1 row)
195s -
195s +ERROR: function echo_int2(unknown) does not exist at character 8
195s CREATE FUNCTION echo_int4(arg int4) RETURNS int4 AS $$ return arg $$ LANGUAGE pllua;
195s +ERROR: language "pllua" does not exist
195s SELECT echo_int4('1234567890');
195s - echo_int4
195s -------------
195s - 1234567890
195s -(1 row)
195s -
195s +ERROR: function echo_int4(unknown) does not exist at character 8
195s CREATE FUNCTION echo_int8(arg int8) RETURNS int8 AS $$ return arg $$ LANGUAGE pllua;
195s +ERROR: language "pllua" does not exist
195s SELECT echo_int8('1234567890');
195s - echo_int8
195s -------------
195s - 1234567890
195s -(1 row)
195s -
195s +ERROR: function echo_int8(unknown) does not exist at character 8
195s SELECT echo_int8('12345678901236789');
195s - echo_int8
195s --------------------
195s - 12345678901236789
195s -(1 row)
195s -
195s +ERROR: function echo_int8(unknown) does not exist at character 8
195s SELECT echo_int8('1234567890123456789');
195s - echo_int8
195s ----------------------
195s - 1234567890123456789
195s -(1 row)
195s -
195s +ERROR: function echo_int8(unknown) does not exist at character 8
195s CREATE FUNCTION echo_text(arg text) RETURNS text AS $$ return arg $$ LANGUAGE pllua;
195s +ERROR: language "pllua" does not exist
195s SELECT echo_text('qwe''qwe');
195s - echo_text
195s ------------
195s - qwe'qwe
195s -(1 row)
195s -
195s +ERROR: function echo_text(unknown) does not exist at character 8
195s CREATE FUNCTION echo_bytea(arg bytea) RETURNS bytea AS $$ return arg $$ LANGUAGE pllua;
195s +ERROR: language "pllua" does not exist
195s SELECT echo_bytea('qwe''qwe');
195s - echo_bytea
195s -------------------
195s - \x71776527717765
195s -(1 row)
195s -
195s +ERROR: function echo_bytea(unknown) does not exist at character 8
195s SELECT echo_bytea(E'q\\000w\\001e''q\\\\we');
195s - echo_bytea
195s -------------------------
195s - \x710077016527715c7765
195s -(1 row)
195s -
195s +ERROR: function echo_bytea(unknown) does not exist at character 8
195s CREATE FUNCTION echo_timestamptz(arg timestamptz) RETURNS timestamptz AS $$ return arg $$ LANGUAGE pllua;
195s +ERROR: language "pllua" does not exist
195s SELECT echo_timestamptz('2007-01-06 11:11 UTC') AT TIME ZONE 'UTC';
195s - timezone
195s ---------------------------
195s - Sat Jan 06 11:11:00 2007
195s -(1 row)
195s -
195s +ERROR: function echo_timestamptz(unknown) does not exist at character 8
195s CREATE FUNCTION echo_timestamp(arg timestamp) RETURNS timestamp AS $$ return arg $$ LANGUAGE pllua;
195s +ERROR: language "pllua" does not exist
195s SELECT echo_timestamp('2007-01-06 11:11');
195s - echo_timestamp
195s ---------------------------
195s - Sat Jan 06 11:11:00 2007
195s -(1 row)
195s -
195s +ERROR: function echo_timestamp(unknown) does not exist at character 8
195s CREATE FUNCTION echo_date(arg date) RETURNS date AS $$ return arg $$ LANGUAGE pllua;
195s +ERROR: language "pllua" does not exist
195s SELECT echo_date('2007-01-06');
195s - echo_date
195s -------------
195s - 01-06-2007
195s -(1 row)
195s -
195s +ERROR: function echo_date(unknown) does not exist at character 8
195s CREATE FUNCTION echo_time(arg time) RETURNS time AS $$ return arg $$ LANGUAGE pllua;
195s +ERROR: language "pllua" does not exist
195s SELECT echo_time('11:11');
195s - echo_time
195s ------------
195s - 11:11:00
195s -(1 row)
195s -
195s +ERROR: function echo_time(unknown) does not exist at character 8
195s CREATE FUNCTION echo_arr(arg text[]) RETURNS text[] AS $$ return arg $$ LANGUAGE pllua;
195s +ERROR: language "pllua" does not exist
195s SELECT echo_arr(array['a', 'b', 'c']);
195s - echo_arr
195s -----------
195s - {a,b,c}
195s -(1 row)
195s -
195s +ERROR: function echo_arr(text[]) does not exist at character 8
195s CREATE DOMAIN mynum AS numeric(6,3);
195s CREATE FUNCTION echo_mynum(arg mynum) RETURNS mynum AS $$ return arg $$ LANGUAGE pllua;
195s +ERROR: language "pllua" does not exist
195s SELECT echo_mynum(666.777);
195s - echo_mynum
195s -------------
195s - 666.777
195s -(1 row)
195s -
195s +ERROR: function echo_mynum(numeric) does not exist at character 8
195s CREATE TYPE mytype AS (id int2, val mynum, val_list numeric[]);
195s CREATE FUNCTION echo_mytype(arg mytype) RETURNS mytype AS $$ return arg $$ LANGUAGE pllua;
195s +ERROR: language "pllua" does not exist
195s SELECT echo_mytype((1::int2, 666.777, array[1.0, 2.0]) );
195s - echo_mytype
195s --------------------------
195s - (1,666.777,"{1.0,2.0}")
195s -(1 row)
195s -
195s +ERROR: function echo_mytype(record) does not exist at character 8
195s CREATE FUNCTION nested_server_rows () RETURNS SETOF text as
195s $$
195s for left in server.rows('select generate_series as left from generate_series(3,4) ') do
195s @@ -504,43 +345,27 @@
195s end
195s $$
195s language pllua;
195s +ERROR: language "pllua" does not exist
195s select nested_server_rows();
195s - nested_server_rows
195s ---------------------
195s - 3 5
195s - 3 6
195s - 4 5
195s - 4 6
195s -(4 rows)
195s -
195s +ERROR: function nested_server_rows() does not exist at character 8
195s CREATE OR REPLACE FUNCTION pg_temp.srf()
195s RETURNS SETOF integer AS $$
195s coroutine.yield(1)
195s coroutine.yield(nil)
195s coroutine.yield(2)
195s $$ LANGUAGE pllua;
195s +ERROR: language "pllua" does not exist
195s select quote_nullable(pg_temp.srf());
195s - quote_nullable
195s -----------------
195s - '1'
195s - NULL
195s - '2'
195s -(3 rows)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 23
195s CREATE OR REPLACE FUNCTION pg_temp.srf()
195s RETURNS SETOF integer AS $$
195s coroutine.yield(1)
195s coroutine.yield()
195s coroutine.yield(2)
195s $$ LANGUAGE pllua;
195s +ERROR: language "pllua" does not exist
195s select quote_nullable(pg_temp.srf());
195s - quote_nullable
195s -----------------
195s - '1'
195s - NULL
195s - '2'
195s -(3 rows)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 23
195s CREATE or replace FUNCTION pg_temp.inoutf(a integer, INOUT b text, INOUT c text) AS
195s $$
195s begin
195s @@ -555,22 +380,14 @@
195s print(r.b)
195s print(r.c)
195s $$ language pllua;
195s -INFO: b:ABC
195s -INFO: 5c:d
195s +ERROR: language "pllua" does not exist
195s -- body reload
195s SELECT hello('PostgreSQL');
195s - hello
195s ---------------------
195s - Hello, PostgreSQL!
195s -(1 row)
195s -
195s +ERROR: function hello(unknown) does not exist at character 8
195s CREATE OR REPLACE FUNCTION hello(name text)
195s RETURNS text AS $$
195s return string.format("Bye, %s!", name)
195s $$ LANGUAGE pllua;
195s +ERROR: language "pllua" does not exist
195s SELECT hello('PostgreSQL');
195s - hello
195s -------------------
195s - Bye, PostgreSQL!
195s -(1 row)
195s -
195s +ERROR: function hello(unknown) does not exist at character 8
195s diff -U3 /tmp/autopkgtest.eqpTSM/build.9UR/src/expected/trusted.out /tmp/autopkgtest.eqpTSM/build.9UR/src/results/trusted.out
195s --- /tmp/autopkgtest.eqpTSM/build.9UR/src/expected/trusted.out 2023-07-29 18:06:29.000000000 +0000
195s +++ /tmp/autopkgtest.eqpTSM/build.9UR/src/results/trusted.out 2025-02-19 04:33:54.398554267 +0000
195s @@ -9,17 +9,15 @@
195s $$;
195s --
195s do language pllua $$ print("interpreter loaded") $$;
195s -INFO: testmod2 loaded
195s -INFO: interpreter loaded
195s +ERROR: language "pllua" does not exist
195s do language pllua $$
195s local m = require 'testmod1'
195s m.testfunc()
195s $$;
195s -INFO: testmod1 loaded
195s -INFO: testfunc1
195s +ERROR: language "pllua" does not exist
195s do language pllua $$
195s local m = require 'testmod2'
195s m.testfunc()
195s $$;
195s -INFO: testfunc2
195s +ERROR: language "pllua" does not exist
195s --end
195s diff -U3 /tmp/autopkgtest.eqpTSM/build.9UR/src/expected/arrays.out /tmp/autopkgtest.eqpTSM/build.9UR/src/results/arrays.out
195s --- /tmp/autopkgtest.eqpTSM/build.9UR/src/expected/arrays.out 2023-07-29 18:06:29.000000000 +0000
195s +++ /tmp/autopkgtest.eqpTSM/build.9UR/src/results/arrays.out 2025-02-19 04:33:54.458554267 +0000
195s @@ -87,6 +87,7 @@
195s }
195s end
195s $$;
195s +ERROR: language "pllua" does not exist
195s do language pllua $$
195s local u = require 'myutil'
195s for r in spi.rows([[ select a, b,
195s @@ -116,35 +117,7 @@
195s print(r.d)
195s end
195s $$;
195s -INFO: [1..2] nil
195s -INFO: [1..2],-1 wombat
195s -INFO: 10,20,30,40,50 nil
195s -INFO: 10,20,30,40,50,-1 wombat
195s -INFO: [1..100] nil
195s -INFO: [1..100],-1 wombat
195s -INFO: [1..100000] nil
195s -INFO: [1..100000],-1 wombat
195s -INFO: nil
195s -INFO: -1 wombat
195s -INFO: nil
195s -INFO: -1 wombat
195s -INFO: nil foo,bar,baz
195s -INFO: -1 foo,bar,baz,wombat
195s -INFO: nil [val1..val100]
195s -INFO: -1 [val1..val100],wombat
195s -INFO: nil [val1..val10000]
195s -INFO: -1 [val1..val10000],wombat
195s -INFO:
195s -INFO: -1.0
195s -INFO: 1.234,2.718281828459045235360287471353,10888869450418352160768000000
195s -INFO: 1.234,2.718281828459045235360287471353,10888869450418352160768000000,-1.0
195s -INFO: [1..100]
195s -INFO: [1..100],-1.0
195s -INFO: [1..10000]
195s -INFO: [1..10000],-1.0
195s -INFO: {}
195s -INFO: {12-11-2017,05-10-1968,09-26-1983,10-27-1962}
195s -INFO: {01-01-2017,01-19-2017,02-06-2017,02-24-2017,03-14-2017,04-01-2017,04-19-2017,05-07-2017,05-25-2017,06-12-2017,06-30-2017,07-18-2017,08-05-2017,08-23-2017,09-10-2017,09-28-2017,10-16-2017,11-03-2017,11-21-2017,12-09-2017,12-27-2017}
195s +ERROR: language "pllua" does not exist
195s create function af1(a anyarray)
195s returns text
195s language pllua
195s @@ -155,183 +128,98 @@
195s u = require 'myutil'
195s do
195s $$;
195s +ERROR: language "pllua" does not exist
195s -- array_append returns its result as an expanded datum
195s select af1(a) from adata where a is not null order by id;
195s - af1
195s -----------------
195s - [1..2]
195s - 10,20,30,40,50
195s - [1..100]
195s - [1..100000]
195s -
195s -(5 rows)
195s -
195s +ERROR: function af1(integer[]) does not exist at character 8
195s with t as (select a from adata where a is not null order by id)
195s select af1(array_append(a, -1)) from t;
195s - af1
195s --------------------
195s - [1..2],-1
195s - 10,20,30,40,50,-1
195s - [1..100],-1
195s - [1..100000],-1
195s - -1
195s -(5 rows)
195s -
195s +ERROR: function af1(integer[]) does not exist at character 74
195s select af1(b) from adata where b is not null order by id;
195s - af1
195s -------------------
195s -
195s - foo,bar,baz
195s - [val1..val100]
195s - [val1..val10000]
195s -(4 rows)
195s -
195s +ERROR: function af1(text[]) does not exist at character 8
195s with t as (select b from adata where b is not null order by id)
195s select af1(array_append(b, 'wombat')) from t;
195s - af1
195s --------------------------
195s - wombat
195s - foo,bar,baz,wombat
195s - [val1..val100],wombat
195s - [val1..val10000],wombat
195s -(4 rows)
195s -
195s +ERROR: function af1(text[]) does not exist at character 74
195s select af1(c) from adata where c is not null order by id;
195s - af1
195s -----------------------------------------------------------------------
195s -
195s - 1.234,2.718281828459045235360287471353,10888869450418352160768000000
195s - [1..100]
195s - [1..10000]
195s -(4 rows)
195s -
195s +ERROR: function af1(numeric[]) does not exist at character 8
195s with t as (select c from adata where c is not null order by id)
195s select af1(array_append(c, -1.0)) from t;
195s - af1
195s ----------------------------------------------------------------------------
195s - -1.0
195s - 1.234,2.718281828459045235360287471353,10888869450418352160768000000,-1.0
195s - [1..100],-1.0
195s - [1..10000],-1.0
195s -(4 rows)
195s -
195s +ERROR: function af1(numeric[]) does not exist at character 74
195s select af1(d) from adata where d is not null order by id;
195s - af1
195s -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
195s -
195s - 12-11-2017,05-10-1968,09-26-1983,10-27-1962
195s - 01-01-2017,01-19-2017,02-06-2017,02-24-2017,03-14-2017,04-01-2017,04-19-2017,05-07-2017,05-25-2017,06-12-2017,06-30-2017,07-18-2017,08-05-2017,08-23-2017,09-10-2017,09-28-2017,10-16-2017,11-03-2017,11-21-2017,12-09-2017,12-27-2017
195s -(3 rows)
195s -
195s +ERROR: function af1(date[]) does not exist at character 8
195s with t as (select d from adata where d is not null order by id)
195s select af1(array_append(d, date '1970-01-01')) from t;
195s - af1
195s ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
195s - 01-01-1970
195s - 12-11-2017,05-10-1968,09-26-1983,10-27-1962,01-01-1970
195s - 01-01-2017,01-19-2017,02-06-2017,02-24-2017,03-14-2017,04-01-2017,04-19-2017,05-07-2017,05-25-2017,06-12-2017,06-30-2017,07-18-2017,08-05-2017,08-23-2017,09-10-2017,09-28-2017,10-16-2017,11-03-2017,11-21-2017,12-09-2017,12-27-2017,01-01-1970
195s -(3 rows)
195s -
195s +ERROR: function af1(date[]) does not exist at character 74
195s -- conversion edge cases
195s create function pg_temp.af2() returns integer[] language pllua
195s as $$
195s return nil
195s $$;
195s +ERROR: language "pllua" does not exist
195s select pg_temp.af2();
195s - af2
195s ------
195s -
195s -(1 row)
195s -
195s +ERROR: function pg_temp.af2() does not exist at character 8
195s create function pg_temp.af3() returns integer[] language pllua
195s as $$
195s return
195s $$;
195s +ERROR: language "pllua" does not exist
195s select pg_temp.af3();
195s - af3
195s ------
195s -
195s -(1 row)
195s -
195s +ERROR: function pg_temp.af3() does not exist at character 8
195s create function pg_temp.af4() returns integer[] language pllua
195s as $$
195s return 1,2
195s $$;
195s +ERROR: language "pllua" does not exist
195s select pg_temp.af4();
195s - af4
195s --------
195s - {1,2}
195s -(1 row)
195s -
195s +ERROR: function pg_temp.af4() does not exist at character 8
195s create function pg_temp.af5() returns integer[] language pllua
195s as $$
195s return pgtype(nil,0)()
195s $$;
195s +ERROR: language "pllua" does not exist
195s select pg_temp.af5();
195s - af5
195s ------
195s - {}
195s -(1 row)
195s -
195s +ERROR: function pg_temp.af5() does not exist at character 8
195s create function pg_temp.af5b() returns integer[] language pllua
195s as $$
195s return {}
195s $$;
195s +ERROR: language "pllua" does not exist
195s select pg_temp.af5b();
195s - af5b
195s -------
195s - {}
195s -(1 row)
195s -
195s +ERROR: function pg_temp.af5b() does not exist at character 8
195s create function pg_temp.af6() returns integer[] language pllua
195s as $$
195s return { 1, nil, 3 }
195s $$;
195s +ERROR: language "pllua" does not exist
195s select pg_temp.af6();
195s - af6
195s -------------
195s - {1,NULL,3}
195s -(1 row)
195s -
195s +ERROR: function pg_temp.af6() does not exist at character 8
195s create function pg_temp.af7() returns integer[] language pllua
195s as $$
195s return pgtype.integer(1)
195s $$;
195s +ERROR: language "pllua" does not exist
195s select pg_temp.af7();
195s - af7
195s ------
195s - {1}
195s -(1 row)
195s -
195s +ERROR: function pg_temp.af7() does not exist at character 8
195s create function pg_temp.af8() returns integer[] language pllua
195s as $$
195s return { pgtype.integer(1) }
195s $$;
195s +ERROR: language "pllua" does not exist
195s select pg_temp.af8();
195s - af8
195s ------
195s - {1}
195s -(1 row)
195s -
195s +ERROR: function pg_temp.af8() does not exist at character 8
195s create type acomp1 as (foo integer, bar text);
195s create function pg_temp.af9() returns acomp1[] language pllua
195s as $$
195s return { { foo = 1, bar = "zot" } }
195s $$;
195s +ERROR: language "pllua" does not exist
195s select pg_temp.af9();
195s - af9
195s --------------
195s - {"(1,zot)"}
195s -(1 row)
195s -
195s +ERROR: function pg_temp.af9() does not exist at character 8
195s create function pg_temp.af10() returns acomp1[] language pllua
195s as $$
195s return { pgtype(nil,0):element()(1, "zot") }
195s $$;
195s +ERROR: language "pllua" does not exist
195s select pg_temp.af10();
195s - af10
195s --------------
195s - {"(1,zot)"}
195s -(1 row)
195s -
195s +ERROR: function pg_temp.af10() does not exist at character 8
195s --
195s diff -U3 /tmp/autopkgtest.eqpTSM/build.9UR/src/expected/jsonb.out /tmp/autopkgtest.eqpTSM/build.9UR/src/results/jsonb.out
195s --- /tmp/autopkgtest.eqpTSM/build.9UR/src/expected/jsonb.out 2023-07-29 18:06:29.000000000 +0000
195s +++ /tmp/autopkgtest.eqpTSM/build.9UR/src/results/jsonb.out 2025-02-19 04:33:54.648554267 +0000
195s @@ -45,70 +45,9 @@
195s spi.execute([[ create temp table jt1 as select $1 as a ]], b)
195s
195s $$;
195s -INFO: {"foo": "If this were real data, it would make more sense.", "piem": "Now I, even I, would celebrate\nIn rhymes unapt the great\nImmortal Syracusan rivaled nevermore,\nWho in his wondrous lore,\nPassed on before,\nLeft men his guidance\nHow to circles mensurate.\n", "empty": [], "mixed": [null, null, 123, "foo", null, true, false, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "fred"], "names": ["Dougal", "Florence", "Ermintrude", "Zebedee", "Brian", "Dylan"], "empty2": [[], []], "nested": ["arrayelem", {"subobject": {"subarray": [[[123]]]}, "object key": "object val"}], "json_test": "This is only a test."}
195s -INFO: {"foo": "If this were real data, it would make more sense.", "piem": "Now I, even I, would celebrate\nIn rhymes unapt the great\nImmortal Syracusan rivaled nevermore,\nWho in his wondrous lore,\nPassed on before,\nLeft men his guidance\nHow to circles mensurate.\n", "empty": [], "mixed": [null, null, 123, "foo", null, true, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "fred"], "names": ["Dougal", "Florence", "Ermintrude", "Zebedee", "Brian", "Dylan"], "empty2": [[], []], "nested": ["arrayelem", {"subobject": {"subarray": [[[123]]]}, "object key": "object val"}], "json_test": "This is only a test."}
195s -INFO: {"foo": "If this were real data, it would make more sense.", "piem": "Now I, even I, would celebrate\nIn rhymes unapt the great\nImmortal Syracusan rivaled nevermore,\nWho in his wondrous lore,\nPassed on before,\nLeft men his guidance\nHow to circles mensurate.\n", "empty": [], "mixed": [null, null, 123, "foo", null, "true", "false", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "fred"], "names": ["Dougal", "Florence", "Ermintrude", "Zebedee", "Brian", "Dylan"], "empty2": [[], []], "nested": ["arrayelem", {"subobject": {"subarray": [[[123]]]}, "object key": "object val"}], "json_test": "This is only a test."}
195s -INFO: {"foo": "If this were real data, it would make more sense.", "piem": "Now I, even I, would celebrate\nIn rhymes unapt the great\nImmortal Syracusan rivaled nevermore,\nWho in his wondrous lore,\nPassed on before,\nLeft men his guidance\nHow to circles mensurate.\n", "empty": [], "mixed": {"3": 123, "4": "foo", "6": true, "7": false, "23": "fred"}, "names": ["Dougal", "Florence", "Ermintrude", "Zebedee", "Brian", "Dylan"], "empty2": [[], []], "nested": ["arrayelem", {"subobject": {"subarray": [[[123]]]}, "object key": "object val"}], "json_test": "This is only a test."}
195s -INFO: {"foo": "If this were real data, it would make more sense.", "piem": "Now I, even I, would celebrate\nIn rhymes unapt the great\nImmortal Syracusan rivaled nevermore,\nWho in his wondrous lore,\nPassed on before,\nLeft men his guidance\nHow to circles mensurate.\n", "empty": {}, "mixed": [null, null, 123, "foo", null, true, false, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "fred"], "names": ["Dougal", "Florence", "Ermintrude", "Zebedee", "Brian", "Dylan"], "empty2": [{}, {}], "nested": ["arrayelem", {"subobject": {"subarray": [[[123]]]}, "object key": "object val"}], "json_test": "This is only a test."}
195s -INFO: foo string nil string If this were real data, it would make more sense.
195s -INFO: piem string nil string Now I, even I, would celebrate
195s -In rhymes unapt the great
195s -Immortal Syracusan rivaled nevermore,
195s -Who in his wondrous lore,
195s -Passed on before,
195s -Left men his guidance
195s -How to circles mensurate.
195s -
195s -INFO: empty userdata object object {}
195s -INFO: mixed userdata array array [null, null, 123, "foo", null, true, false, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "fred"]
195s -INFO: 0 nil nil null nil
195s -INFO: 1 nil nil null nil
195s -INFO: 2 userdata nil number 123
195s -INFO: 3 string nil string foo
195s -INFO: 4 nil nil null nil
195s -INFO: 5 boolean nil boolean true
195s -INFO: 6 boolean nil boolean false
195s -INFO: 7 nil nil null nil
195s -INFO: 8 nil nil null nil
195s -INFO: 9 nil nil null nil
195s -INFO: 10 nil nil null nil
195s -INFO: 11 nil nil null nil
195s -INFO: 12 nil nil null nil
195s -INFO: 13 nil nil null nil
195s -INFO: 14 nil nil null nil
195s -INFO: 15 nil nil null nil
195s -INFO: 16 nil nil null nil
195s -INFO: 17 nil nil null nil
195s -INFO: 18 nil nil null nil
195s -INFO: 19 nil nil null nil
195s -INFO: 20 nil nil null nil
195s -INFO: 21 nil nil null nil
195s -INFO: 22 string nil string fred
195s -INFO: names userdata array array ["Dougal", "Florence", "Ermintrude", "Zebedee", "Brian", "Dylan"]
195s -INFO: empty2 userdata array array [{}, {}]
195s -INFO: nested userdata array array ["arrayelem", {"subobject": {"subarray": [[[123]]]}, "object key": "object val"}]
195s -INFO: json_test string nil string This is only a test.
195s -INFO: foo If this were real data, it would make more sense.
195s -INFO: piem Now I, even I, would celebrate
195s -In rhymes unapt the great
195s -Immortal Syracusan rivaled nevermore,
195s -Who in his wondrous lore,
195s -Passed on before,
195s -Left men his guidance
195s -How to circles mensurate.
195s -
195s -INFO: empty []
195s -INFO: mixed [null, null, 123, "foo", null, true, false, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "fred"]
195s -INFO: names ["Dougal", "Florence", "Ermintrude", "Zebedee", "Brian", "Dylan"]
195s -INFO: empty2 [[], []]
195s -INFO: nested ["arrayelem", {"subobject": {"subarray": [[[123]]]}, "object key": "object val"}]
195s -INFO: json_test This is only a test.
195s +ERROR: language "pllua" does not exist
195s select a, pg_typeof(a) from jt1;
195s - a | pg_typeof
195s ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------
195s - {"foo": "If this were real data, it would make more sense.", "piem": "Now I, even I, would celebrate\nIn rhymes unapt the great\nImmortal Syracusan rivaled nevermore,\nWho in his wondrous lore,\nPassed on before,\nLeft men his guidance\nHow to circles mensurate.\n", "empty": [], "mixed": [null, null, 123, "foo", null, true, false, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "fred"], "names": ["Dougal", "Florence", "Ermintrude", "Zebedee", "Brian", "Dylan"], "empty2": [[], []], "nested": ["arrayelem", {"subobject": {"subarray": [[[123]]]}, "object key": "object val"}], "json_test": "This is only a test."} | jsonb
195s -(1 row)
195s -
195s +ERROR: relation "jt1" does not exist at character 29
195s create temp table jt2(id serial, a jsonb);
195s insert into jt2(a) values ('1');
195s insert into jt2(a) values ('"foo"');
195s @@ -138,63 +77,7 @@
195s print(type(b))
195s end
195s $$;
195s -INFO: 1 number
195s -INFO: mapfunc nil nil 1
195s -INFO: number
195s -INFO: "foo" string
195s -INFO: mapfunc nil nil foo
195s -INFO: string
195s -INFO: true boolean
195s -INFO: mapfunc nil nil true
195s -INFO: boolean
195s -INFO: null null
195s -INFO: mapfunc nil nil nil
195s -INFO: nil
195s -INFO: {"foo": 123} object
195s -INFO: mapfunc string foo 123
195s -INFO: mapfunc nil nil table
195s -INFO: table
195s -INFO: {"foo": null} object
195s -INFO: mapfunc string foo nil
195s -INFO: mapfunc nil nil table
195s -INFO: table
195s -INFO: [10, 20, 30] array
195s -INFO: mapfunc number 0 10
195s -INFO: mapfunc number 1 20
195s -INFO: mapfunc number 2 30
195s -INFO: mapfunc nil nil table
195s -INFO: table
195s -INFO: {"foo": [2, 4, 6]} object
195s -INFO: mapfunc number 0 2 foo
195s -INFO: mapfunc number 1 4 foo
195s -INFO: mapfunc number 2 6 foo
195s -INFO: mapfunc string foo table
195s -INFO: mapfunc nil nil table
195s -INFO: table
195s -INFO: [{"foo": "bar"}, {"baz": "foo"}, 123, null] array
195s -INFO: mapfunc string foo bar 0
195s -INFO: mapfunc number 0 table
195s -INFO: mapfunc string baz foo 1
195s -INFO: mapfunc number 1 table
195s -INFO: mapfunc number 2 123
195s -INFO: mapfunc number 3 nil
195s -INFO: mapfunc nil nil table
195s -INFO: table
195s -INFO: {"1": "foo", "2": [false, true], "foo": {}} object
195s -INFO: mapfunc string 1 foo
195s -INFO: mapfunc number 0 false 2
195s -INFO: mapfunc number 1 true 2
195s -INFO: mapfunc string 2 table
195s -INFO: mapfunc string foo table
195s -INFO: mapfunc nil nil table
195s -INFO: table
195s -INFO: {"1": "foo", "2": [false, true]} object
195s -INFO: mapfunc string 1 foo
195s -INFO: mapfunc number 0 false 2
195s -INFO: mapfunc number 1 true 2
195s -INFO: mapfunc string 2 table
195s -INFO: mapfunc nil nil table
195s -INFO: table
195s +ERROR: language "pllua" does not exist
195s create temp table jt3(id integer, a jsonb);
195s -- first row should be plain, then a couple with compressed values,
195s -- then a couple with external toast
195s @@ -208,11 +91,7 @@
195s print(jsonb.type(r.a),#a,a[#a])
195s end
195s $$;
195s -INFO: array 101 1
195s -INFO: array 1001 2
195s -INFO: array 10001 3
195s -INFO: array 100001 4
195s -INFO: array 1000001 5
195s +ERROR: language "pllua" does not exist
195s -- test jsonb in jsonb and similar paths
195s do language pllua $$
195s local jtst1 = pgtype.jsonb('"foo"') -- json scalar
195s @@ -222,7 +101,7 @@
195s v2 = jtst2,
195s v3 = ts1 }))
195s $$;
195s -INFO: {"v1": "foo", "v2": {"bar": [1, 2, false], "foo": true}, "v3": "2017-12-19T12:00:00"}
195s +ERROR: language "pllua" does not exist
195s -- test round-trip conversions
195s do language pllua $$
195s local j_in = pgtype.jsonb('{"foo":[1,null,false,{"a":null,"b":[]},{},[]]}')
195s @@ -232,6 +111,5 @@
195s print(j_in)
195s print(j_out)
195s $$;
195s -INFO: {"foo": [1, null, false, {"a": null, "b": []}, {}, []]}
195s -INFO: {"foo": [1, null, false, {"a": null, "b": []}, {}, []]}
195s +ERROR: language "pllua" does not exist
195s --end
195s diff -U3 /tmp/autopkgtest.eqpTSM/build.9UR/src/expected/numerics.out /tmp/autopkgtest.eqpTSM/build.9UR/src/results/numerics.out
195s --- /tmp/autopkgtest.eqpTSM/build.9UR/src/expected/numerics.out 2023-07-29 18:06:29.000000000 +0000
195s +++ /tmp/autopkgtest.eqpTSM/build.9UR/src/results/numerics.out 2025-02-19 04:33:54.668554267 +0000
195s @@ -14,6 +14,7 @@
195s do
195s num = require "pllua.numeric"
195s $$;
195s +ERROR: language "pllua" does not exist
195s create function pg_numexec(code text, n1 numeric, n2 numeric)
195s returns text
195s language plpgsql
195s @@ -61,55 +62,7 @@
195s $$ num.exp(n2) $$
195s ]) as u(code))
195s select (lua = pg) as ok, * from t;
195s - ok | code | lua | pg
195s -----+-------------------------+--------------------------------+--------------------------------
195s - t | n1 + n2 | 5437.223456 | 5437.223456
195s - t | n1 - n2 | 5441.023456 | 5441.023456
195s - t | n1 * n2 | -10334.3345664 | -10334.3345664
195s - t | n1 / n2 | -2862.6965557894736842 | -2862.6965557894736842
195s - t | n1 % n2 | 1.323456 | 1.323456
195s - t | n1 ^ n2 | 0.00000007989048519637487 | 0.00000007989048519637487
195s - t | (-n1) + n2 | -5441.023456 | -5441.023456
195s - t | (-n1) - n2 | -5437.223456 | -5437.223456
195s - t | (-n1) * n2 | 10334.3345664 | 10334.3345664
195s - t | (-n1) / n2 | 2862.6965557894736842 | 2862.6965557894736842
195s - t | (-n1) % n2 | -1.323456 | -1.323456
195s - t | (-n1) ^ 3 | -160911376260.906871 | -160911376260.906871
195s - t | (-n1) + (-n2) | -5437.223456 | -5437.223456
195s - t | (-n1) - (-n2) | -5441.023456 | -5441.023456
195s - t | (-n1) * (-n2) | -10334.3345664 | -10334.3345664
195s - t | (-n1) / (-n2) | -2862.6965557894736842 | -2862.6965557894736842
195s - t | (-n1) % (-n2) | -1.323456 | -1.323456
195s - t | (-n1) ^ (-3) | -0.000000000006214601001103663 | -0.000000000006214601001103663
195s - t | (n1) > (n2) | true | true
195s - t | (n1) < (n2) | false | false
195s - t | (n1) >= (n2) | true | true
195s - t | (n1) <= (n2) | false | false
195s - t | (n1) > (n2*10000) | true | true
195s - t | (n1) < (n2*10000) | false | false
195s - t | (n1) >= (n2 * -10000) | false | false
195s - t | (n1) <= (n2 * -10000) | true | true
195s - t | num.round(n1) | 5439 | 5439
195s - t | num.round(n2) | -2 | -2
195s - t | num.round(n1,4) | 5439.1235 | 5439.1235
195s - t | num.round(n1,-1) | 5440 | 5440
195s - t | num.trunc(n1) | 5439 | 5439
195s - t | num.trunc(n2) | -1 | -1
195s - t | num.trunc(n1,4) | 5439.1234 | 5439.1234
195s - t | num.trunc(n1,-1) | 5430 | 5430
195s - t | num.floor(n1) | 5439 | 5439
195s - t | num.floor(n2) | -2 | -2
195s - t | num.ceil(n1) | 5440 | 5440
195s - t | num.ceil(n2) | -1 | -1
195s - t | num.abs(n1) | 5439.123456 | 5439.123456
195s - t | num.abs(n2) | 1.9 | 1.9
195s - t | num.sign(n1) | 1 | 1
195s - t | num.sign(n2) | -1 | -1
195s - t | num.sqrt(n1) | 73.750413259859093 | 73.750413259859093
195s - t | num.exp(12.3) | 219695.98867213773 | 219695.98867213773
195s - t | num.exp(n2) | 0.1495686192226351 | 0.1495686192226351
195s -(45 rows)
195s -
195s +ERROR: function lua_numexec(text, numeric, numeric) does not exist at character 42
195s -- calculate pi to 40 places
195s do language pllua $$
195s -- Chudnovsky formula; ~14 digits per round, we use 4 rounds
195s @@ -132,7 +85,7 @@
195s end
195s print(pi())
195s $$;
195s -INFO: 3.1415926535897932384626433832795028841972
195s +ERROR: language "pllua" does not exist
195s -- check sanity of maxinteger/mininteger
195s do language pllua $$
195s local num = require 'pllua.numeric'
195s @@ -142,5 +95,4 @@
195s print(type(num.tointeger(mini)), type(num.tointeger(mini-1)))
195s $$
195s --end
195s -INFO: number nil
195s -INFO: number nil
195s +ERROR: language "pllua" does not exist
195s diff -U3 /tmp/autopkgtest.eqpTSM/build.9UR/src/expected/horology.out /tmp/autopkgtest.eqpTSM/build.9UR/src/results/horology.out
195s --- /tmp/autopkgtest.eqpTSM/build.9UR/src/expected/horology.out 2023-07-29 18:06:29.000000000 +0000
195s +++ /tmp/autopkgtest.eqpTSM/build.9UR/src/results/horology.out 2025-02-19 04:33:54.698554267 +0000
195s @@ -15,15 +15,7 @@
195s print(pgtype.timestamptz{ year=2019, month=4, day=22, hour=12, min=23, sec=34, usec=123456 });
195s print(pgtype.timestamptz{ year=2019, month=4, day=22, hour=12, min=23, sec=34.1, msec=1, usec=1 });
195s $$;
195s -INFO: 2019-04-22 12:23:34.1+00
195s -INFO: 2419-04-22 12:23:34.1+00
195s -INFO: 1919-04-22 12:23:34.1+00
195s -INFO: 1819-04-22 12:23:34.1+00
195s -INFO: 1019-04-22 12:23:34.1+00
195s -INFO: 2020-04-22 12:23:34.1+00 BC
195s -INFO: 4714-12-01 12:23:34.1+00 BC
195s -INFO: 2019-04-22 12:23:34.123456+00
195s -INFO: 2019-04-22 12:23:34.101001+00
195s +ERROR: language "pllua" does not exist
195s do language pllua $$
195s print(pgtype.timestamptz{ epoch=0 });
195s print(pgtype.timestamptz{ epoch=1555891200 });
195s @@ -38,18 +30,7 @@
195s print(pgtype.timestamptz{ epoch_msec=-1555891200001 });
195s print(pgtype.timestamptz{ epoch_usec=-1555891200000001 });
195s $$;
195s -INFO: 1970-01-01 00:00:00+00
195s -INFO: 2019-04-22 00:00:00+00
195s -INFO: 2019-04-22 00:00:00.000001+00
195s -INFO: 2019-04-22 00:00:00.001+00
195s -INFO: 2019-04-22 00:00:00.000001+00
195s -INFO: 2019-04-22 00:00:00.001001+00
195s -INFO: 2019-04-21 23:59:59.999001+00
195s -INFO: 1920-09-12 00:00:00+00
195s -INFO: 1920-09-12 00:00:00.000999+00
195s -INFO: 1920-09-11 23:59:59.999001+00
195s -INFO: 1920-09-11 23:59:59.999+00
195s -INFO: 1920-09-11 23:59:59.999999+00
195s +ERROR: language "pllua" does not exist
195s do language pllua $$
195s print(pgtype.timestamptz{ year=2019, month=4, day=22, hour=12, min=23, sec=34.1, timezone=10800 });
195s print(pgtype.timestamptz{ year=2019, month=4, day=22, hour=12, min=23, sec=34.1, timezone=-10800 });
195s @@ -64,24 +45,12 @@
195s print(pgtype.timestamptz{ year=2018, month=10, day=28, hour=1, min=30, sec=0, isdst=true, timezone="Europe/London" });
195s print(pgtype.timestamptz{ year=2018, month=10, day=28, hour=1, min=30, sec=0, isdst=false, timezone="Europe/London" });
195s $$;
195s -INFO: 2019-04-22 09:23:34.1+00
195s -INFO: 2019-04-22 15:23:34.1+00
195s -INFO: 2019-04-22 09:23:34.1+00
195s -INFO: 2019-04-22 15:23:34.1+00
195s -INFO: 2019-04-21 22:23:34.1+00
195s -INFO: 2019-04-23 02:23:34.1+00
195s -INFO: 2019-04-22 19:23:34.1+00
195s -INFO: 2019-04-22 00:23:34.1+00
195s -INFO: 2019-04-22 06:38:34.1+00
195s -INFO: 2018-10-28 01:30:00+00
195s -INFO: 2018-10-28 00:30:00+00
195s -INFO: 2018-10-28 01:30:00+00
195s +ERROR: language "pllua" does not exist
195s do language pllua $$
195s print(pgtype.timestamptz{ epoch=1/0 });
195s print(pgtype.timestamptz{ epoch=-1/0 });
195s $$;
195s -INFO: infinity
195s -INFO: -infinity
195s +ERROR: language "pllua" does not exist
195s do language pllua $$
195s print(pgtype.timestamptz{ year=2019, month=4, day=22, hour=12, min=23, sec=1, usec=59000000 });
195s print(pgtype.timestamptz{ year=2019, month=4, day=22, hour=12, min=23, sec=-1 });
195s @@ -102,24 +71,7 @@
195s print(pgtype.timestamptz{ year=2019, month=-4, day=22, hour=12, min=23, sec=34 });
195s print(pgtype.timestamptz{ year=2019, month=16, day=22, hour=12, min=23, sec=34 });
195s $$;
195s -INFO: 2019-04-22 12:24:00+00
195s -INFO: 2019-04-22 12:22:59+00
195s -INFO: 2019-04-22 12:22:00+00
195s -INFO: 2019-04-22 12:21:59+00
195s -INFO: 2019-04-22 12:24:00+00
195s -INFO: 2019-04-22 12:24:01+00
195s -INFO: 2019-04-22 12:25:00+00
195s -INFO: 2019-04-22 13:01:01+00
195s -INFO: 2019-04-23 00:00:01+00
195s -INFO: 2019-04-21 23:59:59+00
195s -INFO: 2019-05-02 12:00:00+00
195s -INFO: 2019-04-23 01:01:01+00
195s -INFO: 2019-04-23 00:00:00+00
195s -INFO: 2019-04-23 00:00:01+00
195s -INFO: 2019-05-02 00:00:01+00
195s -INFO: 2019-04-21 23:00:01+00
195s -INFO: 2018-08-22 12:23:34+00
195s -INFO: 2020-04-22 12:23:34+00
195s +ERROR: language "pllua" does not exist
195s do language pllua $$
195s print(pgtype.timestamp{ year=2019, month=4, day=22, hour=12, min=23, sec=34.1 });
195s print(pgtype.timestamp{ year=2419, month=4, day=22, hour=12, min=23, sec=34.1 });
195s @@ -131,15 +83,7 @@
195s print(pgtype.timestamp{ year=2019, month=4, day=22, hour=12, min=23, sec=34, usec=123456 });
195s print(pgtype.timestamp{ year=2019, month=4, day=22, hour=12, min=23, sec=34.1, msec=1, usec=1 });
195s $$;
195s -INFO: 2019-04-22 12:23:34.1
195s -INFO: 2419-04-22 12:23:34.1
195s -INFO: 1919-04-22 12:23:34.1
195s -INFO: 1819-04-22 12:23:34.1
195s -INFO: 1019-04-22 12:23:34.1
195s -INFO: 2020-04-22 12:23:34.1 BC
195s -INFO: 4714-12-01 12:23:34.1 BC
195s -INFO: 2019-04-22 12:23:34.123456
195s -INFO: 2019-04-22 12:23:34.101001
195s +ERROR: language "pllua" does not exist
195s do language pllua $$
195s print(pgtype.timestamp{ epoch=0 });
195s print(pgtype.timestamp{ epoch=1555891200 });
195s @@ -157,21 +101,7 @@
195s print(pgtype.timestamp{ epoch=1555891200, timezone="Pacific/Auckland" });
195s print(pgtype.timestamp{ epoch=1555891200, timezone="Asia/Kathmandu" });
195s $$;
195s -INFO: 1970-01-01 00:00:00
195s -INFO: 2019-04-22 00:00:00
195s -INFO: 2019-04-22 00:00:00.000001
195s -INFO: 2019-04-22 00:00:00.001
195s -INFO: 2019-04-22 00:00:00.000001
195s -INFO: 2019-04-22 00:00:00.001001
195s -INFO: 2019-04-21 23:59:59.999001
195s -INFO: 1920-09-12 00:00:00
195s -INFO: 1920-09-12 00:00:00.000999
195s -INFO: 1920-09-11 23:59:59.999001
195s -INFO: 1920-09-11 23:59:59.999
195s -INFO: 1920-09-11 23:59:59.999999
195s -INFO: 2019-04-21 17:00:00
195s -INFO: 2019-04-22 12:00:00
195s -INFO: 2019-04-22 05:45:00
195s +ERROR: language "pllua" does not exist
195s do language pllua $$
195s print(pgtype.date{ year=2019, month=4, day=22 });
195s print(pgtype.date{ year=2419, month=2, day=22 });
195s @@ -183,15 +113,7 @@
195s print(pgtype.date{ year=2019, month=4, day=22, hour=24 });
195s print(pgtype.date{ year=2019, month=4, day=22, hour=24, min=1 });
195s $$;
195s -INFO: 2019-04-22
195s -INFO: 2419-02-22
195s -INFO: 1919-01-22
195s -INFO: 1819-03-22
195s -INFO: 1019-05-22
195s -INFO: 2020-04-22 BC
195s -INFO: 4714-12-01 BC
195s -INFO: 2019-04-22
195s -INFO: 2019-04-23
195s +ERROR: language "pllua" does not exist
195s do language pllua $$
195s print(pgtype.date{ epoch=0 });
195s print(pgtype.date{ epoch=1555891200 });
195s @@ -206,18 +128,7 @@
195s print(pgtype.date{ epoch=1555891200, timezone="Pacific/Auckland" });
195s print(pgtype.date{ epoch=1555891200, timezone="Asia/Kathmandu" });
195s $$;
195s -INFO: 1970-01-01
195s -INFO: 2019-04-22
195s -INFO: 2019-04-22
195s -INFO: 2019-04-22
195s -INFO: 2019-04-22
195s -INFO: 2019-04-22
195s -INFO: 1920-09-12
195s -INFO: 1920-09-11
195s -INFO: 1920-09-11
195s -INFO: 2019-04-21
195s -INFO: 2019-04-22
195s -INFO: 2019-04-22
195s +ERROR: language "pllua" does not exist
195s do language pllua $$
195s print(pgtype.time{ hour=12, min=23, sec=34.1 });
195s print(pgtype.time{ hour=12, min=120, sec=1 });
195s @@ -226,36 +137,25 @@
195s print(pgtype.time{ hour=12, min=23, sec=34, usec=123456 });
195s print(pgtype.time{ hour=12, min=23, sec=34.1, msec=1, usec=1 });
195s $$;
195s -INFO: 12:23:34.1
195s -INFO: 14:00:01
195s -INFO: 00:23:34.1
195s -INFO: 01:23:34.1
195s -INFO: 12:23:34.123456
195s -INFO: 12:23:34.101001
195s +ERROR: language "pllua" does not exist
195s do language pllua $$
195s print(pgtype.time{ epoch=0 });
195s print(pgtype.time{ epoch=3601 });
195s print(pgtype.time{ epoch=86400 });
195s print(pgtype.time{ epoch=1555891200 });
195s $$;
195s -INFO: 00:00:00
195s -INFO: 01:00:01
195s -INFO: 00:00:00
195s -INFO: 00:00:00
195s +ERROR: language "pllua" does not exist
195s do language pllua $$
195s print(pgtype.timetz{ hour=12, min=23, sec=34.1, timezone=7200 });
195s $$;
195s -INFO: 12:23:34.1+02
195s +ERROR: language "pllua" does not exist
195s do language pllua $$
195s print(pgtype.timetz{ epoch=0, timezone=3600 });
195s print(pgtype.timetz{ epoch=3601, timezone=-3600 });
195s print(pgtype.timetz{ epoch=86400, timezone=-43200 });
195s print(pgtype.timetz{ epoch=1555891200, timezone=0 });
195s $$;
195s -INFO: 00:00:00+01
195s -INFO: 01:00:01-01
195s -INFO: 00:00:00-12
195s -INFO: 00:00:00+00
195s +ERROR: language "pllua" does not exist
195s do language pllua $$
195s print(pgtype.interval{ year=0, month=0, day=0, hour=0, min=0, sec=0, usec=0 });
195s print(pgtype.interval{ year=100 });
195s @@ -267,74 +167,63 @@
195s print(pgtype.interval{ usec=1 });
195s print(pgtype.interval{ year=1, month=2, day=3, hour=4, min=5, sec=6, usec=7 });
195s $$;
195s -INFO: @ 0
195s -INFO: @ 100 years
195s -INFO: @ 8 years 4 mons
195s -INFO: @ 100 days
195s -INFO: @ 100 hours
195s -INFO: @ 1 hour 40 mins
195s -INFO: @ 1 min 40 secs
195s -INFO: @ 0.000001 secs
195s -INFO: @ 1 year 2 mons 3 days 4 hours 5 mins 6.000007 secs
195s +ERROR: language "pllua" does not exist
195s do language pllua $$
195s print(pgtype.interval{ epoch=0 });
195s print(pgtype.interval{ epoch=120 });
195s print(pgtype.interval{ epoch=43200 });
195s print(pgtype.interval{ epoch=86400 });
195s $$;
195s -INFO: @ 0
195s -INFO: @ 2 mins
195s -INFO: @ 12 hours
195s -INFO: @ 24 hours
195s +ERROR: language "pllua" does not exist
195s -- input error cases.
195s do language pllua $$ print(pgtype.interval{ hour="foo" }); $$;
195s -ERROR: pllua: invalid value in field 'hour'
195s +ERROR: language "pllua" does not exist
195s do language pllua $$ print(pgtype.interval{ hour=1.2 }); $$;
195s -ERROR: pllua: invalid value in field 'hour'
195s +ERROR: language "pllua" does not exist
195s do language pllua $$ print(pgtype.interval{ hour=0/0 }); $$;
195s -ERROR: pllua: invalid value in field 'hour'
195s +ERROR: language "pllua" does not exist
195s do language pllua $$ print(pgtype.interval{ hour=1/0 }); $$;
195s -ERROR: pllua: infinite values not permitted for this type
195s +ERROR: language "pllua" does not exist
195s do language pllua $$ print(pgtype.interval{ sec=1/0 }); $$;
195s -ERROR: pllua: infinite values not permitted for this type
195s +ERROR: language "pllua" does not exist
195s do language pllua $$ print(pgtype.interval{ usec=1/0 }); $$;
195s -ERROR: pllua: infinite values not permitted for this type
195s +ERROR: language "pllua" does not exist
195s do language pllua $$ print(pgtype.timestamptz{ year=1/0, month=1, day=-1/0 }); $$;
195s -ERROR: pllua: invalid value in field 'day'
195s +ERROR: language "pllua" does not exist
195s do language pllua $$ print(pgtype.timestamp{ epoch=0, timezone="1234" }); $$;
195s -ERROR: invalid timezone specified
195s +ERROR: language "pllua" does not exist
195s do language pllua $$ print(pgtype.timestamp{ epoch=0, timezone=1234.5 }); $$;
195s -ERROR: pllua: invalid value in field 'timezone'
195s +ERROR: language "pllua" does not exist
195s do language pllua $$ print(pgtype.timestamp{ epoch=0, timezone=function() end }); $$;
195s -ERROR: pllua: invalid value in field 'timezone'
195s +ERROR: language "pllua" does not exist
195s do language pllua $$ print(pgtype.timestamptz{ epoch=0, epoch_msec=0 }); $$;
195s -ERROR: pllua: cannot specify multiple epoch fields
195s +ERROR: language "pllua" does not exist
195s do language pllua $$ print(pgtype.timestamptz{ epoch=0, year=2019 }); $$;
195s -ERROR: pllua: cannot specify both epoch and date fields
195s +ERROR: language "pllua" does not exist
195s do language pllua $$ print(pgtype.timestamptz{ epoch=0, hour=20 }); $$;
195s -ERROR: pllua: cannot specify both epoch and time fields
195s +ERROR: language "pllua" does not exist
195s do language pllua $$ print(pgtype.timestamptz{ year=2019 }); $$;
195s -ERROR: pllua: missing datetime field 'mon'
195s +ERROR: language "pllua" does not exist
195s do language pllua $$ print(pgtype.timestamptz{ year=2019, month=4 }); $$;
195s -ERROR: pllua: missing datetime field 'day'
195s +ERROR: language "pllua" does not exist
195s do language pllua $$ print(pgtype.time{ min=10 }); $$;
195s -ERROR: pllua: missing datetime field 'hour'
195s +ERROR: language "pllua" does not exist
195s do language pllua $$ print(pgtype.time{ hour=20, sec=10 }); $$;
195s -ERROR: pllua: missing datetime field 'min'
195s +ERROR: language "pllua" does not exist
195s do language pllua $$ print(pgtype.timetz{ hour=20, timezone="America/Los_Angeles" }); $$;
195s -ERROR: pllua: non-numeric timezones not supported for 'timetz'
195s +ERROR: language "pllua" does not exist
195s do language pllua $$ print(pgtype.time{ hour=20, timezone="America/Los_Angeles" }); $$;
195s -ERROR: pllua: cannot specify timezone for this type
195s +ERROR: language "pllua" does not exist
195s do language pllua $$ print(pgtype.date{ year=2019, month=4, day=22, timezone="America/Los_Angeles" }); $$;
195s -ERROR: pllua: cannot specify timezone for this type
195s +ERROR: language "pllua" does not exist
195s do language pllua $$ print(pgtype.timestamp{ year=2019, month=4, day=22, hour=20, timezone="America/Los_Angeles" }); $$;
195s -ERROR: pllua: cannot specify timezone for this type
195s +ERROR: language "pllua" does not exist
195s do language pllua $$ print(pgtype.timestamptz{ epoch=-300000000000 }); $$;
195s -ERROR: timestamp out of range
195s +ERROR: language "pllua" does not exist
195s do language pllua $$ print(pgtype.timestamptz{ year=-5000, month=1, day=1 }); $$;
195s -ERROR: could not convert to timestamp
195s +ERROR: language "pllua" does not exist
195s do language pllua $$ print(pgtype.date{ year=-5000, month=1, day=1 }); $$;
195s -INFO: 4760-06-20 BC
195s +ERROR: language "pllua" does not exist
195s -- 2. output of values in table form.
195s do language pllua $$
195s local function prt(t,z)
195s @@ -354,73 +243,10 @@
195s prt(pgtype.timetz('10:20:30+04'))
195s prt(pgtype.interval('P1Y2M3DT4H5M6S'))
195s $$;
195s -INFO: 2019-04-22 10:20:30+00
195s -INFO: day 22
195s -INFO: hour 10
195s -INFO: isdst false
195s -INFO: min 20
195s -INFO: month 4
195s -INFO: sec 30
195s -INFO: timezone 0
195s -INFO: timezone_abbrev GMT
195s -INFO: usec 0
195s -INFO: year 2019
195s -INFO: 2019-04-22 10:20:30+00
195s -INFO: day 22
195s -INFO: hour 3
195s -INFO: isdst true
195s -INFO: min 20
195s -INFO: month 4
195s -INFO: sec 30
195s -INFO: timezone -25200
195s -INFO: timezone_abbrev PDT
195s -INFO: usec 0
195s -INFO: year 2019
195s -INFO: 2019-04-22 10:20:30+00
195s -INFO: day 22
195s -INFO: hour 16
195s -INFO: isdst false
195s -INFO: min 5
195s -INFO: month 4
195s -INFO: sec 30
195s -INFO: timezone 20700
195s -INFO: timezone_abbrev +0545
195s -INFO: usec 0
195s -INFO: year 2019
195s -INFO: 2019-04-22 10:20:30
195s -INFO: day 22
195s -INFO: hour 10
195s -INFO: min 20
195s -INFO: month 4
195s -INFO: sec 30
195s -INFO: usec 0
195s -INFO: year 2019
195s -INFO: 2019-04-22
195s -INFO: day 22
195s -INFO: month 4
195s -INFO: year 2019
195s -INFO: 10:20:30
195s -INFO: hour 10
195s -INFO: min 20
195s -INFO: sec 30
195s -INFO: usec 0
195s -INFO: 10:20:30+04
195s -INFO: hour 10
195s -INFO: min 20
195s -INFO: sec 30
195s -INFO: timezone 14400
195s -INFO: usec 0
195s -INFO: @ 1 year 2 mons 3 days 4 hours 5 mins 6 secs
195s -INFO: day 3
195s -INFO: hour 4
195s -INFO: min 5
195s -INFO: month 2
195s -INFO: sec 6
195s -INFO: usec 0
195s -INFO: year 1
195s +ERROR: language "pllua" does not exist
195s -- error
195s do language pllua $$ print(pgtype.timestamp('2019-04-22 10:20:30+00'):as_table('Europe/London')) $$;
195s -ERROR: pllua: [string "DO-block"]:1: cannot specify timezone parameter for this type
195s +ERROR: language "pllua" does not exist
195s -- 3. Field access
195s -- note, fields come out in session timezone, so set that:
195s set timezone = 'Europe/London';
195s @@ -438,31 +264,7 @@
195s print(k, t[k])
195s end
195s $$;
195s -INFO: century 20
195s -INFO: day 10
195s -INFO: decade 196
195s -INFO: dow 5
195s -INFO: doy 131
195s -INFO: epoch -51916498.765433
195s -INFO: epoch_msec -51916498765.433
195s -INFO: epoch_usec -51916498765433
195s -INFO: hour 3
195s -INFO: isodow 5
195s -INFO: isoweek 19
195s -INFO: isoyear 1968
195s -INFO: julian 2439987
195s -INFO: microseconds 1234567
195s -INFO: millennium 2
195s -INFO: milliseconds 1235
195s -INFO: minute 45
195s -INFO: month 5
195s -INFO: quarter 2
195s -INFO: second 1.234567
195s -INFO: timezone 3600
195s -INFO: timezone_hour 1
195s -INFO: timezone_minute 0
195s -INFO: week 19
195s -INFO: year 1968
195s +ERROR: language "pllua" does not exist
195s set timezone = 'UTC';
195s do language pllua $$
195s local t = pgtype.timestamp('1968-05-10 03:45:01.234567')
195s @@ -477,28 +279,7 @@
195s print(k, t[k])
195s end
195s $$;
195s -INFO: century 20
195s -INFO: day 10
195s -INFO: decade 196
195s -INFO: dow 5
195s -INFO: doy 131
195s -INFO: epoch -51912898.765433
195s -INFO: epoch_msec -51912898765.433
195s -INFO: epoch_usec -51912898765433
195s -INFO: hour 3
195s -INFO: isodow 5
195s -INFO: isoweek 19
195s -INFO: isoyear 1968
195s -INFO: julian 2439987
195s -INFO: microseconds 1234567
195s -INFO: millennium 2
195s -INFO: milliseconds 1235
195s -INFO: minute 45
195s -INFO: month 5
195s -INFO: quarter 2
195s -INFO: second 1.234567
195s -INFO: week 19
195s -INFO: year 1968
195s +ERROR: language "pllua" does not exist
195s do language pllua $$
195s local t = pgtype.date('1968-05-10')
195s
195s @@ -512,28 +293,7 @@
195s print(k, string.format("%.18g",t[k]))
195s end
195s $$;
195s -INFO: century 20
195s -INFO: day 10
195s -INFO: decade 196
195s -INFO: dow 5
195s -INFO: doy 131
195s -INFO: epoch -51926400
195s -INFO: epoch_msec -51926400000
195s -INFO: epoch_usec -51926400000000
195s -INFO: hour 0
195s -INFO: isodow 5
195s -INFO: isoweek 19
195s -INFO: isoyear 1968
195s -INFO: julian 2439987
195s -INFO: microseconds 0
195s -INFO: millennium 2
195s -INFO: milliseconds 0
195s -INFO: minute 0
195s -INFO: month 5
195s -INFO: quarter 2
195s -INFO: second 0
195s -INFO: week 19
195s -INFO: year 1968
195s +ERROR: language "pllua" does not exist
195s do language pllua $$
195s local t = pgtype.time('03:45:01.234567')
195s
195s @@ -543,14 +303,7 @@
195s print(k, t[k])
195s end
195s $$;
195s -INFO: epoch 13501.234567
195s -INFO: epoch_msec 13501234.567
195s -INFO: epoch_usec 13501234567
195s -INFO: hour 3
195s -INFO: microseconds 1234567
195s -INFO: milliseconds 1235
195s -INFO: minute 45
195s -INFO: second 1.234567
195s +ERROR: language "pllua" does not exist
195s do language pllua $$
195s local t = pgtype.timetz('03:45:01.234567+01')
195s
195s @@ -562,17 +315,7 @@
195s print(k, t[k])
195s end
195s $$;
195s -INFO: epoch 9901.234567
195s -INFO: epoch_msec 9901234.567
195s -INFO: epoch_usec 9901234567
195s -INFO: hour 3
195s -INFO: microseconds 1234567
195s -INFO: milliseconds 1235
195s -INFO: minute 45
195s -INFO: second 1.234567
195s -INFO: timezone 3600
195s -INFO: timezone_hour 1
195s -INFO: timezone_minute 0
195s +ERROR: language "pllua" does not exist
195s do language pllua $$
195s local t = pgtype.interval('P1Y2M3DT4H5M6.789001S')
195s
195s @@ -585,19 +328,5 @@
195s print(k, t[k])
195s end
195s $$;
195s -INFO: century 0
195s -INFO: day 3
195s -INFO: decade 0
195s -INFO: epoch 37015506.789001
195s -INFO: epoch_msec 37015506789.001
195s -INFO: epoch_usec 37015506789001
195s -INFO: hour 4
195s -INFO: microseconds 6789001
195s -INFO: millennium 0
195s -INFO: milliseconds 6789
195s -INFO: minute 5
195s -INFO: month 2
195s -INFO: quarter 1
195s -INFO: second 6.789001
195s -INFO: year 1
195s +ERROR: language "pllua" does not exist
195s --end
195s diff -U3 /tmp/autopkgtest.eqpTSM/build.9UR/src/expected/horology-errors.out /tmp/autopkgtest.eqpTSM/build.9UR/src/results/horology-errors.out
195s --- /tmp/autopkgtest.eqpTSM/build.9UR/src/expected/horology-errors.out 2023-07-29 18:06:29.000000000 +0000
195s +++ /tmp/autopkgtest.eqpTSM/build.9UR/src/results/horology-errors.out 2025-02-19 04:33:54.718554267 +0000
195s @@ -5,5 +5,5 @@
195s set datestyle = 'ISO,YMD';
195s -- errors (not worth testing many combinations, they all share a code path)
195s do language pllua $$ print(pgtype.time('03:45:01.234567').dow) $$;
195s -ERROR: unit "dow" not supported for type time without time zone
195s +ERROR: language "pllua" does not exist
195s --end
195s diff -U3 /tmp/autopkgtest.eqpTSM/build.9UR/src/expected/paths.out /tmp/autopkgtest.eqpTSM/build.9UR/src/results/paths.out
195s --- /tmp/autopkgtest.eqpTSM/build.9UR/src/expected/paths.out 2023-07-29 18:06:29.000000000 +0000
195s +++ /tmp/autopkgtest.eqpTSM/build.9UR/src/results/paths.out 2025-02-19 04:33:54.738554267 +0000
195s @@ -4,6 +4,7 @@
195s create function pg_temp.tmp1(n text) returns text
195s language plluau immutable strict
195s as $$ return (require "pllua.paths")[n]() $$;
195s +ERROR: language "plluau" does not exist
195s -- some of the dirs might not actually exist, so we test only the
195s -- important ones. We can't actually test that the dir exists or what
195s -- the contents are, since many pg versions reject pg_stat_file on
195s @@ -14,13 +15,5 @@
195s with ordinality as u(n,ord),
195s pg_temp.tmp1(u.n) f(path)
195s order by u.ord;
195s - n | ?column?
195s ---------+----------
195s - bin | t
195s - lib | t
195s - libdir | t
195s - pkglib | t
195s - share | t
195s -(5 rows)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 149
195s --end
195s diff -U3 /tmp/autopkgtest.eqpTSM/build.9UR/src/expected/rowdatum.out /tmp/autopkgtest.eqpTSM/build.9UR/src/results/rowdatum.out
195s --- /tmp/autopkgtest.eqpTSM/build.9UR/src/expected/rowdatum.out 2023-07-29 18:06:29.000000000 +0000
195s +++ /tmp/autopkgtest.eqpTSM/build.9UR/src/results/rowdatum.out 2025-02-19 04:33:54.998554267 +0000
195s @@ -20,11 +20,7 @@
195s r.jim = 4 -- modify pre-exploded value
195s print(pgtype.ntype1(r), r.fred, r.jim)
195s $$;
195s -INFO: 1 2
195s -INFO: 3 2
195s -INFO: (3,4) 3 4
195s -INFO: 3 2
195s -INFO: (3,4) 3 4
195s +ERROR: language "pllua" does not exist
195s do language pllua $$
195s local r0 = pgtype.ntype4("zzz",
195s { fred = 1, jim = 2 },
195s @@ -92,29 +88,7 @@
195s r.col1 = { fred = 100, jim = 200 }
195s print(r) print(pgtype.ntype4(r))
195s $$;
195s -INFO: 7
195s -INFO: abcde
195s -INFO: 1
195s -INFO: 4
195s -INFO: 6
195s -INFO: (1,2) ("{a,b,c}","(3,4)") (abcde,"(5,6)","(""{x,y,z}"",""(7,8)"")")
195s -INFO: 2 c abcde
195s -INFO: 4 6 z
195s -INFO: 8
195s -INFO: (zzz,"(1,2)","(""{a,b,c}"",""(3,4)"")","(abcde,""(5,6)"",""(""""{x,y,z}"""",""""(7,8)"""")"")")
195s -INFO: (zzz,"(1,2)","(""{a,b,c}"",""(3,4)"")","(abcde,""(5,6)"",""(""""{x,y,z}"""",""""(7,8)"""")"")")
195s -INFO: (zzz,"(1,2)","(""{a,k,c}"",""(3,4)"")","(abcde,""(5,6)"",""(""""{x,y,z}"""",""""(7,10)"""")"")")
195s -INFO: (zzz,"(1,2)","(""{a,k,c}"",""(3,4)"")","(abcde,""(5,6)"",""(""""{x,y,z}"""",""""(7,10)"""")"")")
195s -INFO: (zzz,"(-1,2)","(""{a,b,c}"",""(3,4)"")","(edcba,""(5,6)"",""(""""{x,y,z}"""",""""(0,80)"""")"")")
195s -INFO: (zzz,"(-1,2)","(""{a,b,c}"",""(3,4)"")","(edcba,""(5,6)"",""(""""{x,y,z}"""",""""(0,80)"""")"")")
195s -INFO: (yyy,"(1,20)","(""{a,b,c}"",""(3,4)"")","(abcde,""(5,6)"",""(""""{@,y,z}"""",""""(7,8)"""")"")")
195s -INFO: (yyy,"(1,20)","(""{a,b,c}"",""(3,4)"")","(abcde,""(5,6)"",""(""""{@,y,z}"""",""""(7,8)"""")"")")
195s -INFO: zzz 3
195s -INFO: (zzz,"(1,0)","(""{a,b,c}"",""(3,40)"")","(abcde,""(5,0)"",""(""""{x,y,z}"""",""""(7,8)"""")"")")
195s -INFO: (zzz,"(1,0)","(""{a,b,c}"",""(3,40)"")","(abcde,""(5,0)"",""(""""{x,y,z}"""",""""(7,8)"""")"")")
195s -INFO: zzz 3
195s -INFO: (yyy,"(100,200)","(""{a,b,c}"",""(0,4)"")","(abcde,""(-1,0)"",""(""""{x,y,z}"""",""""(7,8)"""")"")")
195s -INFO: (yyy,"(100,200)","(""{a,b,c}"",""(0,4)"")","(abcde,""(-1,0)"",""(""""{x,y,z}"""",""""(7,8)"""")"")")
195s +ERROR: language "pllua" does not exist
195s -- various dropped-column scenarios
195s create table ntab1 (fred integer, sheila text, jim numeric);
195s create table ntab2 (thingy text[], wotsit ntab1);
195s @@ -138,11 +112,7 @@
195s r.jim = 4 -- modify pre-exploded value
195s print(pgtype.ntab1(r), r.fred, r.jim)
195s $$;
195s -INFO: 1 2
195s -INFO: 3 2
195s -INFO: (3,4) 3 4
195s -INFO: 3 2
195s -INFO: (3,4) 3 4
195s +ERROR: language "pllua" does not exist
195s do language pllua $$
195s local tbl = spi.execute([[ select t from ntab4 t, generate_series(1,8) ]])
195s local r = tbl[1].t
195s @@ -201,27 +171,5 @@
195s r.col1 = { fred = 100, jim = 200 }
195s print(r) print(pgtype.ntab4(r))
195s $$;
195s -INFO: 1
195s -INFO: wot
195s -INFO: 1
195s -INFO: 1.23
195s -INFO: 1.23
195s -INFO: (1,1.23) ("{x,y}","(1,1.23)") (wot,"(1,1.23)","(""{x,y}"",""(1,1.23)"")")
195s -INFO: 1.23 nil wot
195s -INFO: 1.23 1.23 nil
195s -INFO: 1.23
195s -INFO: (rabbit,"(1,1.23)","(""{x,y}"",""(1,1.23)"")","(wot,""(1,1.23)"",""(""""{x,y}"""",""""(1,1.23)"""")"")")
195s -INFO: (rabbit,"(1,1.23)","(""{x,y}"",""(1,1.23)"")","(wot,""(1,1.23)"",""(""""{x,y}"""",""""(1,1.23)"""")"")")
195s -INFO: (rabbit,"(1,1.23)","(""{x,k}"",""(1,1.23)"")","(wot,""(1,1.23)"",""(""""{x,y}"""",""""(1,10)"""")"")")
195s -INFO: (rabbit,"(1,1.23)","(""{x,k}"",""(1,1.23)"")","(wot,""(1,1.23)"",""(""""{x,y}"""",""""(1,10)"""")"")")
195s -INFO: (rabbit,"(-1,1.23)","(""{x,y}"",""(1,1.23)"")","(edcba,""(1,1.23)"",""(""""{x,y}"""",""""(0,80)"""")"")")
195s -INFO: (rabbit,"(-1,1.23)","(""{x,y}"",""(1,1.23)"")","(edcba,""(1,1.23)"",""(""""{x,y}"""",""""(0,80)"""")"")")
195s -INFO: (yyy,"(1,20)","(""{x,y}"",""(1,1.23)"")","(wot,""(1,1.23)"",""(""""{@,y}"""",""""(1,1.23)"""")"")")
195s -INFO: (yyy,"(1,20)","(""{x,y}"",""(1,1.23)"")","(wot,""(1,1.23)"",""(""""{@,y}"""",""""(1,1.23)"""")"")")
195s -INFO: rabbit 1
195s -INFO: (rabbit,"(1,0)","(""{x,y}"",""(1,40)"")","(wot,""(1,0)"",""(""""{x,y}"""",""""(1,1.23)"""")"")")
195s -INFO: (rabbit,"(1,0)","(""{x,y}"",""(1,40)"")","(wot,""(1,0)"",""(""""{x,y}"""",""""(1,1.23)"""")"")")
195s -INFO: rabbit 1
195s -INFO: (yyy,"(100,200)","(""{x,y}"",""(0,1.23)"")","(wot,""(-1,0)"",""(""""{x,y}"""",""""(1,1.23)"""")"")")
195s -INFO: (yyy,"(100,200)","(""{x,y}"",""(0,1.23)"")","(wot,""(-1,0)"",""(""""{x,y}"""",""""(1,1.23)"""")"")")
195s +ERROR: language "pllua" does not exist
195s --end
195s diff -U3 /tmp/autopkgtest.eqpTSM/build.9UR/src/expected/spi.out /tmp/autopkgtest.eqpTSM/build.9UR/src/results/spi.out
195s --- /tmp/autopkgtest.eqpTSM/build.9UR/src/expected/spi.out 2023-07-29 18:06:29.000000000 +0000
195s +++ /tmp/autopkgtest.eqpTSM/build.9UR/src/results/spi.out 2025-02-19 04:33:55.018554267 +0000
195s @@ -27,15 +27,7 @@
195s tbl = spi.execute([[ select * from tsttab order by id ]])
195s for i = 1,#tbl do print(tbl[i]) end
195s $$;
195s -INFO: 1 (1,foo) userdata
195s -INFO: 1 foo
195s -INFO: 10000 (1,foo) (10000,foo)
195s -INFO: (1,1,foo,2.34,01-01-2017)
195s -INFO: (2,2,bar,2.34,02-01-2017)
195s -INFO: (3,3,baz,2.34,03-01-2017)
195s -INFO: (4,4,fred,2.34,04-01-2017)
195s -INFO: (5,5,jim,2.34,05-01-2017)
195s -INFO: (6,6,sheila,2.34,06-01-2017)
195s +ERROR: language "pllua" does not exist
195s -- statements
195s do language pllua $$
195s local stmt,tbl
195s @@ -54,10 +46,7 @@
195s tbl = stmt:execute(1)
195s print(#tbl,tbl[1])
195s $$;
195s -INFO: (1,1,foo,2.34,01-01-2017)
195s -INFO: (6,6,sheila,2.34,06-01-2017)
195s -INFO: 2 (1,1,foo,2.34,01-01-2017) (3,3,baz,2.34,03-01-2017)
195s -INFO: 1 (2,integer)
195s +ERROR: language "pllua" does not exist
195s -- iterators
195s do language pllua $$
195s for r in spi.rows([[ select * from tsttab order by id ]]) do
195s @@ -69,14 +58,7 @@
195s print(r)
195s end
195s $$;
195s -INFO: (1,1,foo,2.34,01-01-2017)
195s -INFO: (2,2,bar,2.34,02-01-2017)
195s -INFO: (3,3,baz,2.34,03-01-2017)
195s -INFO: (4,4,fred,2.34,04-01-2017)
195s -INFO: (5,5,jim,2.34,05-01-2017)
195s -INFO: (6,6,sheila,2.34,06-01-2017)
195s -INFO: (1,1,foo,2.34,01-01-2017)
195s -INFO: (3,3,baz,2.34,03-01-2017)
195s +ERROR: language "pllua" does not exist
195s do language pllua $$
195s local c = spi.newcursor('curs1')
195s local stmt = spi.prepare([[ select * from tsttab order by id for update ]])
195s @@ -93,18 +75,7 @@
195s spi.execute([[ update tsttab set c = c - 10 where id=3 ]])
195s c:close()
195s $$;
195s -INFO: (1,1,foo,2.34,01-01-2017)
195s -INFO: (2,2,bar,2.34,02-01-2017)
195s -INFO: (3,3,baz,2.34,03-01-2017)
195s -INFO: (4,4,fred,2.34,04-01-2017)
195s -INFO: (5,5,jim,2.34,05-01-2017)
195s -INFO: (6,6,sheila,2.34,06-01-2017)
195s -INFO: (1,1,foo,2.34,01-01-2017)
195s -INFO: (2,2,bar,2.34,02-01-2017)
195s -INFO: (3,3,baz,12.34,03-01-2017)
195s -INFO: (4,4,fred,2.34,04-01-2017)
195s -INFO: (5,5,jim,2.34,05-01-2017)
195s -INFO: (6,6,sheila,2.34,06-01-2017)
195s +ERROR: language "pllua" does not exist
195s -- cursors
195s begin;
195s declare foo scroll cursor for select * from tsttab order by id;
195s @@ -127,14 +98,7 @@
195s spi.execute("close foo")
195s print(c:isopen())
195s $$;
195s -INFO: 1 (1,1,foo,2.34,01-01-2017)
195s -INFO: 2 (2,2,bar,2.34,02-01-2017) (3,3,baz,2.34,03-01-2017)
195s -INFO: 1 (1,1,foo,2.34,01-01-2017)
195s -INFO: 1 (5,5,jim,2.34,05-01-2017)
195s -INFO: 1 (4,4,fred,2.34,04-01-2017)
195s -INFO: 1 (3,3,baz,2.34,03-01-2017)
195s -INFO: true
195s -INFO: false
195s +ERROR: language "pllua" does not exist
195s commit;
195s do language pllua $$
195s local c = spi.newcursor("bar")
195s @@ -157,10 +121,7 @@
195s end
195s c:close()
195s $$;
195s -INFO: 1 (3,3,baz,2.34,03-01-2017)
195s -INFO: bar select * from tsttab where id >= $1 order by id
195s -INFO: 2 (2,2,bar,2.34,02-01-2017) (1,1,foo,2.34,01-01-2017)
195s -INFO: bar select * from tsttab where id < $1 order by id desc
195s +ERROR: language "pllua" does not exist
195s -- cursor options on statement
195s do language pllua $$
195s local stmt = spi.prepare([[ select * from tsttab where id >= $1 order by id ]],
195s @@ -186,11 +147,7 @@
195s end
195s c:close()
195s $$;
195s -INFO: 3 (4,4,fred,2.34,04-01-2017) (5,5,jim,2.34,05-01-2017)
195s -INFO: 3 (4,4,fred,2.34,04-01-2017) (5,5,jim,2.34,05-01-2017)
195s -INFO: select * from tsttab where id >= $1 order by id true
195s -INFO: true
195s -INFO: select * from tsttab where id >= $1 order by id false
195s +ERROR: language "pllua" does not exist
195s -- check missing params are OK
195s do language pllua $$
195s local stmt = spi.prepare([[ select * from generate_series($1::integer, $3) i ]]);
195s @@ -198,9 +155,7 @@
195s print(type(stmt:argtype(2)))
195s print(stmt:argtype(3):name())
195s $$;
195s -INFO: integer
195s -INFO: nil
195s -INFO: integer
195s +ERROR: language "pllua" does not exist
195s -- check execute_count
195s do language pllua $$
195s local q = [[ select * from generate_series($1::integer,$2) i ]]
195s @@ -210,8 +165,7 @@
195s r1 = s:execute_count(3,1,5)
195s print(#r1)
195s $$;
195s -INFO: 2
195s -INFO: 3
195s +ERROR: language "pllua" does not exist
195s -- cursors as parameters and return values
195s create function do_fetch(c refcursor) returns void language pllua as $$
195s while true do
195s @@ -220,44 +174,24 @@
195s print(r)
195s end
195s $$;
195s +ERROR: language "pllua" does not exist
195s create function do_exec(q text, n text) returns refcursor language pllua as $$
195s local s = spi.prepare(q)
195s local c = spi.newcursor(n)
195s return c:open(s):disown()
195s $$;
195s +ERROR: language "pllua" does not exist
195s begin;
195s declare mycur cursor for select * from tsttab order by id;
195s select do_fetch('mycur');
195s -INFO: (1,1,foo,2.34,01-01-2017)
195s -INFO: (2,2,bar,2.34,02-01-2017)
195s -INFO: (3,3,baz,2.34,03-01-2017)
195s -INFO: (4,4,fred,2.34,04-01-2017)
195s -INFO: (5,5,jim,2.34,05-01-2017)
195s -INFO: (6,6,sheila,2.34,06-01-2017)
195s - do_fetch
195s -----------
195s -
195s -(1 row)
195s -
195s +ERROR: function do_fetch(unknown) does not exist at character 8
195s commit;
195s begin;
195s select do_exec('select * from tsttab order by id desc', 'mycur2');
195s - do_exec
195s ----------
195s - mycur2
195s -(1 row)
195s -
195s +ERROR: function do_exec(unknown, unknown) does not exist at character 8
195s do language pllua $$ collectgarbage() $$; -- check cursor stays open
195s +ERROR: current transaction is aborted, commands ignored until end of transaction block
195s fetch all from mycur2;
195s - id | a | b | c | d
195s -----+---+--------+------+------------
195s - 6 | 6 | sheila | 2.34 | 06-01-2017
195s - 5 | 5 | jim | 2.34 | 05-01-2017
195s - 4 | 4 | fred | 2.34 | 04-01-2017
195s - 3 | 3 | baz | 2.34 | 03-01-2017
195s - 2 | 2 | bar | 2.34 | 02-01-2017
195s - 1 | 1 | foo | 2.34 | 01-01-2017
195s -(6 rows)
195s -
195s +ERROR: current transaction is aborted, commands ignored until end of transaction block
195s commit;
195s --end
195s diff -U3 /tmp/autopkgtest.eqpTSM/build.9UR/src/expected/subxact.out /tmp/autopkgtest.eqpTSM/build.9UR/src/results/subxact.out
195s --- /tmp/autopkgtest.eqpTSM/build.9UR/src/expected/subxact.out 2023-07-29 18:06:29.000000000 +0000
195s +++ /tmp/autopkgtest.eqpTSM/build.9UR/src/results/subxact.out 2025-02-19 04:33:55.038554267 +0000
195s @@ -8,11 +8,12 @@
195s pcall(function() stmt:execute(2) end)
195s stmt:execute(3);
195s $$;
195s +ERROR: language "pllua" does not exist
195s -- should now be two different xids in xatst, and 3 rows
195s select count(*), count(distinct age(xmin)) from xatst;
195s count | count
195s -------+-------
195s - 3 | 2
195s + 0 | 0
195s (1 row)
195s
195s truncate table xatst;
195s @@ -22,12 +23,12 @@
195s print(pcall(function() stmt:execute(2) error("foo") end))
195s stmt:execute(3);
195s $$;
195s -INFO: false [string "DO-block"]:4: foo
195s +ERROR: language "pllua" does not exist
195s -- should now be one xid in xatst, and 2 rows
195s select count(*), count(distinct age(xmin)) from xatst;
195s count | count
195s -------+-------
195s - 2 | 1
195s + 0 | 0
195s (1 row)
195s
195s truncate table xatst;
195s @@ -37,39 +38,32 @@
195s print(pcall(function() stmt:execute(2) spi.error("foo") end))
195s stmt:execute(3);
195s $$;
195s -INFO: false ERROR: XX000 foo
195s +ERROR: language "pllua" does not exist
195s -- should now be one xid in xatst, and 2 rows
195s select count(*), count(distinct age(xmin)) from xatst;
195s count | count
195s -------+-------
195s - 2 | 1
195s + 0 | 0
195s (1 row)
195s
195s do language pllua $$
195s local function f() for r in spi.rows([[ select * from xatst order by a ]]) do print(r) end end
195s print(pcall(f))
195s $$;
195s -INFO: (1)
195s -INFO: (3)
195s -INFO: true
195s +ERROR: language "pllua" does not exist
195s do language pllua $$
195s local function f() for r in spi.rows([[ select * from xatst order by a ]]) do print(r) end end
195s local function f2() error("foo") end
195s print(pcall(f2))
195s f()
195s $$;
195s -INFO: false [string "DO-block"]:3: foo
195s -INFO: (1)
195s -INFO: (3)
195s +ERROR: language "pllua" does not exist
195s do language pllua $$
195s local function f(e) print("error",e) for r in spi.rows([[ select * from xatst order by a ]]) do print(r) end end
195s local function f2() error("foo") end
195s print(xpcall(f2,f))
195s $$;
195s -INFO: error [string "DO-block"]:3: foo
195s -INFO: (1)
195s -INFO: (3)
195s -INFO: false nil
195s +ERROR: language "pllua" does not exist
195s truncate table xatst;
195s do language pllua $$
195s local stmt = spi.prepare([[ insert into xatst values ($1) ]]);
195s @@ -78,13 +72,12 @@
195s stmt:execute(1)
195s print(xpcall(f2,f))
195s $$;
195s -INFO: error [string "DO-block"]:4: foo
195s -INFO: false nil
195s +ERROR: language "pllua" does not exist
195s -- should now be one xid in xatst, and 2 rows
195s select count(*), count(distinct age(xmin)) from xatst;
195s count | count
195s -------+-------
195s - 2 | 1
195s + 0 | 0
195s (1 row)
195s
195s do language pllua $$
195s @@ -92,7 +85,7 @@
195s local function f2() error("foo") end
195s print(xpcall(f2,f))
195s $$;
195s -INFO: false error in error handling
195s +ERROR: language "pllua" does not exist
195s -- tricky error-in-error cases:
195s --
195s -- pg error inside xpcall handler func needs to abort out to the
195s @@ -113,7 +106,7 @@
195s print("should not be reached")
195s end)
195s $$;
195s -INFO: entering xpcall
195s +ERROR: language "pllua" does not exist
195s commit;
195s do language pllua $$
195s local level = 0
195s @@ -126,32 +119,28 @@
195s print("should not be reached")
195s end))
195s $$;
195s -INFO: entering xpcall
195s -INFO: in error handler 1 [string "DO-block"]:4: foo
195s -INFO: outer pcall false ERROR: XX000 nested
195s +ERROR: language "pllua" does not exist
195s do language pllua $$
195s print(lpcall(function() error("caught") end))
195s $$;
195s -INFO: false [string "DO-block"]:2: caught
195s +ERROR: language "pllua" does not exist
195s do language pllua $$
195s print(lpcall(function() spi.error("not caught") end))
195s $$;
195s -ERROR: not caught
195s +ERROR: language "pllua" does not exist
195s -- make sure PG errors in coroutines are propagated (but not lua errors)
195s do language pllua $$
195s local c = coroutine.create(function() coroutine.yield() error("caught") end)
195s print(coroutine.resume(c))
195s print(coroutine.resume(c))
195s $$;
195s -INFO: true
195s -INFO: false [string "DO-block"]:2: caught
195s +ERROR: language "pllua" does not exist
195s do language pllua $$
195s local c = coroutine.create(function() coroutine.yield() spi.error("not caught") end)
195s print(coroutine.resume(c))
195s print(coroutine.resume(c))
195s $$;
195s -INFO: true
195s -ERROR: not caught
195s +ERROR: language "pllua" does not exist
195s -- error object funcs
195s do language pllua $$
195s local err = require 'pllua.error'
195s @@ -161,7 +150,5 @@
195s local r,e = pcall(function() error("foo") end)
195s print(err.type(e), err.category(e), err.errcode(e), e)
195s $$;
195s -INFO: error data_exception numeric_value_out_of_range
195s -INFO: error data_exception numeric_value_out_of_range 22003 foo bar baz
195s -INFO: nil nil nil [string "DO-block"]:6: foo
195s +ERROR: language "pllua" does not exist
195s --end
195s diff -U3 /tmp/autopkgtest.eqpTSM/build.9UR/src/expected/types.out /tmp/autopkgtest.eqpTSM/build.9UR/src/results/types.out
195s --- /tmp/autopkgtest.eqpTSM/build.9UR/src/expected/types.out 2023-07-29 18:06:29.000000000 +0000
195s +++ /tmp/autopkgtest.eqpTSM/build.9UR/src/results/types.out 2025-02-19 04:33:55.068554267 +0000
195s @@ -39,79 +39,64 @@
195s })
195s end
195s $f$;
195s +ERROR: language "pllua" does not exist
195s select * from tf1();
195s - intcol | textcol | charcol | varcharcol | compcol | dcompcol
195s ---------+---------+----------------------------------+------------+-----------------------------+----------
195s - 1 | row 1 | padded with blanks | not padded | (x,"(y,1111)","(111,11.1)") | (11,1.1)
195s - 2 | row 2 | padded with blanks | not padded | (x,"(y,2222)","(222,22.2)") | (22,2.2)
195s - 3 | row 3 | padded with blanks | not padded | (x,"(y,3333)","(333,33.3)") | (33,3.3)
195s - 4 | row 4 | padded with blanks | not padded | (x,"(y,4444)","(444,44.4)") | (44,4.4)
195s -(4 rows)
195s -
195s +ERROR: function tf1() does not exist at character 15
195s --
195s -- various checks of type handling
195s --
195s do language pllua $$ print(pgtype(nil,'ctype3')(1,2)) $$;
195s -INFO: (1,2)
195s +ERROR: language "pllua" does not exist
195s do language pllua $$ print(pgtype(nil,'ctype3')({1,2})) $$;
195s -INFO: (,)
195s +ERROR: language "pllua" does not exist
195s do language pllua $$ print(pgtype(nil,'ctype3')(true,true)) $$;
195s -ERROR: pllua: incompatible value type
195s +ERROR: language "pllua" does not exist
195s do language pllua $$ print(pgtype(nil,'ctype3')("1","2")) $$;
195s -INFO: (1,2)
195s +ERROR: language "pllua" does not exist
195s do language pllua $$ print(pgtype(nil,'ctype3')({fred=1,jim=2})) $$;
195s -INFO: (1,2)
195s +ERROR: language "pllua" does not exist
195s do language pllua $$ print(pgtype(nil,'ctype3')({fred=1,jim={}})) $$;
195s -ERROR: pllua: incompatible value type
195s +ERROR: language "pllua" does not exist
195s do language pllua $$ print(pgtype(nil,'ctype3')({fred=1,jim=nil})) $$;
195s -INFO: (1,)
195s +ERROR: language "pllua" does not exist
195s --do language pllua $$ print(pgtype(nil,'dtype')({fred=1,jim=nil})) $$;
195s create function tf2() returns setof tdata language pllua as $f$
195s local t = spi.execute("select * from tdata")
195s for i,v in ipairs(t) do coroutine.yield(v) end
195s $f$;
195s +ERROR: language "pllua" does not exist
195s select * from tf2();
195s - intcol | textcol | charcol | varcharcol | compcol | dcompcol
195s ---------+---------+----------------------------------+------------+-----------------------------+----------
195s - 1 | row 1 | padded with blanks | not padded | (x,"(y,1111)","(111,11.1)") | (11,1.1)
195s - 2 | row 2 | padded with blanks | not padded | (x,"(y,2222)","(222,22.2)") | (22,2.2)
195s - 3 | row 3 | padded with blanks | not padded | (x,"(y,3333)","(333,33.3)") | (33,3.3)
195s -(3 rows)
195s -
195s +ERROR: function tf2() does not exist at character 15
195s do language pllua $$ print(pgtype.ctype3()) $$;
195s -INFO: (,)
195s +ERROR: language "pllua" does not exist
195s -- ensure detoasting of nested composites works right
195s do language pllua $f$
195s for r in spi.rows("select * from tdata") do
195s print(r.intcol, r.compcol.foo, r.compcol.bar.wotsit, r.dcompcol.jim)
195s end
195s $f$;
195s -INFO: 1 x 1111 1.1
195s -INFO: 2 x 2222 2.2
195s -INFO: 3 x 3333 3.3
195s +ERROR: language "pllua" does not exist
195s do language pllua $$
195s a = pgtype.array.integer({{{1,2}},{{3,4}},{{5,6}}},3,1,2)
195s print(a)
195s print(#a,#(a[1]),#(a[1][1]))
195s print(a[3][1][2],a[1][1][1])
195s $$;
195s -INFO: {{{1,2}},{{3,4}},{{5,6}}}
195s -INFO: 3 1 2
195s -INFO: 6 1
195s +ERROR: language "pllua" does not exist
195s do language pllua $$ print(pgtype.int4range(123,456)) $$;
195s -INFO: [123,456)
195s +ERROR: language "pllua" does not exist
195s do language pllua $$ print(pgtype.int4range()) $$;
195s -INFO: empty
195s +ERROR: language "pllua" does not exist
195s do language pllua $$ print(pgtype.int4range(123,456,'(]')) $$;
195s -INFO: [124,457)
195s +ERROR: language "pllua" does not exist
195s do language pllua $$ print(pgtype.int4range(nil,456,'(]')) $$;
195s -INFO: (,457)
195s +ERROR: language "pllua" does not exist
195s do language pllua $$ print(pgtype.int4range(nil,nil)) $$;
195s -INFO: (,)
195s +ERROR: language "pllua" does not exist
195s do language pllua $$ print(pgtype.int4range(123,nil)) $$;
195s -INFO: [123,)
195s +ERROR: language "pllua" does not exist
195s do language pllua $$ print(pgtype.int4range('[12,56]')) $$;
195s -INFO: [12,57)
195s +ERROR: language "pllua" does not exist
195s do language pllua $$
195s local r1,r2,r3 = pgtype.numrange('[12,56]'),
195s pgtype.numrange('empty'),
195s @@ -120,29 +105,16 @@
195s print(r2.lower,r2.upper,r2.lower_inc,r2.upper_inc,r2.lower_inf,r2.upper_inf,r2.isempty)
195s print(r3.lower,r3.upper,r3.lower_inc,r3.upper_inc,r3.lower_inf,r3.upper_inf,r3.isempty)
195s $$;
195s -INFO: 12 56 true true false false false
195s -INFO: nil nil false false false false true
195s -INFO: 12 nil false false false true false
195s +ERROR: language "pllua" does not exist
195s create type myenum as enum ('TRUE', 'FALSE', 'FILE_NOT_FOUND');
195s create function pg_temp.f1(a myenum) returns text language pllua as $$ print(a,type(a)) return a $$;
195s +ERROR: language "pllua" does not exist
195s select pg_temp.f1(x) from unnest(enum_range(null::myenum)) x;
195s -INFO: TRUE string
195s -INFO: FALSE string
195s -INFO: FILE_NOT_FOUND string
195s - f1
195s -----------------
195s - TRUE
195s - FALSE
195s - FILE_NOT_FOUND
195s -(3 rows)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 8
195s create function pg_temp.f2() returns myenum language pllua as $$ return 'FILE_NOT_FOUND' $$;
195s +ERROR: language "pllua" does not exist
195s select pg_temp.f2();
195s - f2
195s -----------------
195s - FILE_NOT_FOUND
195s -(1 row)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 8
195s -- domains
195s create domain mydom1 as varchar(3);
195s create domain mydom2 as varchar(3) check (value in ('foo','bar','baz'));
195s @@ -151,85 +123,55 @@
195s create function pg_temp.f3(a mydom1) returns void language pllua as $$
195s print(pgtype(nil,1):name(), type(a), #a)
195s $$;
195s +ERROR: language "pllua" does not exist
195s select pg_temp.f3('foo') union all select pg_temp.f3('bar ');
195s -INFO: mydom1 string 3
195s -INFO: mydom1 string 3
195s - f3
195s -----
195s -
195s -
195s -(2 rows)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 8
195s create function pg_temp.f4d1(a text) returns mydom1 language pllua as $$
195s return a
195s $$;
195s +ERROR: language "pllua" does not exist
195s select pg_temp.f4d1('foo');
195s - f4d1
195s -------
195s - foo
195s -(1 row)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 8
195s select pg_temp.f4d1('bar ');
195s - f4d1
195s -------
195s - bar
195s -(1 row)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 8
195s select pg_temp.f4d1('toolong');
195s -ERROR: value too long for type character varying(3)
195s +ERROR: schema "pg_temp" does not exist at character 8
195s select pg_temp.f4d1(null);
195s - f4d1
195s -------
195s -
195s -(1 row)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 8
195s create function pg_temp.f4d2(a text) returns mydom2 language pllua as $$
195s return a
195s $$;
195s +ERROR: language "pllua" does not exist
195s select pg_temp.f4d2('bar ');
195s - f4d2
195s -------
195s - bar
195s -(1 row)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 8
195s select pg_temp.f4d2('bad');
195s -ERROR: value for domain mydom2 violates check constraint "mydom2_check"
195s +ERROR: schema "pg_temp" does not exist at character 8
195s select pg_temp.f4d2('toolong');
195s -ERROR: value too long for type character varying(3)
195s +ERROR: schema "pg_temp" does not exist at character 8
195s select pg_temp.f4d2(null);
195s - f4d2
195s -------
195s -
195s -(1 row)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 8
195s create function pg_temp.f4d3(a text) returns mydom3 language pllua as $$
195s return a
195s $$;
195s +ERROR: language "pllua" does not exist
195s select pg_temp.f4d3('bar ');
195s - f4d3
195s -------
195s - bar
195s -(1 row)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 8
195s select pg_temp.f4d3('toolong');
195s -ERROR: value too long for type character varying(3)
195s +ERROR: schema "pg_temp" does not exist at character 8
195s select pg_temp.f4d3(null);
195s -ERROR: domain mydom3 does not allow null values
195s +ERROR: schema "pg_temp" does not exist at character 8
195s create function pg_temp.f4d4(a text) returns mydom4 language pllua as $$
195s return a
195s $$;
195s +ERROR: language "pllua" does not exist
195s select pg_temp.f4d4('bar ');
195s - f4d4
195s -------
195s - bar
195s -(1 row)
195s -
195s +ERROR: schema "pg_temp" does not exist at character 8
195s select pg_temp.f4d4('bad');
195s -ERROR: value for domain mydom4 violates check constraint "mydom4_check"
195s +ERROR: schema "pg_temp" does not exist at character 8
195s select pg_temp.f4d4('toolong');
195s -ERROR: value too long for type character varying(3)
195s +ERROR: schema "pg_temp" does not exist at character 8
195s select pg_temp.f4d4(null);
195s -ERROR: domain mydom4 does not allow null values
195s +ERROR: schema "pg_temp" does not exist at character 8
195s -- array coercions
195s -- relabeltype path
195s do language pllua $$
195s @@ -237,47 +179,46 @@
195s local b = pgtype.array.text(a)
195s print(b)
195s $$;
195s -INFO: {foo,bar}
195s +ERROR: language "pllua" does not exist
195s -- cast function path
195s do language pllua $$
195s local a = pgtype.array.boolean(false,true)
195s local b = pgtype.array.text(a)
195s print(b)
195s $$;
195s -INFO: {false,true}
195s +ERROR: language "pllua" does not exist
195s -- IO path
195s do language pllua $$
195s local a = pgtype.array.integer(10,20)
195s local b = pgtype.array.text(a)
195s print(b)
195s $$;
195s -INFO: {10,20}
195s +ERROR: language "pllua" does not exist
195s -- array typmod coercions
195s create temp table atc (a varchar(10)[], b char(10)[]);
195s do language pllua $$
195s local a = pgtype.array.varchar('foo','bar','value_too_long_for_type')
195s local b = pgtype.atc(a,nil)
195s $$;
195s -ERROR: value too long for type character varying(10)
195s +ERROR: language "pllua" does not exist
195s do language pllua $$
195s local a = pgtype.array.bpchar('foo','bar','value ')
195s local b = pgtype.atc(nil,a)
195s print(b)
195s $$;
195s -INFO: (,"{""foo "",""bar "",""value ""}")
195s +ERROR: language "pllua" does not exist
195s -- composite type construction edge cases
195s do language pllua $$
195s print(pgtype.ctype3())
195s print(pgtype.ctype3(nil))
195s $$;
195s -INFO: (,)
195s -INFO: (,)
195s +ERROR: language "pllua" does not exist
195s do language pllua $$
195s print(pgtype.ctype3(1)) -- error
195s $$;
195s -ERROR: pllua: incorrect number of arguments for type constructor (expected 2 got 1)
195s +ERROR: language "pllua" does not exist
195s do language pllua $$
195s print(pgtype.ctype3(1,2))
195s $$;
195s -INFO: (1,2)
195s +ERROR: language "pllua" does not exist
195s --end
195s diff -U3 /tmp/autopkgtest.eqpTSM/build.9UR/src/expected/triggers.out /tmp/autopkgtest.eqpTSM/build.9UR/src/results/triggers.out
195s --- /tmp/autopkgtest.eqpTSM/build.9UR/src/expected/triggers.out 2023-07-29 18:06:29.000000000 +0000
195s +++ /tmp/autopkgtest.eqpTSM/build.9UR/src/results/triggers.out 2025-02-19 04:33:55.098554267 +0000
195s @@ -20,17 +20,17 @@
195s print(old,new)
195s end
195s $$;
195s -CREATE FUNCTION
195s +ERROR: language "pllua" does not exist
195s create trigger t1
195s before insert or update or delete on trigtst
195s for each statement
195s execute procedure misctrig('foo','bar');
195s -CREATE TRIGGER
195s +ERROR: function misctrig() does not exist
195s create trigger t2
195s after insert or update or delete on trigtst
195s for each statement
195s execute procedure misctrig('foo','bar');
195s -CREATE TRIGGER
195s +ERROR: function misctrig() does not exist
195s insert into trigtst
195s values (1, 'fred', true, 23, 1.73),
195s (2, 'jim', false, 11, 3.1),
195s @@ -41,68 +41,26 @@
195s (7, 'dylan', false, 35, 12.1),
195s (8, 'florence', false, 23, 5.4),
195s (9, 'zebedee', false, 199, 7.4);
195s -INFO: t1 foo bar
195s -INFO: before statement insert trigtst
195s -INFO: t2 foo bar
195s -INFO: after statement insert trigtst
195s INSERT 0 9
195s update trigtst set qty = qty + 1;
195s -INFO: t1 foo bar
195s -INFO: before statement update trigtst
195s -INFO: t2 foo bar
195s -INFO: after statement update trigtst
195s UPDATE 9
195s delete from trigtst where name = 'sheila';
195s -INFO: t1 foo bar
195s -INFO: before statement delete trigtst
195s -INFO: t2 foo bar
195s -INFO: after statement delete trigtst
195s DELETE 1
195s create trigger t3
195s before insert or update or delete on trigtst
195s for each row
195s execute procedure misctrig('wot');
195s -CREATE TRIGGER
195s +ERROR: function misctrig() does not exist
195s create trigger t4
195s after insert or update or delete on trigtst
195s for each row
195s execute procedure misctrig('wot');
195s -CREATE TRIGGER
195s +ERROR: function misctrig() does not exist
195s insert into trigtst values (3, 'sheila', false, 9, 1.3);
195s -INFO: t1 foo bar
195s -INFO: before statement insert trigtst
195s -INFO: t3 wot
195s -INFO: before row insert trigtst
195s -INFO: nil (3,sheila,f,9,1.3)
195s -INFO: t4 wot
195s -INFO: after row insert trigtst
195s -INFO: nil (3,sheila,f,9,1.3)
195s -INFO: t2 foo bar
195s -INFO: after statement insert trigtst
195s INSERT 0 1
195s update trigtst set flag = true where name = 'dylan';
195s -INFO: t1 foo bar
195s -INFO: before statement update trigtst
195s -INFO: t3 wot
195s -INFO: before row update trigtst
195s -INFO: (7,dylan,f,36,12.1) (7,dylan,t,36,12.1)
195s -INFO: t4 wot
195s -INFO: after row update trigtst
195s -INFO: (7,dylan,f,36,12.1) (7,dylan,t,36,12.1)
195s -INFO: t2 foo bar
195s -INFO: after statement update trigtst
195s UPDATE 1
195s delete from trigtst where name = 'jim';
195s -INFO: t1 foo bar
195s -INFO: before statement delete trigtst
195s -INFO: t3 wot
195s -INFO: before row delete trigtst
195s -INFO: (2,jim,f,12,3.1) nil
195s -INFO: t4 wot
195s -INFO: after row delete trigtst
195s -INFO: (2,jim,f,12,3.1) nil
195s -INFO: t2 foo bar
195s -INFO: after statement delete trigtst
195s DELETE 1
195s -- check result is as expected
195s select * from trigtst order by id;
195s @@ -119,13 +77,13 @@
195s (8 rows)
195s
195s drop trigger t1 on trigtst;
195s -DROP TRIGGER
195s +ERROR: trigger "t1" for table "trigtst" does not exist
195s drop trigger t2 on trigtst;
195s -DROP TRIGGER
195s +ERROR: trigger "t2" for table "trigtst" does not exist
195s drop trigger t3 on trigtst;
195s -DROP TRIGGER
195s +ERROR: trigger "t3" for table "trigtst" does not exist
195s drop trigger t4 on trigtst;
195s -DROP TRIGGER
195s +ERROR: trigger "t4" for table "trigtst" does not exist
195s -- compatible mode: assign to row fields
195s create function modtrig1() returns trigger language pllua
195s as $$
195s @@ -134,39 +92,33 @@
195s trigger.row.flag = false
195s print(trigger.name,trigger.operation,old,new)
195s $$;
195s -CREATE FUNCTION
195s +ERROR: language "pllua" does not exist
195s create trigger t1
195s before insert or update or delete on trigtst
195s for each row
195s execute procedure modtrig1();
195s -CREATE TRIGGER
195s +ERROR: function modtrig1() does not exist
195s insert into trigtst values (2, 'jim', true, 11, 3.1);
195s -INFO: t1 insert nil (2,jim,t,11,3.1)
195s -INFO: t1 insert nil (2,jim,f,11,110)
195s INSERT 0 1
195s update trigtst set flag = true where name = 'ermintrude';
195s -INFO: t1 update (6,ermintrude,t,92,52.7) (6,ermintrude,t,92,52.7)
195s -INFO: t1 update (6,ermintrude,t,92,52.7) (6,ermintrude,f,92,920)
195s UPDATE 1
195s delete from trigtst where name = 'fred';
195s -INFO: t1 delete (1,fred,t,24,1.73) nil
195s -INFO: t1 delete (1,fred,f,24,240) nil
195s DELETE 1
195s select * from trigtst order by id;
195s id | name | flag | qty | weight
195s ----+------------+------+-----+--------
195s - 2 | jim | f | 11 | 110
195s + 2 | jim | t | 11 | 3.1
195s 3 | sheila | f | 9 | 1.3
195s 4 | dougal | f | 2 | 9.3
195s 5 | brian | f | 32 | 51.5
195s - 6 | ermintrude | f | 92 | 920
195s + 6 | ermintrude | t | 92 | 52.7
195s 7 | dylan | t | 36 | 12.1
195s 8 | florence | f | 24 | 5.4
195s 9 | zebedee | f | 200 | 7.4
195s (8 rows)
195s
195s drop trigger t1 on trigtst;
195s -DROP TRIGGER
195s +ERROR: trigger "t1" for table "trigtst" does not exist
195s -- compatible mode: assign to row wholesale
195s create function modtrig2() returns trigger language pllua
195s as $$
195s @@ -177,35 +129,33 @@
195s flag = not flag
195s trigger.row = { id = id, name = name, flag = flag, qty = qty, weight = weight }
195s $$;
195s -CREATE FUNCTION
195s +ERROR: language "pllua" does not exist
195s create trigger t1
195s before insert or update on trigtst
195s for each row
195s execute procedure modtrig2();
195s -CREATE TRIGGER
195s +ERROR: function modtrig2() does not exist
195s insert into trigtst values (1, 'fred', true, 23, 1.73);
195s -INFO: t1 insert nil (1,fred,t,23,1.73)
195s INSERT 0 1
195s update trigtst set flag = true where name = 'zebedee';
195s -INFO: t1 update (9,zebedee,f,200,7.4) (9,zebedee,t,200,7.4)
195s UPDATE 1
195s delete from trigtst where name = 'jim';
195s DELETE 1
195s select * from trigtst order by id;
195s id | name | flag | qty | weight
195s ----+------------+------+-----+--------
195s - 1 | fred | f | 25 | 3.46
195s + 1 | fred | t | 23 | 1.73
195s 3 | sheila | f | 9 | 1.3
195s 4 | dougal | f | 2 | 9.3
195s 5 | brian | f | 32 | 51.5
195s - 6 | ermintrude | f | 92 | 920
195s + 6 | ermintrude | t | 92 | 52.7
195s 7 | dylan | t | 36 | 12.1
195s 8 | florence | f | 24 | 5.4
195s - 9 | zebedee | f | 202 | 14.8
195s + 9 | zebedee | t | 200 | 7.4
195s (8 rows)
195s
195s drop trigger t1 on trigtst;
195s -DROP TRIGGER
195s +ERROR: trigger "t1" for table "trigtst" does not exist
195s -- compatible mode: assign to row wholesale with new datum row
195s create function modtrig3() returns trigger language pllua
195s as $$
195s @@ -216,35 +166,33 @@
195s flag = not flag
195s trigger.row = pgtype(new)(id,name,flag,qty,weight)
195s $$;
195s -CREATE FUNCTION
195s +ERROR: language "pllua" does not exist
195s create trigger t1
195s before insert or update on trigtst
195s for each row
195s execute procedure modtrig3();
195s -CREATE TRIGGER
195s +ERROR: function modtrig3() does not exist
195s insert into trigtst values (2, 'jim', false, 11, 3.1);
195s -INFO: t1 insert nil (2,jim,f,11,3.1)
195s INSERT 0 1
195s update trigtst set flag = true where name = 'zebedee';
195s -INFO: t1 update (9,zebedee,f,202,14.8) (9,zebedee,t,202,14.8)
195s UPDATE 1
195s delete from trigtst where name = 'fred';
195s DELETE 1
195s select * from trigtst order by id;
195s id | name | flag | qty | weight
195s ----+------------+------+-----+--------
195s - 2 | jim | t | 13 | 6.2
195s + 2 | jim | f | 11 | 3.1
195s 3 | sheila | f | 9 | 1.3
195s 4 | dougal | f | 2 | 9.3
195s 5 | brian | f | 32 | 51.5
195s - 6 | ermintrude | f | 92 | 920
195s + 6 | ermintrude | t | 92 | 52.7
195s 7 | dylan | t | 36 | 12.1
195s 8 | florence | f | 24 | 5.4
195s - 9 | zebedee | f | 204 | 29.6
195s + 9 | zebedee | t | 200 | 7.4
195s (8 rows)
195s
195s drop trigger t1 on trigtst;
195s -DROP TRIGGER
195s +ERROR: trigger "t1" for table "trigtst" does not exist
195s -- return value mode
195s create function modtrig4() returns trigger language pllua
195s as $$
195s @@ -255,35 +203,33 @@
195s flag = not flag
195s return { id = id, name = name, flag = flag, qty = qty, weight = weight }
195s $$;
195s -CREATE FUNCTION
195s +ERROR: language "pllua" does not exist
195s create trigger t1
195s before insert or update on trigtst
195s for each row
195s execute procedure modtrig4();
195s -CREATE TRIGGER
195s +ERROR: function modtrig4() does not exist
195s insert into trigtst values (1, 'fred', true, 23, 1.73);
195s -INFO: t1 insert nil (1,fred,t,23,1.73)
195s INSERT 0 1
195s update trigtst set flag = false where name = 'dylan';
195s -INFO: t1 update (7,dylan,t,36,12.1) (7,dylan,f,36,12.1)
195s UPDATE 1
195s delete from trigtst where name = 'jim';
195s DELETE 1
195s select * from trigtst order by id;
195s id | name | flag | qty | weight
195s ----+------------+------+-----+--------
195s - 1 | fred | f | 25 | 3.46
195s + 1 | fred | t | 23 | 1.73
195s 3 | sheila | f | 9 | 1.3
195s 4 | dougal | f | 2 | 9.3
195s 5 | brian | f | 32 | 51.5
195s - 6 | ermintrude | f | 92 | 920
195s - 7 | dylan | t | 38 | 24.2
195s + 6 | ermintrude | t | 92 | 52.7
195s + 7 | dylan | f | 36 | 12.1
195s 8 | florence | f | 24 | 5.4
195s - 9 | zebedee | f | 204 | 29.6
195s + 9 | zebedee | t | 200 | 7.4
195s (8 rows)
195s
195s drop trigger t1 on trigtst;
195s -DROP TRIGGER
195s +ERROR: trigger "t1" for table "trigtst" does not exist
195s -- return value mode
195s create function modtrig5() returns trigger language pllua
195s as $$
195s @@ -294,155 +240,149 @@
195s flag = not flag
195s return pgtype(new)(id,name,flag,qty,weight)
195s $$;
195s -CREATE FUNCTION
195s +ERROR: language "pllua" does not exist
195s create trigger t1
195s before insert or update on trigtst
195s for each row
195s execute procedure modtrig5();
195s -CREATE TRIGGER
195s +ERROR: function modtrig5() does not exist
195s insert into trigtst values (2, 'jim', false, 11, 3.1);
195s -INFO: t1 insert nil (2,jim,f,11,3.1)
195s INSERT 0 1
195s update trigtst set flag = false where name = 'dougal';
195s -INFO: t1 update (4,dougal,f,2,9.3) (4,dougal,f,2,9.3)
195s UPDATE 1
195s delete from trigtst where name = 'fred';
195s DELETE 1
195s select * from trigtst order by id;
195s id | name | flag | qty | weight
195s ----+------------+------+-----+--------
195s - 2 | jim | t | 13 | 6.2
195s + 2 | jim | f | 11 | 3.1
195s 3 | sheila | f | 9 | 1.3
195s - 4 | dougal | t | 4 | 18.6
195s + 4 | dougal | f | 2 | 9.3
195s 5 | brian | f | 32 | 51.5
195s - 6 | ermintrude | f | 92 | 920
195s - 7 | dylan | t | 38 | 24.2
195s + 6 | ermintrude | t | 92 | 52.7
195s + 7 | dylan | f | 36 | 12.1
195s 8 | florence | f | 24 | 5.4
195s - 9 | zebedee | f | 204 | 29.6
195s + 9 | zebedee | t | 200 | 7.4
195s (8 rows)
195s
195s drop trigger t1 on trigtst;
195s -DROP TRIGGER
195s +ERROR: trigger "t1" for table "trigtst" does not exist
195s -- throw error from trigger
195s create function modtrig6() returns trigger language pllua
195s as $$
195s print(trigger.name,trigger.operation,old,new)
195s if new.flag ~= old.flag then error("no changing flags") end
195s $$;
195s -CREATE FUNCTION
195s +ERROR: language "pllua" does not exist
195s create trigger t1
195s before update on trigtst
195s for each row
195s execute procedure modtrig6();
195s -CREATE TRIGGER
195s +ERROR: function modtrig6() does not exist
195s update trigtst set flag = false where name = 'dougal';
195s -INFO: t1 update (4,dougal,t,4,18.6) (4,dougal,f,4,18.6)
195s -ERROR: pllua: [string "modtrig6"]:3: no changing flags
195s +UPDATE 1
195s select * from trigtst order by id;
195s id | name | flag | qty | weight
195s ----+------------+------+-----+--------
195s - 2 | jim | t | 13 | 6.2
195s + 2 | jim | f | 11 | 3.1
195s 3 | sheila | f | 9 | 1.3
195s - 4 | dougal | t | 4 | 18.6
195s + 4 | dougal | f | 2 | 9.3
195s 5 | brian | f | 32 | 51.5
195s - 6 | ermintrude | f | 92 | 920
195s - 7 | dylan | t | 38 | 24.2
195s + 6 | ermintrude | t | 92 | 52.7
195s + 7 | dylan | f | 36 | 12.1
195s 8 | florence | f | 24 | 5.4
195s - 9 | zebedee | f | 204 | 29.6
195s + 9 | zebedee | t | 200 | 7.4
195s (8 rows)
195s
195s drop trigger t1 on trigtst;
195s -DROP TRIGGER
195s +ERROR: trigger "t1" for table "trigtst" does not exist
195s -- throw error from trigger
195s create function modtrig7() returns trigger language pllua
195s as $$
195s print(trigger.name,trigger.operation,old,new)
195s if new.flag ~= old.flag then error("no changing flags") end
195s $$;
195s -CREATE FUNCTION
195s +ERROR: language "pllua" does not exist
195s create trigger t1
195s before update on trigtst
195s for each row
195s execute procedure modtrig7();
195s -CREATE TRIGGER
195s +ERROR: function modtrig7() does not exist
195s update trigtst set flag = true where name = 'florence';
195s -INFO: t1 update (8,florence,f,24,5.4) (8,florence,t,24,5.4)
195s -ERROR: pllua: [string "modtrig7"]:3: no changing flags
195s +UPDATE 1
195s select * from trigtst order by id;
195s id | name | flag | qty | weight
195s ----+------------+------+-----+--------
195s - 2 | jim | t | 13 | 6.2
195s + 2 | jim | f | 11 | 3.1
195s 3 | sheila | f | 9 | 1.3
195s - 4 | dougal | t | 4 | 18.6
195s + 4 | dougal | f | 2 | 9.3
195s 5 | brian | f | 32 | 51.5
195s - 6 | ermintrude | f | 92 | 920
195s - 7 | dylan | t | 38 | 24.2
195s - 8 | florence | f | 24 | 5.4
195s - 9 | zebedee | f | 204 | 29.6
195s + 6 | ermintrude | t | 92 | 52.7
195s + 7 | dylan | f | 36 | 12.1
195s + 8 | florence | t | 24 | 5.4
195s + 9 | zebedee | t | 200 | 7.4
195s (8 rows)
195s
195s drop trigger t1 on trigtst;
195s -DROP TRIGGER
195s +ERROR: trigger "t1" for table "trigtst" does not exist
195s -- suppress action 1
195s create function modtrig8() returns trigger language pllua
195s as $$
195s print(trigger.name,trigger.operation,old,new)
195s if new.flag ~= old.flag then return nil end
195s $$;
195s -CREATE FUNCTION
195s +ERROR: language "pllua" does not exist
195s create trigger t1
195s before update on trigtst
195s for each row
195s execute procedure modtrig8();
195s -CREATE TRIGGER
195s +ERROR: function modtrig8() does not exist
195s update trigtst set flag = true where name = 'florence';
195s -INFO: t1 update (8,florence,f,24,5.4) (8,florence,t,24,5.4)
195s -UPDATE 0
195s +UPDATE 1
195s select * from trigtst order by id;
195s id | name | flag | qty | weight
195s ----+------------+------+-----+--------
195s - 2 | jim | t | 13 | 6.2
195s + 2 | jim | f | 11 | 3.1
195s 3 | sheila | f | 9 | 1.3
195s - 4 | dougal | t | 4 | 18.6
195s + 4 | dougal | f | 2 | 9.3
195s 5 | brian | f | 32 | 51.5
195s - 6 | ermintrude | f | 92 | 920
195s - 7 | dylan | t | 38 | 24.2
195s - 8 | florence | f | 24 | 5.4
195s - 9 | zebedee | f | 204 | 29.6
195s + 6 | ermintrude | t | 92 | 52.7
195s + 7 | dylan | f | 36 | 12.1
195s + 8 | florence | t | 24 | 5.4
195s + 9 | zebedee | t | 200 | 7.4
195s (8 rows)
195s
195s drop trigger t1 on trigtst;
195s -DROP TRIGGER
195s +ERROR: trigger "t1" for table "trigtst" does not exist
195s -- suppress action 2
195s create function modtrig9() returns trigger language pllua
195s as $$
195s print(trigger.name,trigger.operation,old,new)
195s if new.flag ~= old.flag then trigger.row = nil end
195s $$;
195s -CREATE FUNCTION
195s +ERROR: language "pllua" does not exist
195s create trigger t1
195s before update on trigtst
195s for each row
195s execute procedure modtrig9();
195s -CREATE TRIGGER
195s +ERROR: function modtrig9() does not exist
195s update trigtst set flag = true where name = 'florence';
195s -INFO: t1 update (8,florence,f,24,5.4) (8,florence,t,24,5.4)
195s -UPDATE 0
195s +UPDATE 1
195s select * from trigtst order by id;
195s id | name | flag | qty | weight
195s ----+------------+------+-----+--------
195s - 2 | jim | t | 13 | 6.2
195s + 2 | jim | f | 11 | 3.1
195s 3 | sheila | f | 9 | 1.3
195s - 4 | dougal | t | 4 | 18.6
195s + 4 | dougal | f | 2 | 9.3
195s 5 | brian | f | 32 | 51.5
195s - 6 | ermintrude | f | 92 | 920
195s - 7 | dylan | t | 38 | 24.2
195s - 8 | florence | f | 24 | 5.4
195s - 9 | zebedee | f | 204 | 29.6
195s + 6 | ermintrude | t | 92 | 52.7
195s + 7 | dylan | f | 36 | 12.1
195s + 8 | florence | t | 24 | 5.4
195s + 9 | zebedee | t | 200 | 7.4
195s (8 rows)
195s
195s drop trigger t1 on trigtst;
195s -DROP TRIGGER
195s +ERROR: trigger "t1" for table "trigtst" does not exist
195s -- table with one column exercises several edge cases:
195s create table trigtst1col (col integer);
195s CREATE TABLE
195s @@ -451,23 +391,21 @@
195s print(trigger.name,trigger.operation,old,new)
195s new.col = 123
195s $$;
195s -CREATE FUNCTION
195s +ERROR: language "pllua" does not exist
195s create trigger t1
195s before insert on trigtst1col
195s for each row
195s execute procedure modtrig10();
195s -CREATE TRIGGER
195s +ERROR: function modtrig10() does not exist
195s insert into trigtst1col values (1);
195s -INFO: t1 insert nil (1)
195s INSERT 0 1
195s insert into trigtst1col values (2);
195s -INFO: t1 insert nil (2)
195s INSERT 0 1
195s select * from trigtst1col;
195s col
195s -----
195s - 123
195s - 123
195s + 1
195s + 2
195s (2 rows)
195s
195s create type t2col as (a integer, b text);
195s @@ -479,19 +417,18 @@
195s print(trigger.name,trigger.operation,old,new)
195s new.col.a = 123
195s $$;
195s -CREATE FUNCTION
195s +ERROR: language "pllua" does not exist
195s create trigger t1
195s before insert on trigtst1col2
195s for each row
195s execute procedure modtrig11();
195s -CREATE TRIGGER
195s +ERROR: function modtrig11() does not exist
195s insert into trigtst1col2 values (row(1,'foo')::t2col);
195s -INFO: t1 insert nil ("(1,foo)")
195s INSERT 0 1
195s select * from trigtst1col2;
195s - col
195s ------------
195s - (123,foo)
195s + col
195s +---------
195s + (1,foo)
195s (1 row)
195s
195s -- exercise dropped columns:
195s @@ -503,20 +440,11 @@
195s after insert or update or delete on trigtst1dcol
195s for each row
195s execute procedure misctrig('blah');
195s -CREATE TRIGGER
195s +ERROR: function misctrig() does not exist
195s insert into trigtst1dcol values ('foo');
195s -INFO: t1 blah
195s -INFO: after row insert trigtst1dcol
195s -INFO: nil (foo)
195s INSERT 0 1
195s update trigtst1dcol set col = 'bar';
195s -INFO: t1 blah
195s -INFO: after row update trigtst1dcol
195s -INFO: (foo) (bar)
195s UPDATE 1
195s delete from trigtst1dcol;
195s -INFO: t1 blah
195s -INFO: after row delete trigtst1dcol
195s -INFO: (bar) nil
195s DELETE 1
195s --
195s diff -U3 /tmp/autopkgtest.eqpTSM/build.9UR/src/expected/event_triggers.out /tmp/autopkgtest.eqpTSM/build.9UR/src/results/event_triggers.out
195s --- /tmp/autopkgtest.eqpTSM/build.9UR/src/expected/event_triggers.out 2023-07-29 18:06:29.000000000 +0000
195s +++ /tmp/autopkgtest.eqpTSM/build.9UR/src/results/event_triggers.out 2025-02-19 04:33:55.118554267 +0000
195s @@ -5,35 +5,27 @@
195s create function evtrig() returns event_trigger language pllua as $$
195s print(trigger.event, trigger.tag)
195s $$;
195s -CREATE FUNCTION
195s +ERROR: language "pllua" does not exist
195s create event trigger et1 on ddl_command_start execute procedure evtrig();
195s -CREATE EVENT TRIGGER
195s +ERROR: function evtrig() does not exist
195s create event trigger et2 on ddl_command_end execute procedure evtrig();
195s -CREATE EVENT TRIGGER
195s +ERROR: function evtrig() does not exist
195s create event trigger et3 on sql_drop execute procedure evtrig();
195s -CREATE EVENT TRIGGER
195s +ERROR: function evtrig() does not exist
195s create event trigger et4 on table_rewrite execute procedure evtrig();
195s -CREATE EVENT TRIGGER
195s +ERROR: function evtrig() does not exist
195s create table evt1 (a text);
195s -INFO: ddl_command_start CREATE TABLE
195s -INFO: ddl_command_end CREATE TABLE
195s CREATE TABLE
195s alter table evt1 alter column a type integer using null;
195s -INFO: ddl_command_start ALTER TABLE
195s -INFO: table_rewrite ALTER TABLE
195s -INFO: ddl_command_end ALTER TABLE
195s ALTER TABLE
195s drop table evt1;
195s -INFO: ddl_command_start DROP TABLE
195s -INFO: sql_drop DROP TABLE
195s -INFO: ddl_command_end DROP TABLE
195s DROP TABLE
195s drop event trigger et1;
195s -DROP EVENT TRIGGER
195s +ERROR: event trigger "et1" does not exist
195s drop event trigger et2;
195s -DROP EVENT TRIGGER
195s +ERROR: event trigger "et2" does not exist
195s drop event trigger et3;
195s -DROP EVENT TRIGGER
195s +ERROR: event trigger "et3" does not exist
195s drop event trigger et4;
195s -DROP EVENT TRIGGER
195s +ERROR: event trigger "et4" does not exist
195s --end
195s diff -U3 /tmp/autopkgtest.eqpTSM/build.9UR/src/expected/triggers_10.out /tmp/autopkgtest.eqpTSM/build.9UR/src/results/triggers_10.out
195s --- /tmp/autopkgtest.eqpTSM/build.9UR/src/expected/triggers_10.out 2023-07-29 18:06:29.000000000 +0000
195s +++ /tmp/autopkgtest.eqpTSM/build.9UR/src/results/triggers_10.out 2025-02-19 04:33:55.138554267 +0000
195s @@ -16,40 +16,40 @@
195s print(trigger.when, trigger.level, trigger.operation, trigger.relation.name)
195s for r in spi.rows([[ select * from newtab ]]) do print(r) end
195s $$;
195s -CREATE FUNCTION
195s +ERROR: language "pllua" does not exist
195s create function ttrig2() returns trigger language pllua
195s as $$
195s print(trigger.name,...)
195s print(trigger.when, trigger.level, trigger.operation, trigger.relation.name)
195s for r in spi.rows([[ select 'old', * from oldtab union all select 'new', * from newtab ]]) do print(r) end
195s $$;
195s -CREATE FUNCTION
195s +ERROR: language "pllua" does not exist
195s create function ttrig3() returns trigger language pllua
195s as $$
195s print(trigger.name,...)
195s print(trigger.when, trigger.level, trigger.operation, trigger.relation.name)
195s for r in spi.rows([[ select * from oldtab ]]) do print(r) end
195s $$;
195s -CREATE FUNCTION
195s +ERROR: language "pllua" does not exist
195s create trigger t1
195s after insert on trigtst2
195s referencing new table as newtab
195s for each statement
195s execute procedure ttrig1('t1 insert');
195s -CREATE TRIGGER
195s +ERROR: function ttrig1() does not exist
195s create trigger t2
195s after update on trigtst2
195s referencing old table as oldtab
195s new table as newtab
195s for each statement
195s execute procedure ttrig2('t2 update');
195s -CREATE TRIGGER
195s +ERROR: function ttrig2() does not exist
195s create trigger t3
195s after delete on trigtst2
195s referencing old table as oldtab
195s for each statement
195s execute procedure ttrig3('t3 delete');
195s -CREATE TRIGGER
195s +ERROR: function ttrig3() does not exist
195s insert into trigtst2
195s values (1, 'fred', true, 23, 1.73),
195s (2, 'jim', false, 11, 3.1),
195s @@ -60,43 +60,9 @@
195s (7, 'dylan', false, 35, 12.1),
195s (8, 'florence', false, 23, 5.4),
195s (9, 'zebedee', false, 199, 7.4);
195s -INFO: t1 t1 insert
195s -INFO: after statement insert trigtst2
195s -INFO: (1,fred,t,23,1.73)
195s -INFO: (2,jim,f,11,3.1)
195s -INFO: (3,sheila,f,9,1.3)
195s -INFO: (4,dougal,f,1,9.3)
195s -INFO: (5,brian,f,31,51.5)
195s -INFO: (6,ermintrude,t,91,52.7)
195s -INFO: (7,dylan,f,35,12.1)
195s -INFO: (8,florence,f,23,5.4)
195s -INFO: (9,zebedee,f,199,7.4)
195s INSERT 0 9
195s update trigtst2 set qty = qty + 1;
195s -INFO: t2 t2 update
195s -INFO: after statement update trigtst2
195s -INFO: (old,1,fred,t,23,1.73)
195s -INFO: (old,2,jim,f,11,3.1)
195s -INFO: (old,3,sheila,f,9,1.3)
195s -INFO: (old,4,dougal,f,1,9.3)
195s -INFO: (old,5,brian,f,31,51.5)
195s -INFO: (old,6,ermintrude,t,91,52.7)
195s -INFO: (old,7,dylan,f,35,12.1)
195s -INFO: (old,8,florence,f,23,5.4)
195s -INFO: (old,9,zebedee,f,199,7.4)
195s -INFO: (new,1,fred,t,24,1.73)
195s -INFO: (new,2,jim,f,12,3.1)
195s -INFO: (new,3,sheila,f,10,1.3)
195s -INFO: (new,4,dougal,f,2,9.3)
195s -INFO: (new,5,brian,f,32,51.5)
195s -INFO: (new,6,ermintrude,t,92,52.7)
195s -INFO: (new,7,dylan,f,36,12.1)
195s -INFO: (new,8,florence,f,24,5.4)
195s -INFO: (new,9,zebedee,f,200,7.4)
195s UPDATE 9
195s delete from trigtst2 where name = 'sheila';
195s -INFO: t3 t3 delete
195s -INFO: after statement delete trigtst2
195s -INFO: (3,sheila,f,10,1.3)
195s DELETE 1
195s --
195s diff -U3 /tmp/autopkgtest.eqpTSM/build.9UR/src/expected/procedures.out /tmp/autopkgtest.eqpTSM/build.9UR/src/results/procedures.out
195s --- /tmp/autopkgtest.eqpTSM/build.9UR/src/expected/procedures.out 2023-07-29 18:06:29.000000000 +0000
195s +++ /tmp/autopkgtest.eqpTSM/build.9UR/src/results/procedures.out 2025-02-19 04:33:55.158554267 +0000
195s @@ -10,21 +10,20 @@
195s print("hello world", a)
195s print(spi.is_atomic() and "atomic context" or "non-atomic context")
195s $$;
195s +ERROR: language "pllua" does not exist
195s call pg_temp.tp1('foo');
195s -INFO: hello world foo
195s -INFO: non-atomic context
195s +ERROR: schema "pg_temp" does not exist at character 6
195s begin; call pg_temp.tp1('foo'); commit;
195s -INFO: hello world foo
195s -INFO: atomic context
195s +ERROR: schema "pg_temp" does not exist at character 6
195s do language pllua $$
195s print(spi.is_atomic() and "atomic context" or "non-atomic context")
195s $$;
195s -INFO: non-atomic context
195s +ERROR: language "pllua" does not exist
195s begin;
195s do language pllua $$
195s print(spi.is_atomic() and "atomic context" or "non-atomic context")
195s $$;
195s -INFO: atomic context
195s +ERROR: language "pllua" does not exist
195s commit;
195s create procedure pg_temp.tp2()
195s language pllua
195s @@ -38,12 +37,14 @@
195s spi.commit();
195s stmt:execute(4);
195s $$;
195s +ERROR: language "pllua" does not exist
195s call pg_temp.tp2();
195s +ERROR: schema "pg_temp" does not exist at character 6
195s -- should now be three different xids in xatst2, and 3 rows
195s select count(*), count(distinct age(xmin)) from xatst2;
195s count | count
195s -------+-------
195s - 3 | 3
195s + 0 | 0
195s (1 row)
195s
195s -- proper handling of open cursors
195s @@ -56,9 +57,9 @@
195s spi.commit();
195s end
195s $$;
195s +ERROR: language "pllua" does not exist
195s call pg_temp.tp3();
195s -INFO: 1
195s -ERROR: pllua: [string "tp3"]:3: cannot iterate a closed cursor
195s +ERROR: schema "pg_temp" does not exist at character 6
195s create procedure pg_temp.tp4()
195s language pllua
195s as $$
195s @@ -68,17 +69,9 @@
195s spi.commit();
195s end
195s $$;
195s +ERROR: language "pllua" does not exist
195s call pg_temp.tp4();
195s -INFO: 1
195s -INFO: 2
195s -INFO: 3
195s -INFO: 4
195s -INFO: 5
195s -INFO: 6
195s -INFO: 7
195s -INFO: 8
195s -INFO: 9
195s -INFO: 10
195s +ERROR: schema "pg_temp" does not exist at character 6
195s -- no commit inside subxact
195s truncate table xatst2;
195s do language pllua $$
195s @@ -92,12 +85,12 @@
195s stmt:execute(4);
195s spi.commit();
195s $$;
195s -INFO: false [string "DO-block"]:6: cannot commit or rollback from inside a subtransaction
195s +ERROR: language "pllua" does not exist
195s -- should now be two different xids in xatst2, and 3 rows
195s select count(*), count(distinct age(xmin)) from xatst2;
195s count | count
195s -------+-------
195s - 3 | 2
195s + 0 | 0
195s (1 row)
195s
195s --end
195s ### End 17 installcheck (FAILED with exit code 1) ###
195s autopkgtest [04:33:55]: test installcheck-pllua: -----------------------]
196s installcheck-pllua FAIL non-zero exit status 1
196s autopkgtest [04:33:56]: test installcheck-pllua: - - - - - - - - - - results - - - - - - - - - -
196s autopkgtest [04:33:56]: test installcheck-pllua-hstore: preparing testbed
329s autopkgtest [04:36:09]: testbed dpkg architecture: s390x
329s autopkgtest [04:36:09]: testbed apt version: 2.9.29
330s autopkgtest [04:36:10]: @@@@@@@@@@@@@@@@@@@@ test bed setup
330s autopkgtest [04:36:10]: testbed release detected to be: plucky
330s autopkgtest [04:36:10]: updating testbed package index (apt update)
331s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [110 kB]
331s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease
331s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease
331s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease
331s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [3120 B]
331s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [76.2 kB]
331s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [14.6 kB]
331s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [770 kB]
331s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x Packages [93.9 kB]
331s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted s390x Packages [760 B]
331s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe s390x Packages [648 kB]
331s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse s390x Packages [5836 B]
332s Fetched 1723 kB in 1s (1662 kB/s)
332s Reading package lists...
333s Reading package lists...
333s Building dependency tree...
333s Reading state information...
333s Calculating upgrade...
333s The following packages were automatically installed and are no longer required:
333s libnsl2 libpython3.12-minimal libpython3.12-stdlib libpython3.12t64
333s linux-headers-6.11.0-8 linux-headers-6.11.0-8-generic
333s linux-modules-6.11.0-8-generic linux-tools-6.11.0-8
333s linux-tools-6.11.0-8-generic
333s Use 'sudo apt autoremove' to remove them.
333s The following NEW packages will be installed:
333s libapt-pkg7.0
333s The following packages will be upgraded:
333s apt apt-utils dhcpcd-base rsyslog s390-tools s390-tools-data
333s s390-tools-signed
333s 7 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
333s Need to get 8909 kB of archives.
333s After this operation, 3624 kB of additional disk space will be used.
333s Get:1 http://ftpmaster.internal/ubuntu plucky/main s390x libapt-pkg7.0 s390x 2.9.30 [1103 kB]
334s Get:2 http://ftpmaster.internal/ubuntu plucky/main s390x apt s390x 2.9.30 [1418 kB]
334s Get:3 http://ftpmaster.internal/ubuntu plucky/main s390x apt-utils s390x 2.9.30 [214 kB]
334s Get:4 http://ftpmaster.internal/ubuntu plucky/main s390x dhcpcd-base s390x 1:10.1.0-7 [219 kB]
334s Get:5 http://ftpmaster.internal/ubuntu plucky/main s390x rsyslog s390x 8.2412.0-2ubuntu1 [536 kB]
334s Get:6 http://ftpmaster.internal/ubuntu plucky/main s390x s390-tools-data all 2.37.0-0ubuntu2 [20.4 kB]
334s Get:7 http://ftpmaster.internal/ubuntu plucky/main s390x s390-tools s390x 2.37.0-0ubuntu2 [5385 kB]
334s Get:8 http://ftpmaster.internal/ubuntu plucky/main s390x s390-tools-signed all 2.37.0-0ubuntu2 [12.4 kB]
335s Fetched 8909 kB in 1s (6783 kB/s)
335s Selecting previously unselected package libapt-pkg7.0:s390x.
335s (Reading database ...
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 80980 files and directories currently installed.)
335s Preparing to unpack .../libapt-pkg7.0_2.9.30_s390x.deb ...
335s Unpacking libapt-pkg7.0:s390x (2.9.30) ...
335s Setting up libapt-pkg7.0:s390x (2.9.30) ...
335s (Reading database ...
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 81029 files and directories currently installed.)
335s Preparing to unpack .../archives/apt_2.9.30_s390x.deb ...
335s Unpacking apt (2.9.30) over (2.9.29) ...
335s Setting up apt (2.9.30) ...
335s (Reading database ...
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 81029 files and directories currently installed.)
335s Preparing to unpack .../0-apt-utils_2.9.30_s390x.deb ...
335s Unpacking apt-utils (2.9.30) over (2.9.29) ...
335s Preparing to unpack .../1-dhcpcd-base_1%3a10.1.0-7_s390x.deb ...
335s Unpacking dhcpcd-base (1:10.1.0-7) over (1:10.1.0-6) ...
336s Preparing to unpack .../2-rsyslog_8.2412.0-2ubuntu1_s390x.deb ...
336s Unpacking rsyslog (8.2412.0-2ubuntu1) over (8.2412.0-1ubuntu1) ...
336s Preparing to unpack .../3-s390-tools-data_2.37.0-0ubuntu2_all.deb ...
336s Unpacking s390-tools-data (2.37.0-0ubuntu2) over (2.37.0-0ubuntu1) ...
336s Preparing to unpack .../4-s390-tools_2.37.0-0ubuntu2_s390x.deb ...
336s Unpacking s390-tools (2.37.0-0ubuntu2) over (2.37.0-0ubuntu1) ...
336s Preparing to unpack .../5-s390-tools-signed_2.37.0-0ubuntu2_all.deb ...
336s Unpacking s390-tools-signed (2.37.0-0ubuntu2) over (2.37.0-0ubuntu1) ...
336s Setting up apt-utils (2.9.30) ...
336s Setting up rsyslog (8.2412.0-2ubuntu1) ...
336s info: The user `syslog' is already a member of `adm'.
337s Setting up s390-tools-signed (2.37.0-0ubuntu2) ...
337s Setting up dhcpcd-base (1:10.1.0-7) ...
337s Setting up s390-tools-data (2.37.0-0ubuntu2) ...
337s Setting up s390-tools (2.37.0-0ubuntu2) ...
337s Processing triggers for libc-bin (2.40-4ubuntu1) ...
337s Processing triggers for man-db (2.13.0-1) ...
339s Processing triggers for initramfs-tools (0.145ubuntu2) ...
339s update-initramfs: Generating /boot/initrd.img-6.12.0-15-generic
339s W: No lz4 in /usr/bin:/sbin:/bin, using gzip
343s Using config file '/etc/zipl.conf'
343s Building bootmap in '/boot'
343s Adding IPL section 'ubuntu' (default)
343s Preparing boot device for LD-IPL: vda (0000).
343s Done.
344s Reading package lists...
344s Building dependency tree...
344s Reading state information...
344s The following packages will be REMOVED:
344s libnsl2* libpython3.12-minimal* libpython3.12-stdlib* libpython3.12t64*
344s linux-headers-6.11.0-8* linux-headers-6.11.0-8-generic*
344s linux-modules-6.11.0-8-generic* linux-tools-6.11.0-8*
344s linux-tools-6.11.0-8-generic*
344s 0 upgraded, 0 newly installed, 9 to remove and 5 not upgraded.
344s After this operation, 167 MB disk space will be freed.
344s (Reading database ...
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 81030 files and directories currently installed.)
344s Removing linux-tools-6.11.0-8-generic (6.11.0-8.8) ...
344s Removing linux-tools-6.11.0-8 (6.11.0-8.8) ...
344s Removing libpython3.12t64:s390x (3.12.9-1) ...
344s Removing libpython3.12-stdlib:s390x (3.12.9-1) ...
344s Removing libnsl2:s390x (1.3.0-3build3) ...
344s Removing libpython3.12-minimal:s390x (3.12.9-1) ...
344s Removing linux-headers-6.11.0-8-generic (6.11.0-8.8) ...
344s Removing linux-headers-6.11.0-8 (6.11.0-8.8) ...
345s Removing linux-modules-6.11.0-8-generic (6.11.0-8.8) ...
345s Processing triggers for libc-bin (2.40-4ubuntu1) ...
345s (Reading database ...
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 55930 files and directories currently installed.)
345s Purging configuration files for libpython3.12-minimal:s390x (3.12.9-1) ...
345s Purging configuration files for linux-modules-6.11.0-8-generic (6.11.0-8.8) ...
346s autopkgtest [04:36:26]: upgrading testbed (apt dist-upgrade and autopurge)
346s Reading package lists...
346s Building dependency tree...
346s Reading state information...
346s Calculating upgrade...Starting pkgProblemResolver with broken count: 0
346s Starting 2 pkgProblemResolver with broken count: 0
346s Done
346s Entering ResolveByKeep
347s
347s The following packages will be upgraded:
347s libc-bin libc-dev-bin libc6 libc6-dev locales
347s 5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
347s Need to get 9512 kB of archives.
347s After this operation, 288 kB of additional disk space will be used.
347s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x libc-dev-bin s390x 2.41-1ubuntu1 [24.3 kB]
347s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x libc6-dev s390x 2.41-1ubuntu1 [1679 kB]
348s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x locales all 2.41-1ubuntu1 [4246 kB]
349s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x libc6 s390x 2.41-1ubuntu1 [2891 kB]
349s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x libc-bin s390x 2.41-1ubuntu1 [672 kB]
350s Preconfiguring packages ...
350s Fetched 9512 kB in 3s (3289 kB/s)
350s (Reading database ...
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 55928 files and directories currently installed.)
350s Preparing to unpack .../libc-dev-bin_2.41-1ubuntu1_s390x.deb ...
350s Unpacking libc-dev-bin (2.41-1ubuntu1) over (2.40-4ubuntu1) ...
350s Preparing to unpack .../libc6-dev_2.41-1ubuntu1_s390x.deb ...
350s Unpacking libc6-dev:s390x (2.41-1ubuntu1) over (2.40-4ubuntu1) ...
350s Preparing to unpack .../locales_2.41-1ubuntu1_all.deb ...
350s Unpacking locales (2.41-1ubuntu1) over (2.40-4ubuntu1) ...
350s Preparing to unpack .../libc6_2.41-1ubuntu1_s390x.deb ...
350s Checking for services that may need to be restarted...
350s Checking init scripts...
350s Checking for services that may need to be restarted...
350s Checking init scripts...
350s Stopping some services possibly affected by the upgrade (will be restarted later):
350s cron: stopping...done.
350s
350s Unpacking libc6:s390x (2.41-1ubuntu1) over (2.40-4ubuntu1) ...
350s Setting up libc6:s390x (2.41-1ubuntu1) ...
350s Checking for services that may need to be restarted...
350s Checking init scripts...
350s Restarting services possibly affected by the upgrade:
350s cron: restarting...done.
350s
350s Services restarted successfully.
351s (Reading database ...
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 55929 files and directories currently installed.)
351s Preparing to unpack .../libc-bin_2.41-1ubuntu1_s390x.deb ...
351s Unpacking libc-bin (2.41-1ubuntu1) over (2.40-4ubuntu1) ...
351s Setting up libc-bin (2.41-1ubuntu1) ...
351s Setting up locales (2.41-1ubuntu1) ...
351s Installing new version of config file /etc/locale.alias ...
351s Generating locales (this might take a while)...
353s en_US.UTF-8... done
353s Generation complete.
353s Setting up libc-dev-bin (2.41-1ubuntu1) ...
353s Setting up libc6-dev:s390x (2.41-1ubuntu1) ...
353s Processing triggers for man-db (2.13.0-1) ...
353s Processing triggers for systemd (257.2-3ubuntu1) ...
353s Reading package lists...
353s Building dependency tree...
353s Reading state information...
354s Starting pkgProblemResolver with broken count: 0
354s Starting 2 pkgProblemResolver with broken count: 0
354s Done
354s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
354s autopkgtest [04:36:34]: rebooting testbed after setup commands that affected boot
375s Reading package lists...
375s Building dependency tree...
375s Reading state information...
376s Starting pkgProblemResolver with broken count: 0
376s Starting 2 pkgProblemResolver with broken count: 0
376s Done
376s The following NEW packages will be installed:
376s clang-19 libasan8 libclang-common-19-dev libclang-cpp19 libecpg-compat3
376s libecpg-dev libecpg6 libffi-dev libgc1 libgcc-14-dev libgomp1 libio-pty-perl
376s libipc-run-perl libitm1 libjson-perl liblua5.3-0 libncurses-dev
376s libobjc-14-dev libobjc4 libpfm4 libpgtypes3 libpq-dev libpq5 libssl-dev
376s libstdc++-14-dev libtcl8.6 libubsan1 libxml2-dev libxslt1.1 llvm-19
376s llvm-19-dev llvm-19-linker-tools llvm-19-runtime llvm-19-tools postgresql-17
376s postgresql-17-pllua postgresql-all postgresql-client-17
376s postgresql-client-common postgresql-common postgresql-common-dev
376s postgresql-plperl-17 postgresql-plpython3-17 postgresql-pltcl-17
376s postgresql-server-dev-17 postgresql-server-dev-all ssl-cert
376s 0 upgraded, 47 newly installed, 0 to remove and 0 not upgraded.
376s Need to get 126 MB of archives.
376s After this operation, 725 MB of additional disk space will be used.
376s Get:1 http://ftpmaster.internal/ubuntu plucky/main s390x libjson-perl all 4.10000-1 [81.9 kB]
376s Get:2 http://ftpmaster.internal/ubuntu plucky/main s390x postgresql-client-common all 273 [47.5 kB]
376s Get:3 http://ftpmaster.internal/ubuntu plucky/main s390x libio-pty-perl s390x 1:1.20-1build3 [31.6 kB]
376s Get:4 http://ftpmaster.internal/ubuntu plucky/main s390x libipc-run-perl all 20231003.0-2 [91.5 kB]
376s Get:5 http://ftpmaster.internal/ubuntu plucky/main s390x postgresql-common-dev all 273 [72.9 kB]
376s Get:6 http://ftpmaster.internal/ubuntu plucky/main s390x ssl-cert all 1.1.3ubuntu1 [18.7 kB]
376s Get:7 http://ftpmaster.internal/ubuntu plucky/main s390x postgresql-common all 273 [101 kB]
376s Get:8 http://ftpmaster.internal/ubuntu plucky/universe s390x libclang-cpp19 s390x 1:19.1.7-1ubuntu1 [16.7 MB]
379s Get:9 http://ftpmaster.internal/ubuntu plucky/main s390x libgomp1 s390x 15-20250213-1ubuntu1 [151 kB]
379s Get:10 http://ftpmaster.internal/ubuntu plucky/main s390x libitm1 s390x 15-20250213-1ubuntu1 [31.2 kB]
379s Get:11 http://ftpmaster.internal/ubuntu plucky/main s390x libasan8 s390x 15-20250213-1ubuntu1 [2970 kB]
379s Get:12 http://ftpmaster.internal/ubuntu plucky/main s390x libubsan1 s390x 15-20250213-1ubuntu1 [1213 kB]
380s Get:13 http://ftpmaster.internal/ubuntu plucky/main s390x libgcc-14-dev s390x 14.2.0-17ubuntu1 [1037 kB]
380s Get:14 http://ftpmaster.internal/ubuntu plucky/main s390x libstdc++-14-dev s390x 14.2.0-17ubuntu1 [2611 kB]
380s Get:15 http://ftpmaster.internal/ubuntu plucky/main s390x libgc1 s390x 1:8.2.8-1 [93.7 kB]
380s Get:16 http://ftpmaster.internal/ubuntu plucky/universe s390x libobjc4 s390x 15-20250213-1ubuntu1 [49.9 kB]
380s Get:17 http://ftpmaster.internal/ubuntu plucky/universe s390x libobjc-14-dev s390x 14.2.0-17ubuntu1 [194 kB]
380s Get:18 http://ftpmaster.internal/ubuntu plucky/universe s390x libclang-common-19-dev s390x 1:19.1.7-1ubuntu1 [742 kB]
380s Get:19 http://ftpmaster.internal/ubuntu plucky/universe s390x llvm-19-linker-tools s390x 1:19.1.7-1ubuntu1 [1546 kB]
380s Get:20 http://ftpmaster.internal/ubuntu plucky/universe s390x clang-19 s390x 1:19.1.7-1ubuntu1 [79.4 kB]
380s Get:21 http://ftpmaster.internal/ubuntu plucky/main s390x libpgtypes3 s390x 17.3-3 [49.4 kB]
380s Get:22 http://ftpmaster.internal/ubuntu plucky/main s390x libpq5 s390x 17.3-3 [147 kB]
380s Get:23 http://ftpmaster.internal/ubuntu plucky/main s390x libecpg6 s390x 17.3-3 [48.0 kB]
380s Get:24 http://ftpmaster.internal/ubuntu plucky/main s390x libecpg-compat3 s390x 17.3-3 [13.0 kB]
380s Get:25 http://ftpmaster.internal/ubuntu plucky/main s390x libssl-dev s390x 3.4.0-1ubuntu2 [2427 kB]
380s Get:26 http://ftpmaster.internal/ubuntu plucky/main s390x libpq-dev s390x 17.3-3 [160 kB]
380s Get:27 http://ftpmaster.internal/ubuntu plucky/main s390x libecpg-dev s390x 17.3-3 [282 kB]
380s Get:28 http://ftpmaster.internal/ubuntu plucky/universe s390x liblua5.3-0 s390x 5.3.6-2build2 [155 kB]
380s Get:29 http://ftpmaster.internal/ubuntu plucky/main s390x libncurses-dev s390x 6.5+20250125-2 [407 kB]
380s Get:30 http://ftpmaster.internal/ubuntu plucky/main s390x libtcl8.6 s390x 8.6.16+dfsg-1 [1034 kB]
381s Get:31 http://ftpmaster.internal/ubuntu plucky/main s390x libxml2-dev s390x 2.12.7+dfsg+really2.9.14-0.2ubuntu3 [823 kB]
381s Get:32 http://ftpmaster.internal/ubuntu plucky/main s390x libxslt1.1 s390x 1.1.39-0exp1ubuntu2 [169 kB]
381s Get:33 http://ftpmaster.internal/ubuntu plucky/universe s390x llvm-19-runtime s390x 1:19.1.7-1ubuntu1 [623 kB]
381s Get:34 http://ftpmaster.internal/ubuntu plucky/universe s390x libpfm4 s390x 4.13.0+git83-g91970fe-1 [37.3 kB]
381s Get:35 http://ftpmaster.internal/ubuntu plucky/universe s390x llvm-19 s390x 1:19.1.7-1ubuntu1 [21.1 MB]
383s Get:36 http://ftpmaster.internal/ubuntu plucky/main s390x libffi-dev s390x 3.4.7-1 [58.9 kB]
383s Get:37 http://ftpmaster.internal/ubuntu plucky/universe s390x llvm-19-tools s390x 1:19.1.7-1ubuntu1 [584 kB]
383s Get:38 http://ftpmaster.internal/ubuntu plucky/universe s390x llvm-19-dev s390x 1:19.1.7-1ubuntu1 [50.2 MB]
387s Get:39 http://ftpmaster.internal/ubuntu plucky/main s390x postgresql-client-17 s390x 17.3-3 [1367 kB]
387s Get:40 http://ftpmaster.internal/ubuntu plucky/main s390x postgresql-17 s390x 17.3-3 [16.9 MB]
387s Get:41 http://ftpmaster.internal/ubuntu plucky/universe s390x postgresql-17-pllua s390x 1:2.0.12-3 [394 kB]
387s Get:42 http://ftpmaster.internal/ubuntu plucky/universe s390x postgresql-server-dev-17 s390x 17.3-3 [1399 kB]
387s Get:43 http://ftpmaster.internal/ubuntu plucky/universe s390x postgresql-server-dev-all all 273 [1632 B]
387s Get:44 http://ftpmaster.internal/ubuntu plucky/main s390x postgresql-plperl-17 s390x 17.3-3 [68.6 kB]
387s Get:45 http://ftpmaster.internal/ubuntu plucky/main s390x postgresql-plpython3-17 s390x 17.3-3 [76.4 kB]
387s Get:46 http://ftpmaster.internal/ubuntu plucky/main s390x postgresql-pltcl-17 s390x 17.3-3 [31.4 kB]
387s Get:47 http://ftpmaster.internal/ubuntu plucky/universe s390x postgresql-all all 273 [1708 B]
388s Preconfiguring packages ...
388s Fetched 126 MB in 12s (11.0 MB/s)
388s Selecting previously unselected package libjson-perl.
388s (Reading database ...
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 55929 files and directories currently installed.)
388s Preparing to unpack .../00-libjson-perl_4.10000-1_all.deb ...
388s Unpacking libjson-perl (4.10000-1) ...
388s Selecting previously unselected package postgresql-client-common.
388s Preparing to unpack .../01-postgresql-client-common_273_all.deb ...
388s Unpacking postgresql-client-common (273) ...
388s Selecting previously unselected package libio-pty-perl.
388s Preparing to unpack .../02-libio-pty-perl_1%3a1.20-1build3_s390x.deb ...
388s Unpacking libio-pty-perl (1:1.20-1build3) ...
388s Selecting previously unselected package libipc-run-perl.
388s Preparing to unpack .../03-libipc-run-perl_20231003.0-2_all.deb ...
388s Unpacking libipc-run-perl (20231003.0-2) ...
388s Selecting previously unselected package postgresql-common-dev.
388s Preparing to unpack .../04-postgresql-common-dev_273_all.deb ...
388s Unpacking postgresql-common-dev (273) ...
388s Selecting previously unselected package ssl-cert.
388s Preparing to unpack .../05-ssl-cert_1.1.3ubuntu1_all.deb ...
388s Unpacking ssl-cert (1.1.3ubuntu1) ...
388s Selecting previously unselected package postgresql-common.
388s Preparing to unpack .../06-postgresql-common_273_all.deb ...
388s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common'
388s Unpacking postgresql-common (273) ...
388s Selecting previously unselected package libclang-cpp19.
388s Preparing to unpack .../07-libclang-cpp19_1%3a19.1.7-1ubuntu1_s390x.deb ...
388s Unpacking libclang-cpp19 (1:19.1.7-1ubuntu1) ...
388s Selecting previously unselected package libgomp1:s390x.
388s Preparing to unpack .../08-libgomp1_15-20250213-1ubuntu1_s390x.deb ...
388s Unpacking libgomp1:s390x (15-20250213-1ubuntu1) ...
388s Selecting previously unselected package libitm1:s390x.
388s Preparing to unpack .../09-libitm1_15-20250213-1ubuntu1_s390x.deb ...
388s Unpacking libitm1:s390x (15-20250213-1ubuntu1) ...
388s Selecting previously unselected package libasan8:s390x.
388s Preparing to unpack .../10-libasan8_15-20250213-1ubuntu1_s390x.deb ...
388s Unpacking libasan8:s390x (15-20250213-1ubuntu1) ...
388s Selecting previously unselected package libubsan1:s390x.
388s Preparing to unpack .../11-libubsan1_15-20250213-1ubuntu1_s390x.deb ...
388s Unpacking libubsan1:s390x (15-20250213-1ubuntu1) ...
389s Selecting previously unselected package libgcc-14-dev:s390x.
389s Preparing to unpack .../12-libgcc-14-dev_14.2.0-17ubuntu1_s390x.deb ...
389s Unpacking libgcc-14-dev:s390x (14.2.0-17ubuntu1) ...
389s Selecting previously unselected package libstdc++-14-dev:s390x.
389s Preparing to unpack .../13-libstdc++-14-dev_14.2.0-17ubuntu1_s390x.deb ...
389s Unpacking libstdc++-14-dev:s390x (14.2.0-17ubuntu1) ...
389s Selecting previously unselected package libgc1:s390x.
389s Preparing to unpack .../14-libgc1_1%3a8.2.8-1_s390x.deb ...
389s Unpacking libgc1:s390x (1:8.2.8-1) ...
389s Selecting previously unselected package libobjc4:s390x.
389s Preparing to unpack .../15-libobjc4_15-20250213-1ubuntu1_s390x.deb ...
389s Unpacking libobjc4:s390x (15-20250213-1ubuntu1) ...
389s Selecting previously unselected package libobjc-14-dev:s390x.
389s Preparing to unpack .../16-libobjc-14-dev_14.2.0-17ubuntu1_s390x.deb ...
389s Unpacking libobjc-14-dev:s390x (14.2.0-17ubuntu1) ...
389s Selecting previously unselected package libclang-common-19-dev:s390x.
389s Preparing to unpack .../17-libclang-common-19-dev_1%3a19.1.7-1ubuntu1_s390x.deb ...
389s Unpacking libclang-common-19-dev:s390x (1:19.1.7-1ubuntu1) ...
389s Selecting previously unselected package llvm-19-linker-tools.
389s Preparing to unpack .../18-llvm-19-linker-tools_1%3a19.1.7-1ubuntu1_s390x.deb ...
389s Unpacking llvm-19-linker-tools (1:19.1.7-1ubuntu1) ...
389s Selecting previously unselected package clang-19.
389s Preparing to unpack .../19-clang-19_1%3a19.1.7-1ubuntu1_s390x.deb ...
389s Unpacking clang-19 (1:19.1.7-1ubuntu1) ...
389s Selecting previously unselected package libpgtypes3:s390x.
389s Preparing to unpack .../20-libpgtypes3_17.3-3_s390x.deb ...
389s Unpacking libpgtypes3:s390x (17.3-3) ...
389s Selecting previously unselected package libpq5:s390x.
389s Preparing to unpack .../21-libpq5_17.3-3_s390x.deb ...
389s Unpacking libpq5:s390x (17.3-3) ...
389s Selecting previously unselected package libecpg6:s390x.
389s Preparing to unpack .../22-libecpg6_17.3-3_s390x.deb ...
389s Unpacking libecpg6:s390x (17.3-3) ...
389s Selecting previously unselected package libecpg-compat3:s390x.
389s Preparing to unpack .../23-libecpg-compat3_17.3-3_s390x.deb ...
389s Unpacking libecpg-compat3:s390x (17.3-3) ...
389s Selecting previously unselected package libssl-dev:s390x.
389s Preparing to unpack .../24-libssl-dev_3.4.0-1ubuntu2_s390x.deb ...
389s Unpacking libssl-dev:s390x (3.4.0-1ubuntu2) ...
389s Selecting previously unselected package libpq-dev.
389s Preparing to unpack .../25-libpq-dev_17.3-3_s390x.deb ...
389s Unpacking libpq-dev (17.3-3) ...
389s Selecting previously unselected package libecpg-dev.
389s Preparing to unpack .../26-libecpg-dev_17.3-3_s390x.deb ...
389s Unpacking libecpg-dev (17.3-3) ...
389s Selecting previously unselected package liblua5.3-0:s390x.
389s Preparing to unpack .../27-liblua5.3-0_5.3.6-2build2_s390x.deb ...
389s Unpacking liblua5.3-0:s390x (5.3.6-2build2) ...
389s Selecting previously unselected package libncurses-dev:s390x.
389s Preparing to unpack .../28-libncurses-dev_6.5+20250125-2_s390x.deb ...
389s Unpacking libncurses-dev:s390x (6.5+20250125-2) ...
389s Selecting previously unselected package libtcl8.6:s390x.
389s Preparing to unpack .../29-libtcl8.6_8.6.16+dfsg-1_s390x.deb ...
389s Unpacking libtcl8.6:s390x (8.6.16+dfsg-1) ...
389s Selecting previously unselected package libxml2-dev:s390x.
389s Preparing to unpack .../30-libxml2-dev_2.12.7+dfsg+really2.9.14-0.2ubuntu3_s390x.deb ...
389s Unpacking libxml2-dev:s390x (2.12.7+dfsg+really2.9.14-0.2ubuntu3) ...
389s Selecting previously unselected package libxslt1.1:s390x.
389s Preparing to unpack .../31-libxslt1.1_1.1.39-0exp1ubuntu2_s390x.deb ...
389s Unpacking libxslt1.1:s390x (1.1.39-0exp1ubuntu2) ...
389s Selecting previously unselected package llvm-19-runtime.
389s Preparing to unpack .../32-llvm-19-runtime_1%3a19.1.7-1ubuntu1_s390x.deb ...
389s Unpacking llvm-19-runtime (1:19.1.7-1ubuntu1) ...
389s Selecting previously unselected package libpfm4:s390x.
389s Preparing to unpack .../33-libpfm4_4.13.0+git83-g91970fe-1_s390x.deb ...
389s Unpacking libpfm4:s390x (4.13.0+git83-g91970fe-1) ...
389s Selecting previously unselected package llvm-19.
389s Preparing to unpack .../34-llvm-19_1%3a19.1.7-1ubuntu1_s390x.deb ...
389s Unpacking llvm-19 (1:19.1.7-1ubuntu1) ...
390s Selecting previously unselected package libffi-dev:s390x.
390s Preparing to unpack .../35-libffi-dev_3.4.7-1_s390x.deb ...
390s Unpacking libffi-dev:s390x (3.4.7-1) ...
390s Selecting previously unselected package llvm-19-tools.
390s Preparing to unpack .../36-llvm-19-tools_1%3a19.1.7-1ubuntu1_s390x.deb ...
390s Unpacking llvm-19-tools (1:19.1.7-1ubuntu1) ...
390s Selecting previously unselected package llvm-19-dev.
390s Preparing to unpack .../37-llvm-19-dev_1%3a19.1.7-1ubuntu1_s390x.deb ...
390s Unpacking llvm-19-dev (1:19.1.7-1ubuntu1) ...
391s Selecting previously unselected package postgresql-client-17.
391s Preparing to unpack .../38-postgresql-client-17_17.3-3_s390x.deb ...
391s Unpacking postgresql-client-17 (17.3-3) ...
391s Selecting previously unselected package postgresql-17.
391s Preparing to unpack .../39-postgresql-17_17.3-3_s390x.deb ...
391s Unpacking postgresql-17 (17.3-3) ...
392s Selecting previously unselected package postgresql-17-pllua.
392s Preparing to unpack .../40-postgresql-17-pllua_1%3a2.0.12-3_s390x.deb ...
392s Unpacking postgresql-17-pllua (1:2.0.12-3) ...
392s Selecting previously unselected package postgresql-server-dev-17.
392s Preparing to unpack .../41-postgresql-server-dev-17_17.3-3_s390x.deb ...
392s Unpacking postgresql-server-dev-17 (17.3-3) ...
392s Selecting previously unselected package postgresql-server-dev-all.
392s Preparing to unpack .../42-postgresql-server-dev-all_273_all.deb ...
392s Unpacking postgresql-server-dev-all (273) ...
392s Selecting previously unselected package postgresql-plperl-17.
392s Preparing to unpack .../43-postgresql-plperl-17_17.3-3_s390x.deb ...
392s Unpacking postgresql-plperl-17 (17.3-3) ...
392s Selecting previously unselected package postgresql-plpython3-17.
392s Preparing to unpack .../44-postgresql-plpython3-17_17.3-3_s390x.deb ...
392s Unpacking postgresql-plpython3-17 (17.3-3) ...
392s Selecting previously unselected package postgresql-pltcl-17.
392s Preparing to unpack .../45-postgresql-pltcl-17_17.3-3_s390x.deb ...
392s Unpacking postgresql-pltcl-17 (17.3-3) ...
392s Selecting previously unselected package postgresql-all.
392s Preparing to unpack .../46-postgresql-all_273_all.deb ...
392s Unpacking postgresql-all (273) ...
392s Setting up postgresql-client-common (273) ...
392s Setting up libpgtypes3:s390x (17.3-3) ...
392s Setting up libncurses-dev:s390x (6.5+20250125-2) ...
392s Setting up libio-pty-perl (1:1.20-1build3) ...
392s Setting up libclang-common-19-dev:s390x (1:19.1.7-1ubuntu1) ...
392s Setting up libpq5:s390x (17.3-3) ...
392s Setting up libgomp1:s390x (15-20250213-1ubuntu1) ...
392s Setting up libffi-dev:s390x (3.4.7-1) ...
392s Setting up libxml2-dev:s390x (2.12.7+dfsg+really2.9.14-0.2ubuntu3) ...
392s Setting up libpfm4:s390x (4.13.0+git83-g91970fe-1) ...
392s Setting up ssl-cert (1.1.3ubuntu1) ...
393s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'.
393s Setting up libssl-dev:s390x (3.4.0-1ubuntu2) ...
393s Setting up libtcl8.6:s390x (8.6.16+dfsg-1) ...
393s Setting up libipc-run-perl (20231003.0-2) ...
393s Setting up libgc1:s390x (1:8.2.8-1) ...
393s Setting up libubsan1:s390x (15-20250213-1ubuntu1) ...
393s Setting up libasan8:s390x (15-20250213-1ubuntu1) ...
393s Setting up liblua5.3-0:s390x (5.3.6-2build2) ...
393s Setting up libjson-perl (4.10000-1) ...
393s Setting up libxslt1.1:s390x (1.1.39-0exp1ubuntu2) ...
393s Setting up libecpg6:s390x (17.3-3) ...
393s Setting up llvm-19-linker-tools (1:19.1.7-1ubuntu1) ...
393s Setting up llvm-19-runtime (1:19.1.7-1ubuntu1) ...
393s Setting up llvm-19-tools (1:19.1.7-1ubuntu1) ...
393s Setting up libitm1:s390x (15-20250213-1ubuntu1) ...
393s Setting up libclang-cpp19 (1:19.1.7-1ubuntu1) ...
393s Setting up postgresql-common-dev (273) ...
393s Setting up libecpg-compat3:s390x (17.3-3) ...
393s Setting up postgresql-client-17 (17.3-3) ...
393s update-alternatives: using /usr/share/postgresql/17/man/man1/psql.1.gz to provide /usr/share/man/man1/psql.1.gz (psql.1.gz) in auto mode
393s Setting up libpq-dev (17.3-3) ...
393s Setting up libobjc4:s390x (15-20250213-1ubuntu1) ...
393s Setting up libecpg-dev (17.3-3) ...
393s Setting up postgresql-common (273) ...
393s Creating config file /etc/postgresql-common/createcluster.conf with new version
393s Building PostgreSQL dictionaries from installed myspell/hunspell packages...
393s Removing obsolete dictionary files:
394s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'.
394s Setting up llvm-19 (1:19.1.7-1ubuntu1) ...
394s Setting up libgcc-14-dev:s390x (14.2.0-17ubuntu1) ...
394s Setting up libstdc++-14-dev:s390x (14.2.0-17ubuntu1) ...
394s Setting up postgresql-17 (17.3-3) ...
395s Creating new PostgreSQL cluster 17/main ...
395s /usr/lib/postgresql/17/bin/initdb -D /var/lib/postgresql/17/main --auth-local peer --auth-host scram-sha-256 --no-instructions
395s The files belonging to this database system will be owned by user "postgres".
395s This user must also own the server process.
395s
395s The database cluster will be initialized with locale "C.UTF-8".
395s The default database encoding has accordingly been set to "UTF8".
395s The default text search configuration will be set to "english".
395s
395s Data page checksums are disabled.
395s
395s fixing permissions on existing directory /var/lib/postgresql/17/main ... ok
395s creating subdirectories ... ok
395s selecting dynamic shared memory implementation ... posix
395s selecting default "max_connections" ... 100
395s selecting default "shared_buffers" ... 128MB
395s selecting default time zone ... Etc/UTC
395s creating configuration files ... ok
395s running bootstrap script ... ok
395s performing post-bootstrap initialization ... ok
395s syncing data to disk ... ok
398s Setting up libobjc-14-dev:s390x (14.2.0-17ubuntu1) ...
398s Setting up clang-19 (1:19.1.7-1ubuntu1) ...
398s Setting up postgresql-17-pllua (1:2.0.12-3) ...
398s Setting up llvm-19-dev (1:19.1.7-1ubuntu1) ...
398s Setting up postgresql-plpython3-17 (17.3-3) ...
398s Setting up postgresql-plperl-17 (17.3-3) ...
398s Setting up postgresql-pltcl-17 (17.3-3) ...
398s Setting up postgresql-server-dev-17 (17.3-3) ...
398s Setting up postgresql-server-dev-all (273) ...
398s Setting up postgresql-all (273) ...
398s Processing triggers for install-info (7.1.1-1) ...
398s Processing triggers for libc-bin (2.41-1ubuntu1) ...
398s Processing triggers for systemd (257.2-3ubuntu1) ...
398s Processing triggers for man-db (2.13.0-1) ...
401s autopkgtest [04:37:21]: test installcheck-pllua-hstore: pg_buildext installcheck hstore
401s autopkgtest [04:37:21]: test installcheck-pllua-hstore: [-----------------------
401s ### PostgreSQL 17 installcheck ###
401s Creating new PostgreSQL cluster 17/regress ...
404s make: Entering directory '/tmp/autopkgtest.eqpTSM/build.9UR/src/hstore'
404s echo "# +++ regress install-check in +++" && /usr/lib/postgresql/17/lib/pgxs/src/makefiles/../../src/test/regress/pg_regress --inputdir=/tmp/autopkgtest.eqpTSM/build.9UR/src --bindir='/usr/lib/postgresql/17/bin' --dbname=contrib_regression create_ext hstore
404s # +++ regress install-check in +++
404s # using postmaster on localhost, port 5433
404s not ok 1 - create_ext 24 ms
404s not ok 2 - hstore 15 ms
404s 1..2
404s # 2 of 2 tests failed.
404s # The differences that caused some tests to fail can be viewed in the file "/tmp/autopkgtest.eqpTSM/build.9UR/src/hstore/regression.diffs".
404s # A copy of the test summary that you see above is saved in the file "/tmp/autopkgtest.eqpTSM/build.9UR/src/hstore/regression.out".
404s make: *** [/usr/lib/postgresql/17/lib/pgxs/src/makefiles/pgxs.mk:436: installcheck] Error 1
404s make: Leaving directory '/tmp/autopkgtest.eqpTSM/build.9UR/src/hstore'
404s *** /tmp/pg_virtualenv.mtVb7S/log/postgresql-17-regress.log (last 100 lines) ***
404s 2025-02-19 04:37:22.078 UTC [3771] LOG: starting PostgreSQL 17.3 (Ubuntu 17.3-3) on s390x-ibm-linux-gnu, compiled by gcc (Ubuntu 14.2.0-17ubuntu1) 14.2.0, 64-bit
404s 2025-02-19 04:37:22.078 UTC [3771] LOG: listening on IPv6 address "::1", port 5433
404s 2025-02-19 04:37:22.078 UTC [3771] LOG: listening on IPv4 address "127.0.0.1", port 5433
404s 2025-02-19 04:37:22.078 UTC [3771] LOG: listening on Unix socket "/tmp/.s.PGSQL.5433"
404s 2025-02-19 04:37:22.080 UTC [3774] LOG: database system was shut down at 2025-02-19 04:37:21 UTC
404s 2025-02-19 04:37:22.083 UTC [3771] LOG: database system is ready to accept connections
404s 2025-02-19 04:37:24.329 UTC [3812] ubuntu@contrib_regression ERROR: could not load library "/usr/lib/postgresql/17/lib/pllua.so": /usr/lib/postgresql/17/lib/pllua.so: cannot enable executable stack as shared object requires: Invalid argument
404s 2025-02-19 04:37:24.329 UTC [3812] ubuntu@contrib_regression STATEMENT: create extension pllua;
404s 2025-02-19 04:37:24.330 UTC [3812] ubuntu@contrib_regression ERROR: required extension "pllua" is not installed
404s 2025-02-19 04:37:24.330 UTC [3812] ubuntu@contrib_regression HINT: Use CREATE EXTENSION ... CASCADE to install required extensions too.
404s 2025-02-19 04:37:24.330 UTC [3812] ubuntu@contrib_regression STATEMENT: create extension hstore_pllua;
404s 2025-02-19 04:37:24.348 UTC [3818] ubuntu@contrib_regression ERROR: language "pllua" does not exist
404s 2025-02-19 04:37:24.348 UTC [3818] ubuntu@contrib_regression HINT: Use CREATE EXTENSION to load the language into the database.
404s 2025-02-19 04:37:24.348 UTC [3818] ubuntu@contrib_regression STATEMENT: do language pllua $$
404s -- these should work even without the transform
404s local hs = pgtype.hstore('"foo"=>"bar", "baz"=>"quux"')
404s print(hs)
404s local res = (spi.execute([[select pg_typeof($1) as type, $1::text as text, $1->'foo' as foo, $1->'baz' as bar]], hs))[1]
404s print(res.type, res.text, res.foo, res.bar)
404s -- but these use it:
404s res = (spi.execute([[select $1 as hs]], hs))[1]
404s print(type(res.hs))
404s do
404s local ks = {}
404s for k,v in pairs(res.hs) do ks[1+#ks] = k end
404s table.sort(ks)
404s for i,k in ipairs(ks) do print(k,res.hs[k]) end
404s end
404s local hs2 = pgtype.hstore({ foo = "bar", baz = "quux" })
404s res = (spi.execute([[select pg_typeof($1) as t2]], hs2))[1]
404s print(res.t2)
404s res = (spi.execute([[select $1 = $2 as eq]], hs, hs2))[1]
404s print(res.eq)
404s $$;
404s 2025-02-19 04:37:24.348 UTC [3818] ubuntu@contrib_regression ERROR: language "pllua" does not exist
404s 2025-02-19 04:37:24.348 UTC [3818] ubuntu@contrib_regression HINT: Use CREATE EXTENSION to load the language into the database.
404s 2025-02-19 04:37:24.348 UTC [3818] ubuntu@contrib_regression STATEMENT: do language pllua $$
404s print(pgtype.hstore(123))
404s $$;
404s 2025-02-19 04:37:24.348 UTC [3818] ubuntu@contrib_regression ERROR: language "pllua" does not exist
404s 2025-02-19 04:37:24.348 UTC [3818] ubuntu@contrib_regression HINT: Use CREATE EXTENSION to load the language into the database.
404s 2025-02-19 04:37:24.348 UTC [3818] ubuntu@contrib_regression STATEMENT: do language pllua $$
404s print(pgtype.hstore(function() end))
404s $$;
404s Dropping cluster 17/regress ...
404s **** hstore/regression.diffs ****
404s diff -U3 /tmp/autopkgtest.eqpTSM/build.9UR/src/hstore/expected/create_ext.out /tmp/autopkgtest.eqpTSM/build.9UR/src/hstore/results/create_ext.out
404s --- /tmp/autopkgtest.eqpTSM/build.9UR/src/hstore/expected/create_ext.out 2023-07-29 18:06:29.000000000 +0000
404s +++ /tmp/autopkgtest.eqpTSM/build.9UR/src/hstore/results/create_ext.out 2025-02-19 04:37:24.314063085 +0000
404s @@ -1,5 +1,8 @@
404s --
404s create extension hstore;
404s create extension pllua;
404s +ERROR: could not load library "/usr/lib/postgresql/17/lib/pllua.so": /usr/lib/postgresql/17/lib/pllua.so: cannot enable executable stack as shared object requires: Invalid argument
404s create extension hstore_pllua;
404s +ERROR: required extension "pllua" is not installed
404s +HINT: Use CREATE EXTENSION ... CASCADE to install required extensions too.
404s --end
404s diff -U3 /tmp/autopkgtest.eqpTSM/build.9UR/src/hstore/expected/hstore.out /tmp/autopkgtest.eqpTSM/build.9UR/src/hstore/results/hstore.out
404s --- /tmp/autopkgtest.eqpTSM/build.9UR/src/hstore/expected/hstore.out 2023-07-29 18:06:29.000000000 +0000
404s +++ /tmp/autopkgtest.eqpTSM/build.9UR/src/hstore/results/hstore.out 2025-02-19 04:37:24.334063085 +0000
404s @@ -22,20 +22,14 @@
404s res = (spi.execute([[select $1 = $2 as eq]], hs, hs2))[1]
404s print(res.eq)
404s $$;
404s -INFO: "baz"=>"quux", "foo"=>"bar"
404s -INFO: hstore "baz"=>"quux", "foo"=>"bar" bar quux
404s -INFO: table
404s -INFO: baz quux
404s -INFO: foo bar
404s -INFO: hstore
404s -INFO: true
404s +ERROR: language "pllua" does not exist
404s -- make sure that non-table types don't crash the transform
404s do language pllua $$
404s print(pgtype.hstore(123))
404s $$;
404s -ERROR: pllua: incompatible value type
404s +ERROR: language "pllua" does not exist
404s do language pllua $$
404s print(pgtype.hstore(function() end))
404s $$;
404s -ERROR: pllua: incompatible value type
404s +ERROR: language "pllua" does not exist
404s --end
404s ### End 17 installcheck (FAILED with exit code 1) ###
404s autopkgtest [04:37:24]: test installcheck-pllua-hstore: -----------------------]
405s installcheck-pllua-hstore FAIL non-zero exit status 1
405s autopkgtest [04:37:25]: test installcheck-pllua-hstore: - - - - - - - - - - results - - - - - - - - - -
405s autopkgtest [04:37:25]: @@@@@@@@@@@@@@@@@@@@ summary
405s installcheck-pllua FAIL non-zero exit status 1
405s installcheck-pllua-hstore FAIL non-zero exit status 1
422s nova [W] Using flock in prodstack6-s390x
422s Creating nova instance adt-plucky-s390x-postgresql-pllua-20250219-043040-juju-7f2275-prod-proposed-migration-environment-20-40ff1f0c-476e-407f-a6be-0aec5cf61604 from image adt/ubuntu-plucky-s390x-server-20250218.img (UUID d4b3949f-1d31-4fe6-9e99-080adec067af)...
422s nova [W] Timed out waiting for f2b65dfa-82e7-47b7-85f9-4dc429f64a3a to get deleted.
422s nova [W] Using flock in prodstack6-s390x
422s Creating nova instance adt-plucky-s390x-postgresql-pllua-20250219-043040-juju-7f2275-prod-proposed-migration-environment-20-40ff1f0c-476e-407f-a6be-0aec5cf61604 from image adt/ubuntu-plucky-s390x-server-20250218.img (UUID d4b3949f-1d31-4fe6-9e99-080adec067af)...
422s nova [W] Timed out waiting for e5f520a9-d278-4d07-8b0c-834f283d2d60 to get deleted.