0s autopkgtest [08:09:51]: starting date and time: 2025-02-19 08:09:51+0000
0s autopkgtest [08:09:51]: git checkout: 325255d2 Merge branch 'pin-any-arch' into 'ubuntu/production'
0s autopkgtest [08:09:51]: host juju-7f2275-prod-proposed-migration-environment-20; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.gm8qh3ck/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 builder-cpu2-ram4-disk20 --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-20@bos03-15.secgroup --name adt-plucky-amd64-postgresql-pllua-20250219-080951-juju-7f2275-prod-proposed-migration-environment-20-247fa5c5-f6f4-4d10-a0a0-8e5042c08993 --image adt/ubuntu-plucky-amd64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-20 --net-id=net_prod-proposed-migration-amd64 -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/
56s autopkgtest [08:10:47]: testbed dpkg architecture: amd64
56s autopkgtest [08:10:47]: testbed apt version: 2.9.29
56s autopkgtest [08:10:47]: @@@@@@@@@@@@@@@@@@@@ test bed setup
57s autopkgtest [08:10:48]: testbed release detected to be: None
57s autopkgtest [08:10:48]: updating testbed package index (apt update)
58s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [110 kB]
58s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease
58s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease
58s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease
58s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [3120 B]
58s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [14.6 kB]
58s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [73.3 kB]
58s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [734 kB]
59s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 Packages [97.3 kB]
59s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/main i386 Packages [79.0 kB]
59s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/restricted i386 Packages [2412 B]
59s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/restricted amd64 Packages [7984 B]
59s Get:13 http://ftpmaster.internal/ubuntu plucky-proposed/universe i386 Packages [254 kB]
59s Get:14 http://ftpmaster.internal/ubuntu plucky-proposed/universe amd64 Packages [678 kB]
59s Get:15 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse amd64 Packages [12.4 kB]
59s Get:16 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse i386 Packages [3440 B]
59s Fetched 2070 kB in 1s (1404 kB/s)
60s Reading package lists...
61s Reading package lists...
61s Building dependency tree...
61s Reading state information...
61s Calculating upgrade...
62s The following NEW packages will be installed:
62s libapt-pkg7.0
62s The following packages will be upgraded:
62s apt apt-utils rsyslog
62s 3 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
62s Need to get 3342 kB of archives.
62s After this operation, 3693 kB of additional disk space will be used.
62s Get:1 http://ftpmaster.internal/ubuntu plucky/main amd64 libapt-pkg7.0 amd64 2.9.30 [1131 kB]
63s Get:2 http://ftpmaster.internal/ubuntu plucky/main amd64 apt amd64 2.9.30 [1434 kB]
63s Get:3 http://ftpmaster.internal/ubuntu plucky/main amd64 apt-utils amd64 2.9.30 [222 kB]
63s Get:4 http://ftpmaster.internal/ubuntu plucky/main amd64 rsyslog amd64 8.2412.0-2ubuntu1 [555 kB]
64s Fetched 3342 kB in 1s (2269 kB/s)
64s Selecting previously unselected package libapt-pkg7.0:amd64.
64s (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 ... 108925 files and directories currently installed.)
64s Preparing to unpack .../libapt-pkg7.0_2.9.30_amd64.deb ...
64s Unpacking libapt-pkg7.0:amd64 (2.9.30) ...
64s Setting up libapt-pkg7.0:amd64 (2.9.30) ...
64s (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 ... 108974 files and directories currently installed.)
64s Preparing to unpack .../archives/apt_2.9.30_amd64.deb ...
64s Unpacking apt (2.9.30) over (2.9.29) ...
64s Setting up apt (2.9.30) ...
65s (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 ... 108974 files and directories currently installed.)
65s Preparing to unpack .../apt-utils_2.9.30_amd64.deb ...
65s Unpacking apt-utils (2.9.30) over (2.9.29) ...
65s Preparing to unpack .../rsyslog_8.2412.0-2ubuntu1_amd64.deb ...
65s Unpacking rsyslog (8.2412.0-2ubuntu1) over (8.2412.0-1ubuntu1) ...
65s Setting up apt-utils (2.9.30) ...
65s Setting up rsyslog (8.2412.0-2ubuntu1) ...
65s info: The user `syslog' is already a member of `adm'.
66s Processing triggers for libc-bin (2.40-4ubuntu1) ...
66s Processing triggers for man-db (2.13.0-1) ...
69s Reading package lists...
70s Building dependency tree...
70s Reading state information...
70s 0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.
70s autopkgtest [08:11:01]: upgrading testbed (apt dist-upgrade and autopurge)
70s Reading package lists...
70s Building dependency tree...
70s Reading state information...
71s Calculating upgrade...Starting pkgProblemResolver with broken count: 0
71s Starting 2 pkgProblemResolver with broken count: 0
71s Done
71s Entering ResolveByKeep
72s
72s The following packages will be upgraded:
72s libc-bin libc-dev-bin libc6 libc6-dev locales
72s 5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
72s Need to get 10.5 MB of archives.
72s After this operation, 377 kB of additional disk space will be used.
72s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 libc-dev-bin amd64 2.41-1ubuntu1 [24.7 kB]
72s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 libc6-dev amd64 2.41-1ubuntu1 [2182 kB]
73s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 locales all 2.41-1ubuntu1 [4246 kB]
75s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 libc6 amd64 2.41-1ubuntu1 [3327 kB]
76s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 libc-bin amd64 2.41-1ubuntu1 [701 kB]
76s Preconfiguring packages ...
76s Fetched 10.5 MB in 4s (2593 kB/s)
76s (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 ... 108974 files and directories currently installed.)
76s Preparing to unpack .../libc-dev-bin_2.41-1ubuntu1_amd64.deb ...
76s Unpacking libc-dev-bin (2.41-1ubuntu1) over (2.40-4ubuntu1) ...
77s Preparing to unpack .../libc6-dev_2.41-1ubuntu1_amd64.deb ...
77s Unpacking libc6-dev:amd64 (2.41-1ubuntu1) over (2.40-4ubuntu1) ...
77s Preparing to unpack .../locales_2.41-1ubuntu1_all.deb ...
77s Unpacking locales (2.41-1ubuntu1) over (2.40-4ubuntu1) ...
77s Preparing to unpack .../libc6_2.41-1ubuntu1_amd64.deb ...
77s Checking for services that may need to be restarted...
77s Checking init scripts...
77s Checking for services that may need to be restarted...
77s Checking init scripts...
77s Stopping some services possibly affected by the upgrade (will be restarted later):
77s cron: stopping...done.
77s
77s Unpacking libc6:amd64 (2.41-1ubuntu1) over (2.40-4ubuntu1) ...
78s Setting up libc6:amd64 (2.41-1ubuntu1) ...
78s Checking for services that may need to be restarted...
78s Checking init scripts...
78s Restarting services possibly affected by the upgrade:
78s cron: restarting...done.
78s
78s Services restarted successfully.
78s (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 ... 108975 files and directories currently installed.)
78s Preparing to unpack .../libc-bin_2.41-1ubuntu1_amd64.deb ...
78s Unpacking libc-bin (2.41-1ubuntu1) over (2.40-4ubuntu1) ...
78s Setting up libc-bin (2.41-1ubuntu1) ...
78s Setting up locales (2.41-1ubuntu1) ...
78s Installing new version of config file /etc/locale.alias ...
79s Generating locales (this might take a while)...
80s en_US.UTF-8... done
80s Generation complete.
80s Setting up libc-dev-bin (2.41-1ubuntu1) ...
80s Setting up libc6-dev:amd64 (2.41-1ubuntu1) ...
80s Processing triggers for man-db (2.13.0-1) ...
81s Processing triggers for systemd (257.2-3ubuntu1) ...
82s Reading package lists...
82s Building dependency tree...
82s Reading state information...
82s Starting pkgProblemResolver with broken count: 0
82s Starting 2 pkgProblemResolver with broken count: 0
82s Done
82s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
83s autopkgtest [08:11:14]: rebooting testbed after setup commands that affected boot
106s autopkgtest [08:11:37]: testbed running kernel: Linux 6.12.0-15-generic #15-Ubuntu SMP PREEMPT_DYNAMIC Tue Feb 4 16:02:16 UTC 2025
108s autopkgtest [08:11:39]: @@@@@@@@@@@@@@@@@@@@ apt-source postgresql-pllua
110s Get:1 http://ftpmaster.internal/ubuntu plucky/universe postgresql-pllua 1:2.0.12-3 (dsc) [2209 B]
110s Get:2 http://ftpmaster.internal/ubuntu plucky/universe postgresql-pllua 1:2.0.12-3 (tar) [222 kB]
110s Get:3 http://ftpmaster.internal/ubuntu plucky/universe postgresql-pllua 1:2.0.12-3 (diff) [4676 B]
110s gpgv: Signature made Sat Sep 14 21:50:12 2024 UTC
110s gpgv: using RSA key 5C48FE6157F49179597087C64C5A6BAB12D2A7AE
110s gpgv: Can't check signature: No public key
110s dpkg-source: warning: cannot verify inline signature for ./postgresql-pllua_2.0.12-3.dsc: no acceptable signature found
110s autopkgtest [08:11:41]: testing package postgresql-pllua version 1:2.0.12-3
111s autopkgtest [08:11:42]: build not needed
111s autopkgtest [08:11:42]: test installcheck-pllua: preparing testbed
112s Reading package lists...
112s Building dependency tree...
112s Reading state information...
112s Starting pkgProblemResolver with broken count: 0
112s Starting 2 pkgProblemResolver with broken count: 0
112s Done
113s The following NEW packages will be installed:
113s libio-pty-perl libipc-run-perl libjson-perl liblua5.3-0 libpq5 libxslt1.1
113s lua5.3 postgresql-17 postgresql-17-pllua postgresql-client-17
113s postgresql-client-common postgresql-common postgresql-common-dev ssl-cert
113s 0 upgraded, 14 newly installed, 0 to remove and 0 not upgraded.
113s Need to get 19.4 MB of archives.
113s After this operation, 57.9 MB of additional disk space will be used.
113s Get:1 http://ftpmaster.internal/ubuntu plucky/main amd64 libjson-perl all 4.10000-1 [81.9 kB]
113s Get:2 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql-client-common all 273 [47.5 kB]
113s Get:3 http://ftpmaster.internal/ubuntu plucky/main amd64 libio-pty-perl amd64 1:1.20-1build3 [31.4 kB]
113s Get:4 http://ftpmaster.internal/ubuntu plucky/main amd64 libipc-run-perl all 20231003.0-2 [91.5 kB]
113s Get:5 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql-common-dev all 273 [72.9 kB]
113s Get:6 http://ftpmaster.internal/ubuntu plucky/main amd64 ssl-cert all 1.1.3ubuntu1 [18.7 kB]
113s Get:7 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql-common all 273 [101 kB]
113s Get:8 http://ftpmaster.internal/ubuntu plucky/universe amd64 liblua5.3-0 amd64 5.3.6-2build2 [143 kB]
113s Get:9 http://ftpmaster.internal/ubuntu plucky/main amd64 libpq5 amd64 17.3-3 [154 kB]
114s Get:10 http://ftpmaster.internal/ubuntu plucky/main amd64 libxslt1.1 amd64 1.1.39-0exp1ubuntu2 [175 kB]
114s Get:11 http://ftpmaster.internal/ubuntu plucky/universe amd64 lua5.3 amd64 5.3.6-2build2 [145 kB]
114s Get:12 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql-client-17 amd64 17.3-3 [1425 kB]
114s Get:13 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql-17 amd64 17.3-3 [16.6 MB]
116s Get:14 http://ftpmaster.internal/ubuntu plucky/universe amd64 postgresql-17-pllua amd64 1:2.0.12-3 [387 kB]
116s Preconfiguring packages ...
117s Fetched 19.4 MB in 3s (5935 kB/s)
117s Selecting previously unselected package libjson-perl.
117s (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 ... 108975 files and directories currently installed.)
117s Preparing to unpack .../00-libjson-perl_4.10000-1_all.deb ...
117s Unpacking libjson-perl (4.10000-1) ...
117s Selecting previously unselected package postgresql-client-common.
117s Preparing to unpack .../01-postgresql-client-common_273_all.deb ...
117s Unpacking postgresql-client-common (273) ...
117s Selecting previously unselected package libio-pty-perl.
117s Preparing to unpack .../02-libio-pty-perl_1%3a1.20-1build3_amd64.deb ...
117s Unpacking libio-pty-perl (1:1.20-1build3) ...
117s Selecting previously unselected package libipc-run-perl.
117s Preparing to unpack .../03-libipc-run-perl_20231003.0-2_all.deb ...
117s Unpacking libipc-run-perl (20231003.0-2) ...
117s Selecting previously unselected package postgresql-common-dev.
117s Preparing to unpack .../04-postgresql-common-dev_273_all.deb ...
117s Unpacking postgresql-common-dev (273) ...
117s Selecting previously unselected package ssl-cert.
117s Preparing to unpack .../05-ssl-cert_1.1.3ubuntu1_all.deb ...
117s Unpacking ssl-cert (1.1.3ubuntu1) ...
117s Selecting previously unselected package postgresql-common.
117s Preparing to unpack .../06-postgresql-common_273_all.deb ...
117s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common'
117s Unpacking postgresql-common (273) ...
117s Selecting previously unselected package liblua5.3-0:amd64.
117s Preparing to unpack .../07-liblua5.3-0_5.3.6-2build2_amd64.deb ...
117s Unpacking liblua5.3-0:amd64 (5.3.6-2build2) ...
117s Selecting previously unselected package libpq5:amd64.
117s Preparing to unpack .../08-libpq5_17.3-3_amd64.deb ...
117s Unpacking libpq5:amd64 (17.3-3) ...
117s Selecting previously unselected package libxslt1.1:amd64.
117s Preparing to unpack .../09-libxslt1.1_1.1.39-0exp1ubuntu2_amd64.deb ...
117s Unpacking libxslt1.1:amd64 (1.1.39-0exp1ubuntu2) ...
117s Selecting previously unselected package lua5.3.
117s Preparing to unpack .../10-lua5.3_5.3.6-2build2_amd64.deb ...
117s Unpacking lua5.3 (5.3.6-2build2) ...
117s Selecting previously unselected package postgresql-client-17.
117s Preparing to unpack .../11-postgresql-client-17_17.3-3_amd64.deb ...
117s Unpacking postgresql-client-17 (17.3-3) ...
117s Selecting previously unselected package postgresql-17.
117s Preparing to unpack .../12-postgresql-17_17.3-3_amd64.deb ...
117s Unpacking postgresql-17 (17.3-3) ...
118s Selecting previously unselected package postgresql-17-pllua.
118s Preparing to unpack .../13-postgresql-17-pllua_1%3a2.0.12-3_amd64.deb ...
118s Unpacking postgresql-17-pllua (1:2.0.12-3) ...
118s Setting up postgresql-client-common (273) ...
118s Setting up libio-pty-perl (1:1.20-1build3) ...
118s Setting up lua5.3 (5.3.6-2build2) ...
118s update-alternatives: using /usr/bin/lua5.3 to provide /usr/bin/lua (lua-interpreter) in auto mode
118s update-alternatives: using /usr/bin/luac5.3 to provide /usr/bin/luac (lua-compiler) in auto mode
118s Setting up libpq5:amd64 (17.3-3) ...
118s Setting up ssl-cert (1.1.3ubuntu1) ...
118s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'.
119s Setting up libipc-run-perl (20231003.0-2) ...
119s Setting up liblua5.3-0:amd64 (5.3.6-2build2) ...
119s Setting up libjson-perl (4.10000-1) ...
119s Setting up libxslt1.1:amd64 (1.1.39-0exp1ubuntu2) ...
119s Setting up postgresql-common-dev (273) ...
119s Setting up postgresql-client-17 (17.3-3) ...
119s 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
119s Setting up postgresql-common (273) ...
119s Creating config file /etc/postgresql-common/createcluster.conf with new version
120s Building PostgreSQL dictionaries from installed myspell/hunspell packages...
120s Removing obsolete dictionary files:
120s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'.
121s Setting up postgresql-17 (17.3-3) ...
121s Creating new PostgreSQL cluster 17/main ...
121s /usr/lib/postgresql/17/bin/initdb -D /var/lib/postgresql/17/main --auth-local peer --auth-host scram-sha-256 --no-instructions
121s The files belonging to this database system will be owned by user "postgres".
121s This user must also own the server process.
121s
121s The database cluster will be initialized with locale "C.UTF-8".
121s The default database encoding has accordingly been set to "UTF8".
121s The default text search configuration will be set to "english".
121s
121s Data page checksums are disabled.
121s
121s fixing permissions on existing directory /var/lib/postgresql/17/main ... ok
121s creating subdirectories ... ok
121s selecting dynamic shared memory implementation ... posix
121s selecting default "max_connections" ... 100
121s selecting default "shared_buffers" ... 128MB
121s selecting default time zone ... Etc/UTC
121s creating configuration files ... ok
122s running bootstrap script ... ok
122s performing post-bootstrap initialization ... ok
122s syncing data to disk ... ok
125s Setting up postgresql-17-pllua (1:2.0.12-3) ...
125s Processing triggers for man-db (2.13.0-1) ...
126s Processing triggers for libc-bin (2.41-1ubuntu1) ...
127s autopkgtest [08:11:58]: test installcheck-pllua: LUA=lua5.3 pg_buildext installcheck
127s autopkgtest [08:11:58]: test installcheck-pllua: [-----------------------
128s ### PostgreSQL 17 installcheck ###
128s Creating new PostgreSQL cluster 17/regress ...
131s 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 procedures triggers_10
131s # +++ regress install-check in +++
131s # using postmaster on localhost, port 5433
131s not ok 1 - pllua 31 ms
131s not ok 2 - pllua_old 34 ms
131s not ok 3 - trusted 14 ms
131s not ok 4 - arrays 66 ms
131s not ok 5 - jsonb 203 ms
131s not ok 6 - numerics 17 ms
131s not ok 7 - horology 31 ms
131s not ok 8 - horology-errors 15 ms
131s not ok 9 - paths 19 ms
132s not ok 10 - rowdatum 376 ms
132s not ok 11 - spi 19 ms
132s not ok 12 - subxact 20 ms
132s not ok 13 - types 33 ms
132s not ok 14 - triggers 28 ms
132s not ok 15 - event_triggers 17 ms
132s not ok 16 - procedures 19 ms
132s not ok 17 - triggers_10 16 ms
132s 1..17
132s # 17 of 17 tests failed.
132s # The differences that caused some tests to fail can be viewed in the file "/tmp/autopkgtest.gVJJhB/build.hhR/src/regression.diffs".
132s # A copy of the test summary that you see above is saved in the file "/tmp/autopkgtest.gVJJhB/build.hhR/src/regression.out".
132s make: *** [/usr/lib/postgresql/17/lib/pgxs/src/makefiles/pgxs.mk:436: installcheck] Error 1
132s *** /tmp/pg_virtualenv.os0e2O/log/postgresql-17-regress.log (last 100 lines) ***
132s print(spi.is_atomic() and "atomic context" or "non-atomic context")
132s $$;
132s 2025-02-19 08:12:03.239 UTC [3590] ubuntu@contrib_regression ERROR: language "pllua" does not exist
132s 2025-02-19 08:12:03.239 UTC [3590] ubuntu@contrib_regression HINT: Use CREATE EXTENSION to load the language into the database.
132s 2025-02-19 08:12:03.239 UTC [3590] ubuntu@contrib_regression STATEMENT: create procedure pg_temp.tp2()
132s language pllua
132s as $$
132s local stmt = spi.prepare([[ insert into xatst2 values ($1) ]]);
132s stmt:execute(1);
132s spi.commit();
132s stmt:execute(2);
132s spi.rollback();
132s stmt:execute(3);
132s spi.commit();
132s stmt:execute(4);
132s $$;
132s 2025-02-19 08:12:03.239 UTC [3590] ubuntu@contrib_regression ERROR: schema "pg_temp" does not exist at character 6
132s 2025-02-19 08:12:03.239 UTC [3590] ubuntu@contrib_regression STATEMENT: call pg_temp.tp2();
132s 2025-02-19 08:12:03.240 UTC [3590] ubuntu@contrib_regression ERROR: language "pllua" does not exist
132s 2025-02-19 08:12:03.240 UTC [3590] ubuntu@contrib_regression HINT: Use CREATE EXTENSION to load the language into the database.
132s 2025-02-19 08:12:03.240 UTC [3590] ubuntu@contrib_regression STATEMENT: create procedure pg_temp.tp3()
132s language pllua
132s as $$
132s local stmt = spi.prepare([[ select i from generate_series(1,10) i ]]);
132s for r in stmt:rows() do
132s print(r.i)
132s spi.commit();
132s end
132s $$;
132s 2025-02-19 08:12:03.240 UTC [3590] ubuntu@contrib_regression ERROR: schema "pg_temp" does not exist at character 6
132s 2025-02-19 08:12:03.240 UTC [3590] ubuntu@contrib_regression STATEMENT: call pg_temp.tp3();
132s 2025-02-19 08:12:03.240 UTC [3590] ubuntu@contrib_regression ERROR: language "pllua" does not exist
132s 2025-02-19 08:12:03.240 UTC [3590] ubuntu@contrib_regression HINT: Use CREATE EXTENSION to load the language into the database.
132s 2025-02-19 08:12:03.240 UTC [3590] ubuntu@contrib_regression STATEMENT: create procedure pg_temp.tp4()
132s language pllua
132s as $$
132s local stmt = spi.prepare([[ select i from generate_series(1,10) i ]], {}, { hold = true });
132s for r in stmt:rows() do
132s print(r.i)
132s spi.commit();
132s end
132s $$;
132s 2025-02-19 08:12:03.240 UTC [3590] ubuntu@contrib_regression ERROR: schema "pg_temp" does not exist at character 6
132s 2025-02-19 08:12:03.240 UTC [3590] ubuntu@contrib_regression STATEMENT: call pg_temp.tp4();
132s 2025-02-19 08:12:03.241 UTC [3590] ubuntu@contrib_regression ERROR: language "pllua" does not exist
132s 2025-02-19 08:12:03.241 UTC [3590] ubuntu@contrib_regression HINT: Use CREATE EXTENSION to load the language into the database.
132s 2025-02-19 08:12:03.241 UTC [3590] ubuntu@contrib_regression STATEMENT: do language pllua $$
132s local stmt = spi.prepare([[ insert into xatst2 values ($1) ]]);
132s stmt:execute(1);
132s spi.commit();
132s stmt:execute(2);
132s print(pcall(function() stmt:execute(3) spi.commit() end))
132s -- the commit threw a lua error and the subxact was rolled back,
132s -- so we should be in the same xact as row 2
132s stmt:execute(4);
132s spi.commit();
132s $$;
132s 2025-02-19 08:12:03.261 UTC [3596] ubuntu@contrib_regression ERROR: language "pllua" does not exist
132s 2025-02-19 08:12:03.261 UTC [3596] ubuntu@contrib_regression HINT: Use CREATE EXTENSION to load the language into the database.
132s 2025-02-19 08:12:03.261 UTC [3596] ubuntu@contrib_regression STATEMENT: create function ttrig1() returns trigger language pllua
132s as $$
132s print(trigger.name,...)
132s print(trigger.when, trigger.level, trigger.operation, trigger.relation.name)
132s for r in spi.rows([[ select * from newtab ]]) do print(r) end
132s $$;
132s 2025-02-19 08:12:03.261 UTC [3596] ubuntu@contrib_regression ERROR: language "pllua" does not exist
132s 2025-02-19 08:12:03.261 UTC [3596] ubuntu@contrib_regression HINT: Use CREATE EXTENSION to load the language into the database.
132s 2025-02-19 08:12:03.261 UTC [3596] ubuntu@contrib_regression STATEMENT: create function ttrig2() returns trigger language pllua
132s as $$
132s print(trigger.name,...)
132s print(trigger.when, trigger.level, trigger.operation, trigger.relation.name)
132s for r in spi.rows([[ select 'old', * from oldtab union all select 'new', * from newtab ]]) do print(r) end
132s $$;
132s 2025-02-19 08:12:03.261 UTC [3596] ubuntu@contrib_regression ERROR: language "pllua" does not exist
132s 2025-02-19 08:12:03.261 UTC [3596] ubuntu@contrib_regression HINT: Use CREATE EXTENSION to load the language into the database.
132s 2025-02-19 08:12:03.261 UTC [3596] ubuntu@contrib_regression STATEMENT: create function ttrig3() returns trigger language pllua
132s as $$
132s print(trigger.name,...)
132s print(trigger.when, trigger.level, trigger.operation, trigger.relation.name)
132s for r in spi.rows([[ select * from oldtab ]]) do print(r) end
132s $$;
132s 2025-02-19 08:12:03.261 UTC [3596] ubuntu@contrib_regression ERROR: function ttrig1() does not exist
132s 2025-02-19 08:12:03.261 UTC [3596] ubuntu@contrib_regression STATEMENT: create trigger t1
132s after insert on trigtst2
132s referencing new table as newtab
132s for each statement
132s execute procedure ttrig1('t1 insert');
132s 2025-02-19 08:12:03.261 UTC [3596] ubuntu@contrib_regression ERROR: function ttrig2() does not exist
132s 2025-02-19 08:12:03.261 UTC [3596] ubuntu@contrib_regression STATEMENT: create trigger t2
132s after update on trigtst2
132s referencing old table as oldtab
132s new table as newtab
132s for each statement
132s execute procedure ttrig2('t2 update');
132s 2025-02-19 08:12:03.261 UTC [3596] ubuntu@contrib_regression ERROR: function ttrig3() does not exist
132s 2025-02-19 08:12:03.261 UTC [3596] ubuntu@contrib_regression STATEMENT: create trigger t3
132s after delete on trigtst2
132s referencing old table as oldtab
132s for each statement
132s execute procedure ttrig3('t3 delete');
132s Dropping cluster 17/regress ...
132s **** regression.diffs ****
132s diff -U3 /tmp/autopkgtest.gVJJhB/build.hhR/src/expected/pllua.out /tmp/autopkgtest.gVJJhB/build.hhR/src/results/pllua.out
132s --- /tmp/autopkgtest.gVJJhB/build.hhR/src/expected/pllua.out 2023-07-29 18:06:29.000000000 +0000
132s +++ /tmp/autopkgtest.gVJJhB/build.hhR/src/results/pllua.out 2025-02-19 08:12:02.258546374 +0000
132s @@ -1,270 +1,142 @@
132s --
132s CREATE EXTENSION pllua;
132s +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
132s CREATE EXTENSION plluau;
132s +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
132s \set VERBOSITY terse
132s -- smoke test
132s do language pllua $$ print "hello world!" $$;
132s -INFO: hello world!
132s +ERROR: language "pllua" does not exist
132s do language plluau $$ print "hello world!" $$;
132s -INFO: hello world!
132s +ERROR: language "plluau" does not exist
132s create function pg_temp.f1() returns text language pllua as $$ return "hello world" $$;
132s +ERROR: language "pllua" does not exist
132s select pg_temp.f1();
132s - f1
132s --------------
132s - hello world
132s -(1 row)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 8
132s create function pg_temp.f2() returns text language plluau as $$ return "hello world" $$;
132s +ERROR: language "plluau" does not exist
132s select pg_temp.f2();
132s - f2
132s --------------
132s - hello world
132s -(1 row)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 8
132s -- Rest of this file concentrates on simple tests of code paths in
132s -- compile, exec, and interpreter setup. Tests of other parts of the
132s -- module are separate.
132s -- validator
132s create function pg_temp."bad name"() returns text language pllua as $$ $$;
132s -ERROR: PL/Lua function name "bad name" is not a valid Lua identifier
132s +ERROR: language "pllua" does not exist
132s create function pg_temp.f3("bad arg" integer) returns text language pllua as $$ $$;
132s -ERROR: PL/Lua argument name "bad arg" is not a valid Lua identifier
132s +ERROR: language "pllua" does not exist
132s -- simple params and results (see types.sql for detailed checks)
132s create function pg_temp.f4(a integer) returns integer language pllua as $$ return a + 1 $$;
132s +ERROR: language "pllua" does not exist
132s select pg_temp.f4(1);
132s - f4
132s -----
132s - 2
132s -(1 row)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 8
132s create function pg_temp.f5(a text) returns text language pllua as $$ return a.."bar" $$;
132s +ERROR: language "pllua" does not exist
132s select pg_temp.f5('foo');
132s - f5
132s ---------
132s - foobar
132s -(1 row)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 8
132s create function pg_temp.f6(a text, b integer) returns text language pllua as $$ return a..b $$;
132s +ERROR: language "pllua" does not exist
132s select pg_temp.f6('foo',1);
132s - f6
132s -------
132s - foo1
132s -(1 row)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 8
132s -- try some polymorphism too
132s create function pg_temp.f7(a anyelement) returns anyelement language pllua as $$ return a $$;
132s +ERROR: language "pllua" does not exist
132s select pg_temp.f7(text 'foo');
132s - f7
132s ------
132s - foo
132s -(1 row)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 8
132s select pg_temp.f7(json '{"foo":1}');
132s - f7
132s ------------
132s - {"foo":1}
132s -(1 row)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 8
132s --select pg_temp.f7(xml 'bar'); -- don't bother with this, might be compiled out
132s select pg_temp.f7(varchar 'foo');
132s - f7
132s ------
132s - foo
132s -(1 row)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 8
132s select 'x',pg_temp.f7('foo'::char(20)),'x';
132s - ?column? | f7 | ?column?
132s -----------+----------------------+----------
132s - x | foo | x
132s -(1 row)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 12
132s select pg_temp.f7(cstring 'foo');
132s - f7
132s ------
132s - foo
132s -(1 row)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 8
132s select pg_temp.f7(name 'foo');
132s - f7
132s ------
132s - foo
132s -(1 row)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 8
132s select pg_temp.f7(bytea 'foo\000bar');
132s - f7
132s -------------------
132s - \x666f6f00626172
132s -(1 row)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 8
132s select pg_temp.f7(smallint '2');
132s - f7
132s -----
132s - 2
132s -(1 row)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 8
132s select pg_temp.f7(integer '2');
132s - f7
132s -----
132s - 2
132s -(1 row)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 8
132s select pg_temp.f7(bigint '123456789012345');
132s - f7
132s ------------------
132s - 123456789012345
132s -(1 row)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 8
132s select pg_temp.f7(oid '10');
132s - f7
132s -----
132s - 10
132s -(1 row)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 8
132s select pg_temp.f7(oid '4294967295');
132s - f7
132s -------------
132s - 4294967295
132s -(1 row)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 8
132s select pg_temp.f7(true);
132s - f7
132s -----
132s - t
132s -(1 row)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 8
132s select pg_temp.f7(false);
132s - f7
132s -----
132s - f
132s -(1 row)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 8
132s select pg_temp.f7(1.5::float8);
132s - f7
132s ------
132s - 1.5
132s -(1 row)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 8
132s select pg_temp.f7(1.5::float4);
132s - f7
132s ------
132s - 1.5
132s -(1 row)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 8
132s -- variadics
132s create function pg_temp.f8(a text, variadic b integer[]) returns void language pllua as $$ print(a,type(b),b) $$;
132s +ERROR: language "pllua" does not exist
132s select pg_temp.f8('foo', 1, 2, 3);
132s -INFO: foo userdata {1,2,3}
132s - f8
132s -----
132s -
132s -(1 row)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 8
132s create function pg_temp.f9(a integer, variadic b text[]) returns void language pllua as $$ print(a,type(b),b) $$;
132s +ERROR: language "pllua" does not exist
132s select pg_temp.f9(1, 'foo', 'bar', 'baz');
132s -INFO: 1 userdata {foo,bar,baz}
132s - f9
132s -----
132s -
132s -(1 row)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 8
132s create function pg_temp.f10(a integer, variadic "any") returns void language pllua as $$ print(a,...) $$;
132s +ERROR: language "pllua" does not exist
132s select pg_temp.f10(1, 'foo', 2, 'baz');
132s -INFO: 1 foo 2 baz
132s - f10
132s ------
132s -
132s -(1 row)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 8
132s -- SRF code paths
132s create function pg_temp.f11(a integer) returns setof text
132s language pllua as $$ return $$; -- 0 rows
132s +ERROR: language "pllua" does not exist
132s select * from pg_temp.f11(1);
132s - f11
132s ------
132s -(0 rows)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 15
132s create function pg_temp.f11b(a integer) returns setof text
132s language pllua as $$ return 'foo' $$; -- 1 row
132s +ERROR: language "pllua" does not exist
132s select * from pg_temp.f11b(1);
132s - f11b
132s -------
132s - foo
132s -(1 row)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 15
132s create function pg_temp.f12(a integer) returns setof text
132s language pllua as $$ coroutine.yield() $$; -- 1 row, null
132s +ERROR: language "pllua" does not exist
132s select * from pg_temp.f12(1);
132s - f12
132s ------
132s -
132s -(1 row)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 15
132s create function pg_temp.f13(a integer) returns setof text
132s language pllua as $$ for i = 1,a do coroutine.yield("row "..i) end $$;
132s +ERROR: language "pllua" does not exist
132s select * from pg_temp.f13(4);
132s - f13
132s --------
132s - row 1
132s - row 2
132s - row 3
132s - row 4
132s -(4 rows)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 15
132s create function pg_temp.f14(a integer, out x text, out y integer) returns setof record
132s language pllua as $$ for i = 1,a do coroutine.yield("row "..i, i) end $$;
132s +ERROR: language "pllua" does not exist
132s select * from pg_temp.f14(4);
132s - x | y
132s --------+---
132s - row 1 | 1
132s - row 2 | 2
132s - row 3 | 3
132s - row 4 | 4
132s -(4 rows)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 15
132s create function pg_temp.f15(a integer) returns table(x text, y integer)
132s language pllua as $$ for i = 1,a do coroutine.yield("row "..i, i) end $$;
132s +ERROR: language "pllua" does not exist
132s select * from pg_temp.f15(4);
132s - x | y
132s --------+---
132s - row 1 | 1
132s - row 2 | 2
132s - row 3 | 3
132s - row 4 | 4
132s -(4 rows)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 15
132s create function pg_temp.f16(a inout integer, x out text) returns setof record
132s language pllua as $$ for i = 1,a do coroutine.yield(i, "row "..i) end $$;
132s +ERROR: language "pllua" does not exist
132s select * from pg_temp.f16(4);
132s - a | x
132s ----+-------
132s - 1 | row 1
132s - 2 | row 2
132s - 3 | row 3
132s - 4 | row 4
132s -(4 rows)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 15
132s -- SRF vs null returns
132s create function pg_temp.f16b(a integer) returns table(x text, y integer)
132s language pllua as $$ coroutine.yield() $$; -- 1 row, null
132s +ERROR: language "pllua" does not exist
132s select * from pg_temp.f16b(1);
132s - x | y
132s ----+---
132s - |
132s -(1 row)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 15
132s create function pg_temp.f16c(a integer) returns table(x text, y integer)
132s language pllua as $$ coroutine.yield() for i = 1,a do coroutine.yield('foo',i) end $$;
132s +ERROR: language "pllua" does not exist
132s select * from pg_temp.f16c(3);
132s - x | y
132s ------+---
132s - |
132s - foo | 1
132s - foo | 2
132s - foo | 3
132s -(4 rows)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 15
132s -- compiler and validator code paths
132s do language pllua $$ _G.rdepth = 40 $$; -- global var hack
132s +ERROR: language "pllua" does not exist
132s -- This function will try and call itself at a point where it is visible
132s -- but has no definition interned yet; the recursive call will likewise
132s -- not see an interned definition and recurses again. without any limits
132s @@ -282,35 +154,23 @@
132s u = spi.execute("select pg_temp.f17(1)")
132s end
132s $$;
132s +ERROR: language "pllua" does not exist
132s select pg_temp.f17(1);
132s - f17
132s ------
132s - 1
132s -(1 row)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 8
132s create type pg_temp.t1 as (a integer, b text);
132s create function pg_temp.f18(a integer, b text) returns pg_temp.t1
132s language pllua as $$ return a,b $$;
132s +ERROR: language "pllua" does not exist
132s select * from pg_temp.f18(123,'foo');
132s - a | b
132s ------+-----
132s - 123 | foo
132s -(1 row)
132s -
132s +ERROR: function pg_temp.f18(integer, unknown) does not exist at character 15
132s create function pg_temp.f19(a integer) returns text language pllua as $$ return 'foo '..a $$;
132s +ERROR: language "pllua" does not exist
132s select pg_temp.f19(2);
132s - f19
132s --------
132s - foo 2
132s -(1 row)
132s -
132s +ERROR: function pg_temp.f19(integer) does not exist at character 8
132s create or replace function pg_temp.f19(a integer) returns text language pllua as $$ return 'bar '..a $$;
132s +ERROR: language "pllua" does not exist
132s select pg_temp.f19(3);
132s - f19
132s --------
132s - bar 3
132s -(1 row)
132s -
132s +ERROR: function pg_temp.f19(integer) does not exist at character 8
132s -- trusted interpreter setup
132s -- check we really do have different interpreters
132s -- this is hard because we intentionally isolate trusted-language code
132s @@ -323,26 +183,22 @@
132s -- address (whereas base C functions do not differ between
132s -- interpreters in recent lua versions).
132s create function pg_temp.f20() returns text language pllua as $$ return tostring(spi.error) $$;
132s +ERROR: language "pllua" does not exist
132s create function pg_temp.f21() returns text language plluau as $$ return tostring(spi.error) $$;
132s +ERROR: language "plluau" does not exist
132s select pg_temp.f20() as a intersect select pg_temp.f21(); -- should be empty
132s - a
132s ----
132s -(0 rows)
132s -
132s +ERROR: function pg_temp.f20() does not exist at character 8
132s -- check the global table
132s do language pllua $$
132s local gk = { "io", "dofile", "debug" } -- must not exist
132s for i = 1,#gk do print(gk[i],type(_G[gk[i]])) end
132s $$;
132s -INFO: io nil
132s -INFO: dofile nil
132s -INFO: debug nil
132s +ERROR: language "pllua" does not exist
132s do language plluau $$
132s local gk = { "io", "dofile" } -- probably exist
132s for i = 1,#gk do print(gk[i],type(_G[gk[i]])) end
132s $$;
132s -INFO: io table
132s -INFO: dofile function
132s +ERROR: language "plluau" does not exist
132s -- check that trusted gets only the restricted os module, even from
132s -- require
132s do language pllua $$
132s @@ -350,16 +206,11 @@
132s local gk = { "time", "difftime", "execute", "getenv", "exit" }
132s for i = 1,#gk do print(gk[i],type(os[gk[i]])) end
132s $$;
132s -INFO: time function
132s -INFO: difftime function
132s -INFO: execute nil
132s -INFO: getenv nil
132s -INFO: exit nil
132s +ERROR: language "pllua" does not exist
132s -- check that trusted can't require dangerous core modules
132s do language pllua $$
132s print((lpcall(require,"debug")))
132s print((lpcall(require,"io")))
132s $$;
132s -INFO: false
132s -INFO: false
132s +ERROR: language "pllua" does not exist
132s --end
132s diff -U3 /tmp/autopkgtest.gVJJhB/build.hhR/src/expected/pllua_old.out /tmp/autopkgtest.gVJJhB/build.hhR/src/results/pllua_old.out
132s --- /tmp/autopkgtest.gVJJhB/build.hhR/src/expected/pllua_old.out 2023-07-29 18:06:29.000000000 +0000
132s +++ /tmp/autopkgtest.gVJJhB/build.hhR/src/results/pllua_old.out 2025-02-19 08:12:02.298546374 +0000
132s @@ -7,24 +7,18 @@
132s RETURNS text AS $$
132s return string.format("Hello, %s!", name)
132s $$ LANGUAGE pllua;
132s +ERROR: language "pllua" does not exist
132s SELECT hello('PostgreSQL');
132s - hello
132s ---------------------
132s - Hello, PostgreSQL!
132s -(1 row)
132s -
132s +ERROR: function hello(unknown) does not exist at character 8
132s -- null handling
132s CREATE FUNCTION max(a integer, b integer) RETURNS integer AS $$
132s if a == nil then return b end -- first arg is NULL?
132s if b == nil then return a end -- second arg is NULL?
132s return a > b and a or b -- return max(a, b)
132s $$ LANGUAGE pllua;
132s +ERROR: language "pllua" does not exist
132s SELECT max(1,2), max(2,1), max(2,null), max(null, 2), max(null, null);
132s - max | max | max | max | max
132s ------+-----+-----+-----+-----
132s - 2 | 2 | 2 | 2 |
132s -(1 row)
132s -
132s +ERROR: function max(integer, integer) does not exist at character 8
132s -- plain recursive
132s CREATE FUNCTION fib(n int) RETURNS int AS $$
132s if n < 3 then
132s @@ -33,12 +27,9 @@
132s return fib(n - 1) + fib(n - 2)
132s end
132s $$ LANGUAGE pllua;
132s +ERROR: language "pllua" does not exist
132s SELECT fib(4);
132s - fib
132s ------
132s - 5
132s -(1 row)
132s -
132s +ERROR: function fib(integer) does not exist at character 8
132s -- memoized
132s CREATE FUNCTION fibm(n integer) RETURNS integer AS $$
132s if n < 3 then return n
132s @@ -53,12 +44,9 @@
132s end
132s do _U = {}
132s $$ LANGUAGE pllua;
132s +ERROR: language "pllua" does not exist
132s SELECT fibm(4);
132s - fibm
132s -------
132s - 5
132s -(1 row)
132s -
132s +ERROR: function fibm(integer) does not exist at character 8
132s -- tail recursive
132s CREATE FUNCTION fibt(n integer) RETURNS integer AS $$
132s return _U(n, 0, 1)
132s @@ -67,12 +55,9 @@
132s if n < 1 then return b
132s else return _U(n - 1, b, a + b) end
132s $$ LANGUAGE pllua;
132s +ERROR: language "pllua" does not exist
132s SELECT fibt(4);
132s - fibt
132s -------
132s - 5
132s -(1 row)
132s -
132s +ERROR: function fibt(integer) does not exist at character 8
132s -- iterator
132s CREATE FUNCTION fibi() RETURNS integer AS $$
132s while true do
132s @@ -84,18 +69,11 @@
132s _U = {curr = 0, next = 1}
132s fibi = coroutine.wrap(fibi)
132s $$ LANGUAGE pllua;
132s +ERROR: language "pllua" does not exist
132s SELECT fibi(), fibi(), fibi(), fibi(), fibi();
132s - fibi | fibi | fibi | fibi | fibi
132s -------+------+------+------+------
132s - 1 | 1 | 2 | 3 | 5
132s -(1 row)
132s -
132s +ERROR: function fibi() does not exist at character 8
132s SELECT fibi(), fibi(), fibi(), fibi(), fibi();
132s - fibi | fibi | fibi | fibi | fibi
132s -------+------+------+------+------
132s - 8 | 13 | 21 | 34 | 55
132s -(1 row)
132s -
132s +ERROR: function fibi() does not exist at character 8
132s -- upvalue
132s CREATE FUNCTION counter() RETURNS int AS $$
132s while true do
132s @@ -107,35 +85,21 @@
132s _U = 0 -- counter
132s counter = coroutine.wrap(counter)
132s $$ LANGUAGE pllua;
132s +ERROR: language "pllua" does not exist
132s SELECT counter();
132s - counter
132s ----------
132s - 1
132s -(1 row)
132s -
132s +ERROR: function counter() does not exist at character 8
132s SELECT counter();
132s - counter
132s ----------
132s - 2
132s -(1 row)
132s -
132s +ERROR: function counter() does not exist at character 8
132s SELECT counter();
132s - counter
132s ----------
132s - 3
132s -(1 row)
132s -
132s +ERROR: function counter() does not exist at character 8
132s -- record input
132s CREATE TYPE greeting AS (how text, who text);
132s CREATE FUNCTION makegreeting (g greeting, f text) RETURNS text AS $$
132s return string.format(f, g.how, g.who)
132s $$ LANGUAGE pllua;
132s +ERROR: language "pllua" does not exist
132s SELECT makegreeting(('how', 'who'), '%s, %s!');
132s - makegreeting
132s ---------------
132s - how, who!
132s -(1 row)
132s -
132s +ERROR: function makegreeting(record, unknown) does not exist at character 8
132s -- array, record output
132s CREATE FUNCTION greetingset (how text, who text[])
132s RETURNS SETOF greeting AS $$
132s @@ -143,15 +107,10 @@
132s coroutine.yield{how=how, who=name}
132s end
132s $$ LANGUAGE pllua;
132s +ERROR: language "pllua" does not exist
132s SELECT makegreeting(greetingset, '%s, %s!') FROM
132s (SELECT greetingset('Hello', ARRAY['foo', 'bar', 'psql'])) AS q;
132s - makegreeting
132s ---------------
132s - Hello, foo!
132s - Hello, bar!
132s - Hello, psql!
132s -(3 rows)
132s -
132s +ERROR: function greetingset(unknown, text[]) does not exist at character 60
132s -- more array, upvalue
132s CREATE FUNCTION perm (a text[]) RETURNS SETOF text[] AS $$
132s _U(a, #a)
132s @@ -169,17 +128,9 @@
132s end
132s end
132s $$ LANGUAGE pllua;
132s +ERROR: language "pllua" does not exist
132s SELECT * FROM perm(array['1', '2', '3']);
132s - perm
132s ----------
132s - {2,3,1}
132s - {3,2,1}
132s - {3,1,2}
132s - {1,3,2}
132s - {2,1,3}
132s - {1,2,3}
132s -(6 rows)
132s -
132s +ERROR: function perm(text[]) does not exist at character 15
132s -- shared variables
132s CREATE FUNCTION getcounter() RETURNS integer AS $$
132s if shared.counter == nil then -- not cached?
132s @@ -187,6 +138,7 @@
132s end
132s return counter -- _G.counter == shared.counter
132s $$ LANGUAGE pllua;
132s +ERROR: language "pllua" does not exist
132s CREATE FUNCTION setcounter(c integer) RETURNS void AS $$
132s if shared.counter == nil then -- not cached?
132s setshared("counter", c)
132s @@ -194,24 +146,13 @@
132s counter = c -- _G.counter == shared.counter
132s end
132s $$ LANGUAGE pllua;
132s +ERROR: language "pllua" does not exist
132s SELECT getcounter();
132s - getcounter
132s -------------
132s - 0
132s -(1 row)
132s -
132s +ERROR: function getcounter() does not exist at character 8
132s SELECT setcounter(5);
132s - setcounter
132s -------------
132s -
132s -(1 row)
132s -
132s +ERROR: function setcounter(integer) does not exist at character 8
132s SELECT getcounter();
132s - getcounter
132s -------------
132s - 5
132s -(1 row)
132s -
132s +ERROR: function getcounter() does not exist at character 8
132s -- SPI usage
132s CREATE TABLE sometable ( sid int4, sname text, sdata text);
132s INSERT INTO sometable VALUES (1, 'name', 'data');
132s @@ -229,12 +170,9 @@
132s end
132s c:close()
132s $$ LANGUAGE pllua;
132s +ERROR: language "pllua" does not exist
132s SELECT * FROM get_rows('name');
132s - sid | sname | sdata
132s ------+-------+-------
132s - 1 | name | data
132s -(1 row)
132s -
132s +ERROR: function get_rows(unknown) does not exist at character 15
132s SET client_min_messages = warning;
132s CREATE TABLE tree (id INT PRIMARY KEY, lchild INT, rchild INT);
132s RESET client_min_messages;
132s @@ -246,12 +184,9 @@
132s p:execute{i, lchild, rchild} -- insert values
132s end
132s $$ LANGUAGE pllua;
132s +ERROR: language "pllua" does not exist
132s SELECT filltree('tree', 10);
132s - filltree
132s -----------
132s -
132s -(1 row)
132s -
132s +ERROR: function filltree(unknown, integer) does not exist at character 8
132s CREATE FUNCTION preorder (t text, s int) RETURNS SETOF int AS $$
132s coroutine.yield(s)
132s local q = server.execute("select * from " .. t .. " where id=" .. s,
132s @@ -262,32 +197,9 @@
132s if rchild ~= nil then preorder(t, rchild) end
132s end
132s $$ LANGUAGE pllua;
132s +ERROR: language "pllua" does not exist
132s SELECT * from preorder('tree', 1);
132s - preorder
132s -----------
132s - 1
132s - 2
132s - 4
132s - 8
132s - 16
132s - 17
132s - 9
132s - 18
132s - 19
132s - 5
132s - 10
132s - 20
132s - 21
132s - 11
132s - 3
132s - 6
132s - 12
132s - 13
132s - 7
132s - 14
132s - 15
132s -(21 rows)
132s -
132s +ERROR: function preorder(unknown, integer) does not exist at character 15
132s CREATE FUNCTION postorder (t text, s int) RETURNS SETOF int AS $$
132s local p = _U[t]
132s if p == nil then -- plan not cached?
132s @@ -306,32 +218,9 @@
132s end
132s do _U = {} -- plan cache
132s $$ LANGUAGE pllua;
132s +ERROR: language "pllua" does not exist
132s SELECT * FROM postorder('tree', 1);
132s - postorder
132s ------------
132s - 16
132s - 17
132s - 8
132s - 18
132s - 19
132s - 9
132s - 4
132s - 20
132s - 21
132s - 10
132s - 11
132s - 5
132s - 2
132s - 12
132s - 13
132s - 6
132s - 14
132s - 15
132s - 7
132s - 3
132s - 1
132s -(21 rows)
132s -
132s +ERROR: function postorder(unknown, integer) does not exist at character 15
132s -- trigger
132s CREATE FUNCTION treetrigger() RETURNS trigger AS $$
132s local row, operation = trigger.row, trigger.operation
132s @@ -372,128 +261,80 @@
132s .. "join tree tr on ti.rchild=tr.id) as q where lp=$1", "int4")
132s }
132s $$ LANGUAGE pllua;
132s +ERROR: language "pllua" does not exist
132s CREATE TRIGGER tree_trigger BEFORE INSERT OR UPDATE OR DELETE ON tree
132s FOR EACH ROW EXECUTE PROCEDURE treetrigger();
132s +ERROR: function treetrigger() does not exist
132s SELECT * FROM tree WHERE id = 1;
132s id | lchild | rchild
132s ----+--------+--------
132s - 1 | 2 | 3
132s -(1 row)
132s +(0 rows)
132s
132s UPDATE tree SET rchild = 1 WHERE id = 1;
132s SELECT * FROM tree WHERE id = 10;
132s id | lchild | rchild
132s ----+--------+--------
132s - 10 | 20 | 21
132s -(1 row)
132s +(0 rows)
132s
132s DELETE FROM tree where id = 10;
132s DELETE FROM tree where id = 1;
132s -- passthru types
132s CREATE FUNCTION echo_int2(arg int2) RETURNS int2 AS $$ return arg $$ LANGUAGE pllua;
132s +ERROR: language "pllua" does not exist
132s SELECT echo_int2('12345');
132s - echo_int2
132s ------------
132s - 12345
132s -(1 row)
132s -
132s +ERROR: function echo_int2(unknown) does not exist at character 8
132s CREATE FUNCTION echo_int4(arg int4) RETURNS int4 AS $$ return arg $$ LANGUAGE pllua;
132s +ERROR: language "pllua" does not exist
132s SELECT echo_int4('1234567890');
132s - echo_int4
132s -------------
132s - 1234567890
132s -(1 row)
132s -
132s +ERROR: function echo_int4(unknown) does not exist at character 8
132s CREATE FUNCTION echo_int8(arg int8) RETURNS int8 AS $$ return arg $$ LANGUAGE pllua;
132s +ERROR: language "pllua" does not exist
132s SELECT echo_int8('1234567890');
132s - echo_int8
132s -------------
132s - 1234567890
132s -(1 row)
132s -
132s +ERROR: function echo_int8(unknown) does not exist at character 8
132s SELECT echo_int8('12345678901236789');
132s - echo_int8
132s --------------------
132s - 12345678901236789
132s -(1 row)
132s -
132s +ERROR: function echo_int8(unknown) does not exist at character 8
132s SELECT echo_int8('1234567890123456789');
132s - echo_int8
132s ----------------------
132s - 1234567890123456789
132s -(1 row)
132s -
132s +ERROR: function echo_int8(unknown) does not exist at character 8
132s CREATE FUNCTION echo_text(arg text) RETURNS text AS $$ return arg $$ LANGUAGE pllua;
132s +ERROR: language "pllua" does not exist
132s SELECT echo_text('qwe''qwe');
132s - echo_text
132s ------------
132s - qwe'qwe
132s -(1 row)
132s -
132s +ERROR: function echo_text(unknown) does not exist at character 8
132s CREATE FUNCTION echo_bytea(arg bytea) RETURNS bytea AS $$ return arg $$ LANGUAGE pllua;
132s +ERROR: language "pllua" does not exist
132s SELECT echo_bytea('qwe''qwe');
132s - echo_bytea
132s -------------------
132s - \x71776527717765
132s -(1 row)
132s -
132s +ERROR: function echo_bytea(unknown) does not exist at character 8
132s SELECT echo_bytea(E'q\\000w\\001e''q\\\\we');
132s - echo_bytea
132s -------------------------
132s - \x710077016527715c7765
132s -(1 row)
132s -
132s +ERROR: function echo_bytea(unknown) does not exist at character 8
132s CREATE FUNCTION echo_timestamptz(arg timestamptz) RETURNS timestamptz AS $$ return arg $$ LANGUAGE pllua;
132s +ERROR: language "pllua" does not exist
132s SELECT echo_timestamptz('2007-01-06 11:11 UTC') AT TIME ZONE 'UTC';
132s - timezone
132s ---------------------------
132s - Sat Jan 06 11:11:00 2007
132s -(1 row)
132s -
132s +ERROR: function echo_timestamptz(unknown) does not exist at character 8
132s CREATE FUNCTION echo_timestamp(arg timestamp) RETURNS timestamp AS $$ return arg $$ LANGUAGE pllua;
132s +ERROR: language "pllua" does not exist
132s SELECT echo_timestamp('2007-01-06 11:11');
132s - echo_timestamp
132s ---------------------------
132s - Sat Jan 06 11:11:00 2007
132s -(1 row)
132s -
132s +ERROR: function echo_timestamp(unknown) does not exist at character 8
132s CREATE FUNCTION echo_date(arg date) RETURNS date AS $$ return arg $$ LANGUAGE pllua;
132s +ERROR: language "pllua" does not exist
132s SELECT echo_date('2007-01-06');
132s - echo_date
132s -------------
132s - 01-06-2007
132s -(1 row)
132s -
132s +ERROR: function echo_date(unknown) does not exist at character 8
132s CREATE FUNCTION echo_time(arg time) RETURNS time AS $$ return arg $$ LANGUAGE pllua;
132s +ERROR: language "pllua" does not exist
132s SELECT echo_time('11:11');
132s - echo_time
132s ------------
132s - 11:11:00
132s -(1 row)
132s -
132s +ERROR: function echo_time(unknown) does not exist at character 8
132s CREATE FUNCTION echo_arr(arg text[]) RETURNS text[] AS $$ return arg $$ LANGUAGE pllua;
132s +ERROR: language "pllua" does not exist
132s SELECT echo_arr(array['a', 'b', 'c']);
132s - echo_arr
132s -----------
132s - {a,b,c}
132s -(1 row)
132s -
132s +ERROR: function echo_arr(text[]) does not exist at character 8
132s CREATE DOMAIN mynum AS numeric(6,3);
132s CREATE FUNCTION echo_mynum(arg mynum) RETURNS mynum AS $$ return arg $$ LANGUAGE pllua;
132s +ERROR: language "pllua" does not exist
132s SELECT echo_mynum(666.777);
132s - echo_mynum
132s -------------
132s - 666.777
132s -(1 row)
132s -
132s +ERROR: function echo_mynum(numeric) does not exist at character 8
132s CREATE TYPE mytype AS (id int2, val mynum, val_list numeric[]);
132s CREATE FUNCTION echo_mytype(arg mytype) RETURNS mytype AS $$ return arg $$ LANGUAGE pllua;
132s +ERROR: language "pllua" does not exist
132s SELECT echo_mytype((1::int2, 666.777, array[1.0, 2.0]) );
132s - echo_mytype
132s --------------------------
132s - (1,666.777,"{1.0,2.0}")
132s -(1 row)
132s -
132s +ERROR: function echo_mytype(record) does not exist at character 8
132s CREATE FUNCTION nested_server_rows () RETURNS SETOF text as
132s $$
132s for left in server.rows('select generate_series as left from generate_series(3,4) ') do
132s @@ -504,43 +345,27 @@
132s end
132s $$
132s language pllua;
132s +ERROR: language "pllua" does not exist
132s select nested_server_rows();
132s - nested_server_rows
132s ---------------------
132s - 3 5
132s - 3 6
132s - 4 5
132s - 4 6
132s -(4 rows)
132s -
132s +ERROR: function nested_server_rows() does not exist at character 8
132s CREATE OR REPLACE FUNCTION pg_temp.srf()
132s RETURNS SETOF integer AS $$
132s coroutine.yield(1)
132s coroutine.yield(nil)
132s coroutine.yield(2)
132s $$ LANGUAGE pllua;
132s +ERROR: language "pllua" does not exist
132s select quote_nullable(pg_temp.srf());
132s - quote_nullable
132s -----------------
132s - '1'
132s - NULL
132s - '2'
132s -(3 rows)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 23
132s CREATE OR REPLACE FUNCTION pg_temp.srf()
132s RETURNS SETOF integer AS $$
132s coroutine.yield(1)
132s coroutine.yield()
132s coroutine.yield(2)
132s $$ LANGUAGE pllua;
132s +ERROR: language "pllua" does not exist
132s select quote_nullable(pg_temp.srf());
132s - quote_nullable
132s -----------------
132s - '1'
132s - NULL
132s - '2'
132s -(3 rows)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 23
132s CREATE or replace FUNCTION pg_temp.inoutf(a integer, INOUT b text, INOUT c text) AS
132s $$
132s begin
132s @@ -555,22 +380,14 @@
132s print(r.b)
132s print(r.c)
132s $$ language pllua;
132s -INFO: b:ABC
132s -INFO: 5c:d
132s +ERROR: language "pllua" does not exist
132s -- body reload
132s SELECT hello('PostgreSQL');
132s - hello
132s ---------------------
132s - Hello, PostgreSQL!
132s -(1 row)
132s -
132s +ERROR: function hello(unknown) does not exist at character 8
132s CREATE OR REPLACE FUNCTION hello(name text)
132s RETURNS text AS $$
132s return string.format("Bye, %s!", name)
132s $$ LANGUAGE pllua;
132s +ERROR: language "pllua" does not exist
132s SELECT hello('PostgreSQL');
132s - hello
132s -------------------
132s - Bye, PostgreSQL!
132s -(1 row)
132s -
132s +ERROR: function hello(unknown) does not exist at character 8
132s diff -U3 /tmp/autopkgtest.gVJJhB/build.hhR/src/expected/trusted.out /tmp/autopkgtest.gVJJhB/build.hhR/src/results/trusted.out
132s --- /tmp/autopkgtest.gVJJhB/build.hhR/src/expected/trusted.out 2023-07-29 18:06:29.000000000 +0000
132s +++ /tmp/autopkgtest.gVJJhB/build.hhR/src/results/trusted.out 2025-02-19 08:12:02.319546374 +0000
132s @@ -9,17 +9,15 @@
132s $$;
132s --
132s do language pllua $$ print("interpreter loaded") $$;
132s -INFO: testmod2 loaded
132s -INFO: interpreter loaded
132s +ERROR: language "pllua" does not exist
132s do language pllua $$
132s local m = require 'testmod1'
132s m.testfunc()
132s $$;
132s -INFO: testmod1 loaded
132s -INFO: testfunc1
132s +ERROR: language "pllua" does not exist
132s do language pllua $$
132s local m = require 'testmod2'
132s m.testfunc()
132s $$;
132s -INFO: testfunc2
132s +ERROR: language "pllua" does not exist
132s --end
132s diff -U3 /tmp/autopkgtest.gVJJhB/build.hhR/src/expected/arrays.out /tmp/autopkgtest.gVJJhB/build.hhR/src/results/arrays.out
132s --- /tmp/autopkgtest.gVJJhB/build.hhR/src/expected/arrays.out 2023-07-29 18:06:29.000000000 +0000
132s +++ /tmp/autopkgtest.gVJJhB/build.hhR/src/results/arrays.out 2025-02-19 08:12:02.388546374 +0000
132s @@ -87,6 +87,7 @@
132s }
132s end
132s $$;
132s +ERROR: language "pllua" does not exist
132s do language pllua $$
132s local u = require 'myutil'
132s for r in spi.rows([[ select a, b,
132s @@ -116,35 +117,7 @@
132s print(r.d)
132s end
132s $$;
132s -INFO: [1..2] nil
132s -INFO: [1..2],-1 wombat
132s -INFO: 10,20,30,40,50 nil
132s -INFO: 10,20,30,40,50,-1 wombat
132s -INFO: [1..100] nil
132s -INFO: [1..100],-1 wombat
132s -INFO: [1..100000] nil
132s -INFO: [1..100000],-1 wombat
132s -INFO: nil
132s -INFO: -1 wombat
132s -INFO: nil
132s -INFO: -1 wombat
132s -INFO: nil foo,bar,baz
132s -INFO: -1 foo,bar,baz,wombat
132s -INFO: nil [val1..val100]
132s -INFO: -1 [val1..val100],wombat
132s -INFO: nil [val1..val10000]
132s -INFO: -1 [val1..val10000],wombat
132s -INFO:
132s -INFO: -1.0
132s -INFO: 1.234,2.718281828459045235360287471353,10888869450418352160768000000
132s -INFO: 1.234,2.718281828459045235360287471353,10888869450418352160768000000,-1.0
132s -INFO: [1..100]
132s -INFO: [1..100],-1.0
132s -INFO: [1..10000]
132s -INFO: [1..10000],-1.0
132s -INFO: {}
132s -INFO: {12-11-2017,05-10-1968,09-26-1983,10-27-1962}
132s -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}
132s +ERROR: language "pllua" does not exist
132s create function af1(a anyarray)
132s returns text
132s language pllua
132s @@ -155,183 +128,98 @@
132s u = require 'myutil'
132s do
132s $$;
132s +ERROR: language "pllua" does not exist
132s -- array_append returns its result as an expanded datum
132s select af1(a) from adata where a is not null order by id;
132s - af1
132s -----------------
132s - [1..2]
132s - 10,20,30,40,50
132s - [1..100]
132s - [1..100000]
132s -
132s -(5 rows)
132s -
132s +ERROR: function af1(integer[]) does not exist at character 8
132s with t as (select a from adata where a is not null order by id)
132s select af1(array_append(a, -1)) from t;
132s - af1
132s --------------------
132s - [1..2],-1
132s - 10,20,30,40,50,-1
132s - [1..100],-1
132s - [1..100000],-1
132s - -1
132s -(5 rows)
132s -
132s +ERROR: function af1(integer[]) does not exist at character 74
132s select af1(b) from adata where b is not null order by id;
132s - af1
132s -------------------
132s -
132s - foo,bar,baz
132s - [val1..val100]
132s - [val1..val10000]
132s -(4 rows)
132s -
132s +ERROR: function af1(text[]) does not exist at character 8
132s with t as (select b from adata where b is not null order by id)
132s select af1(array_append(b, 'wombat')) from t;
132s - af1
132s --------------------------
132s - wombat
132s - foo,bar,baz,wombat
132s - [val1..val100],wombat
132s - [val1..val10000],wombat
132s -(4 rows)
132s -
132s +ERROR: function af1(text[]) does not exist at character 74
132s select af1(c) from adata where c is not null order by id;
132s - af1
132s -----------------------------------------------------------------------
132s -
132s - 1.234,2.718281828459045235360287471353,10888869450418352160768000000
132s - [1..100]
132s - [1..10000]
132s -(4 rows)
132s -
132s +ERROR: function af1(numeric[]) does not exist at character 8
132s with t as (select c from adata where c is not null order by id)
132s select af1(array_append(c, -1.0)) from t;
132s - af1
132s ----------------------------------------------------------------------------
132s - -1.0
132s - 1.234,2.718281828459045235360287471353,10888869450418352160768000000,-1.0
132s - [1..100],-1.0
132s - [1..10000],-1.0
132s -(4 rows)
132s -
132s +ERROR: function af1(numeric[]) does not exist at character 74
132s select af1(d) from adata where d is not null order by id;
132s - af1
132s -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
132s -
132s - 12-11-2017,05-10-1968,09-26-1983,10-27-1962
132s - 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
132s -(3 rows)
132s -
132s +ERROR: function af1(date[]) does not exist at character 8
132s with t as (select d from adata where d is not null order by id)
132s select af1(array_append(d, date '1970-01-01')) from t;
132s - af1
132s ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
132s - 01-01-1970
132s - 12-11-2017,05-10-1968,09-26-1983,10-27-1962,01-01-1970
132s - 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
132s -(3 rows)
132s -
132s +ERROR: function af1(date[]) does not exist at character 74
132s -- conversion edge cases
132s create function pg_temp.af2() returns integer[] language pllua
132s as $$
132s return nil
132s $$;
132s +ERROR: language "pllua" does not exist
132s select pg_temp.af2();
132s - af2
132s ------
132s -
132s -(1 row)
132s -
132s +ERROR: function pg_temp.af2() does not exist at character 8
132s create function pg_temp.af3() returns integer[] language pllua
132s as $$
132s return
132s $$;
132s +ERROR: language "pllua" does not exist
132s select pg_temp.af3();
132s - af3
132s ------
132s -
132s -(1 row)
132s -
132s +ERROR: function pg_temp.af3() does not exist at character 8
132s create function pg_temp.af4() returns integer[] language pllua
132s as $$
132s return 1,2
132s $$;
132s +ERROR: language "pllua" does not exist
132s select pg_temp.af4();
132s - af4
132s --------
132s - {1,2}
132s -(1 row)
132s -
132s +ERROR: function pg_temp.af4() does not exist at character 8
132s create function pg_temp.af5() returns integer[] language pllua
132s as $$
132s return pgtype(nil,0)()
132s $$;
132s +ERROR: language "pllua" does not exist
132s select pg_temp.af5();
132s - af5
132s ------
132s - {}
132s -(1 row)
132s -
132s +ERROR: function pg_temp.af5() does not exist at character 8
132s create function pg_temp.af5b() returns integer[] language pllua
132s as $$
132s return {}
132s $$;
132s +ERROR: language "pllua" does not exist
132s select pg_temp.af5b();
132s - af5b
132s -------
132s - {}
132s -(1 row)
132s -
132s +ERROR: function pg_temp.af5b() does not exist at character 8
132s create function pg_temp.af6() returns integer[] language pllua
132s as $$
132s return { 1, nil, 3 }
132s $$;
132s +ERROR: language "pllua" does not exist
132s select pg_temp.af6();
132s - af6
132s -------------
132s - {1,NULL,3}
132s -(1 row)
132s -
132s +ERROR: function pg_temp.af6() does not exist at character 8
132s create function pg_temp.af7() returns integer[] language pllua
132s as $$
132s return pgtype.integer(1)
132s $$;
132s +ERROR: language "pllua" does not exist
132s select pg_temp.af7();
132s - af7
132s ------
132s - {1}
132s -(1 row)
132s -
132s +ERROR: function pg_temp.af7() does not exist at character 8
132s create function pg_temp.af8() returns integer[] language pllua
132s as $$
132s return { pgtype.integer(1) }
132s $$;
132s +ERROR: language "pllua" does not exist
132s select pg_temp.af8();
132s - af8
132s ------
132s - {1}
132s -(1 row)
132s -
132s +ERROR: function pg_temp.af8() does not exist at character 8
132s create type acomp1 as (foo integer, bar text);
132s create function pg_temp.af9() returns acomp1[] language pllua
132s as $$
132s return { { foo = 1, bar = "zot" } }
132s $$;
132s +ERROR: language "pllua" does not exist
132s select pg_temp.af9();
132s - af9
132s --------------
132s - {"(1,zot)"}
132s -(1 row)
132s -
132s +ERROR: function pg_temp.af9() does not exist at character 8
132s create function pg_temp.af10() returns acomp1[] language pllua
132s as $$
132s return { pgtype(nil,0):element()(1, "zot") }
132s $$;
132s +ERROR: language "pllua" does not exist
132s select pg_temp.af10();
132s - af10
132s --------------
132s - {"(1,zot)"}
132s -(1 row)
132s -
132s +ERROR: function pg_temp.af10() does not exist at character 8
132s --
132s diff -U3 /tmp/autopkgtest.gVJJhB/build.hhR/src/expected/jsonb.out /tmp/autopkgtest.gVJJhB/build.hhR/src/results/jsonb.out
132s --- /tmp/autopkgtest.gVJJhB/build.hhR/src/expected/jsonb.out 2023-07-29 18:06:29.000000000 +0000
132s +++ /tmp/autopkgtest.gVJJhB/build.hhR/src/results/jsonb.out 2025-02-19 08:12:02.595546374 +0000
132s @@ -45,70 +45,9 @@
132s spi.execute([[ create temp table jt1 as select $1 as a ]], b)
132s
132s $$;
132s -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."}
132s -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."}
132s -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."}
132s -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."}
132s -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."}
132s -INFO: foo string nil string If this were real data, it would make more sense.
132s -INFO: piem string nil string Now I, even I, would celebrate
132s -In rhymes unapt the great
132s -Immortal Syracusan rivaled nevermore,
132s -Who in his wondrous lore,
132s -Passed on before,
132s -Left men his guidance
132s -How to circles mensurate.
132s -
132s -INFO: empty userdata object object {}
132s -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"]
132s -INFO: 0 nil nil null nil
132s -INFO: 1 nil nil null nil
132s -INFO: 2 userdata nil number 123
132s -INFO: 3 string nil string foo
132s -INFO: 4 nil nil null nil
132s -INFO: 5 boolean nil boolean true
132s -INFO: 6 boolean nil boolean false
132s -INFO: 7 nil nil null nil
132s -INFO: 8 nil nil null nil
132s -INFO: 9 nil nil null nil
132s -INFO: 10 nil nil null nil
132s -INFO: 11 nil nil null nil
132s -INFO: 12 nil nil null nil
132s -INFO: 13 nil nil null nil
132s -INFO: 14 nil nil null nil
132s -INFO: 15 nil nil null nil
132s -INFO: 16 nil nil null nil
132s -INFO: 17 nil nil null nil
132s -INFO: 18 nil nil null nil
132s -INFO: 19 nil nil null nil
132s -INFO: 20 nil nil null nil
132s -INFO: 21 nil nil null nil
132s -INFO: 22 string nil string fred
132s -INFO: names userdata array array ["Dougal", "Florence", "Ermintrude", "Zebedee", "Brian", "Dylan"]
132s -INFO: empty2 userdata array array [{}, {}]
132s -INFO: nested userdata array array ["arrayelem", {"subobject": {"subarray": [[[123]]]}, "object key": "object val"}]
132s -INFO: json_test string nil string This is only a test.
132s -INFO: foo If this were real data, it would make more sense.
132s -INFO: piem Now I, even I, would celebrate
132s -In rhymes unapt the great
132s -Immortal Syracusan rivaled nevermore,
132s -Who in his wondrous lore,
132s -Passed on before,
132s -Left men his guidance
132s -How to circles mensurate.
132s -
132s -INFO: empty []
132s -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"]
132s -INFO: names ["Dougal", "Florence", "Ermintrude", "Zebedee", "Brian", "Dylan"]
132s -INFO: empty2 [[], []]
132s -INFO: nested ["arrayelem", {"subobject": {"subarray": [[[123]]]}, "object key": "object val"}]
132s -INFO: json_test This is only a test.
132s +ERROR: language "pllua" does not exist
132s select a, pg_typeof(a) from jt1;
132s - a | pg_typeof
132s ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------
132s - {"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
132s -(1 row)
132s -
132s +ERROR: relation "jt1" does not exist at character 29
132s create temp table jt2(id serial, a jsonb);
132s insert into jt2(a) values ('1');
132s insert into jt2(a) values ('"foo"');
132s @@ -138,63 +77,7 @@
132s print(type(b))
132s end
132s $$;
132s -INFO: 1 number
132s -INFO: mapfunc nil nil 1
132s -INFO: number
132s -INFO: "foo" string
132s -INFO: mapfunc nil nil foo
132s -INFO: string
132s -INFO: true boolean
132s -INFO: mapfunc nil nil true
132s -INFO: boolean
132s -INFO: null null
132s -INFO: mapfunc nil nil nil
132s -INFO: nil
132s -INFO: {"foo": 123} object
132s -INFO: mapfunc string foo 123
132s -INFO: mapfunc nil nil table
132s -INFO: table
132s -INFO: {"foo": null} object
132s -INFO: mapfunc string foo nil
132s -INFO: mapfunc nil nil table
132s -INFO: table
132s -INFO: [10, 20, 30] array
132s -INFO: mapfunc number 0 10
132s -INFO: mapfunc number 1 20
132s -INFO: mapfunc number 2 30
132s -INFO: mapfunc nil nil table
132s -INFO: table
132s -INFO: {"foo": [2, 4, 6]} object
132s -INFO: mapfunc number 0 2 foo
132s -INFO: mapfunc number 1 4 foo
132s -INFO: mapfunc number 2 6 foo
132s -INFO: mapfunc string foo table
132s -INFO: mapfunc nil nil table
132s -INFO: table
132s -INFO: [{"foo": "bar"}, {"baz": "foo"}, 123, null] array
132s -INFO: mapfunc string foo bar 0
132s -INFO: mapfunc number 0 table
132s -INFO: mapfunc string baz foo 1
132s -INFO: mapfunc number 1 table
132s -INFO: mapfunc number 2 123
132s -INFO: mapfunc number 3 nil
132s -INFO: mapfunc nil nil table
132s -INFO: table
132s -INFO: {"1": "foo", "2": [false, true], "foo": {}} object
132s -INFO: mapfunc string 1 foo
132s -INFO: mapfunc number 0 false 2
132s -INFO: mapfunc number 1 true 2
132s -INFO: mapfunc string 2 table
132s -INFO: mapfunc string foo table
132s -INFO: mapfunc nil nil table
132s -INFO: table
132s -INFO: {"1": "foo", "2": [false, true]} object
132s -INFO: mapfunc string 1 foo
132s -INFO: mapfunc number 0 false 2
132s -INFO: mapfunc number 1 true 2
132s -INFO: mapfunc string 2 table
132s -INFO: mapfunc nil nil table
132s -INFO: table
132s +ERROR: language "pllua" does not exist
132s create temp table jt3(id integer, a jsonb);
132s -- first row should be plain, then a couple with compressed values,
132s -- then a couple with external toast
132s @@ -208,11 +91,7 @@
132s print(jsonb.type(r.a),#a,a[#a])
132s end
132s $$;
132s -INFO: array 101 1
132s -INFO: array 1001 2
132s -INFO: array 10001 3
132s -INFO: array 100001 4
132s -INFO: array 1000001 5
132s +ERROR: language "pllua" does not exist
132s -- test jsonb in jsonb and similar paths
132s do language pllua $$
132s local jtst1 = pgtype.jsonb('"foo"') -- json scalar
132s @@ -222,7 +101,7 @@
132s v2 = jtst2,
132s v3 = ts1 }))
132s $$;
132s -INFO: {"v1": "foo", "v2": {"bar": [1, 2, false], "foo": true}, "v3": "2017-12-19T12:00:00"}
132s +ERROR: language "pllua" does not exist
132s -- test round-trip conversions
132s do language pllua $$
132s local j_in = pgtype.jsonb('{"foo":[1,null,false,{"a":null,"b":[]},{},[]]}')
132s @@ -232,6 +111,5 @@
132s print(j_in)
132s print(j_out)
132s $$;
132s -INFO: {"foo": [1, null, false, {"a": null, "b": []}, {}, []]}
132s -INFO: {"foo": [1, null, false, {"a": null, "b": []}, {}, []]}
132s +ERROR: language "pllua" does not exist
132s --end
132s diff -U3 /tmp/autopkgtest.gVJJhB/build.hhR/src/expected/numerics.out /tmp/autopkgtest.gVJJhB/build.hhR/src/results/numerics.out
132s --- /tmp/autopkgtest.gVJJhB/build.hhR/src/expected/numerics.out 2023-07-29 18:06:29.000000000 +0000
132s +++ /tmp/autopkgtest.gVJJhB/build.hhR/src/results/numerics.out 2025-02-19 08:12:02.617546374 +0000
132s @@ -14,6 +14,7 @@
132s do
132s num = require "pllua.numeric"
132s $$;
132s +ERROR: language "pllua" does not exist
132s create function pg_numexec(code text, n1 numeric, n2 numeric)
132s returns text
132s language plpgsql
132s @@ -61,55 +62,7 @@
132s $$ num.exp(n2) $$
132s ]) as u(code))
132s select (lua = pg) as ok, * from t;
132s - ok | code | lua | pg
132s -----+-------------------------+--------------------------------+--------------------------------
132s - t | n1 + n2 | 5437.223456 | 5437.223456
132s - t | n1 - n2 | 5441.023456 | 5441.023456
132s - t | n1 * n2 | -10334.3345664 | -10334.3345664
132s - t | n1 / n2 | -2862.6965557894736842 | -2862.6965557894736842
132s - t | n1 % n2 | 1.323456 | 1.323456
132s - t | n1 ^ n2 | 0.00000007989048519637487 | 0.00000007989048519637487
132s - t | (-n1) + n2 | -5441.023456 | -5441.023456
132s - t | (-n1) - n2 | -5437.223456 | -5437.223456
132s - t | (-n1) * n2 | 10334.3345664 | 10334.3345664
132s - t | (-n1) / n2 | 2862.6965557894736842 | 2862.6965557894736842
132s - t | (-n1) % n2 | -1.323456 | -1.323456
132s - t | (-n1) ^ 3 | -160911376260.906871 | -160911376260.906871
132s - t | (-n1) + (-n2) | -5437.223456 | -5437.223456
132s - t | (-n1) - (-n2) | -5441.023456 | -5441.023456
132s - t | (-n1) * (-n2) | -10334.3345664 | -10334.3345664
132s - t | (-n1) / (-n2) | -2862.6965557894736842 | -2862.6965557894736842
132s - t | (-n1) % (-n2) | -1.323456 | -1.323456
132s - t | (-n1) ^ (-3) | -0.000000000006214601001103663 | -0.000000000006214601001103663
132s - t | (n1) > (n2) | true | true
132s - t | (n1) < (n2) | false | false
132s - t | (n1) >= (n2) | true | true
132s - t | (n1) <= (n2) | false | false
132s - t | (n1) > (n2*10000) | true | true
132s - t | (n1) < (n2*10000) | false | false
132s - t | (n1) >= (n2 * -10000) | false | false
132s - t | (n1) <= (n2 * -10000) | true | true
132s - t | num.round(n1) | 5439 | 5439
132s - t | num.round(n2) | -2 | -2
132s - t | num.round(n1,4) | 5439.1235 | 5439.1235
132s - t | num.round(n1,-1) | 5440 | 5440
132s - t | num.trunc(n1) | 5439 | 5439
132s - t | num.trunc(n2) | -1 | -1
132s - t | num.trunc(n1,4) | 5439.1234 | 5439.1234
132s - t | num.trunc(n1,-1) | 5430 | 5430
132s - t | num.floor(n1) | 5439 | 5439
132s - t | num.floor(n2) | -2 | -2
132s - t | num.ceil(n1) | 5440 | 5440
132s - t | num.ceil(n2) | -1 | -1
132s - t | num.abs(n1) | 5439.123456 | 5439.123456
132s - t | num.abs(n2) | 1.9 | 1.9
132s - t | num.sign(n1) | 1 | 1
132s - t | num.sign(n2) | -1 | -1
132s - t | num.sqrt(n1) | 73.750413259859093 | 73.750413259859093
132s - t | num.exp(12.3) | 219695.98867213773 | 219695.98867213773
132s - t | num.exp(n2) | 0.1495686192226351 | 0.1495686192226351
132s -(45 rows)
132s -
132s +ERROR: function lua_numexec(text, numeric, numeric) does not exist at character 42
132s -- calculate pi to 40 places
132s do language pllua $$
132s -- Chudnovsky formula; ~14 digits per round, we use 4 rounds
132s @@ -132,7 +85,7 @@
132s end
132s print(pi())
132s $$;
132s -INFO: 3.1415926535897932384626433832795028841972
132s +ERROR: language "pllua" does not exist
132s -- check sanity of maxinteger/mininteger
132s do language pllua $$
132s local num = require 'pllua.numeric'
132s @@ -142,5 +95,4 @@
132s print(type(num.tointeger(mini)), type(num.tointeger(mini-1)))
132s $$
132s --end
132s -INFO: number nil
132s -INFO: number nil
132s +ERROR: language "pllua" does not exist
132s diff -U3 /tmp/autopkgtest.gVJJhB/build.hhR/src/expected/horology.out /tmp/autopkgtest.gVJJhB/build.hhR/src/results/horology.out
132s --- /tmp/autopkgtest.gVJJhB/build.hhR/src/expected/horology.out 2023-07-29 18:06:29.000000000 +0000
132s +++ /tmp/autopkgtest.gVJJhB/build.hhR/src/results/horology.out 2025-02-19 08:12:02.654546374 +0000
132s @@ -15,15 +15,7 @@
132s print(pgtype.timestamptz{ year=2019, month=4, day=22, hour=12, min=23, sec=34, usec=123456 });
132s print(pgtype.timestamptz{ year=2019, month=4, day=22, hour=12, min=23, sec=34.1, msec=1, usec=1 });
132s $$;
132s -INFO: 2019-04-22 12:23:34.1+00
132s -INFO: 2419-04-22 12:23:34.1+00
132s -INFO: 1919-04-22 12:23:34.1+00
132s -INFO: 1819-04-22 12:23:34.1+00
132s -INFO: 1019-04-22 12:23:34.1+00
132s -INFO: 2020-04-22 12:23:34.1+00 BC
132s -INFO: 4714-12-01 12:23:34.1+00 BC
132s -INFO: 2019-04-22 12:23:34.123456+00
132s -INFO: 2019-04-22 12:23:34.101001+00
132s +ERROR: language "pllua" does not exist
132s do language pllua $$
132s print(pgtype.timestamptz{ epoch=0 });
132s print(pgtype.timestamptz{ epoch=1555891200 });
132s @@ -38,18 +30,7 @@
132s print(pgtype.timestamptz{ epoch_msec=-1555891200001 });
132s print(pgtype.timestamptz{ epoch_usec=-1555891200000001 });
132s $$;
132s -INFO: 1970-01-01 00:00:00+00
132s -INFO: 2019-04-22 00:00:00+00
132s -INFO: 2019-04-22 00:00:00.000001+00
132s -INFO: 2019-04-22 00:00:00.001+00
132s -INFO: 2019-04-22 00:00:00.000001+00
132s -INFO: 2019-04-22 00:00:00.001001+00
132s -INFO: 2019-04-21 23:59:59.999001+00
132s -INFO: 1920-09-12 00:00:00+00
132s -INFO: 1920-09-12 00:00:00.000999+00
132s -INFO: 1920-09-11 23:59:59.999001+00
132s -INFO: 1920-09-11 23:59:59.999+00
132s -INFO: 1920-09-11 23:59:59.999999+00
132s +ERROR: language "pllua" does not exist
132s do language pllua $$
132s print(pgtype.timestamptz{ year=2019, month=4, day=22, hour=12, min=23, sec=34.1, timezone=10800 });
132s print(pgtype.timestamptz{ year=2019, month=4, day=22, hour=12, min=23, sec=34.1, timezone=-10800 });
132s @@ -64,24 +45,12 @@
132s print(pgtype.timestamptz{ year=2018, month=10, day=28, hour=1, min=30, sec=0, isdst=true, timezone="Europe/London" });
132s print(pgtype.timestamptz{ year=2018, month=10, day=28, hour=1, min=30, sec=0, isdst=false, timezone="Europe/London" });
132s $$;
132s -INFO: 2019-04-22 09:23:34.1+00
132s -INFO: 2019-04-22 15:23:34.1+00
132s -INFO: 2019-04-22 09:23:34.1+00
132s -INFO: 2019-04-22 15:23:34.1+00
132s -INFO: 2019-04-21 22:23:34.1+00
132s -INFO: 2019-04-23 02:23:34.1+00
132s -INFO: 2019-04-22 19:23:34.1+00
132s -INFO: 2019-04-22 00:23:34.1+00
132s -INFO: 2019-04-22 06:38:34.1+00
132s -INFO: 2018-10-28 01:30:00+00
132s -INFO: 2018-10-28 00:30:00+00
132s -INFO: 2018-10-28 01:30:00+00
132s +ERROR: language "pllua" does not exist
132s do language pllua $$
132s print(pgtype.timestamptz{ epoch=1/0 });
132s print(pgtype.timestamptz{ epoch=-1/0 });
132s $$;
132s -INFO: infinity
132s -INFO: -infinity
132s +ERROR: language "pllua" does not exist
132s do language pllua $$
132s print(pgtype.timestamptz{ year=2019, month=4, day=22, hour=12, min=23, sec=1, usec=59000000 });
132s print(pgtype.timestamptz{ year=2019, month=4, day=22, hour=12, min=23, sec=-1 });
132s @@ -102,24 +71,7 @@
132s print(pgtype.timestamptz{ year=2019, month=-4, day=22, hour=12, min=23, sec=34 });
132s print(pgtype.timestamptz{ year=2019, month=16, day=22, hour=12, min=23, sec=34 });
132s $$;
132s -INFO: 2019-04-22 12:24:00+00
132s -INFO: 2019-04-22 12:22:59+00
132s -INFO: 2019-04-22 12:22:00+00
132s -INFO: 2019-04-22 12:21:59+00
132s -INFO: 2019-04-22 12:24:00+00
132s -INFO: 2019-04-22 12:24:01+00
132s -INFO: 2019-04-22 12:25:00+00
132s -INFO: 2019-04-22 13:01:01+00
132s -INFO: 2019-04-23 00:00:01+00
132s -INFO: 2019-04-21 23:59:59+00
132s -INFO: 2019-05-02 12:00:00+00
132s -INFO: 2019-04-23 01:01:01+00
132s -INFO: 2019-04-23 00:00:00+00
132s -INFO: 2019-04-23 00:00:01+00
132s -INFO: 2019-05-02 00:00:01+00
132s -INFO: 2019-04-21 23:00:01+00
132s -INFO: 2018-08-22 12:23:34+00
132s -INFO: 2020-04-22 12:23:34+00
132s +ERROR: language "pllua" does not exist
132s do language pllua $$
132s print(pgtype.timestamp{ year=2019, month=4, day=22, hour=12, min=23, sec=34.1 });
132s print(pgtype.timestamp{ year=2419, month=4, day=22, hour=12, min=23, sec=34.1 });
132s @@ -131,15 +83,7 @@
132s print(pgtype.timestamp{ year=2019, month=4, day=22, hour=12, min=23, sec=34, usec=123456 });
132s print(pgtype.timestamp{ year=2019, month=4, day=22, hour=12, min=23, sec=34.1, msec=1, usec=1 });
132s $$;
132s -INFO: 2019-04-22 12:23:34.1
132s -INFO: 2419-04-22 12:23:34.1
132s -INFO: 1919-04-22 12:23:34.1
132s -INFO: 1819-04-22 12:23:34.1
132s -INFO: 1019-04-22 12:23:34.1
132s -INFO: 2020-04-22 12:23:34.1 BC
132s -INFO: 4714-12-01 12:23:34.1 BC
132s -INFO: 2019-04-22 12:23:34.123456
132s -INFO: 2019-04-22 12:23:34.101001
132s +ERROR: language "pllua" does not exist
132s do language pllua $$
132s print(pgtype.timestamp{ epoch=0 });
132s print(pgtype.timestamp{ epoch=1555891200 });
132s @@ -157,21 +101,7 @@
132s print(pgtype.timestamp{ epoch=1555891200, timezone="Pacific/Auckland" });
132s print(pgtype.timestamp{ epoch=1555891200, timezone="Asia/Kathmandu" });
132s $$;
132s -INFO: 1970-01-01 00:00:00
132s -INFO: 2019-04-22 00:00:00
132s -INFO: 2019-04-22 00:00:00.000001
132s -INFO: 2019-04-22 00:00:00.001
132s -INFO: 2019-04-22 00:00:00.000001
132s -INFO: 2019-04-22 00:00:00.001001
132s -INFO: 2019-04-21 23:59:59.999001
132s -INFO: 1920-09-12 00:00:00
132s -INFO: 1920-09-12 00:00:00.000999
132s -INFO: 1920-09-11 23:59:59.999001
132s -INFO: 1920-09-11 23:59:59.999
132s -INFO: 1920-09-11 23:59:59.999999
132s -INFO: 2019-04-21 17:00:00
132s -INFO: 2019-04-22 12:00:00
132s -INFO: 2019-04-22 05:45:00
132s +ERROR: language "pllua" does not exist
132s do language pllua $$
132s print(pgtype.date{ year=2019, month=4, day=22 });
132s print(pgtype.date{ year=2419, month=2, day=22 });
132s @@ -183,15 +113,7 @@
132s print(pgtype.date{ year=2019, month=4, day=22, hour=24 });
132s print(pgtype.date{ year=2019, month=4, day=22, hour=24, min=1 });
132s $$;
132s -INFO: 2019-04-22
132s -INFO: 2419-02-22
132s -INFO: 1919-01-22
132s -INFO: 1819-03-22
132s -INFO: 1019-05-22
132s -INFO: 2020-04-22 BC
132s -INFO: 4714-12-01 BC
132s -INFO: 2019-04-22
132s -INFO: 2019-04-23
132s +ERROR: language "pllua" does not exist
132s do language pllua $$
132s print(pgtype.date{ epoch=0 });
132s print(pgtype.date{ epoch=1555891200 });
132s @@ -206,18 +128,7 @@
132s print(pgtype.date{ epoch=1555891200, timezone="Pacific/Auckland" });
132s print(pgtype.date{ epoch=1555891200, timezone="Asia/Kathmandu" });
132s $$;
132s -INFO: 1970-01-01
132s -INFO: 2019-04-22
132s -INFO: 2019-04-22
132s -INFO: 2019-04-22
132s -INFO: 2019-04-22
132s -INFO: 2019-04-22
132s -INFO: 1920-09-12
132s -INFO: 1920-09-11
132s -INFO: 1920-09-11
132s -INFO: 2019-04-21
132s -INFO: 2019-04-22
132s -INFO: 2019-04-22
132s +ERROR: language "pllua" does not exist
132s do language pllua $$
132s print(pgtype.time{ hour=12, min=23, sec=34.1 });
132s print(pgtype.time{ hour=12, min=120, sec=1 });
132s @@ -226,36 +137,25 @@
132s print(pgtype.time{ hour=12, min=23, sec=34, usec=123456 });
132s print(pgtype.time{ hour=12, min=23, sec=34.1, msec=1, usec=1 });
132s $$;
132s -INFO: 12:23:34.1
132s -INFO: 14:00:01
132s -INFO: 00:23:34.1
132s -INFO: 01:23:34.1
132s -INFO: 12:23:34.123456
132s -INFO: 12:23:34.101001
132s +ERROR: language "pllua" does not exist
132s do language pllua $$
132s print(pgtype.time{ epoch=0 });
132s print(pgtype.time{ epoch=3601 });
132s print(pgtype.time{ epoch=86400 });
132s print(pgtype.time{ epoch=1555891200 });
132s $$;
132s -INFO: 00:00:00
132s -INFO: 01:00:01
132s -INFO: 00:00:00
132s -INFO: 00:00:00
132s +ERROR: language "pllua" does not exist
132s do language pllua $$
132s print(pgtype.timetz{ hour=12, min=23, sec=34.1, timezone=7200 });
132s $$;
132s -INFO: 12:23:34.1+02
132s +ERROR: language "pllua" does not exist
132s do language pllua $$
132s print(pgtype.timetz{ epoch=0, timezone=3600 });
132s print(pgtype.timetz{ epoch=3601, timezone=-3600 });
132s print(pgtype.timetz{ epoch=86400, timezone=-43200 });
132s print(pgtype.timetz{ epoch=1555891200, timezone=0 });
132s $$;
132s -INFO: 00:00:00+01
132s -INFO: 01:00:01-01
132s -INFO: 00:00:00-12
132s -INFO: 00:00:00+00
132s +ERROR: language "pllua" does not exist
132s do language pllua $$
132s print(pgtype.interval{ year=0, month=0, day=0, hour=0, min=0, sec=0, usec=0 });
132s print(pgtype.interval{ year=100 });
132s @@ -267,74 +167,63 @@
132s print(pgtype.interval{ usec=1 });
132s print(pgtype.interval{ year=1, month=2, day=3, hour=4, min=5, sec=6, usec=7 });
132s $$;
132s -INFO: @ 0
132s -INFO: @ 100 years
132s -INFO: @ 8 years 4 mons
132s -INFO: @ 100 days
132s -INFO: @ 100 hours
132s -INFO: @ 1 hour 40 mins
132s -INFO: @ 1 min 40 secs
132s -INFO: @ 0.000001 secs
132s -INFO: @ 1 year 2 mons 3 days 4 hours 5 mins 6.000007 secs
132s +ERROR: language "pllua" does not exist
132s do language pllua $$
132s print(pgtype.interval{ epoch=0 });
132s print(pgtype.interval{ epoch=120 });
132s print(pgtype.interval{ epoch=43200 });
132s print(pgtype.interval{ epoch=86400 });
132s $$;
132s -INFO: @ 0
132s -INFO: @ 2 mins
132s -INFO: @ 12 hours
132s -INFO: @ 24 hours
132s +ERROR: language "pllua" does not exist
132s -- input error cases.
132s do language pllua $$ print(pgtype.interval{ hour="foo" }); $$;
132s -ERROR: pllua: invalid value in field 'hour'
132s +ERROR: language "pllua" does not exist
132s do language pllua $$ print(pgtype.interval{ hour=1.2 }); $$;
132s -ERROR: pllua: invalid value in field 'hour'
132s +ERROR: language "pllua" does not exist
132s do language pllua $$ print(pgtype.interval{ hour=0/0 }); $$;
132s -ERROR: pllua: invalid value in field 'hour'
132s +ERROR: language "pllua" does not exist
132s do language pllua $$ print(pgtype.interval{ hour=1/0 }); $$;
132s -ERROR: pllua: infinite values not permitted for this type
132s +ERROR: language "pllua" does not exist
132s do language pllua $$ print(pgtype.interval{ sec=1/0 }); $$;
132s -ERROR: pllua: infinite values not permitted for this type
132s +ERROR: language "pllua" does not exist
132s do language pllua $$ print(pgtype.interval{ usec=1/0 }); $$;
132s -ERROR: pllua: infinite values not permitted for this type
132s +ERROR: language "pllua" does not exist
132s do language pllua $$ print(pgtype.timestamptz{ year=1/0, month=1, day=-1/0 }); $$;
132s -ERROR: pllua: invalid value in field 'day'
132s +ERROR: language "pllua" does not exist
132s do language pllua $$ print(pgtype.timestamp{ epoch=0, timezone="1234" }); $$;
132s -ERROR: invalid timezone specified
132s +ERROR: language "pllua" does not exist
132s do language pllua $$ print(pgtype.timestamp{ epoch=0, timezone=1234.5 }); $$;
132s -ERROR: pllua: invalid value in field 'timezone'
132s +ERROR: language "pllua" does not exist
132s do language pllua $$ print(pgtype.timestamp{ epoch=0, timezone=function() end }); $$;
132s -ERROR: pllua: invalid value in field 'timezone'
132s +ERROR: language "pllua" does not exist
132s do language pllua $$ print(pgtype.timestamptz{ epoch=0, epoch_msec=0 }); $$;
132s -ERROR: pllua: cannot specify multiple epoch fields
132s +ERROR: language "pllua" does not exist
132s do language pllua $$ print(pgtype.timestamptz{ epoch=0, year=2019 }); $$;
132s -ERROR: pllua: cannot specify both epoch and date fields
132s +ERROR: language "pllua" does not exist
132s do language pllua $$ print(pgtype.timestamptz{ epoch=0, hour=20 }); $$;
132s -ERROR: pllua: cannot specify both epoch and time fields
132s +ERROR: language "pllua" does not exist
132s do language pllua $$ print(pgtype.timestamptz{ year=2019 }); $$;
132s -ERROR: pllua: missing datetime field 'mon'
132s +ERROR: language "pllua" does not exist
132s do language pllua $$ print(pgtype.timestamptz{ year=2019, month=4 }); $$;
132s -ERROR: pllua: missing datetime field 'day'
132s +ERROR: language "pllua" does not exist
132s do language pllua $$ print(pgtype.time{ min=10 }); $$;
132s -ERROR: pllua: missing datetime field 'hour'
132s +ERROR: language "pllua" does not exist
132s do language pllua $$ print(pgtype.time{ hour=20, sec=10 }); $$;
132s -ERROR: pllua: missing datetime field 'min'
132s +ERROR: language "pllua" does not exist
132s do language pllua $$ print(pgtype.timetz{ hour=20, timezone="America/Los_Angeles" }); $$;
132s -ERROR: pllua: non-numeric timezones not supported for 'timetz'
132s +ERROR: language "pllua" does not exist
132s do language pllua $$ print(pgtype.time{ hour=20, timezone="America/Los_Angeles" }); $$;
132s -ERROR: pllua: cannot specify timezone for this type
132s +ERROR: language "pllua" does not exist
132s do language pllua $$ print(pgtype.date{ year=2019, month=4, day=22, timezone="America/Los_Angeles" }); $$;
132s -ERROR: pllua: cannot specify timezone for this type
132s +ERROR: language "pllua" does not exist
132s do language pllua $$ print(pgtype.timestamp{ year=2019, month=4, day=22, hour=20, timezone="America/Los_Angeles" }); $$;
132s -ERROR: pllua: cannot specify timezone for this type
132s +ERROR: language "pllua" does not exist
132s do language pllua $$ print(pgtype.timestamptz{ epoch=-300000000000 }); $$;
132s -ERROR: timestamp out of range
132s +ERROR: language "pllua" does not exist
132s do language pllua $$ print(pgtype.timestamptz{ year=-5000, month=1, day=1 }); $$;
132s -ERROR: could not convert to timestamp
132s +ERROR: language "pllua" does not exist
132s do language pllua $$ print(pgtype.date{ year=-5000, month=1, day=1 }); $$;
132s -INFO: 4760-06-20 BC
132s +ERROR: language "pllua" does not exist
132s -- 2. output of values in table form.
132s do language pllua $$
132s local function prt(t,z)
132s @@ -354,73 +243,10 @@
132s prt(pgtype.timetz('10:20:30+04'))
132s prt(pgtype.interval('P1Y2M3DT4H5M6S'))
132s $$;
132s -INFO: 2019-04-22 10:20:30+00
132s -INFO: day 22
132s -INFO: hour 10
132s -INFO: isdst false
132s -INFO: min 20
132s -INFO: month 4
132s -INFO: sec 30
132s -INFO: timezone 0
132s -INFO: timezone_abbrev GMT
132s -INFO: usec 0
132s -INFO: year 2019
132s -INFO: 2019-04-22 10:20:30+00
132s -INFO: day 22
132s -INFO: hour 3
132s -INFO: isdst true
132s -INFO: min 20
132s -INFO: month 4
132s -INFO: sec 30
132s -INFO: timezone -25200
132s -INFO: timezone_abbrev PDT
132s -INFO: usec 0
132s -INFO: year 2019
132s -INFO: 2019-04-22 10:20:30+00
132s -INFO: day 22
132s -INFO: hour 16
132s -INFO: isdst false
132s -INFO: min 5
132s -INFO: month 4
132s -INFO: sec 30
132s -INFO: timezone 20700
132s -INFO: timezone_abbrev +0545
132s -INFO: usec 0
132s -INFO: year 2019
132s -INFO: 2019-04-22 10:20:30
132s -INFO: day 22
132s -INFO: hour 10
132s -INFO: min 20
132s -INFO: month 4
132s -INFO: sec 30
132s -INFO: usec 0
132s -INFO: year 2019
132s -INFO: 2019-04-22
132s -INFO: day 22
132s -INFO: month 4
132s -INFO: year 2019
132s -INFO: 10:20:30
132s -INFO: hour 10
132s -INFO: min 20
132s -INFO: sec 30
132s -INFO: usec 0
132s -INFO: 10:20:30+04
132s -INFO: hour 10
132s -INFO: min 20
132s -INFO: sec 30
132s -INFO: timezone 14400
132s -INFO: usec 0
132s -INFO: @ 1 year 2 mons 3 days 4 hours 5 mins 6 secs
132s -INFO: day 3
132s -INFO: hour 4
132s -INFO: min 5
132s -INFO: month 2
132s -INFO: sec 6
132s -INFO: usec 0
132s -INFO: year 1
132s +ERROR: language "pllua" does not exist
132s -- error
132s do language pllua $$ print(pgtype.timestamp('2019-04-22 10:20:30+00'):as_table('Europe/London')) $$;
132s -ERROR: pllua: [string "DO-block"]:1: cannot specify timezone parameter for this type
132s +ERROR: language "pllua" does not exist
132s -- 3. Field access
132s -- note, fields come out in session timezone, so set that:
132s set timezone = 'Europe/London';
132s @@ -438,31 +264,7 @@
132s print(k, t[k])
132s end
132s $$;
132s -INFO: century 20
132s -INFO: day 10
132s -INFO: decade 196
132s -INFO: dow 5
132s -INFO: doy 131
132s -INFO: epoch -51916498.765433
132s -INFO: epoch_msec -51916498765.433
132s -INFO: epoch_usec -51916498765433
132s -INFO: hour 3
132s -INFO: isodow 5
132s -INFO: isoweek 19
132s -INFO: isoyear 1968
132s -INFO: julian 2439987
132s -INFO: microseconds 1234567
132s -INFO: millennium 2
132s -INFO: milliseconds 1235
132s -INFO: minute 45
132s -INFO: month 5
132s -INFO: quarter 2
132s -INFO: second 1.234567
132s -INFO: timezone 3600
132s -INFO: timezone_hour 1
132s -INFO: timezone_minute 0
132s -INFO: week 19
132s -INFO: year 1968
132s +ERROR: language "pllua" does not exist
132s set timezone = 'UTC';
132s do language pllua $$
132s local t = pgtype.timestamp('1968-05-10 03:45:01.234567')
132s @@ -477,28 +279,7 @@
132s print(k, t[k])
132s end
132s $$;
132s -INFO: century 20
132s -INFO: day 10
132s -INFO: decade 196
132s -INFO: dow 5
132s -INFO: doy 131
132s -INFO: epoch -51912898.765433
132s -INFO: epoch_msec -51912898765.433
132s -INFO: epoch_usec -51912898765433
132s -INFO: hour 3
132s -INFO: isodow 5
132s -INFO: isoweek 19
132s -INFO: isoyear 1968
132s -INFO: julian 2439987
132s -INFO: microseconds 1234567
132s -INFO: millennium 2
132s -INFO: milliseconds 1235
132s -INFO: minute 45
132s -INFO: month 5
132s -INFO: quarter 2
132s -INFO: second 1.234567
132s -INFO: week 19
132s -INFO: year 1968
132s +ERROR: language "pllua" does not exist
132s do language pllua $$
132s local t = pgtype.date('1968-05-10')
132s
132s @@ -512,28 +293,7 @@
132s print(k, string.format("%.18g",t[k]))
132s end
132s $$;
132s -INFO: century 20
132s -INFO: day 10
132s -INFO: decade 196
132s -INFO: dow 5
132s -INFO: doy 131
132s -INFO: epoch -51926400
132s -INFO: epoch_msec -51926400000
132s -INFO: epoch_usec -51926400000000
132s -INFO: hour 0
132s -INFO: isodow 5
132s -INFO: isoweek 19
132s -INFO: isoyear 1968
132s -INFO: julian 2439987
132s -INFO: microseconds 0
132s -INFO: millennium 2
132s -INFO: milliseconds 0
132s -INFO: minute 0
132s -INFO: month 5
132s -INFO: quarter 2
132s -INFO: second 0
132s -INFO: week 19
132s -INFO: year 1968
132s +ERROR: language "pllua" does not exist
132s do language pllua $$
132s local t = pgtype.time('03:45:01.234567')
132s
132s @@ -543,14 +303,7 @@
132s print(k, t[k])
132s end
132s $$;
132s -INFO: epoch 13501.234567
132s -INFO: epoch_msec 13501234.567
132s -INFO: epoch_usec 13501234567
132s -INFO: hour 3
132s -INFO: microseconds 1234567
132s -INFO: milliseconds 1235
132s -INFO: minute 45
132s -INFO: second 1.234567
132s +ERROR: language "pllua" does not exist
132s do language pllua $$
132s local t = pgtype.timetz('03:45:01.234567+01')
132s
132s @@ -562,17 +315,7 @@
132s print(k, t[k])
132s end
132s $$;
132s -INFO: epoch 9901.234567
132s -INFO: epoch_msec 9901234.567
132s -INFO: epoch_usec 9901234567
132s -INFO: hour 3
132s -INFO: microseconds 1234567
132s -INFO: milliseconds 1235
132s -INFO: minute 45
132s -INFO: second 1.234567
132s -INFO: timezone 3600
132s -INFO: timezone_hour 1
132s -INFO: timezone_minute 0
132s +ERROR: language "pllua" does not exist
132s do language pllua $$
132s local t = pgtype.interval('P1Y2M3DT4H5M6.789001S')
132s
132s @@ -585,19 +328,5 @@
132s print(k, t[k])
132s end
132s $$;
132s -INFO: century 0
132s -INFO: day 3
132s -INFO: decade 0
132s -INFO: epoch 37015506.789001
132s -INFO: epoch_msec 37015506789.001
132s -INFO: epoch_usec 37015506789001
132s -INFO: hour 4
132s -INFO: microseconds 6789001
132s -INFO: millennium 0
132s -INFO: milliseconds 6789
132s -INFO: minute 5
132s -INFO: month 2
132s -INFO: quarter 1
132s -INFO: second 6.789001
132s -INFO: year 1
132s +ERROR: language "pllua" does not exist
132s --end
132s diff -U3 /tmp/autopkgtest.gVJJhB/build.hhR/src/expected/horology-errors.out /tmp/autopkgtest.gVJJhB/build.hhR/src/results/horology-errors.out
132s --- /tmp/autopkgtest.gVJJhB/build.hhR/src/expected/horology-errors.out 2023-07-29 18:06:29.000000000 +0000
132s +++ /tmp/autopkgtest.gVJJhB/build.hhR/src/results/horology-errors.out 2025-02-19 08:12:02.674546374 +0000
132s @@ -5,5 +5,5 @@
132s set datestyle = 'ISO,YMD';
132s -- errors (not worth testing many combinations, they all share a code path)
132s do language pllua $$ print(pgtype.time('03:45:01.234567').dow) $$;
132s -ERROR: unit "dow" not supported for type time without time zone
132s +ERROR: language "pllua" does not exist
132s --end
132s diff -U3 /tmp/autopkgtest.gVJJhB/build.hhR/src/expected/paths.out /tmp/autopkgtest.gVJJhB/build.hhR/src/results/paths.out
132s --- /tmp/autopkgtest.gVJJhB/build.hhR/src/expected/paths.out 2023-07-29 18:06:29.000000000 +0000
132s +++ /tmp/autopkgtest.gVJJhB/build.hhR/src/results/paths.out 2025-02-19 08:12:02.699546374 +0000
132s @@ -4,6 +4,7 @@
132s create function pg_temp.tmp1(n text) returns text
132s language plluau immutable strict
132s as $$ return (require "pllua.paths")[n]() $$;
132s +ERROR: language "plluau" does not exist
132s -- some of the dirs might not actually exist, so we test only the
132s -- important ones. We can't actually test that the dir exists or what
132s -- the contents are, since many pg versions reject pg_stat_file on
132s @@ -14,13 +15,5 @@
132s with ordinality as u(n,ord),
132s pg_temp.tmp1(u.n) f(path)
132s order by u.ord;
132s - n | ?column?
132s ---------+----------
132s - bin | t
132s - lib | t
132s - libdir | t
132s - pkglib | t
132s - share | t
132s -(5 rows)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 149
132s --end
132s diff -U3 /tmp/autopkgtest.gVJJhB/build.hhR/src/expected/rowdatum.out /tmp/autopkgtest.gVJJhB/build.hhR/src/results/rowdatum.out
132s --- /tmp/autopkgtest.gVJJhB/build.hhR/src/expected/rowdatum.out 2023-07-29 18:06:29.000000000 +0000
132s +++ /tmp/autopkgtest.gVJJhB/build.hhR/src/results/rowdatum.out 2025-02-19 08:12:03.079546374 +0000
132s @@ -20,11 +20,7 @@
132s r.jim = 4 -- modify pre-exploded value
132s print(pgtype.ntype1(r), r.fred, r.jim)
132s $$;
132s -INFO: 1 2
132s -INFO: 3 2
132s -INFO: (3,4) 3 4
132s -INFO: 3 2
132s -INFO: (3,4) 3 4
132s +ERROR: language "pllua" does not exist
132s do language pllua $$
132s local r0 = pgtype.ntype4("zzz",
132s { fred = 1, jim = 2 },
132s @@ -92,29 +88,7 @@
132s r.col1 = { fred = 100, jim = 200 }
132s print(r) print(pgtype.ntype4(r))
132s $$;
132s -INFO: 7
132s -INFO: abcde
132s -INFO: 1
132s -INFO: 4
132s -INFO: 6
132s -INFO: (1,2) ("{a,b,c}","(3,4)") (abcde,"(5,6)","(""{x,y,z}"",""(7,8)"")")
132s -INFO: 2 c abcde
132s -INFO: 4 6 z
132s -INFO: 8
132s -INFO: (zzz,"(1,2)","(""{a,b,c}"",""(3,4)"")","(abcde,""(5,6)"",""(""""{x,y,z}"""",""""(7,8)"""")"")")
132s -INFO: (zzz,"(1,2)","(""{a,b,c}"",""(3,4)"")","(abcde,""(5,6)"",""(""""{x,y,z}"""",""""(7,8)"""")"")")
132s -INFO: (zzz,"(1,2)","(""{a,k,c}"",""(3,4)"")","(abcde,""(5,6)"",""(""""{x,y,z}"""",""""(7,10)"""")"")")
132s -INFO: (zzz,"(1,2)","(""{a,k,c}"",""(3,4)"")","(abcde,""(5,6)"",""(""""{x,y,z}"""",""""(7,10)"""")"")")
132s -INFO: (zzz,"(-1,2)","(""{a,b,c}"",""(3,4)"")","(edcba,""(5,6)"",""(""""{x,y,z}"""",""""(0,80)"""")"")")
132s -INFO: (zzz,"(-1,2)","(""{a,b,c}"",""(3,4)"")","(edcba,""(5,6)"",""(""""{x,y,z}"""",""""(0,80)"""")"")")
132s -INFO: (yyy,"(1,20)","(""{a,b,c}"",""(3,4)"")","(abcde,""(5,6)"",""(""""{@,y,z}"""",""""(7,8)"""")"")")
132s -INFO: (yyy,"(1,20)","(""{a,b,c}"",""(3,4)"")","(abcde,""(5,6)"",""(""""{@,y,z}"""",""""(7,8)"""")"")")
132s -INFO: zzz 3
132s -INFO: (zzz,"(1,0)","(""{a,b,c}"",""(3,40)"")","(abcde,""(5,0)"",""(""""{x,y,z}"""",""""(7,8)"""")"")")
132s -INFO: (zzz,"(1,0)","(""{a,b,c}"",""(3,40)"")","(abcde,""(5,0)"",""(""""{x,y,z}"""",""""(7,8)"""")"")")
132s -INFO: zzz 3
132s -INFO: (yyy,"(100,200)","(""{a,b,c}"",""(0,4)"")","(abcde,""(-1,0)"",""(""""{x,y,z}"""",""""(7,8)"""")"")")
132s -INFO: (yyy,"(100,200)","(""{a,b,c}"",""(0,4)"")","(abcde,""(-1,0)"",""(""""{x,y,z}"""",""""(7,8)"""")"")")
132s +ERROR: language "pllua" does not exist
132s -- various dropped-column scenarios
132s create table ntab1 (fred integer, sheila text, jim numeric);
132s create table ntab2 (thingy text[], wotsit ntab1);
132s @@ -138,11 +112,7 @@
132s r.jim = 4 -- modify pre-exploded value
132s print(pgtype.ntab1(r), r.fred, r.jim)
132s $$;
132s -INFO: 1 2
132s -INFO: 3 2
132s -INFO: (3,4) 3 4
132s -INFO: 3 2
132s -INFO: (3,4) 3 4
132s +ERROR: language "pllua" does not exist
132s do language pllua $$
132s local tbl = spi.execute([[ select t from ntab4 t, generate_series(1,8) ]])
132s local r = tbl[1].t
132s @@ -201,27 +171,5 @@
132s r.col1 = { fred = 100, jim = 200 }
132s print(r) print(pgtype.ntab4(r))
132s $$;
132s -INFO: 1
132s -INFO: wot
132s -INFO: 1
132s -INFO: 1.23
132s -INFO: 1.23
132s -INFO: (1,1.23) ("{x,y}","(1,1.23)") (wot,"(1,1.23)","(""{x,y}"",""(1,1.23)"")")
132s -INFO: 1.23 nil wot
132s -INFO: 1.23 1.23 nil
132s -INFO: 1.23
132s -INFO: (rabbit,"(1,1.23)","(""{x,y}"",""(1,1.23)"")","(wot,""(1,1.23)"",""(""""{x,y}"""",""""(1,1.23)"""")"")")
132s -INFO: (rabbit,"(1,1.23)","(""{x,y}"",""(1,1.23)"")","(wot,""(1,1.23)"",""(""""{x,y}"""",""""(1,1.23)"""")"")")
132s -INFO: (rabbit,"(1,1.23)","(""{x,k}"",""(1,1.23)"")","(wot,""(1,1.23)"",""(""""{x,y}"""",""""(1,10)"""")"")")
132s -INFO: (rabbit,"(1,1.23)","(""{x,k}"",""(1,1.23)"")","(wot,""(1,1.23)"",""(""""{x,y}"""",""""(1,10)"""")"")")
132s -INFO: (rabbit,"(-1,1.23)","(""{x,y}"",""(1,1.23)"")","(edcba,""(1,1.23)"",""(""""{x,y}"""",""""(0,80)"""")"")")
132s -INFO: (rabbit,"(-1,1.23)","(""{x,y}"",""(1,1.23)"")","(edcba,""(1,1.23)"",""(""""{x,y}"""",""""(0,80)"""")"")")
132s -INFO: (yyy,"(1,20)","(""{x,y}"",""(1,1.23)"")","(wot,""(1,1.23)"",""(""""{@,y}"""",""""(1,1.23)"""")"")")
132s -INFO: (yyy,"(1,20)","(""{x,y}"",""(1,1.23)"")","(wot,""(1,1.23)"",""(""""{@,y}"""",""""(1,1.23)"""")"")")
132s -INFO: rabbit 1
132s -INFO: (rabbit,"(1,0)","(""{x,y}"",""(1,40)"")","(wot,""(1,0)"",""(""""{x,y}"""",""""(1,1.23)"""")"")")
132s -INFO: (rabbit,"(1,0)","(""{x,y}"",""(1,40)"")","(wot,""(1,0)"",""(""""{x,y}"""",""""(1,1.23)"""")"")")
132s -INFO: rabbit 1
132s -INFO: (yyy,"(100,200)","(""{x,y}"",""(0,1.23)"")","(wot,""(-1,0)"",""(""""{x,y}"""",""""(1,1.23)"""")"")")
132s -INFO: (yyy,"(100,200)","(""{x,y}"",""(0,1.23)"")","(wot,""(-1,0)"",""(""""{x,y}"""",""""(1,1.23)"""")"")")
132s +ERROR: language "pllua" does not exist
132s --end
132s diff -U3 /tmp/autopkgtest.gVJJhB/build.hhR/src/expected/spi.out /tmp/autopkgtest.gVJJhB/build.hhR/src/results/spi.out
132s --- /tmp/autopkgtest.gVJJhB/build.hhR/src/expected/spi.out 2023-07-29 18:06:29.000000000 +0000
132s +++ /tmp/autopkgtest.gVJJhB/build.hhR/src/results/spi.out 2025-02-19 08:12:03.103546374 +0000
132s @@ -27,15 +27,7 @@
132s tbl = spi.execute([[ select * from tsttab order by id ]])
132s for i = 1,#tbl do print(tbl[i]) end
132s $$;
132s -INFO: 1 (1,foo) userdata
132s -INFO: 1 foo
132s -INFO: 10000 (1,foo) (10000,foo)
132s -INFO: (1,1,foo,2.34,01-01-2017)
132s -INFO: (2,2,bar,2.34,02-01-2017)
132s -INFO: (3,3,baz,2.34,03-01-2017)
132s -INFO: (4,4,fred,2.34,04-01-2017)
132s -INFO: (5,5,jim,2.34,05-01-2017)
132s -INFO: (6,6,sheila,2.34,06-01-2017)
132s +ERROR: language "pllua" does not exist
132s -- statements
132s do language pllua $$
132s local stmt,tbl
132s @@ -54,10 +46,7 @@
132s tbl = stmt:execute(1)
132s print(#tbl,tbl[1])
132s $$;
132s -INFO: (1,1,foo,2.34,01-01-2017)
132s -INFO: (6,6,sheila,2.34,06-01-2017)
132s -INFO: 2 (1,1,foo,2.34,01-01-2017) (3,3,baz,2.34,03-01-2017)
132s -INFO: 1 (2,integer)
132s +ERROR: language "pllua" does not exist
132s -- iterators
132s do language pllua $$
132s for r in spi.rows([[ select * from tsttab order by id ]]) do
132s @@ -69,14 +58,7 @@
132s print(r)
132s end
132s $$;
132s -INFO: (1,1,foo,2.34,01-01-2017)
132s -INFO: (2,2,bar,2.34,02-01-2017)
132s -INFO: (3,3,baz,2.34,03-01-2017)
132s -INFO: (4,4,fred,2.34,04-01-2017)
132s -INFO: (5,5,jim,2.34,05-01-2017)
132s -INFO: (6,6,sheila,2.34,06-01-2017)
132s -INFO: (1,1,foo,2.34,01-01-2017)
132s -INFO: (3,3,baz,2.34,03-01-2017)
132s +ERROR: language "pllua" does not exist
132s do language pllua $$
132s local c = spi.newcursor('curs1')
132s local stmt = spi.prepare([[ select * from tsttab order by id for update ]])
132s @@ -93,18 +75,7 @@
132s spi.execute([[ update tsttab set c = c - 10 where id=3 ]])
132s c:close()
132s $$;
132s -INFO: (1,1,foo,2.34,01-01-2017)
132s -INFO: (2,2,bar,2.34,02-01-2017)
132s -INFO: (3,3,baz,2.34,03-01-2017)
132s -INFO: (4,4,fred,2.34,04-01-2017)
132s -INFO: (5,5,jim,2.34,05-01-2017)
132s -INFO: (6,6,sheila,2.34,06-01-2017)
132s -INFO: (1,1,foo,2.34,01-01-2017)
132s -INFO: (2,2,bar,2.34,02-01-2017)
132s -INFO: (3,3,baz,12.34,03-01-2017)
132s -INFO: (4,4,fred,2.34,04-01-2017)
132s -INFO: (5,5,jim,2.34,05-01-2017)
132s -INFO: (6,6,sheila,2.34,06-01-2017)
132s +ERROR: language "pllua" does not exist
132s -- cursors
132s begin;
132s declare foo scroll cursor for select * from tsttab order by id;
132s @@ -127,14 +98,7 @@
132s spi.execute("close foo")
132s print(c:isopen())
132s $$;
132s -INFO: 1 (1,1,foo,2.34,01-01-2017)
132s -INFO: 2 (2,2,bar,2.34,02-01-2017) (3,3,baz,2.34,03-01-2017)
132s -INFO: 1 (1,1,foo,2.34,01-01-2017)
132s -INFO: 1 (5,5,jim,2.34,05-01-2017)
132s -INFO: 1 (4,4,fred,2.34,04-01-2017)
132s -INFO: 1 (3,3,baz,2.34,03-01-2017)
132s -INFO: true
132s -INFO: false
132s +ERROR: language "pllua" does not exist
132s commit;
132s do language pllua $$
132s local c = spi.newcursor("bar")
132s @@ -157,10 +121,7 @@
132s end
132s c:close()
132s $$;
132s -INFO: 1 (3,3,baz,2.34,03-01-2017)
132s -INFO: bar select * from tsttab where id >= $1 order by id
132s -INFO: 2 (2,2,bar,2.34,02-01-2017) (1,1,foo,2.34,01-01-2017)
132s -INFO: bar select * from tsttab where id < $1 order by id desc
132s +ERROR: language "pllua" does not exist
132s -- cursor options on statement
132s do language pllua $$
132s local stmt = spi.prepare([[ select * from tsttab where id >= $1 order by id ]],
132s @@ -186,11 +147,7 @@
132s end
132s c:close()
132s $$;
132s -INFO: 3 (4,4,fred,2.34,04-01-2017) (5,5,jim,2.34,05-01-2017)
132s -INFO: 3 (4,4,fred,2.34,04-01-2017) (5,5,jim,2.34,05-01-2017)
132s -INFO: select * from tsttab where id >= $1 order by id true
132s -INFO: true
132s -INFO: select * from tsttab where id >= $1 order by id false
132s +ERROR: language "pllua" does not exist
132s -- check missing params are OK
132s do language pllua $$
132s local stmt = spi.prepare([[ select * from generate_series($1::integer, $3) i ]]);
132s @@ -198,9 +155,7 @@
132s print(type(stmt:argtype(2)))
132s print(stmt:argtype(3):name())
132s $$;
132s -INFO: integer
132s -INFO: nil
132s -INFO: integer
132s +ERROR: language "pllua" does not exist
132s -- check execute_count
132s do language pllua $$
132s local q = [[ select * from generate_series($1::integer,$2) i ]]
132s @@ -210,8 +165,7 @@
132s r1 = s:execute_count(3,1,5)
132s print(#r1)
132s $$;
132s -INFO: 2
132s -INFO: 3
132s +ERROR: language "pllua" does not exist
132s -- cursors as parameters and return values
132s create function do_fetch(c refcursor) returns void language pllua as $$
132s while true do
132s @@ -220,44 +174,24 @@
132s print(r)
132s end
132s $$;
132s +ERROR: language "pllua" does not exist
132s create function do_exec(q text, n text) returns refcursor language pllua as $$
132s local s = spi.prepare(q)
132s local c = spi.newcursor(n)
132s return c:open(s):disown()
132s $$;
132s +ERROR: language "pllua" does not exist
132s begin;
132s declare mycur cursor for select * from tsttab order by id;
132s select do_fetch('mycur');
132s -INFO: (1,1,foo,2.34,01-01-2017)
132s -INFO: (2,2,bar,2.34,02-01-2017)
132s -INFO: (3,3,baz,2.34,03-01-2017)
132s -INFO: (4,4,fred,2.34,04-01-2017)
132s -INFO: (5,5,jim,2.34,05-01-2017)
132s -INFO: (6,6,sheila,2.34,06-01-2017)
132s - do_fetch
132s -----------
132s -
132s -(1 row)
132s -
132s +ERROR: function do_fetch(unknown) does not exist at character 8
132s commit;
132s begin;
132s select do_exec('select * from tsttab order by id desc', 'mycur2');
132s - do_exec
132s ----------
132s - mycur2
132s -(1 row)
132s -
132s +ERROR: function do_exec(unknown, unknown) does not exist at character 8
132s do language pllua $$ collectgarbage() $$; -- check cursor stays open
132s +ERROR: current transaction is aborted, commands ignored until end of transaction block
132s fetch all from mycur2;
132s - id | a | b | c | d
132s -----+---+--------+------+------------
132s - 6 | 6 | sheila | 2.34 | 06-01-2017
132s - 5 | 5 | jim | 2.34 | 05-01-2017
132s - 4 | 4 | fred | 2.34 | 04-01-2017
132s - 3 | 3 | baz | 2.34 | 03-01-2017
132s - 2 | 2 | bar | 2.34 | 02-01-2017
132s - 1 | 1 | foo | 2.34 | 01-01-2017
132s -(6 rows)
132s -
132s +ERROR: current transaction is aborted, commands ignored until end of transaction block
132s commit;
132s --end
132s diff -U3 /tmp/autopkgtest.gVJJhB/build.hhR/src/expected/subxact.out /tmp/autopkgtest.gVJJhB/build.hhR/src/results/subxact.out
132s --- /tmp/autopkgtest.gVJJhB/build.hhR/src/expected/subxact.out 2023-07-29 18:06:29.000000000 +0000
132s +++ /tmp/autopkgtest.gVJJhB/build.hhR/src/results/subxact.out 2025-02-19 08:12:03.126546374 +0000
132s @@ -8,11 +8,12 @@
132s pcall(function() stmt:execute(2) end)
132s stmt:execute(3);
132s $$;
132s +ERROR: language "pllua" does not exist
132s -- should now be two different xids in xatst, and 3 rows
132s select count(*), count(distinct age(xmin)) from xatst;
132s count | count
132s -------+-------
132s - 3 | 2
132s + 0 | 0
132s (1 row)
132s
132s truncate table xatst;
132s @@ -22,12 +23,12 @@
132s print(pcall(function() stmt:execute(2) error("foo") end))
132s stmt:execute(3);
132s $$;
132s -INFO: false [string "DO-block"]:4: foo
132s +ERROR: language "pllua" does not exist
132s -- should now be one xid in xatst, and 2 rows
132s select count(*), count(distinct age(xmin)) from xatst;
132s count | count
132s -------+-------
132s - 2 | 1
132s + 0 | 0
132s (1 row)
132s
132s truncate table xatst;
132s @@ -37,39 +38,32 @@
132s print(pcall(function() stmt:execute(2) spi.error("foo") end))
132s stmt:execute(3);
132s $$;
132s -INFO: false ERROR: XX000 foo
132s +ERROR: language "pllua" does not exist
132s -- should now be one xid in xatst, and 2 rows
132s select count(*), count(distinct age(xmin)) from xatst;
132s count | count
132s -------+-------
132s - 2 | 1
132s + 0 | 0
132s (1 row)
132s
132s do language pllua $$
132s local function f() for r in spi.rows([[ select * from xatst order by a ]]) do print(r) end end
132s print(pcall(f))
132s $$;
132s -INFO: (1)
132s -INFO: (3)
132s -INFO: true
132s +ERROR: language "pllua" does not exist
132s do language pllua $$
132s local function f() for r in spi.rows([[ select * from xatst order by a ]]) do print(r) end end
132s local function f2() error("foo") end
132s print(pcall(f2))
132s f()
132s $$;
132s -INFO: false [string "DO-block"]:3: foo
132s -INFO: (1)
132s -INFO: (3)
132s +ERROR: language "pllua" does not exist
132s do language pllua $$
132s local function f(e) print("error",e) for r in spi.rows([[ select * from xatst order by a ]]) do print(r) end end
132s local function f2() error("foo") end
132s print(xpcall(f2,f))
132s $$;
132s -INFO: error [string "DO-block"]:3: foo
132s -INFO: (1)
132s -INFO: (3)
132s -INFO: false nil
132s +ERROR: language "pllua" does not exist
132s truncate table xatst;
132s do language pllua $$
132s local stmt = spi.prepare([[ insert into xatst values ($1) ]]);
132s @@ -78,13 +72,12 @@
132s stmt:execute(1)
132s print(xpcall(f2,f))
132s $$;
132s -INFO: error [string "DO-block"]:4: foo
132s -INFO: false nil
132s +ERROR: language "pllua" does not exist
132s -- should now be one xid in xatst, and 2 rows
132s select count(*), count(distinct age(xmin)) from xatst;
132s count | count
132s -------+-------
132s - 2 | 1
132s + 0 | 0
132s (1 row)
132s
132s do language pllua $$
132s @@ -92,7 +85,7 @@
132s local function f2() error("foo") end
132s print(xpcall(f2,f))
132s $$;
132s -INFO: false error in error handling
132s +ERROR: language "pllua" does not exist
132s -- tricky error-in-error cases:
132s --
132s -- pg error inside xpcall handler func needs to abort out to the
132s @@ -113,7 +106,7 @@
132s print("should not be reached")
132s end)
132s $$;
132s -INFO: entering xpcall
132s +ERROR: language "pllua" does not exist
132s commit;
132s do language pllua $$
132s local level = 0
132s @@ -126,32 +119,28 @@
132s print("should not be reached")
132s end))
132s $$;
132s -INFO: entering xpcall
132s -INFO: in error handler 1 [string "DO-block"]:4: foo
132s -INFO: outer pcall false ERROR: XX000 nested
132s +ERROR: language "pllua" does not exist
132s do language pllua $$
132s print(lpcall(function() error("caught") end))
132s $$;
132s -INFO: false [string "DO-block"]:2: caught
132s +ERROR: language "pllua" does not exist
132s do language pllua $$
132s print(lpcall(function() spi.error("not caught") end))
132s $$;
132s -ERROR: not caught
132s +ERROR: language "pllua" does not exist
132s -- make sure PG errors in coroutines are propagated (but not lua errors)
132s do language pllua $$
132s local c = coroutine.create(function() coroutine.yield() error("caught") end)
132s print(coroutine.resume(c))
132s print(coroutine.resume(c))
132s $$;
132s -INFO: true
132s -INFO: false [string "DO-block"]:2: caught
132s +ERROR: language "pllua" does not exist
132s do language pllua $$
132s local c = coroutine.create(function() coroutine.yield() spi.error("not caught") end)
132s print(coroutine.resume(c))
132s print(coroutine.resume(c))
132s $$;
132s -INFO: true
132s -ERROR: not caught
132s +ERROR: language "pllua" does not exist
132s -- error object funcs
132s do language pllua $$
132s local err = require 'pllua.error'
132s @@ -161,7 +150,5 @@
132s local r,e = pcall(function() error("foo") end)
132s print(err.type(e), err.category(e), err.errcode(e), e)
132s $$;
132s -INFO: error data_exception numeric_value_out_of_range
132s -INFO: error data_exception numeric_value_out_of_range 22003 foo bar baz
132s -INFO: nil nil nil [string "DO-block"]:6: foo
132s +ERROR: language "pllua" does not exist
132s --end
132s diff -U3 /tmp/autopkgtest.gVJJhB/build.hhR/src/expected/types.out /tmp/autopkgtest.gVJJhB/build.hhR/src/results/types.out
132s --- /tmp/autopkgtest.gVJJhB/build.hhR/src/expected/types.out 2023-07-29 18:06:29.000000000 +0000
132s +++ /tmp/autopkgtest.gVJJhB/build.hhR/src/results/types.out 2025-02-19 08:12:03.163546374 +0000
132s @@ -39,79 +39,64 @@
132s })
132s end
132s $f$;
132s +ERROR: language "pllua" does not exist
132s select * from tf1();
132s - intcol | textcol | charcol | varcharcol | compcol | dcompcol
132s ---------+---------+----------------------------------+------------+-----------------------------+----------
132s - 1 | row 1 | padded with blanks | not padded | (x,"(y,1111)","(111,11.1)") | (11,1.1)
132s - 2 | row 2 | padded with blanks | not padded | (x,"(y,2222)","(222,22.2)") | (22,2.2)
132s - 3 | row 3 | padded with blanks | not padded | (x,"(y,3333)","(333,33.3)") | (33,3.3)
132s - 4 | row 4 | padded with blanks | not padded | (x,"(y,4444)","(444,44.4)") | (44,4.4)
132s -(4 rows)
132s -
132s +ERROR: function tf1() does not exist at character 15
132s --
132s -- various checks of type handling
132s --
132s do language pllua $$ print(pgtype(nil,'ctype3')(1,2)) $$;
132s -INFO: (1,2)
132s +ERROR: language "pllua" does not exist
132s do language pllua $$ print(pgtype(nil,'ctype3')({1,2})) $$;
132s -INFO: (,)
132s +ERROR: language "pllua" does not exist
132s do language pllua $$ print(pgtype(nil,'ctype3')(true,true)) $$;
132s -ERROR: pllua: incompatible value type
132s +ERROR: language "pllua" does not exist
132s do language pllua $$ print(pgtype(nil,'ctype3')("1","2")) $$;
132s -INFO: (1,2)
132s +ERROR: language "pllua" does not exist
132s do language pllua $$ print(pgtype(nil,'ctype3')({fred=1,jim=2})) $$;
132s -INFO: (1,2)
132s +ERROR: language "pllua" does not exist
132s do language pllua $$ print(pgtype(nil,'ctype3')({fred=1,jim={}})) $$;
132s -ERROR: pllua: incompatible value type
132s +ERROR: language "pllua" does not exist
132s do language pllua $$ print(pgtype(nil,'ctype3')({fred=1,jim=nil})) $$;
132s -INFO: (1,)
132s +ERROR: language "pllua" does not exist
132s --do language pllua $$ print(pgtype(nil,'dtype')({fred=1,jim=nil})) $$;
132s create function tf2() returns setof tdata language pllua as $f$
132s local t = spi.execute("select * from tdata")
132s for i,v in ipairs(t) do coroutine.yield(v) end
132s $f$;
132s +ERROR: language "pllua" does not exist
132s select * from tf2();
132s - intcol | textcol | charcol | varcharcol | compcol | dcompcol
132s ---------+---------+----------------------------------+------------+-----------------------------+----------
132s - 1 | row 1 | padded with blanks | not padded | (x,"(y,1111)","(111,11.1)") | (11,1.1)
132s - 2 | row 2 | padded with blanks | not padded | (x,"(y,2222)","(222,22.2)") | (22,2.2)
132s - 3 | row 3 | padded with blanks | not padded | (x,"(y,3333)","(333,33.3)") | (33,3.3)
132s -(3 rows)
132s -
132s +ERROR: function tf2() does not exist at character 15
132s do language pllua $$ print(pgtype.ctype3()) $$;
132s -INFO: (,)
132s +ERROR: language "pllua" does not exist
132s -- ensure detoasting of nested composites works right
132s do language pllua $f$
132s for r in spi.rows("select * from tdata") do
132s print(r.intcol, r.compcol.foo, r.compcol.bar.wotsit, r.dcompcol.jim)
132s end
132s $f$;
132s -INFO: 1 x 1111 1.1
132s -INFO: 2 x 2222 2.2
132s -INFO: 3 x 3333 3.3
132s +ERROR: language "pllua" does not exist
132s do language pllua $$
132s a = pgtype.array.integer({{{1,2}},{{3,4}},{{5,6}}},3,1,2)
132s print(a)
132s print(#a,#(a[1]),#(a[1][1]))
132s print(a[3][1][2],a[1][1][1])
132s $$;
132s -INFO: {{{1,2}},{{3,4}},{{5,6}}}
132s -INFO: 3 1 2
132s -INFO: 6 1
132s +ERROR: language "pllua" does not exist
132s do language pllua $$ print(pgtype.int4range(123,456)) $$;
132s -INFO: [123,456)
132s +ERROR: language "pllua" does not exist
132s do language pllua $$ print(pgtype.int4range()) $$;
132s -INFO: empty
132s +ERROR: language "pllua" does not exist
132s do language pllua $$ print(pgtype.int4range(123,456,'(]')) $$;
132s -INFO: [124,457)
132s +ERROR: language "pllua" does not exist
132s do language pllua $$ print(pgtype.int4range(nil,456,'(]')) $$;
132s -INFO: (,457)
132s +ERROR: language "pllua" does not exist
132s do language pllua $$ print(pgtype.int4range(nil,nil)) $$;
132s -INFO: (,)
132s +ERROR: language "pllua" does not exist
132s do language pllua $$ print(pgtype.int4range(123,nil)) $$;
132s -INFO: [123,)
132s +ERROR: language "pllua" does not exist
132s do language pllua $$ print(pgtype.int4range('[12,56]')) $$;
132s -INFO: [12,57)
132s +ERROR: language "pllua" does not exist
132s do language pllua $$
132s local r1,r2,r3 = pgtype.numrange('[12,56]'),
132s pgtype.numrange('empty'),
132s @@ -120,29 +105,16 @@
132s print(r2.lower,r2.upper,r2.lower_inc,r2.upper_inc,r2.lower_inf,r2.upper_inf,r2.isempty)
132s print(r3.lower,r3.upper,r3.lower_inc,r3.upper_inc,r3.lower_inf,r3.upper_inf,r3.isempty)
132s $$;
132s -INFO: 12 56 true true false false false
132s -INFO: nil nil false false false false true
132s -INFO: 12 nil false false false true false
132s +ERROR: language "pllua" does not exist
132s create type myenum as enum ('TRUE', 'FALSE', 'FILE_NOT_FOUND');
132s create function pg_temp.f1(a myenum) returns text language pllua as $$ print(a,type(a)) return a $$;
132s +ERROR: language "pllua" does not exist
132s select pg_temp.f1(x) from unnest(enum_range(null::myenum)) x;
132s -INFO: TRUE string
132s -INFO: FALSE string
132s -INFO: FILE_NOT_FOUND string
132s - f1
132s -----------------
132s - TRUE
132s - FALSE
132s - FILE_NOT_FOUND
132s -(3 rows)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 8
132s create function pg_temp.f2() returns myenum language pllua as $$ return 'FILE_NOT_FOUND' $$;
132s +ERROR: language "pllua" does not exist
132s select pg_temp.f2();
132s - f2
132s -----------------
132s - FILE_NOT_FOUND
132s -(1 row)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 8
132s -- domains
132s create domain mydom1 as varchar(3);
132s create domain mydom2 as varchar(3) check (value in ('foo','bar','baz'));
132s @@ -151,85 +123,55 @@
132s create function pg_temp.f3(a mydom1) returns void language pllua as $$
132s print(pgtype(nil,1):name(), type(a), #a)
132s $$;
132s +ERROR: language "pllua" does not exist
132s select pg_temp.f3('foo') union all select pg_temp.f3('bar ');
132s -INFO: mydom1 string 3
132s -INFO: mydom1 string 3
132s - f3
132s -----
132s -
132s -
132s -(2 rows)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 8
132s create function pg_temp.f4d1(a text) returns mydom1 language pllua as $$
132s return a
132s $$;
132s +ERROR: language "pllua" does not exist
132s select pg_temp.f4d1('foo');
132s - f4d1
132s -------
132s - foo
132s -(1 row)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 8
132s select pg_temp.f4d1('bar ');
132s - f4d1
132s -------
132s - bar
132s -(1 row)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 8
132s select pg_temp.f4d1('toolong');
132s -ERROR: value too long for type character varying(3)
132s +ERROR: schema "pg_temp" does not exist at character 8
132s select pg_temp.f4d1(null);
132s - f4d1
132s -------
132s -
132s -(1 row)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 8
132s create function pg_temp.f4d2(a text) returns mydom2 language pllua as $$
132s return a
132s $$;
132s +ERROR: language "pllua" does not exist
132s select pg_temp.f4d2('bar ');
132s - f4d2
132s -------
132s - bar
132s -(1 row)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 8
132s select pg_temp.f4d2('bad');
132s -ERROR: value for domain mydom2 violates check constraint "mydom2_check"
132s +ERROR: schema "pg_temp" does not exist at character 8
132s select pg_temp.f4d2('toolong');
132s -ERROR: value too long for type character varying(3)
132s +ERROR: schema "pg_temp" does not exist at character 8
132s select pg_temp.f4d2(null);
132s - f4d2
132s -------
132s -
132s -(1 row)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 8
132s create function pg_temp.f4d3(a text) returns mydom3 language pllua as $$
132s return a
132s $$;
132s +ERROR: language "pllua" does not exist
132s select pg_temp.f4d3('bar ');
132s - f4d3
132s -------
132s - bar
132s -(1 row)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 8
132s select pg_temp.f4d3('toolong');
132s -ERROR: value too long for type character varying(3)
132s +ERROR: schema "pg_temp" does not exist at character 8
132s select pg_temp.f4d3(null);
132s -ERROR: domain mydom3 does not allow null values
132s +ERROR: schema "pg_temp" does not exist at character 8
132s create function pg_temp.f4d4(a text) returns mydom4 language pllua as $$
132s return a
132s $$;
132s +ERROR: language "pllua" does not exist
132s select pg_temp.f4d4('bar ');
132s - f4d4
132s -------
132s - bar
132s -(1 row)
132s -
132s +ERROR: schema "pg_temp" does not exist at character 8
132s select pg_temp.f4d4('bad');
132s -ERROR: value for domain mydom4 violates check constraint "mydom4_check"
132s +ERROR: schema "pg_temp" does not exist at character 8
132s select pg_temp.f4d4('toolong');
132s -ERROR: value too long for type character varying(3)
132s +ERROR: schema "pg_temp" does not exist at character 8
132s select pg_temp.f4d4(null);
132s -ERROR: domain mydom4 does not allow null values
132s +ERROR: schema "pg_temp" does not exist at character 8
132s -- array coercions
132s -- relabeltype path
132s do language pllua $$
132s @@ -237,47 +179,46 @@
132s local b = pgtype.array.text(a)
132s print(b)
132s $$;
132s -INFO: {foo,bar}
132s +ERROR: language "pllua" does not exist
132s -- cast function path
132s do language pllua $$
132s local a = pgtype.array.boolean(false,true)
132s local b = pgtype.array.text(a)
132s print(b)
132s $$;
132s -INFO: {false,true}
132s +ERROR: language "pllua" does not exist
132s -- IO path
132s do language pllua $$
132s local a = pgtype.array.integer(10,20)
132s local b = pgtype.array.text(a)
132s print(b)
132s $$;
132s -INFO: {10,20}
132s +ERROR: language "pllua" does not exist
132s -- array typmod coercions
132s create temp table atc (a varchar(10)[], b char(10)[]);
132s do language pllua $$
132s local a = pgtype.array.varchar('foo','bar','value_too_long_for_type')
132s local b = pgtype.atc(a,nil)
132s $$;
132s -ERROR: value too long for type character varying(10)
132s +ERROR: language "pllua" does not exist
132s do language pllua $$
132s local a = pgtype.array.bpchar('foo','bar','value ')
132s local b = pgtype.atc(nil,a)
132s print(b)
132s $$;
132s -INFO: (,"{""foo "",""bar "",""value ""}")
132s +ERROR: language "pllua" does not exist
132s -- composite type construction edge cases
132s do language pllua $$
132s print(pgtype.ctype3())
132s print(pgtype.ctype3(nil))
132s $$;
132s -INFO: (,)
132s -INFO: (,)
132s +ERROR: language "pllua" does not exist
132s do language pllua $$
132s print(pgtype.ctype3(1)) -- error
132s $$;
132s -ERROR: pllua: incorrect number of arguments for type constructor (expected 2 got 1)
132s +ERROR: language "pllua" does not exist
132s do language pllua $$
132s print(pgtype.ctype3(1,2))
132s $$;
132s -INFO: (1,2)
132s +ERROR: language "pllua" does not exist
132s --end
132s diff -U3 /tmp/autopkgtest.gVJJhB/build.hhR/src/expected/triggers.out /tmp/autopkgtest.gVJJhB/build.hhR/src/results/triggers.out
132s --- /tmp/autopkgtest.gVJJhB/build.hhR/src/expected/triggers.out 2023-07-29 18:06:29.000000000 +0000
132s +++ /tmp/autopkgtest.gVJJhB/build.hhR/src/results/triggers.out 2025-02-19 08:12:03.196546374 +0000
132s @@ -20,17 +20,17 @@
132s print(old,new)
132s end
132s $$;
132s -CREATE FUNCTION
132s +ERROR: language "pllua" does not exist
132s create trigger t1
132s before insert or update or delete on trigtst
132s for each statement
132s execute procedure misctrig('foo','bar');
132s -CREATE TRIGGER
132s +ERROR: function misctrig() does not exist
132s create trigger t2
132s after insert or update or delete on trigtst
132s for each statement
132s execute procedure misctrig('foo','bar');
132s -CREATE TRIGGER
132s +ERROR: function misctrig() does not exist
132s insert into trigtst
132s values (1, 'fred', true, 23, 1.73),
132s (2, 'jim', false, 11, 3.1),
132s @@ -41,68 +41,26 @@
132s (7, 'dylan', false, 35, 12.1),
132s (8, 'florence', false, 23, 5.4),
132s (9, 'zebedee', false, 199, 7.4);
132s -INFO: t1 foo bar
132s -INFO: before statement insert trigtst
132s -INFO: t2 foo bar
132s -INFO: after statement insert trigtst
132s INSERT 0 9
132s update trigtst set qty = qty + 1;
132s -INFO: t1 foo bar
132s -INFO: before statement update trigtst
132s -INFO: t2 foo bar
132s -INFO: after statement update trigtst
132s UPDATE 9
132s delete from trigtst where name = 'sheila';
132s -INFO: t1 foo bar
132s -INFO: before statement delete trigtst
132s -INFO: t2 foo bar
132s -INFO: after statement delete trigtst
132s DELETE 1
132s create trigger t3
132s before insert or update or delete on trigtst
132s for each row
132s execute procedure misctrig('wot');
132s -CREATE TRIGGER
132s +ERROR: function misctrig() does not exist
132s create trigger t4
132s after insert or update or delete on trigtst
132s for each row
132s execute procedure misctrig('wot');
132s -CREATE TRIGGER
132s +ERROR: function misctrig() does not exist
132s insert into trigtst values (3, 'sheila', false, 9, 1.3);
132s -INFO: t1 foo bar
132s -INFO: before statement insert trigtst
132s -INFO: t3 wot
132s -INFO: before row insert trigtst
132s -INFO: nil (3,sheila,f,9,1.3)
132s -INFO: t4 wot
132s -INFO: after row insert trigtst
132s -INFO: nil (3,sheila,f,9,1.3)
132s -INFO: t2 foo bar
132s -INFO: after statement insert trigtst
132s INSERT 0 1
132s update trigtst set flag = true where name = 'dylan';
132s -INFO: t1 foo bar
132s -INFO: before statement update trigtst
132s -INFO: t3 wot
132s -INFO: before row update trigtst
132s -INFO: (7,dylan,f,36,12.1) (7,dylan,t,36,12.1)
132s -INFO: t4 wot
132s -INFO: after row update trigtst
132s -INFO: (7,dylan,f,36,12.1) (7,dylan,t,36,12.1)
132s -INFO: t2 foo bar
132s -INFO: after statement update trigtst
132s UPDATE 1
132s delete from trigtst where name = 'jim';
132s -INFO: t1 foo bar
132s -INFO: before statement delete trigtst
132s -INFO: t3 wot
132s -INFO: before row delete trigtst
132s -INFO: (2,jim,f,12,3.1) nil
132s -INFO: t4 wot
132s -INFO: after row delete trigtst
132s -INFO: (2,jim,f,12,3.1) nil
132s -INFO: t2 foo bar
132s -INFO: after statement delete trigtst
132s DELETE 1
132s -- check result is as expected
132s select * from trigtst order by id;
132s @@ -119,13 +77,13 @@
132s (8 rows)
132s
132s drop trigger t1 on trigtst;
132s -DROP TRIGGER
132s +ERROR: trigger "t1" for table "trigtst" does not exist
132s drop trigger t2 on trigtst;
132s -DROP TRIGGER
132s +ERROR: trigger "t2" for table "trigtst" does not exist
132s drop trigger t3 on trigtst;
132s -DROP TRIGGER
132s +ERROR: trigger "t3" for table "trigtst" does not exist
132s drop trigger t4 on trigtst;
132s -DROP TRIGGER
132s +ERROR: trigger "t4" for table "trigtst" does not exist
132s -- compatible mode: assign to row fields
132s create function modtrig1() returns trigger language pllua
132s as $$
132s @@ -134,39 +92,33 @@
132s trigger.row.flag = false
132s print(trigger.name,trigger.operation,old,new)
132s $$;
132s -CREATE FUNCTION
132s +ERROR: language "pllua" does not exist
132s create trigger t1
132s before insert or update or delete on trigtst
132s for each row
132s execute procedure modtrig1();
132s -CREATE TRIGGER
132s +ERROR: function modtrig1() does not exist
132s insert into trigtst values (2, 'jim', true, 11, 3.1);
132s -INFO: t1 insert nil (2,jim,t,11,3.1)
132s -INFO: t1 insert nil (2,jim,f,11,110)
132s INSERT 0 1
132s update trigtst set flag = true where name = 'ermintrude';
132s -INFO: t1 update (6,ermintrude,t,92,52.7) (6,ermintrude,t,92,52.7)
132s -INFO: t1 update (6,ermintrude,t,92,52.7) (6,ermintrude,f,92,920)
132s UPDATE 1
132s delete from trigtst where name = 'fred';
132s -INFO: t1 delete (1,fred,t,24,1.73) nil
132s -INFO: t1 delete (1,fred,f,24,240) nil
132s DELETE 1
132s select * from trigtst order by id;
132s id | name | flag | qty | weight
132s ----+------------+------+-----+--------
132s - 2 | jim | f | 11 | 110
132s + 2 | jim | t | 11 | 3.1
132s 3 | sheila | f | 9 | 1.3
132s 4 | dougal | f | 2 | 9.3
132s 5 | brian | f | 32 | 51.5
132s - 6 | ermintrude | f | 92 | 920
132s + 6 | ermintrude | t | 92 | 52.7
132s 7 | dylan | t | 36 | 12.1
132s 8 | florence | f | 24 | 5.4
132s 9 | zebedee | f | 200 | 7.4
132s (8 rows)
132s
132s drop trigger t1 on trigtst;
132s -DROP TRIGGER
132s +ERROR: trigger "t1" for table "trigtst" does not exist
132s -- compatible mode: assign to row wholesale
132s create function modtrig2() returns trigger language pllua
132s as $$
132s @@ -177,35 +129,33 @@
132s flag = not flag
132s trigger.row = { id = id, name = name, flag = flag, qty = qty, weight = weight }
132s $$;
132s -CREATE FUNCTION
132s +ERROR: language "pllua" does not exist
132s create trigger t1
132s before insert or update on trigtst
132s for each row
132s execute procedure modtrig2();
132s -CREATE TRIGGER
132s +ERROR: function modtrig2() does not exist
132s insert into trigtst values (1, 'fred', true, 23, 1.73);
132s -INFO: t1 insert nil (1,fred,t,23,1.73)
132s INSERT 0 1
132s update trigtst set flag = true where name = 'zebedee';
132s -INFO: t1 update (9,zebedee,f,200,7.4) (9,zebedee,t,200,7.4)
132s UPDATE 1
132s delete from trigtst where name = 'jim';
132s DELETE 1
132s select * from trigtst order by id;
132s id | name | flag | qty | weight
132s ----+------------+------+-----+--------
132s - 1 | fred | f | 25 | 3.46
132s + 1 | fred | t | 23 | 1.73
132s 3 | sheila | f | 9 | 1.3
132s 4 | dougal | f | 2 | 9.3
132s 5 | brian | f | 32 | 51.5
132s - 6 | ermintrude | f | 92 | 920
132s + 6 | ermintrude | t | 92 | 52.7
132s 7 | dylan | t | 36 | 12.1
132s 8 | florence | f | 24 | 5.4
132s - 9 | zebedee | f | 202 | 14.8
132s + 9 | zebedee | t | 200 | 7.4
132s (8 rows)
132s
132s drop trigger t1 on trigtst;
132s -DROP TRIGGER
132s +ERROR: trigger "t1" for table "trigtst" does not exist
132s -- compatible mode: assign to row wholesale with new datum row
132s create function modtrig3() returns trigger language pllua
132s as $$
132s @@ -216,35 +166,33 @@
132s flag = not flag
132s trigger.row = pgtype(new)(id,name,flag,qty,weight)
132s $$;
132s -CREATE FUNCTION
132s +ERROR: language "pllua" does not exist
132s create trigger t1
132s before insert or update on trigtst
132s for each row
132s execute procedure modtrig3();
132s -CREATE TRIGGER
132s +ERROR: function modtrig3() does not exist
132s insert into trigtst values (2, 'jim', false, 11, 3.1);
132s -INFO: t1 insert nil (2,jim,f,11,3.1)
132s INSERT 0 1
132s update trigtst set flag = true where name = 'zebedee';
132s -INFO: t1 update (9,zebedee,f,202,14.8) (9,zebedee,t,202,14.8)
132s UPDATE 1
132s delete from trigtst where name = 'fred';
132s DELETE 1
132s select * from trigtst order by id;
132s id | name | flag | qty | weight
132s ----+------------+------+-----+--------
132s - 2 | jim | t | 13 | 6.2
132s + 2 | jim | f | 11 | 3.1
132s 3 | sheila | f | 9 | 1.3
132s 4 | dougal | f | 2 | 9.3
132s 5 | brian | f | 32 | 51.5
132s - 6 | ermintrude | f | 92 | 920
132s + 6 | ermintrude | t | 92 | 52.7
132s 7 | dylan | t | 36 | 12.1
132s 8 | florence | f | 24 | 5.4
132s - 9 | zebedee | f | 204 | 29.6
132s + 9 | zebedee | t | 200 | 7.4
132s (8 rows)
132s
132s drop trigger t1 on trigtst;
132s -DROP TRIGGER
132s +ERROR: trigger "t1" for table "trigtst" does not exist
132s -- return value mode
132s create function modtrig4() returns trigger language pllua
132s as $$
132s @@ -255,35 +203,33 @@
132s flag = not flag
132s return { id = id, name = name, flag = flag, qty = qty, weight = weight }
132s $$;
132s -CREATE FUNCTION
132s +ERROR: language "pllua" does not exist
132s create trigger t1
132s before insert or update on trigtst
132s for each row
132s execute procedure modtrig4();
132s -CREATE TRIGGER
132s +ERROR: function modtrig4() does not exist
132s insert into trigtst values (1, 'fred', true, 23, 1.73);
132s -INFO: t1 insert nil (1,fred,t,23,1.73)
132s INSERT 0 1
132s update trigtst set flag = false where name = 'dylan';
132s -INFO: t1 update (7,dylan,t,36,12.1) (7,dylan,f,36,12.1)
132s UPDATE 1
132s delete from trigtst where name = 'jim';
132s DELETE 1
132s select * from trigtst order by id;
132s id | name | flag | qty | weight
132s ----+------------+------+-----+--------
132s - 1 | fred | f | 25 | 3.46
132s + 1 | fred | t | 23 | 1.73
132s 3 | sheila | f | 9 | 1.3
132s 4 | dougal | f | 2 | 9.3
132s 5 | brian | f | 32 | 51.5
132s - 6 | ermintrude | f | 92 | 920
132s - 7 | dylan | t | 38 | 24.2
132s + 6 | ermintrude | t | 92 | 52.7
132s + 7 | dylan | f | 36 | 12.1
132s 8 | florence | f | 24 | 5.4
132s - 9 | zebedee | f | 204 | 29.6
132s + 9 | zebedee | t | 200 | 7.4
132s (8 rows)
132s
132s drop trigger t1 on trigtst;
132s -DROP TRIGGER
132s +ERROR: trigger "t1" for table "trigtst" does not exist
132s -- return value mode
132s create function modtrig5() returns trigger language pllua
132s as $$
132s @@ -294,155 +240,149 @@
132s flag = not flag
132s return pgtype(new)(id,name,flag,qty,weight)
132s $$;
132s -CREATE FUNCTION
132s +ERROR: language "pllua" does not exist
132s create trigger t1
132s before insert or update on trigtst
132s for each row
132s execute procedure modtrig5();
132s -CREATE TRIGGER
132s +ERROR: function modtrig5() does not exist
132s insert into trigtst values (2, 'jim', false, 11, 3.1);
132s -INFO: t1 insert nil (2,jim,f,11,3.1)
132s INSERT 0 1
132s update trigtst set flag = false where name = 'dougal';
132s -INFO: t1 update (4,dougal,f,2,9.3) (4,dougal,f,2,9.3)
132s UPDATE 1
132s delete from trigtst where name = 'fred';
132s DELETE 1
132s select * from trigtst order by id;
132s id | name | flag | qty | weight
132s ----+------------+------+-----+--------
132s - 2 | jim | t | 13 | 6.2
132s + 2 | jim | f | 11 | 3.1
132s 3 | sheila | f | 9 | 1.3
132s - 4 | dougal | t | 4 | 18.6
132s + 4 | dougal | f | 2 | 9.3
132s 5 | brian | f | 32 | 51.5
132s - 6 | ermintrude | f | 92 | 920
132s - 7 | dylan | t | 38 | 24.2
132s + 6 | ermintrude | t | 92 | 52.7
132s + 7 | dylan | f | 36 | 12.1
132s 8 | florence | f | 24 | 5.4
132s - 9 | zebedee | f | 204 | 29.6
132s + 9 | zebedee | t | 200 | 7.4
132s (8 rows)
132s
132s drop trigger t1 on trigtst;
132s -DROP TRIGGER
132s +ERROR: trigger "t1" for table "trigtst" does not exist
132s -- throw error from trigger
132s create function modtrig6() returns trigger language pllua
132s as $$
132s print(trigger.name,trigger.operation,old,new)
132s if new.flag ~= old.flag then error("no changing flags") end
132s $$;
132s -CREATE FUNCTION
132s +ERROR: language "pllua" does not exist
132s create trigger t1
132s before update on trigtst
132s for each row
132s execute procedure modtrig6();
132s -CREATE TRIGGER
132s +ERROR: function modtrig6() does not exist
132s update trigtst set flag = false where name = 'dougal';
132s -INFO: t1 update (4,dougal,t,4,18.6) (4,dougal,f,4,18.6)
132s -ERROR: pllua: [string "modtrig6"]:3: no changing flags
132s +UPDATE 1
132s select * from trigtst order by id;
132s id | name | flag | qty | weight
132s ----+------------+------+-----+--------
132s - 2 | jim | t | 13 | 6.2
132s + 2 | jim | f | 11 | 3.1
132s 3 | sheila | f | 9 | 1.3
132s - 4 | dougal | t | 4 | 18.6
132s + 4 | dougal | f | 2 | 9.3
132s 5 | brian | f | 32 | 51.5
132s - 6 | ermintrude | f | 92 | 920
132s - 7 | dylan | t | 38 | 24.2
132s + 6 | ermintrude | t | 92 | 52.7
132s + 7 | dylan | f | 36 | 12.1
132s 8 | florence | f | 24 | 5.4
132s - 9 | zebedee | f | 204 | 29.6
132s + 9 | zebedee | t | 200 | 7.4
132s (8 rows)
132s
132s drop trigger t1 on trigtst;
132s -DROP TRIGGER
132s +ERROR: trigger "t1" for table "trigtst" does not exist
132s -- throw error from trigger
132s create function modtrig7() returns trigger language pllua
132s as $$
132s print(trigger.name,trigger.operation,old,new)
132s if new.flag ~= old.flag then error("no changing flags") end
132s $$;
132s -CREATE FUNCTION
132s +ERROR: language "pllua" does not exist
132s create trigger t1
132s before update on trigtst
132s for each row
132s execute procedure modtrig7();
132s -CREATE TRIGGER
132s +ERROR: function modtrig7() does not exist
132s update trigtst set flag = true where name = 'florence';
132s -INFO: t1 update (8,florence,f,24,5.4) (8,florence,t,24,5.4)
132s -ERROR: pllua: [string "modtrig7"]:3: no changing flags
132s +UPDATE 1
132s select * from trigtst order by id;
132s id | name | flag | qty | weight
132s ----+------------+------+-----+--------
132s - 2 | jim | t | 13 | 6.2
132s + 2 | jim | f | 11 | 3.1
132s 3 | sheila | f | 9 | 1.3
132s - 4 | dougal | t | 4 | 18.6
132s + 4 | dougal | f | 2 | 9.3
132s 5 | brian | f | 32 | 51.5
132s - 6 | ermintrude | f | 92 | 920
132s - 7 | dylan | t | 38 | 24.2
132s - 8 | florence | f | 24 | 5.4
132s - 9 | zebedee | f | 204 | 29.6
132s + 6 | ermintrude | t | 92 | 52.7
132s + 7 | dylan | f | 36 | 12.1
132s + 8 | florence | t | 24 | 5.4
132s + 9 | zebedee | t | 200 | 7.4
132s (8 rows)
132s
132s drop trigger t1 on trigtst;
132s -DROP TRIGGER
132s +ERROR: trigger "t1" for table "trigtst" does not exist
132s -- suppress action 1
132s create function modtrig8() returns trigger language pllua
132s as $$
132s print(trigger.name,trigger.operation,old,new)
132s if new.flag ~= old.flag then return nil end
132s $$;
132s -CREATE FUNCTION
132s +ERROR: language "pllua" does not exist
132s create trigger t1
132s before update on trigtst
132s for each row
132s execute procedure modtrig8();
132s -CREATE TRIGGER
132s +ERROR: function modtrig8() does not exist
132s update trigtst set flag = true where name = 'florence';
132s -INFO: t1 update (8,florence,f,24,5.4) (8,florence,t,24,5.4)
132s -UPDATE 0
132s +UPDATE 1
132s select * from trigtst order by id;
132s id | name | flag | qty | weight
132s ----+------------+------+-----+--------
132s - 2 | jim | t | 13 | 6.2
132s + 2 | jim | f | 11 | 3.1
132s 3 | sheila | f | 9 | 1.3
132s - 4 | dougal | t | 4 | 18.6
132s + 4 | dougal | f | 2 | 9.3
132s 5 | brian | f | 32 | 51.5
132s - 6 | ermintrude | f | 92 | 920
132s - 7 | dylan | t | 38 | 24.2
132s - 8 | florence | f | 24 | 5.4
132s - 9 | zebedee | f | 204 | 29.6
132s + 6 | ermintrude | t | 92 | 52.7
132s + 7 | dylan | f | 36 | 12.1
132s + 8 | florence | t | 24 | 5.4
132s + 9 | zebedee | t | 200 | 7.4
132s (8 rows)
132s
132s drop trigger t1 on trigtst;
132s -DROP TRIGGER
132s +ERROR: trigger "t1" for table "trigtst" does not exist
132s -- suppress action 2
132s create function modtrig9() returns trigger language pllua
132s as $$
132s print(trigger.name,trigger.operation,old,new)
132s if new.flag ~= old.flag then trigger.row = nil end
132s $$;
132s -CREATE FUNCTION
132s +ERROR: language "pllua" does not exist
132s create trigger t1
132s before update on trigtst
132s for each row
132s execute procedure modtrig9();
132s -CREATE TRIGGER
132s +ERROR: function modtrig9() does not exist
132s update trigtst set flag = true where name = 'florence';
132s -INFO: t1 update (8,florence,f,24,5.4) (8,florence,t,24,5.4)
132s -UPDATE 0
132s +UPDATE 1
132s select * from trigtst order by id;
132s id | name | flag | qty | weight
132s ----+------------+------+-----+--------
132s - 2 | jim | t | 13 | 6.2
132s + 2 | jim | f | 11 | 3.1
132s 3 | sheila | f | 9 | 1.3
132s - 4 | dougal | t | 4 | 18.6
132s + 4 | dougal | f | 2 | 9.3
132s 5 | brian | f | 32 | 51.5
132s - 6 | ermintrude | f | 92 | 920
132s - 7 | dylan | t | 38 | 24.2
132s - 8 | florence | f | 24 | 5.4
132s - 9 | zebedee | f | 204 | 29.6
132s + 6 | ermintrude | t | 92 | 52.7
132s + 7 | dylan | f | 36 | 12.1
132s + 8 | florence | t | 24 | 5.4
132s + 9 | zebedee | t | 200 | 7.4
132s (8 rows)
132s
132s drop trigger t1 on trigtst;
132s -DROP TRIGGER
132s +ERROR: trigger "t1" for table "trigtst" does not exist
132s -- table with one column exercises several edge cases:
132s create table trigtst1col (col integer);
132s CREATE TABLE
132s @@ -451,23 +391,21 @@
132s print(trigger.name,trigger.operation,old,new)
132s new.col = 123
132s $$;
132s -CREATE FUNCTION
132s +ERROR: language "pllua" does not exist
132s create trigger t1
132s before insert on trigtst1col
132s for each row
132s execute procedure modtrig10();
132s -CREATE TRIGGER
132s +ERROR: function modtrig10() does not exist
132s insert into trigtst1col values (1);
132s -INFO: t1 insert nil (1)
132s INSERT 0 1
132s insert into trigtst1col values (2);
132s -INFO: t1 insert nil (2)
132s INSERT 0 1
132s select * from trigtst1col;
132s col
132s -----
132s - 123
132s - 123
132s + 1
132s + 2
132s (2 rows)
132s
132s create type t2col as (a integer, b text);
132s @@ -479,19 +417,18 @@
132s print(trigger.name,trigger.operation,old,new)
132s new.col.a = 123
132s $$;
132s -CREATE FUNCTION
132s +ERROR: language "pllua" does not exist
132s create trigger t1
132s before insert on trigtst1col2
132s for each row
132s execute procedure modtrig11();
132s -CREATE TRIGGER
132s +ERROR: function modtrig11() does not exist
132s insert into trigtst1col2 values (row(1,'foo')::t2col);
132s -INFO: t1 insert nil ("(1,foo)")
132s INSERT 0 1
132s select * from trigtst1col2;
132s - col
132s ------------
132s - (123,foo)
132s + col
132s +---------
132s + (1,foo)
132s (1 row)
132s
132s -- exercise dropped columns:
132s @@ -503,20 +440,11 @@
132s after insert or update or delete on trigtst1dcol
132s for each row
132s execute procedure misctrig('blah');
132s -CREATE TRIGGER
132s +ERROR: function misctrig() does not exist
132s insert into trigtst1dcol values ('foo');
132s -INFO: t1 blah
132s -INFO: after row insert trigtst1dcol
132s -INFO: nil (foo)
132s INSERT 0 1
132s update trigtst1dcol set col = 'bar';
132s -INFO: t1 blah
132s -INFO: after row update trigtst1dcol
132s -INFO: (foo) (bar)
132s UPDATE 1
132s delete from trigtst1dcol;
132s -INFO: t1 blah
132s -INFO: after row delete trigtst1dcol
132s -INFO: (bar) nil
132s DELETE 1
132s --
132s diff -U3 /tmp/autopkgtest.gVJJhB/build.hhR/src/expected/event_triggers.out /tmp/autopkgtest.gVJJhB/build.hhR/src/results/event_triggers.out
132s --- /tmp/autopkgtest.gVJJhB/build.hhR/src/expected/event_triggers.out 2023-07-29 18:06:29.000000000 +0000
132s +++ /tmp/autopkgtest.gVJJhB/build.hhR/src/results/event_triggers.out 2025-02-19 08:12:03.217546374 +0000
132s @@ -5,35 +5,27 @@
132s create function evtrig() returns event_trigger language pllua as $$
132s print(trigger.event, trigger.tag)
132s $$;
132s -CREATE FUNCTION
132s +ERROR: language "pllua" does not exist
132s create event trigger et1 on ddl_command_start execute procedure evtrig();
132s -CREATE EVENT TRIGGER
132s +ERROR: function evtrig() does not exist
132s create event trigger et2 on ddl_command_end execute procedure evtrig();
132s -CREATE EVENT TRIGGER
132s +ERROR: function evtrig() does not exist
132s create event trigger et3 on sql_drop execute procedure evtrig();
132s -CREATE EVENT TRIGGER
132s +ERROR: function evtrig() does not exist
132s create event trigger et4 on table_rewrite execute procedure evtrig();
132s -CREATE EVENT TRIGGER
132s +ERROR: function evtrig() does not exist
132s create table evt1 (a text);
132s -INFO: ddl_command_start CREATE TABLE
132s -INFO: ddl_command_end CREATE TABLE
132s CREATE TABLE
132s alter table evt1 alter column a type integer using null;
132s -INFO: ddl_command_start ALTER TABLE
132s -INFO: table_rewrite ALTER TABLE
132s -INFO: ddl_command_end ALTER TABLE
132s ALTER TABLE
132s drop table evt1;
132s -INFO: ddl_command_start DROP TABLE
132s -INFO: sql_drop DROP TABLE
132s -INFO: ddl_command_end DROP TABLE
132s DROP TABLE
132s drop event trigger et1;
132s -DROP EVENT TRIGGER
132s +ERROR: event trigger "et1" does not exist
132s drop event trigger et2;
132s -DROP EVENT TRIGGER
132s +ERROR: event trigger "et2" does not exist
132s drop event trigger et3;
132s -DROP EVENT TRIGGER
132s +ERROR: event trigger "et3" does not exist
132s drop event trigger et4;
132s -DROP EVENT TRIGGER
132s +ERROR: event trigger "et4" does not exist
132s --end
132s diff -U3 /tmp/autopkgtest.gVJJhB/build.hhR/src/expected/procedures.out /tmp/autopkgtest.gVJJhB/build.hhR/src/results/procedures.out
132s --- /tmp/autopkgtest.gVJJhB/build.hhR/src/expected/procedures.out 2023-07-29 18:06:29.000000000 +0000
132s +++ /tmp/autopkgtest.gVJJhB/build.hhR/src/results/procedures.out 2025-02-19 08:12:03.240546374 +0000
132s @@ -10,21 +10,20 @@
132s print("hello world", a)
132s print(spi.is_atomic() and "atomic context" or "non-atomic context")
132s $$;
132s +ERROR: language "pllua" does not exist
132s call pg_temp.tp1('foo');
132s -INFO: hello world foo
132s -INFO: non-atomic context
132s +ERROR: schema "pg_temp" does not exist at character 6
132s begin; call pg_temp.tp1('foo'); commit;
132s -INFO: hello world foo
132s -INFO: atomic context
132s +ERROR: schema "pg_temp" does not exist at character 6
132s do language pllua $$
132s print(spi.is_atomic() and "atomic context" or "non-atomic context")
132s $$;
132s -INFO: non-atomic context
132s +ERROR: language "pllua" does not exist
132s begin;
132s do language pllua $$
132s print(spi.is_atomic() and "atomic context" or "non-atomic context")
132s $$;
132s -INFO: atomic context
132s +ERROR: language "pllua" does not exist
132s commit;
132s create procedure pg_temp.tp2()
132s language pllua
132s @@ -38,12 +37,14 @@
132s spi.commit();
132s stmt:execute(4);
132s $$;
132s +ERROR: language "pllua" does not exist
132s call pg_temp.tp2();
132s +ERROR: schema "pg_temp" does not exist at character 6
132s -- should now be three different xids in xatst2, and 3 rows
132s select count(*), count(distinct age(xmin)) from xatst2;
132s count | count
132s -------+-------
132s - 3 | 3
132s + 0 | 0
132s (1 row)
132s
132s -- proper handling of open cursors
132s @@ -56,9 +57,9 @@
132s spi.commit();
132s end
132s $$;
132s +ERROR: language "pllua" does not exist
132s call pg_temp.tp3();
132s -INFO: 1
132s -ERROR: pllua: [string "tp3"]:3: cannot iterate a closed cursor
132s +ERROR: schema "pg_temp" does not exist at character 6
132s create procedure pg_temp.tp4()
132s language pllua
132s as $$
132s @@ -68,17 +69,9 @@
132s spi.commit();
132s end
132s $$;
132s +ERROR: language "pllua" does not exist
132s call pg_temp.tp4();
132s -INFO: 1
132s -INFO: 2
132s -INFO: 3
132s -INFO: 4
132s -INFO: 5
132s -INFO: 6
132s -INFO: 7
132s -INFO: 8
132s -INFO: 9
132s -INFO: 10
132s +ERROR: schema "pg_temp" does not exist at character 6
132s -- no commit inside subxact
132s truncate table xatst2;
132s do language pllua $$
132s @@ -92,12 +85,12 @@
132s stmt:execute(4);
132s spi.commit();
132s $$;
132s -INFO: false [string "DO-block"]:6: cannot commit or rollback from inside a subtransaction
132s +ERROR: language "pllua" does not exist
132s -- should now be two different xids in xatst2, and 3 rows
132s select count(*), count(distinct age(xmin)) from xatst2;
132s count | count
132s -------+-------
132s - 3 | 2
132s + 0 | 0
132s (1 row)
132s
132s --end
132s diff -U3 /tmp/autopkgtest.gVJJhB/build.hhR/src/expected/triggers_10.out /tmp/autopkgtest.gVJJhB/build.hhR/src/results/triggers_10.out
132s --- /tmp/autopkgtest.gVJJhB/build.hhR/src/expected/triggers_10.out 2023-07-29 18:06:29.000000000 +0000
132s +++ /tmp/autopkgtest.gVJJhB/build.hhR/src/results/triggers_10.out 2025-02-19 08:12:03.261546374 +0000
132s @@ -16,40 +16,40 @@
132s print(trigger.when, trigger.level, trigger.operation, trigger.relation.name)
132s for r in spi.rows([[ select * from newtab ]]) do print(r) end
132s $$;
132s -CREATE FUNCTION
132s +ERROR: language "pllua" does not exist
132s create function ttrig2() returns trigger language pllua
132s as $$
132s print(trigger.name,...)
132s print(trigger.when, trigger.level, trigger.operation, trigger.relation.name)
132s for r in spi.rows([[ select 'old', * from oldtab union all select 'new', * from newtab ]]) do print(r) end
132s $$;
132s -CREATE FUNCTION
132s +ERROR: language "pllua" does not exist
132s create function ttrig3() returns trigger language pllua
132s as $$
132s print(trigger.name,...)
132s print(trigger.when, trigger.level, trigger.operation, trigger.relation.name)
132s for r in spi.rows([[ select * from oldtab ]]) do print(r) end
132s $$;
132s -CREATE FUNCTION
132s +ERROR: language "pllua" does not exist
132s create trigger t1
132s after insert on trigtst2
132s referencing new table as newtab
132s for each statement
132s execute procedure ttrig1('t1 insert');
132s -CREATE TRIGGER
132s +ERROR: function ttrig1() does not exist
132s create trigger t2
132s after update on trigtst2
132s referencing old table as oldtab
132s new table as newtab
132s for each statement
132s execute procedure ttrig2('t2 update');
132s -CREATE TRIGGER
132s +ERROR: function ttrig2() does not exist
132s create trigger t3
132s after delete on trigtst2
132s referencing old table as oldtab
132s for each statement
132s execute procedure ttrig3('t3 delete');
132s -CREATE TRIGGER
132s +ERROR: function ttrig3() does not exist
132s insert into trigtst2
132s values (1, 'fred', true, 23, 1.73),
132s (2, 'jim', false, 11, 3.1),
132s @@ -60,43 +60,9 @@
132s (7, 'dylan', false, 35, 12.1),
132s (8, 'florence', false, 23, 5.4),
132s (9, 'zebedee', false, 199, 7.4);
132s -INFO: t1 t1 insert
132s -INFO: after statement insert trigtst2
132s -INFO: (1,fred,t,23,1.73)
132s -INFO: (2,jim,f,11,3.1)
132s -INFO: (3,sheila,f,9,1.3)
132s -INFO: (4,dougal,f,1,9.3)
132s -INFO: (5,brian,f,31,51.5)
132s -INFO: (6,ermintrude,t,91,52.7)
132s -INFO: (7,dylan,f,35,12.1)
132s -INFO: (8,florence,f,23,5.4)
132s -INFO: (9,zebedee,f,199,7.4)
132s INSERT 0 9
132s update trigtst2 set qty = qty + 1;
132s -INFO: t2 t2 update
132s -INFO: after statement update trigtst2
132s -INFO: (old,1,fred,t,23,1.73)
132s -INFO: (old,2,jim,f,11,3.1)
132s -INFO: (old,3,sheila,f,9,1.3)
132s -INFO: (old,4,dougal,f,1,9.3)
132s -INFO: (old,5,brian,f,31,51.5)
132s -INFO: (old,6,ermintrude,t,91,52.7)
132s -INFO: (old,7,dylan,f,35,12.1)
132s -INFO: (old,8,florence,f,23,5.4)
132s -INFO: (old,9,zebedee,f,199,7.4)
132s -INFO: (new,1,fred,t,24,1.73)
132s -INFO: (new,2,jim,f,12,3.1)
132s -INFO: (new,3,sheila,f,10,1.3)
132s -INFO: (new,4,dougal,f,2,9.3)
132s -INFO: (new,5,brian,f,32,51.5)
132s -INFO: (new,6,ermintrude,t,92,52.7)
132s -INFO: (new,7,dylan,f,36,12.1)
132s -INFO: (new,8,florence,f,24,5.4)
132s -INFO: (new,9,zebedee,f,200,7.4)
132s UPDATE 9
132s delete from trigtst2 where name = 'sheila';
132s -INFO: t3 t3 delete
132s -INFO: after statement delete trigtst2
132s -INFO: (3,sheila,f,10,1.3)
132s DELETE 1
132s --
132s ### End 17 installcheck (FAILED with exit code 1) ###
132s autopkgtest [08:12:03]: test installcheck-pllua: -----------------------]
133s installcheck-pllua FAIL non-zero exit status 1
133s autopkgtest [08:12:04]: test installcheck-pllua: - - - - - - - - - - results - - - - - - - - - -
133s autopkgtest [08:12:04]: test installcheck-pllua-hstore: preparing testbed
221s autopkgtest [08:13:32]: testbed dpkg architecture: amd64
221s autopkgtest [08:13:32]: testbed apt version: 2.9.29
221s autopkgtest [08:13:32]: @@@@@@@@@@@@@@@@@@@@ test bed setup
222s autopkgtest [08:13:33]: testbed release detected to be: plucky
222s autopkgtest [08:13:33]: updating testbed package index (apt update)
223s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [110 kB]
223s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease
223s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease
223s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease
223s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [3120 B]
223s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [14.6 kB]
223s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [73.3 kB]
223s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [734 kB]
224s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 Packages [97.3 kB]
224s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/main i386 Packages [79.0 kB]
224s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/restricted i386 Packages [2412 B]
224s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/restricted amd64 Packages [7984 B]
224s Get:13 http://ftpmaster.internal/ubuntu plucky-proposed/universe amd64 Packages [678 kB]
224s Get:14 http://ftpmaster.internal/ubuntu plucky-proposed/universe i386 Packages [254 kB]
224s Get:15 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse amd64 Packages [12.4 kB]
224s Get:16 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse i386 Packages [3440 B]
224s Fetched 2070 kB in 1s (1584 kB/s)
225s Reading package lists...
225s Reading package lists...
226s Building dependency tree...
226s Reading state information...
226s Calculating upgrade...
226s The following NEW packages will be installed:
226s libapt-pkg7.0
226s The following packages will be upgraded:
226s apt apt-utils rsyslog
226s 3 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
226s Need to get 3342 kB of archives.
226s After this operation, 3693 kB of additional disk space will be used.
226s Get:1 http://ftpmaster.internal/ubuntu plucky/main amd64 libapt-pkg7.0 amd64 2.9.30 [1131 kB]
227s Get:2 http://ftpmaster.internal/ubuntu plucky/main amd64 apt amd64 2.9.30 [1434 kB]
227s Get:3 http://ftpmaster.internal/ubuntu plucky/main amd64 apt-utils amd64 2.9.30 [222 kB]
227s Get:4 http://ftpmaster.internal/ubuntu plucky/main amd64 rsyslog amd64 8.2412.0-2ubuntu1 [555 kB]
227s Fetched 3342 kB in 1s (4755 kB/s)
227s Selecting previously unselected package libapt-pkg7.0:amd64.
227s (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 ... 108925 files and directories currently installed.)
227s Preparing to unpack .../libapt-pkg7.0_2.9.30_amd64.deb ...
227s Unpacking libapt-pkg7.0:amd64 (2.9.30) ...
227s Setting up libapt-pkg7.0:amd64 (2.9.30) ...
228s (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 ... 108974 files and directories currently installed.)
228s Preparing to unpack .../archives/apt_2.9.30_amd64.deb ...
228s Unpacking apt (2.9.30) over (2.9.29) ...
228s Setting up apt (2.9.30) ...
228s (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 ... 108974 files and directories currently installed.)
228s Preparing to unpack .../apt-utils_2.9.30_amd64.deb ...
228s Unpacking apt-utils (2.9.30) over (2.9.29) ...
228s Preparing to unpack .../rsyslog_8.2412.0-2ubuntu1_amd64.deb ...
228s Unpacking rsyslog (8.2412.0-2ubuntu1) over (8.2412.0-1ubuntu1) ...
228s Setting up apt-utils (2.9.30) ...
228s Setting up rsyslog (8.2412.0-2ubuntu1) ...
229s info: The user `syslog' is already a member of `adm'.
230s Processing triggers for libc-bin (2.40-4ubuntu1) ...
230s Processing triggers for man-db (2.13.0-1) ...
232s Reading package lists...
232s Building dependency tree...
232s Reading state information...
232s 0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.
232s autopkgtest [08:13:43]: upgrading testbed (apt dist-upgrade and autopurge)
233s Reading package lists...
233s Building dependency tree...
233s Reading state information...
233s Calculating upgrade...Starting pkgProblemResolver with broken count: 0
233s Starting 2 pkgProblemResolver with broken count: 0
233s Done
234s Entering ResolveByKeep
234s
234s The following packages will be upgraded:
234s libc-bin libc-dev-bin libc6 libc6-dev locales
234s 5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
234s Need to get 10.5 MB of archives.
234s After this operation, 377 kB of additional disk space will be used.
234s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 libc-dev-bin amd64 2.41-1ubuntu1 [24.7 kB]
235s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 libc6-dev amd64 2.41-1ubuntu1 [2182 kB]
235s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 locales all 2.41-1ubuntu1 [4246 kB]
235s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 libc6 amd64 2.41-1ubuntu1 [3327 kB]
236s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 libc-bin amd64 2.41-1ubuntu1 [701 kB]
236s Preconfiguring packages ...
236s Fetched 10.5 MB in 1s (7872 kB/s)
236s (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 ... 108974 files and directories currently installed.)
236s Preparing to unpack .../libc-dev-bin_2.41-1ubuntu1_amd64.deb ...
236s Unpacking libc-dev-bin (2.41-1ubuntu1) over (2.40-4ubuntu1) ...
236s Preparing to unpack .../libc6-dev_2.41-1ubuntu1_amd64.deb ...
236s Unpacking libc6-dev:amd64 (2.41-1ubuntu1) over (2.40-4ubuntu1) ...
236s Preparing to unpack .../locales_2.41-1ubuntu1_all.deb ...
236s Unpacking locales (2.41-1ubuntu1) over (2.40-4ubuntu1) ...
236s Preparing to unpack .../libc6_2.41-1ubuntu1_amd64.deb ...
236s Checking for services that may need to be restarted...
236s Checking init scripts...
236s Checking for services that may need to be restarted...
236s Checking init scripts...
236s Stopping some services possibly affected by the upgrade (will be restarted later):
236s cron: stopping...done.
236s
237s Unpacking libc6:amd64 (2.41-1ubuntu1) over (2.40-4ubuntu1) ...
237s Setting up libc6:amd64 (2.41-1ubuntu1) ...
237s Checking for services that may need to be restarted...
237s Checking init scripts...
237s Restarting services possibly affected by the upgrade:
237s cron: restarting...done.
237s
237s Services restarted successfully.
237s (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 ... 108975 files and directories currently installed.)
237s Preparing to unpack .../libc-bin_2.41-1ubuntu1_amd64.deb ...
237s Unpacking libc-bin (2.41-1ubuntu1) over (2.40-4ubuntu1) ...
237s Setting up libc-bin (2.41-1ubuntu1) ...
237s Setting up locales (2.41-1ubuntu1) ...
237s Installing new version of config file /etc/locale.alias ...
238s Generating locales (this might take a while)...
239s en_US.UTF-8... done
239s Generation complete.
239s Setting up libc-dev-bin (2.41-1ubuntu1) ...
239s Setting up libc6-dev:amd64 (2.41-1ubuntu1) ...
239s Processing triggers for man-db (2.13.0-1) ...
239s Processing triggers for systemd (257.2-3ubuntu1) ...
240s Reading package lists...
240s Building dependency tree...
240s Reading state information...
241s Starting pkgProblemResolver with broken count: 0
241s Starting 2 pkgProblemResolver with broken count: 0
241s Done
241s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
241s autopkgtest [08:13:52]: rebooting testbed after setup commands that affected boot
267s Reading package lists...
267s Building dependency tree...
267s Reading state information...
267s Starting pkgProblemResolver with broken count: 0
267s Starting 2 pkgProblemResolver with broken count: 0
267s Done
268s The following NEW packages will be installed:
268s clang-19 libasan8 libclang-common-19-dev libclang-cpp19 libecpg-compat3
268s libecpg-dev libecpg6 libffi-dev libgc1 libgcc-14-dev libgomp1 libhwasan0
268s libio-pty-perl libipc-run-perl libitm1 libjson-perl liblsan0 liblua5.3-0
268s libncurses-dev libobjc-14-dev libobjc4 libpfm4 libpgtypes3 libpq-dev libpq5
268s libquadmath0 libssl-dev libstdc++-14-dev libtcl8.6 libtsan2 libubsan1
268s libxml2-dev libxslt1.1 llvm-19 llvm-19-dev llvm-19-linker-tools
268s llvm-19-runtime llvm-19-tools postgresql-17 postgresql-17-pllua
268s postgresql-all postgresql-client-17 postgresql-client-common
268s postgresql-common postgresql-common-dev postgresql-plperl-17
268s postgresql-plpython3-17 postgresql-pltcl-17 postgresql-server-dev-17
268s postgresql-server-dev-all ssl-cert
268s 0 upgraded, 51 newly installed, 0 to remove and 0 not upgraded.
268s Need to get 126 MB of archives.
268s After this operation, 699 MB of additional disk space will be used.
268s Get:1 http://ftpmaster.internal/ubuntu plucky/main amd64 libjson-perl all 4.10000-1 [81.9 kB]
268s Get:2 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql-client-common all 273 [47.5 kB]
268s Get:3 http://ftpmaster.internal/ubuntu plucky/main amd64 libio-pty-perl amd64 1:1.20-1build3 [31.4 kB]
268s Get:4 http://ftpmaster.internal/ubuntu plucky/main amd64 libipc-run-perl all 20231003.0-2 [91.5 kB]
268s Get:5 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql-common-dev all 273 [72.9 kB]
268s Get:6 http://ftpmaster.internal/ubuntu plucky/main amd64 ssl-cert all 1.1.3ubuntu1 [18.7 kB]
268s Get:7 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql-common all 273 [101 kB]
268s Get:8 http://ftpmaster.internal/ubuntu plucky/universe amd64 libclang-cpp19 amd64 1:19.1.7-1ubuntu1 [14.2 MB]
269s Get:9 http://ftpmaster.internal/ubuntu plucky/main amd64 libgomp1 amd64 15-20250213-1ubuntu1 [148 kB]
269s Get:10 http://ftpmaster.internal/ubuntu plucky/main amd64 libitm1 amd64 15-20250213-1ubuntu1 [28.5 kB]
269s Get:11 http://ftpmaster.internal/ubuntu plucky/main amd64 libasan8 amd64 15-20250213-1ubuntu1 [3059 kB]
269s Get:12 http://ftpmaster.internal/ubuntu plucky/main amd64 liblsan0 amd64 15-20250213-1ubuntu1 [1356 kB]
269s Get:13 http://ftpmaster.internal/ubuntu plucky/main amd64 libtsan2 amd64 15-20250213-1ubuntu1 [2757 kB]
270s Get:14 http://ftpmaster.internal/ubuntu plucky/main amd64 libubsan1 amd64 15-20250213-1ubuntu1 [1206 kB]
270s Get:15 http://ftpmaster.internal/ubuntu plucky/main amd64 libhwasan0 amd64 15-20250213-1ubuntu1 [1678 kB]
270s Get:16 http://ftpmaster.internal/ubuntu plucky/main amd64 libquadmath0 amd64 15-20250213-1ubuntu1 [152 kB]
270s Get:17 http://ftpmaster.internal/ubuntu plucky/main amd64 libgcc-14-dev amd64 14.2.0-17ubuntu1 [2814 kB]
270s Get:18 http://ftpmaster.internal/ubuntu plucky/main amd64 libstdc++-14-dev amd64 14.2.0-17ubuntu1 [2507 kB]
270s Get:19 http://ftpmaster.internal/ubuntu plucky/main amd64 libgc1 amd64 1:8.2.8-1 [102 kB]
270s Get:20 http://ftpmaster.internal/ubuntu plucky/universe amd64 libobjc4 amd64 15-20250213-1ubuntu1 [46.5 kB]
270s Get:21 http://ftpmaster.internal/ubuntu plucky/universe amd64 libobjc-14-dev amd64 14.2.0-17ubuntu1 [194 kB]
270s Get:22 http://ftpmaster.internal/ubuntu plucky/universe amd64 libclang-common-19-dev amd64 1:19.1.7-1ubuntu1 [743 kB]
270s Get:23 http://ftpmaster.internal/ubuntu plucky/universe amd64 llvm-19-linker-tools amd64 1:19.1.7-1ubuntu1 [1325 kB]
270s Get:24 http://ftpmaster.internal/ubuntu plucky/universe amd64 clang-19 amd64 1:19.1.7-1ubuntu1 [78.9 kB]
270s Get:25 http://ftpmaster.internal/ubuntu plucky/main amd64 libpgtypes3 amd64 17.3-3 [45.9 kB]
270s Get:26 http://ftpmaster.internal/ubuntu plucky/main amd64 libpq5 amd64 17.3-3 [154 kB]
270s Get:27 http://ftpmaster.internal/ubuntu plucky/main amd64 libecpg6 amd64 17.3-3 [51.7 kB]
270s Get:28 http://ftpmaster.internal/ubuntu plucky/main amd64 libecpg-compat3 amd64 17.3-3 [13.2 kB]
270s Get:29 http://ftpmaster.internal/ubuntu plucky/main amd64 libssl-dev amd64 3.4.0-1ubuntu2 [2874 kB]
270s Get:30 http://ftpmaster.internal/ubuntu plucky/main amd64 libpq-dev amd64 17.3-3 [158 kB]
270s Get:31 http://ftpmaster.internal/ubuntu plucky/main amd64 libecpg-dev amd64 17.3-3 [277 kB]
270s Get:32 http://ftpmaster.internal/ubuntu plucky/universe amd64 liblua5.3-0 amd64 5.3.6-2build2 [143 kB]
270s Get:33 http://ftpmaster.internal/ubuntu plucky/main amd64 libncurses-dev amd64 6.5+20250125-2 [425 kB]
270s Get:34 http://ftpmaster.internal/ubuntu plucky/main amd64 libtcl8.6 amd64 8.6.16+dfsg-1 [1086 kB]
270s Get:35 http://ftpmaster.internal/ubuntu plucky/main amd64 libxml2-dev amd64 2.12.7+dfsg+really2.9.14-0.2ubuntu3 [784 kB]
270s Get:36 http://ftpmaster.internal/ubuntu plucky/main amd64 libxslt1.1 amd64 1.1.39-0exp1ubuntu2 [175 kB]
270s Get:37 http://ftpmaster.internal/ubuntu plucky/universe amd64 llvm-19-runtime amd64 1:19.1.7-1ubuntu1 [554 kB]
270s Get:38 http://ftpmaster.internal/ubuntu plucky/universe amd64 libpfm4 amd64 4.13.0+git83-g91970fe-1 [429 kB]
270s Get:39 http://ftpmaster.internal/ubuntu plucky/universe amd64 llvm-19 amd64 1:19.1.7-1ubuntu1 [17.8 MB]
271s Get:40 http://ftpmaster.internal/ubuntu plucky/main amd64 libffi-dev amd64 3.4.7-1 [65.5 kB]
271s Get:41 http://ftpmaster.internal/ubuntu plucky/universe amd64 llvm-19-tools amd64 1:19.1.7-1ubuntu1 [540 kB]
271s Get:42 http://ftpmaster.internal/ubuntu plucky/universe amd64 llvm-19-dev amd64 1:19.1.7-1ubuntu1 [47.3 MB]
274s Get:43 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql-client-17 amd64 17.3-3 [1425 kB]
274s Get:44 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql-17 amd64 17.3-3 [16.6 MB]
275s Get:45 http://ftpmaster.internal/ubuntu plucky/universe amd64 postgresql-17-pllua amd64 1:2.0.12-3 [387 kB]
275s Get:46 http://ftpmaster.internal/ubuntu plucky/universe amd64 postgresql-server-dev-17 amd64 17.3-3 [1417 kB]
275s Get:47 http://ftpmaster.internal/ubuntu plucky/universe amd64 postgresql-server-dev-all all 273 [1632 B]
275s Get:48 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql-plperl-17 amd64 17.3-3 [70.9 kB]
275s Get:49 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql-plpython3-17 amd64 17.3-3 [78.1 kB]
275s Get:50 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql-pltcl-17 amd64 17.3-3 [30.9 kB]
275s Get:51 http://ftpmaster.internal/ubuntu plucky/universe amd64 postgresql-all all 273 [1708 B]
275s Preconfiguring packages ...
275s Fetched 126 MB in 7s (16.9 MB/s)
275s Selecting previously unselected package libjson-perl.
276s (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 ... 108975 files and directories currently installed.)
276s Preparing to unpack .../00-libjson-perl_4.10000-1_all.deb ...
276s Unpacking libjson-perl (4.10000-1) ...
276s Selecting previously unselected package postgresql-client-common.
276s Preparing to unpack .../01-postgresql-client-common_273_all.deb ...
276s Unpacking postgresql-client-common (273) ...
276s Selecting previously unselected package libio-pty-perl.
276s Preparing to unpack .../02-libio-pty-perl_1%3a1.20-1build3_amd64.deb ...
276s Unpacking libio-pty-perl (1:1.20-1build3) ...
276s Selecting previously unselected package libipc-run-perl.
276s Preparing to unpack .../03-libipc-run-perl_20231003.0-2_all.deb ...
276s Unpacking libipc-run-perl (20231003.0-2) ...
276s Selecting previously unselected package postgresql-common-dev.
276s Preparing to unpack .../04-postgresql-common-dev_273_all.deb ...
276s Unpacking postgresql-common-dev (273) ...
276s Selecting previously unselected package ssl-cert.
276s Preparing to unpack .../05-ssl-cert_1.1.3ubuntu1_all.deb ...
276s Unpacking ssl-cert (1.1.3ubuntu1) ...
276s Selecting previously unselected package postgresql-common.
276s Preparing to unpack .../06-postgresql-common_273_all.deb ...
276s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common'
276s Unpacking postgresql-common (273) ...
276s Selecting previously unselected package libclang-cpp19.
276s Preparing to unpack .../07-libclang-cpp19_1%3a19.1.7-1ubuntu1_amd64.deb ...
276s Unpacking libclang-cpp19 (1:19.1.7-1ubuntu1) ...
276s Selecting previously unselected package libgomp1:amd64.
276s Preparing to unpack .../08-libgomp1_15-20250213-1ubuntu1_amd64.deb ...
276s Unpacking libgomp1:amd64 (15-20250213-1ubuntu1) ...
276s Selecting previously unselected package libitm1:amd64.
276s Preparing to unpack .../09-libitm1_15-20250213-1ubuntu1_amd64.deb ...
276s Unpacking libitm1:amd64 (15-20250213-1ubuntu1) ...
276s Selecting previously unselected package libasan8:amd64.
276s Preparing to unpack .../10-libasan8_15-20250213-1ubuntu1_amd64.deb ...
276s Unpacking libasan8:amd64 (15-20250213-1ubuntu1) ...
276s Selecting previously unselected package liblsan0:amd64.
276s Preparing to unpack .../11-liblsan0_15-20250213-1ubuntu1_amd64.deb ...
276s Unpacking liblsan0:amd64 (15-20250213-1ubuntu1) ...
276s Selecting previously unselected package libtsan2:amd64.
276s Preparing to unpack .../12-libtsan2_15-20250213-1ubuntu1_amd64.deb ...
276s Unpacking libtsan2:amd64 (15-20250213-1ubuntu1) ...
276s Selecting previously unselected package libubsan1:amd64.
277s Preparing to unpack .../13-libubsan1_15-20250213-1ubuntu1_amd64.deb ...
277s Unpacking libubsan1:amd64 (15-20250213-1ubuntu1) ...
277s Selecting previously unselected package libhwasan0:amd64.
277s Preparing to unpack .../14-libhwasan0_15-20250213-1ubuntu1_amd64.deb ...
277s Unpacking libhwasan0:amd64 (15-20250213-1ubuntu1) ...
277s Selecting previously unselected package libquadmath0:amd64.
277s Preparing to unpack .../15-libquadmath0_15-20250213-1ubuntu1_amd64.deb ...
277s Unpacking libquadmath0:amd64 (15-20250213-1ubuntu1) ...
277s Selecting previously unselected package libgcc-14-dev:amd64.
277s Preparing to unpack .../16-libgcc-14-dev_14.2.0-17ubuntu1_amd64.deb ...
277s Unpacking libgcc-14-dev:amd64 (14.2.0-17ubuntu1) ...
277s Selecting previously unselected package libstdc++-14-dev:amd64.
277s Preparing to unpack .../17-libstdc++-14-dev_14.2.0-17ubuntu1_amd64.deb ...
277s Unpacking libstdc++-14-dev:amd64 (14.2.0-17ubuntu1) ...
277s Selecting previously unselected package libgc1:amd64.
277s Preparing to unpack .../18-libgc1_1%3a8.2.8-1_amd64.deb ...
277s Unpacking libgc1:amd64 (1:8.2.8-1) ...
277s Selecting previously unselected package libobjc4:amd64.
277s Preparing to unpack .../19-libobjc4_15-20250213-1ubuntu1_amd64.deb ...
277s Unpacking libobjc4:amd64 (15-20250213-1ubuntu1) ...
277s Selecting previously unselected package libobjc-14-dev:amd64.
277s Preparing to unpack .../20-libobjc-14-dev_14.2.0-17ubuntu1_amd64.deb ...
277s Unpacking libobjc-14-dev:amd64 (14.2.0-17ubuntu1) ...
277s Selecting previously unselected package libclang-common-19-dev:amd64.
277s Preparing to unpack .../21-libclang-common-19-dev_1%3a19.1.7-1ubuntu1_amd64.deb ...
277s Unpacking libclang-common-19-dev:amd64 (1:19.1.7-1ubuntu1) ...
277s Selecting previously unselected package llvm-19-linker-tools.
277s Preparing to unpack .../22-llvm-19-linker-tools_1%3a19.1.7-1ubuntu1_amd64.deb ...
277s Unpacking llvm-19-linker-tools (1:19.1.7-1ubuntu1) ...
277s Selecting previously unselected package clang-19.
277s Preparing to unpack .../23-clang-19_1%3a19.1.7-1ubuntu1_amd64.deb ...
277s Unpacking clang-19 (1:19.1.7-1ubuntu1) ...
277s Selecting previously unselected package libpgtypes3:amd64.
277s Preparing to unpack .../24-libpgtypes3_17.3-3_amd64.deb ...
277s Unpacking libpgtypes3:amd64 (17.3-3) ...
277s Selecting previously unselected package libpq5:amd64.
277s Preparing to unpack .../25-libpq5_17.3-3_amd64.deb ...
277s Unpacking libpq5:amd64 (17.3-3) ...
277s Selecting previously unselected package libecpg6:amd64.
277s Preparing to unpack .../26-libecpg6_17.3-3_amd64.deb ...
277s Unpacking libecpg6:amd64 (17.3-3) ...
277s Selecting previously unselected package libecpg-compat3:amd64.
277s Preparing to unpack .../27-libecpg-compat3_17.3-3_amd64.deb ...
277s Unpacking libecpg-compat3:amd64 (17.3-3) ...
277s Selecting previously unselected package libssl-dev:amd64.
277s Preparing to unpack .../28-libssl-dev_3.4.0-1ubuntu2_amd64.deb ...
277s Unpacking libssl-dev:amd64 (3.4.0-1ubuntu2) ...
277s Selecting previously unselected package libpq-dev.
277s Preparing to unpack .../29-libpq-dev_17.3-3_amd64.deb ...
277s Unpacking libpq-dev (17.3-3) ...
278s Selecting previously unselected package libecpg-dev.
278s Preparing to unpack .../30-libecpg-dev_17.3-3_amd64.deb ...
278s Unpacking libecpg-dev (17.3-3) ...
278s Selecting previously unselected package liblua5.3-0:amd64.
278s Preparing to unpack .../31-liblua5.3-0_5.3.6-2build2_amd64.deb ...
278s Unpacking liblua5.3-0:amd64 (5.3.6-2build2) ...
278s Selecting previously unselected package libncurses-dev:amd64.
278s Preparing to unpack .../32-libncurses-dev_6.5+20250125-2_amd64.deb ...
278s Unpacking libncurses-dev:amd64 (6.5+20250125-2) ...
278s Selecting previously unselected package libtcl8.6:amd64.
278s Preparing to unpack .../33-libtcl8.6_8.6.16+dfsg-1_amd64.deb ...
278s Unpacking libtcl8.6:amd64 (8.6.16+dfsg-1) ...
278s Selecting previously unselected package libxml2-dev:amd64.
278s Preparing to unpack .../34-libxml2-dev_2.12.7+dfsg+really2.9.14-0.2ubuntu3_amd64.deb ...
278s Unpacking libxml2-dev:amd64 (2.12.7+dfsg+really2.9.14-0.2ubuntu3) ...
278s Selecting previously unselected package libxslt1.1:amd64.
278s Preparing to unpack .../35-libxslt1.1_1.1.39-0exp1ubuntu2_amd64.deb ...
278s Unpacking libxslt1.1:amd64 (1.1.39-0exp1ubuntu2) ...
278s Selecting previously unselected package llvm-19-runtime.
278s Preparing to unpack .../36-llvm-19-runtime_1%3a19.1.7-1ubuntu1_amd64.deb ...
278s Unpacking llvm-19-runtime (1:19.1.7-1ubuntu1) ...
278s Selecting previously unselected package libpfm4:amd64.
278s Preparing to unpack .../37-libpfm4_4.13.0+git83-g91970fe-1_amd64.deb ...
278s Unpacking libpfm4:amd64 (4.13.0+git83-g91970fe-1) ...
278s Selecting previously unselected package llvm-19.
278s Preparing to unpack .../38-llvm-19_1%3a19.1.7-1ubuntu1_amd64.deb ...
278s Unpacking llvm-19 (1:19.1.7-1ubuntu1) ...
278s Selecting previously unselected package libffi-dev:amd64.
278s Preparing to unpack .../39-libffi-dev_3.4.7-1_amd64.deb ...
278s Unpacking libffi-dev:amd64 (3.4.7-1) ...
278s Selecting previously unselected package llvm-19-tools.
278s Preparing to unpack .../40-llvm-19-tools_1%3a19.1.7-1ubuntu1_amd64.deb ...
278s Unpacking llvm-19-tools (1:19.1.7-1ubuntu1) ...
278s Selecting previously unselected package llvm-19-dev.
278s Preparing to unpack .../41-llvm-19-dev_1%3a19.1.7-1ubuntu1_amd64.deb ...
278s Unpacking llvm-19-dev (1:19.1.7-1ubuntu1) ...
280s Selecting previously unselected package postgresql-client-17.
280s Preparing to unpack .../42-postgresql-client-17_17.3-3_amd64.deb ...
280s Unpacking postgresql-client-17 (17.3-3) ...
280s Selecting previously unselected package postgresql-17.
280s Preparing to unpack .../43-postgresql-17_17.3-3_amd64.deb ...
280s Unpacking postgresql-17 (17.3-3) ...
281s Selecting previously unselected package postgresql-17-pllua.
281s Preparing to unpack .../44-postgresql-17-pllua_1%3a2.0.12-3_amd64.deb ...
281s Unpacking postgresql-17-pllua (1:2.0.12-3) ...
281s Selecting previously unselected package postgresql-server-dev-17.
281s Preparing to unpack .../45-postgresql-server-dev-17_17.3-3_amd64.deb ...
281s Unpacking postgresql-server-dev-17 (17.3-3) ...
281s Selecting previously unselected package postgresql-server-dev-all.
281s Preparing to unpack .../46-postgresql-server-dev-all_273_all.deb ...
281s Unpacking postgresql-server-dev-all (273) ...
281s Selecting previously unselected package postgresql-plperl-17.
281s Preparing to unpack .../47-postgresql-plperl-17_17.3-3_amd64.deb ...
281s Unpacking postgresql-plperl-17 (17.3-3) ...
281s Selecting previously unselected package postgresql-plpython3-17.
281s Preparing to unpack .../48-postgresql-plpython3-17_17.3-3_amd64.deb ...
281s Unpacking postgresql-plpython3-17 (17.3-3) ...
281s Selecting previously unselected package postgresql-pltcl-17.
281s Preparing to unpack .../49-postgresql-pltcl-17_17.3-3_amd64.deb ...
281s Unpacking postgresql-pltcl-17 (17.3-3) ...
281s Selecting previously unselected package postgresql-all.
281s Preparing to unpack .../50-postgresql-all_273_all.deb ...
281s Unpacking postgresql-all (273) ...
281s Setting up postgresql-client-common (273) ...
281s Setting up libpgtypes3:amd64 (17.3-3) ...
281s Setting up libncurses-dev:amd64 (6.5+20250125-2) ...
281s Setting up libio-pty-perl (1:1.20-1build3) ...
281s Setting up libclang-common-19-dev:amd64 (1:19.1.7-1ubuntu1) ...
281s Setting up libpq5:amd64 (17.3-3) ...
281s Setting up libgomp1:amd64 (15-20250213-1ubuntu1) ...
281s Setting up libffi-dev:amd64 (3.4.7-1) ...
281s Setting up libxml2-dev:amd64 (2.12.7+dfsg+really2.9.14-0.2ubuntu3) ...
281s Setting up libpfm4:amd64 (4.13.0+git83-g91970fe-1) ...
281s Setting up ssl-cert (1.1.3ubuntu1) ...
281s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'.
282s Setting up libquadmath0:amd64 (15-20250213-1ubuntu1) ...
282s Setting up libssl-dev:amd64 (3.4.0-1ubuntu2) ...
282s Setting up libtcl8.6:amd64 (8.6.16+dfsg-1) ...
282s Setting up libipc-run-perl (20231003.0-2) ...
282s Setting up libgc1:amd64 (1:8.2.8-1) ...
282s Setting up libubsan1:amd64 (15-20250213-1ubuntu1) ...
282s Setting up libhwasan0:amd64 (15-20250213-1ubuntu1) ...
282s Setting up libasan8:amd64 (15-20250213-1ubuntu1) ...
282s Setting up liblua5.3-0:amd64 (5.3.6-2build2) ...
282s Setting up libjson-perl (4.10000-1) ...
282s Setting up libxslt1.1:amd64 (1.1.39-0exp1ubuntu2) ...
282s Setting up libecpg6:amd64 (17.3-3) ...
282s Setting up llvm-19-linker-tools (1:19.1.7-1ubuntu1) ...
282s Setting up libtsan2:amd64 (15-20250213-1ubuntu1) ...
282s Setting up llvm-19-runtime (1:19.1.7-1ubuntu1) ...
282s Setting up llvm-19-tools (1:19.1.7-1ubuntu1) ...
282s Setting up liblsan0:amd64 (15-20250213-1ubuntu1) ...
282s Setting up libitm1:amd64 (15-20250213-1ubuntu1) ...
282s Setting up libclang-cpp19 (1:19.1.7-1ubuntu1) ...
282s Setting up postgresql-common-dev (273) ...
282s Setting up libecpg-compat3:amd64 (17.3-3) ...
282s Setting up postgresql-client-17 (17.3-3) ...
282s 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
282s Setting up libpq-dev (17.3-3) ...
282s Setting up libobjc4:amd64 (15-20250213-1ubuntu1) ...
282s Setting up libecpg-dev (17.3-3) ...
282s Setting up postgresql-common (273) ...
283s Creating config file /etc/postgresql-common/createcluster.conf with new version
283s Building PostgreSQL dictionaries from installed myspell/hunspell packages...
283s Removing obsolete dictionary files:
283s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'.
284s Setting up llvm-19 (1:19.1.7-1ubuntu1) ...
284s Setting up libgcc-14-dev:amd64 (14.2.0-17ubuntu1) ...
284s Setting up libstdc++-14-dev:amd64 (14.2.0-17ubuntu1) ...
284s Setting up postgresql-17 (17.3-3) ...
284s Creating new PostgreSQL cluster 17/main ...
284s /usr/lib/postgresql/17/bin/initdb -D /var/lib/postgresql/17/main --auth-local peer --auth-host scram-sha-256 --no-instructions
285s The files belonging to this database system will be owned by user "postgres".
285s This user must also own the server process.
285s
285s The database cluster will be initialized with locale "C.UTF-8".
285s The default database encoding has accordingly been set to "UTF8".
285s The default text search configuration will be set to "english".
285s
285s Data page checksums are disabled.
285s
285s fixing permissions on existing directory /var/lib/postgresql/17/main ... ok
285s creating subdirectories ... ok
285s selecting dynamic shared memory implementation ... posix
285s selecting default "max_connections" ... 100
285s selecting default "shared_buffers" ... 128MB
285s selecting default time zone ... Etc/UTC
285s creating configuration files ... ok
285s running bootstrap script ... ok
285s performing post-bootstrap initialization ... ok
285s syncing data to disk ... ok
288s Setting up libobjc-14-dev:amd64 (14.2.0-17ubuntu1) ...
288s Setting up clang-19 (1:19.1.7-1ubuntu1) ...
288s Setting up postgresql-17-pllua (1:2.0.12-3) ...
288s Setting up llvm-19-dev (1:19.1.7-1ubuntu1) ...
288s Setting up postgresql-plpython3-17 (17.3-3) ...
288s Setting up postgresql-plperl-17 (17.3-3) ...
288s Setting up postgresql-pltcl-17 (17.3-3) ...
288s Setting up postgresql-server-dev-17 (17.3-3) ...
288s Setting up postgresql-server-dev-all (273) ...
288s Setting up postgresql-all (273) ...
288s Processing triggers for install-info (7.1.1-1) ...
288s Processing triggers for libc-bin (2.41-1ubuntu1) ...
288s Processing triggers for systemd (257.2-3ubuntu1) ...
288s Processing triggers for man-db (2.13.0-1) ...
292s autopkgtest [08:14:43]: test installcheck-pllua-hstore: pg_buildext installcheck hstore
292s autopkgtest [08:14:43]: test installcheck-pllua-hstore: [-----------------------
292s ### PostgreSQL 17 installcheck ###
292s Creating new PostgreSQL cluster 17/regress ...
295s make: Entering directory '/tmp/autopkgtest.gVJJhB/build.hhR/src/hstore'
295s echo "# +++ regress install-check in +++" && /usr/lib/postgresql/17/lib/pgxs/src/makefiles/../../src/test/regress/pg_regress --inputdir=/tmp/autopkgtest.gVJJhB/build.hhR/src --bindir='/usr/lib/postgresql/17/bin' --dbname=contrib_regression create_ext hstore
295s # +++ regress install-check in +++
295s # using postmaster on localhost, port 5433
295s not ok 1 - create_ext 30 ms
295s # not ok 2 - hstore 19 ms
295s 1..2
295s 2 of 2 tests failed.
295s # The differences that caused some tests to fail can be viewed in the file "/tmp/autopkgtest.gVJJhB/build.hhR/src/hstore/regression.diffs".
295s # A copy of the test summary that you see above is saved in the file "/tmp/autopkgtest.gVJJhB/build.hhR/src/hstore/regression.out".
295s make: *** [/usr/lib/postgresql/17/lib/pgxs/src/makefiles/pgxs.mk:436: installcheck] Error 1
295s make: Leaving directory '/tmp/autopkgtest.gVJJhB/build.hhR/src/hstore'
295s *** /tmp/pg_virtualenv.23o25Z/log/postgresql-17-regress.log (last 100 lines) ***
295s 2025-02-19 08:14:44.091 UTC [3745] LOG: starting PostgreSQL 17.3 (Ubuntu 17.3-3) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 14.2.0-17ubuntu1) 14.2.0, 64-bit
295s 2025-02-19 08:14:44.091 UTC [3745] LOG: listening on IPv6 address "::1", port 5433
295s 2025-02-19 08:14:44.091 UTC [3745] LOG: listening on IPv4 address "127.0.0.1", port 5433
295s 2025-02-19 08:14:44.092 UTC [3745] LOG: listening on Unix socket "/tmp/.s.PGSQL.5433"
295s 2025-02-19 08:14:44.094 UTC [3748] LOG: database system was shut down at 2025-02-19 08:14:43 UTC
295s 2025-02-19 08:14:44.099 UTC [3745] LOG: database system is ready to accept connections
295s 2025-02-19 08:14:46.379 UTC [3786] 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
295s 2025-02-19 08:14:46.379 UTC [3786] ubuntu@contrib_regression STATEMENT: create extension pllua;
295s 2025-02-19 08:14:46.379 UTC [3786] ubuntu@contrib_regression ERROR: required extension "pllua" is not installed
295s 2025-02-19 08:14:46.379 UTC [3786] ubuntu@contrib_regression HINT: Use CREATE EXTENSION ... CASCADE to install required extensions too.
295s 2025-02-19 08:14:46.379 UTC [3786] ubuntu@contrib_regression STATEMENT: create extension hstore_pllua;
295s 2025-02-19 08:14:46.404 UTC [3792] ubuntu@contrib_regression ERROR: language "pllua" does not exist
295s 2025-02-19 08:14:46.404 UTC [3792] ubuntu@contrib_regression HINT: Use CREATE EXTENSION to load the language into the database.
295s 2025-02-19 08:14:46.404 UTC [3792] ubuntu@contrib_regression STATEMENT: do language pllua $$
295s -- these should work even without the transform
295s local hs = pgtype.hstore('"foo"=>"bar", "baz"=>"quux"')
295s print(hs)
295s local res = (spi.execute([[select pg_typeof($1) as type, $1::text as text, $1->'foo' as foo, $1->'baz' as bar]], hs))[1]
295s print(res.type, res.text, res.foo, res.bar)
295s -- but these use it:
295s res = (spi.execute([[select $1 as hs]], hs))[1]
295s print(type(res.hs))
295s do
295s local ks = {}
295s for k,v in pairs(res.hs) do ks[1+#ks] = k end
295s table.sort(ks)
295s for i,k in ipairs(ks) do print(k,res.hs[k]) end
295s end
295s local hs2 = pgtype.hstore({ foo = "bar", baz = "quux" })
295s res = (spi.execute([[select pg_typeof($1) as t2]], hs2))[1]
295s print(res.t2)
295s res = (spi.execute([[select $1 = $2 as eq]], hs, hs2))[1]
295s print(res.eq)
295s $$;
295s 2025-02-19 08:14:46.404 UTC [3792] ubuntu@contrib_regression ERROR: language "pllua" does not exist
295s 2025-02-19 08:14:46.404 UTC [3792] ubuntu@contrib_regression HINT: Use CREATE EXTENSION to load the language into the database.
295s 2025-02-19 08:14:46.404 UTC [3792] ubuntu@contrib_regression STATEMENT: do language pllua $$
295s print(pgtype.hstore(123))
295s $$;
295s 2025-02-19 08:14:46.404 UTC [3792] ubuntu@contrib_regression ERROR: language "pllua" does not exist
295s 2025-02-19 08:14:46.404 UTC [3792] ubuntu@contrib_regression HINT: Use CREATE EXTENSION to load the language into the database.
295s 2025-02-19 08:14:46.404 UTC [3792] ubuntu@contrib_regression STATEMENT: do language pllua $$
295s print(pgtype.hstore(function() end))
295s $$;
295s Dropping cluster 17/regress ...
295s **** hstore/regression.diffs ****
295s diff -U3 /tmp/autopkgtest.gVJJhB/build.hhR/src/hstore/expected/create_ext.out /tmp/autopkgtest.gVJJhB/build.hhR/src/hstore/results/create_ext.out
295s --- /tmp/autopkgtest.gVJJhB/build.hhR/src/hstore/expected/create_ext.out 2023-07-29 18:06:29.000000000 +0000
295s +++ /tmp/autopkgtest.gVJJhB/build.hhR/src/hstore/results/create_ext.out 2025-02-19 08:14:46.378955083 +0000
295s @@ -1,5 +1,8 @@
295s --
295s create extension hstore;
295s create extension pllua;
295s +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
295s create extension hstore_pllua;
295s +ERROR: required extension "pllua" is not installed
295s +HINT: Use CREATE EXTENSION ... CASCADE to install required extensions too.
295s --end
295s diff -U3 /tmp/autopkgtest.gVJJhB/build.hhR/src/hstore/expected/hstore.out /tmp/autopkgtest.gVJJhB/build.hhR/src/hstore/results/hstore.out
295s --- /tmp/autopkgtest.gVJJhB/build.hhR/src/hstore/expected/hstore.out 2023-07-29 18:06:29.000000000 +0000
295s +++ /tmp/autopkgtest.gVJJhB/build.hhR/src/hstore/results/hstore.out 2025-02-19 08:14:46.403938242 +0000
295s @@ -22,20 +22,14 @@
295s res = (spi.execute([[select $1 = $2 as eq]], hs, hs2))[1]
295s print(res.eq)
295s $$;
295s -INFO: "baz"=>"quux", "foo"=>"bar"
295s -INFO: hstore "baz"=>"quux", "foo"=>"bar" bar quux
295s -INFO: table
295s -INFO: baz quux
295s -INFO: foo bar
295s -INFO: hstore
295s -INFO: true
295s +ERROR: language "pllua" does not exist
295s -- make sure that non-table types don't crash the transform
295s do language pllua $$
295s print(pgtype.hstore(123))
295s $$;
295s -ERROR: pllua: incompatible value type
295s +ERROR: language "pllua" does not exist
295s do language pllua $$
295s print(pgtype.hstore(function() end))
295s $$;
295s -ERROR: pllua: incompatible value type
295s +ERROR: language "pllua" does not exist
295s --end
295s ### End 17 installcheck (FAILED with exit code 1) ###
295s autopkgtest [08:14:46]: test installcheck-pllua-hstore: -----------------------]
296s installcheck-pllua-hstore FAIL non-zero exit status 1
296s autopkgtest [08:14:47]: test installcheck-pllua-hstore: - - - - - - - - - - results - - - - - - - - - -
296s autopkgtest [08:14:47]: @@@@@@@@@@@@@@@@@@@@ summary
296s installcheck-pllua FAIL non-zero exit status 1
296s installcheck-pllua-hstore FAIL non-zero exit status 1
314s nova [W] Skipping flock for amd64
314s Creating nova instance adt-plucky-amd64-postgresql-pllua-20250219-080951-juju-7f2275-prod-proposed-migration-environment-20-247fa5c5-f6f4-4d10-a0a0-8e5042c08993 from image adt/ubuntu-plucky-amd64-server-20250219.img (UUID 90711abf-916f-4a80-845a-825250a78697)...
314s nova [W] Timed out waiting for fd913c25-b621-497c-a4e8-1c32296afbfb to get deleted.
314s nova [W] Skipping flock for amd64
314s Creating nova instance adt-plucky-amd64-postgresql-pllua-20250219-080951-juju-7f2275-prod-proposed-migration-environment-20-247fa5c5-f6f4-4d10-a0a0-8e5042c08993 from image adt/ubuntu-plucky-amd64-server-20250219.img (UUID 90711abf-916f-4a80-845a-825250a78697)...
314s nova [W] Timed out waiting for 28d71ac6-4925-4dfd-85d2-aab98fb3be2f to get deleted.