Diff of the two buildlogs: -- --- b1/build.log 2021-12-06 02:10:41.298229688 +0000 +++ b2/build.log 2021-12-06 02:12:01.631477086 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Sat Jan 7 20:32:41 -12 2023 -I: pbuilder-time-stamp: 1673166761 +I: Current time: Mon Dec 6 16:10:43 +14 2021 +I: pbuilder-time-stamp: 1638756643 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/buster-reproducible-base.tgz] I: copying local configuration @@ -17,7 +17,7 @@ I: Extracting source gpgv: unknown type of key resource 'trustedkeys.kbx' gpgv: keyblock resource '/root/.gnupg/trustedkeys.kbx': General error -gpgv: Signature made Wed Oct 25 11:07:02 2017 -12 +gpgv: Signature made Thu Oct 26 13:07:02 2017 +14 gpgv: using RSA key D1E1316E93A760A8104D85FABB3A68018649AA06 gpgv: Can't check signature: No public key dpkg-source: warning: failed to verify signature on ./libsql-statement-perl_1.412-1.dsc @@ -26,136 +26,170 @@ dpkg-source: info: unpacking libsql-statement-perl_1.412-1.debian.tar.xz I: using fakeroot in build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/3957874/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/1397865/tmp/hooks/D01_modify_environment starting +debug: Running on ionos11-amd64. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +Removing 'diversion of /bin/sh to /bin/sh.distrib by dash' +Adding 'diversion of /bin/sh to /bin/sh.distrib by bash' +Removing 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by dash' +Adding 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by bash' +I: Setting pbuilder2's login shell to /bin/bash +I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other +I: user script /srv/workspace/pbuilder/1397865/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/1397865/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='amd64' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=16' - DISTRIBUTION='' - HOME='/root' - HOST_ARCH='amd64' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:hostcomplete:interactive_comments:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="0" [2]="3" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu") + BASH_VERSION='5.0.3(1)-release' + BUILDDIR=/build + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=amd64 + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=15' + DIRSTACK=() + DISTRIBUTION= + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=x86_64 + HOST_ARCH=amd64 IFS=' ' - INVOCATION_ID='bdf0bc9749864418a6164a8a8a69035d' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - MAIL='/var/mail/root' - OPTIND='1' - PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' - PBCURRENTCOMMANDLINEOPERATION='build' - PBUILDER_OPERATION='build' - PBUILDER_PKGDATADIR='/usr/share/pbuilder' - PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' - PBUILDER_SYSCONFDIR='/etc' - PPID='3957874' - PS1='# ' - PS2='> ' + INVOCATION_ID=3a12ed5cc7734a80b346d666c6c47844 + LANG=C + LANGUAGE=et_EE:et + LC_ALL=C + MACHTYPE=x86_64-pc-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=1397865 PS4='+ ' - PWD='/' - SHELL='/bin/bash' - SHLVL='2' - SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/tmp.418qEiEjug/pbuilderrc_X4qI --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/buster-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/tmp.418qEiEjug/b1 --logfile b1/build.log libsql-statement-perl_1.412-1.dsc' - SUDO_GID='110' - SUDO_UID='105' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://85.184.249.68:3128' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/tmp.418qEiEjug/pbuilderrc_rAmc --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/buster-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/tmp.418qEiEjug/b2 --logfile b2/build.log libsql-statement-perl_1.412-1.dsc' + SUDO_GID=111 + SUDO_UID=106 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://78.137.99.97:3128 I: uname -a - Linux ionos5-amd64 5.14.0-0.bpo.2-amd64 #1 SMP Debian 5.14.9-2~bpo11+1 (2021-10-10) x86_64 GNU/Linux + Linux i-capture-the-hostname 5.10.0-9-amd64 #1 SMP Debian 5.10.70-1 (2021-09-30) x86_64 GNU/Linux I: ls -l /bin total 5116 - -rwxr-xr-x 1 root root 1168776 Apr 17 2019 bash - -rwxr-xr-x 3 root root 38984 Jul 10 2019 bunzip2 - -rwxr-xr-x 3 root root 38984 Jul 10 2019 bzcat - lrwxrwxrwx 1 root root 6 Jul 10 2019 bzcmp -> bzdiff - -rwxr-xr-x 1 root root 2227 Jul 10 2019 bzdiff - lrwxrwxrwx 1 root root 6 Jul 10 2019 bzegrep -> bzgrep - -rwxr-xr-x 1 root root 4877 Jun 24 2019 bzexe - lrwxrwxrwx 1 root root 6 Jul 10 2019 bzfgrep -> bzgrep - -rwxr-xr-x 1 root root 3641 Jul 10 2019 bzgrep - -rwxr-xr-x 3 root root 38984 Jul 10 2019 bzip2 - -rwxr-xr-x 1 root root 14328 Jul 10 2019 bzip2recover - lrwxrwxrwx 1 root root 6 Jul 10 2019 bzless -> bzmore - -rwxr-xr-x 1 root root 1297 Jul 10 2019 bzmore - -rwxr-xr-x 1 root root 43744 Feb 28 2019 cat - -rwxr-xr-x 1 root root 64320 Feb 28 2019 chgrp - -rwxr-xr-x 1 root root 64288 Feb 28 2019 chmod - -rwxr-xr-x 1 root root 72512 Feb 28 2019 chown - -rwxr-xr-x 1 root root 146880 Feb 28 2019 cp - -rwxr-xr-x 1 root root 121464 Jan 17 2019 dash - -rwxr-xr-x 1 root root 109408 Feb 28 2019 date - -rwxr-xr-x 1 root root 76712 Feb 28 2019 dd - -rwxr-xr-x 1 root root 93744 Feb 28 2019 df - -rwxr-xr-x 1 root root 138856 Feb 28 2019 dir - -rwxr-xr-x 1 root root 84288 Jan 9 2019 dmesg - lrwxrwxrwx 1 root root 8 Sep 26 2018 dnsdomainname -> hostname - lrwxrwxrwx 1 root root 8 Sep 26 2018 domainname -> hostname - -rwxr-xr-x 1 root root 39520 Feb 28 2019 echo - -rwxr-xr-x 1 root root 28 Jan 7 2019 egrep - -rwxr-xr-x 1 root root 35424 Feb 28 2019 false - -rwxr-xr-x 1 root root 28 Jan 7 2019 fgrep - -rwxr-xr-x 1 root root 68880 Jan 9 2019 findmnt - -rwsr-xr-x 1 root root 34896 Apr 22 2020 fusermount - -rwxr-xr-x 1 root root 198976 Jan 7 2019 grep - -rwxr-xr-x 2 root root 2345 Jan 5 2019 gunzip - -rwxr-xr-x 1 root root 6375 Jan 5 2019 gzexe - -rwxr-xr-x 1 root root 98048 Jan 5 2019 gzip - -rwxr-xr-x 1 root root 26696 Sep 26 2018 hostname - -rwxr-xr-x 1 root root 68552 Feb 28 2019 ln - -rwxr-xr-x 1 root root 56760 Jul 26 2018 login - -rwxr-xr-x 1 root root 138856 Feb 28 2019 ls - -rwxr-xr-x 1 root root 108624 Jan 9 2019 lsblk - -rwxr-xr-x 1 root root 89088 Feb 28 2019 mkdir - -rwxr-xr-x 1 root root 68544 Feb 28 2019 mknod - -rwxr-xr-x 1 root root 43808 Feb 28 2019 mktemp - -rwxr-xr-x 1 root root 43008 Jan 9 2019 more - -rwsr-xr-x 1 root root 51280 Jan 9 2019 mount - -rwxr-xr-x 1 root root 14408 Jan 9 2019 mountpoint - -rwxr-xr-x 1 root root 138728 Feb 28 2019 mv - lrwxrwxrwx 1 root root 8 Sep 26 2018 nisdomainname -> hostname - lrwxrwxrwx 1 root root 14 Feb 14 2019 pidof -> /sbin/killall5 - -rwxr-xr-x 1 root root 39616 Feb 28 2019 pwd - lrwxrwxrwx 1 root root 4 Apr 17 2019 rbash -> bash - -rwxr-xr-x 1 root root 47776 Feb 28 2019 readlink - -rwxr-xr-x 1 root root 68416 Feb 28 2019 rm - -rwxr-xr-x 1 root root 47776 Feb 28 2019 rmdir - -rwxr-xr-x 1 root root 23312 Jan 21 2019 run-parts - -rwxr-xr-x 1 root root 122224 Dec 22 2018 sed - lrwxrwxrwx 1 root root 4 Dec 10 16:21 sh -> dash - -rwxr-xr-x 1 root root 39552 Feb 28 2019 sleep - -rwxr-xr-x 1 root root 80672 Feb 28 2019 stty - -rwsr-xr-x 1 root root 63568 Jan 9 2019 su - -rwxr-xr-x 1 root root 35488 Feb 28 2019 sync - -rwxr-xr-x 1 root root 445560 Apr 23 2019 tar - -rwxr-xr-x 1 root root 14440 Jan 21 2019 tempfile - -rwxr-xr-x 1 root root 97152 Feb 28 2019 touch - -rwxr-xr-x 1 root root 35424 Feb 28 2019 true - -rwxr-xr-x 1 root root 14328 Apr 22 2020 ulockmgr_server - -rwsr-xr-x 1 root root 34888 Jan 9 2019 umount - -rwxr-xr-x 1 root root 39584 Feb 28 2019 uname - -rwxr-xr-x 2 root root 2345 Jan 5 2019 uncompress - -rwxr-xr-x 1 root root 138856 Feb 28 2019 vdir - -rwxr-xr-x 1 root root 34896 Jan 9 2019 wdctl - -rwxr-xr-x 1 root root 946 Jan 21 2019 which - lrwxrwxrwx 1 root root 8 Sep 26 2018 ypdomainname -> hostname - -rwxr-xr-x 1 root root 1983 Jan 5 2019 zcat - -rwxr-xr-x 1 root root 1677 Jan 5 2019 zcmp - -rwxr-xr-x 1 root root 5879 Jan 5 2019 zdiff - -rwxr-xr-x 1 root root 29 Jan 5 2019 zegrep - -rwxr-xr-x 1 root root 29 Jan 5 2019 zfgrep - -rwxr-xr-x 1 root root 2080 Jan 5 2019 zforce - -rwxr-xr-x 1 root root 7584 Jan 5 2019 zgrep - -rwxr-xr-x 1 root root 2205 Jan 5 2019 zless - -rwxr-xr-x 1 root root 1841 Jan 5 2019 zmore - -rwxr-xr-x 1 root root 4552 Jan 5 2019 znew -I: user script /srv/workspace/pbuilder/3957874/tmp/hooks/D02_print_environment finished + -rwxr-xr-x 1 root root 1168776 Apr 18 2019 bash + -rwxr-xr-x 3 root root 38984 Jul 11 2019 bunzip2 + -rwxr-xr-x 3 root root 38984 Jul 11 2019 bzcat + lrwxrwxrwx 1 root root 6 Jul 11 2019 bzcmp -> bzdiff + -rwxr-xr-x 1 root root 2227 Jul 11 2019 bzdiff + lrwxrwxrwx 1 root root 6 Jul 11 2019 bzegrep -> bzgrep + -rwxr-xr-x 1 root root 4877 Jun 25 2019 bzexe + lrwxrwxrwx 1 root root 6 Jul 11 2019 bzfgrep -> bzgrep + -rwxr-xr-x 1 root root 3641 Jul 11 2019 bzgrep + -rwxr-xr-x 3 root root 38984 Jul 11 2019 bzip2 + -rwxr-xr-x 1 root root 14328 Jul 11 2019 bzip2recover + lrwxrwxrwx 1 root root 6 Jul 11 2019 bzless -> bzmore + -rwxr-xr-x 1 root root 1297 Jul 11 2019 bzmore + -rwxr-xr-x 1 root root 43744 Mar 1 2019 cat + -rwxr-xr-x 1 root root 64320 Mar 1 2019 chgrp + -rwxr-xr-x 1 root root 64288 Mar 1 2019 chmod + -rwxr-xr-x 1 root root 72512 Mar 1 2019 chown + -rwxr-xr-x 1 root root 146880 Mar 1 2019 cp + -rwxr-xr-x 1 root root 121464 Jan 18 2019 dash + -rwxr-xr-x 1 root root 109408 Mar 1 2019 date + -rwxr-xr-x 1 root root 76712 Mar 1 2019 dd + -rwxr-xr-x 1 root root 93744 Mar 1 2019 df + -rwxr-xr-x 1 root root 138856 Mar 1 2019 dir + -rwxr-xr-x 1 root root 84288 Jan 10 2019 dmesg + lrwxrwxrwx 1 root root 8 Sep 27 2018 dnsdomainname -> hostname + lrwxrwxrwx 1 root root 8 Sep 27 2018 domainname -> hostname + -rwxr-xr-x 1 root root 39520 Mar 1 2019 echo + -rwxr-xr-x 1 root root 28 Jan 8 2019 egrep + -rwxr-xr-x 1 root root 35424 Mar 1 2019 false + -rwxr-xr-x 1 root root 28 Jan 8 2019 fgrep + -rwxr-xr-x 1 root root 68880 Jan 10 2019 findmnt + -rwsr-xr-x 1 root root 34896 Apr 23 2020 fusermount + -rwxr-xr-x 1 root root 198976 Jan 8 2019 grep + -rwxr-xr-x 2 root root 2345 Jan 6 2019 gunzip + -rwxr-xr-x 1 root root 6375 Jan 6 2019 gzexe + -rwxr-xr-x 1 root root 98048 Jan 6 2019 gzip + -rwxr-xr-x 1 root root 26696 Sep 27 2018 hostname + -rwxr-xr-x 1 root root 68552 Mar 1 2019 ln + -rwxr-xr-x 1 root root 56760 Jul 27 2018 login + -rwxr-xr-x 1 root root 138856 Mar 1 2019 ls + -rwxr-xr-x 1 root root 108624 Jan 10 2019 lsblk + -rwxr-xr-x 1 root root 89088 Mar 1 2019 mkdir + -rwxr-xr-x 1 root root 68544 Mar 1 2019 mknod + -rwxr-xr-x 1 root root 43808 Mar 1 2019 mktemp + -rwxr-xr-x 1 root root 43008 Jan 10 2019 more + -rwsr-xr-x 1 root root 51280 Jan 10 2019 mount + -rwxr-xr-x 1 root root 14408 Jan 10 2019 mountpoint + -rwxr-xr-x 1 root root 138728 Mar 1 2019 mv + lrwxrwxrwx 1 root root 8 Sep 27 2018 nisdomainname -> hostname + lrwxrwxrwx 1 root root 14 Feb 15 2019 pidof -> /sbin/killall5 + -rwxr-xr-x 1 root root 39616 Mar 1 2019 pwd + lrwxrwxrwx 1 root root 4 Apr 18 2019 rbash -> bash + -rwxr-xr-x 1 root root 47776 Mar 1 2019 readlink + -rwxr-xr-x 1 root root 68416 Mar 1 2019 rm + -rwxr-xr-x 1 root root 47776 Mar 1 2019 rmdir + -rwxr-xr-x 1 root root 23312 Jan 22 2019 run-parts + -rwxr-xr-x 1 root root 122224 Dec 23 2018 sed + lrwxrwxrwx 1 root root 4 Dec 6 16:10 sh -> bash + lrwxrwxrwx 1 root root 4 Nov 8 11:58 sh.distrib -> dash + -rwxr-xr-x 1 root root 39552 Mar 1 2019 sleep + -rwxr-xr-x 1 root root 80672 Mar 1 2019 stty + -rwsr-xr-x 1 root root 63568 Jan 10 2019 su + -rwxr-xr-x 1 root root 35488 Mar 1 2019 sync + -rwxr-xr-x 1 root root 445560 Apr 24 2019 tar + -rwxr-xr-x 1 root root 14440 Jan 22 2019 tempfile + -rwxr-xr-x 1 root root 97152 Mar 1 2019 touch + -rwxr-xr-x 1 root root 35424 Mar 1 2019 true + -rwxr-xr-x 1 root root 14328 Apr 23 2020 ulockmgr_server + -rwsr-xr-x 1 root root 34888 Jan 10 2019 umount + -rwxr-xr-x 1 root root 39584 Mar 1 2019 uname + -rwxr-xr-x 2 root root 2345 Jan 6 2019 uncompress + -rwxr-xr-x 1 root root 138856 Mar 1 2019 vdir + -rwxr-xr-x 1 root root 34896 Jan 10 2019 wdctl + -rwxr-xr-x 1 root root 946 Jan 22 2019 which + lrwxrwxrwx 1 root root 8 Sep 27 2018 ypdomainname -> hostname + -rwxr-xr-x 1 root root 1983 Jan 6 2019 zcat + -rwxr-xr-x 1 root root 1677 Jan 6 2019 zcmp + -rwxr-xr-x 1 root root 5879 Jan 6 2019 zdiff + -rwxr-xr-x 1 root root 29 Jan 6 2019 zegrep + -rwxr-xr-x 1 root root 29 Jan 6 2019 zfgrep + -rwxr-xr-x 1 root root 2080 Jan 6 2019 zforce + -rwxr-xr-x 1 root root 7584 Jan 6 2019 zgrep + -rwxr-xr-x 1 root root 2205 Jan 6 2019 zless + -rwxr-xr-x 1 root root 1841 Jan 6 2019 zmore + -rwxr-xr-x 1 root root 4552 Jan 6 2019 znew +I: user script /srv/workspace/pbuilder/1397865/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -258,7 +292,7 @@ Get: 46 http://deb.debian.org/debian buster/main amd64 libtest-pod-coverage-perl all 1.10-2 [14.5 kB] Get: 47 http://deb.debian.org/debian buster/main amd64 libtest-pod-perl all 1.52-1 [14.2 kB] Get: 48 http://deb.debian.org/debian buster/main amd64 libtext-soundex-perl amd64 3.4-1+b7 [12.8 kB] -Fetched 20.1 MB in 1s (31.5 MB/s) +Fetched 20.1 MB in 1s (22.9 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libbsd0:amd64. (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 ... 19195 files and directories currently installed.) @@ -473,7 +507,8 @@ fakeroot is already the newest version (1.23-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package -I: Running cd /build/libsql-statement-perl-1.412/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../libsql-statement-perl_1.412-1_source.changes +hostname: Name or service not known +I: Running cd /build/libsql-statement-perl-1.412/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../libsql-statement-perl_1.412-1_source.changes dpkg-buildpackage: info: source package libsql-statement-perl dpkg-buildpackage: info: source version 1.412-1 dpkg-buildpackage: info: source distribution unstable @@ -501,26 +536,26 @@ dh_auto_build make -j1 make[1]: Entering directory '/build/libsql-statement-perl-1.412' -cp lib/SQL/Statement/RAM.pm blib/lib/SQL/Statement/RAM.pm cp lib/SQL/Statement/Function.pm blib/lib/SQL/Statement/Function.pm -cp lib/SQL/Dialects/ANSI.pm blib/lib/SQL/Dialects/ANSI.pm -cp lib/SQL/Statement/Embed.pod blib/lib/SQL/Statement/Embed.pod -cp lib/SQL/Statement/GetInfo.pm blib/lib/SQL/Statement/GetInfo.pm +cp lib/SQL/Statement/RAM.pm blib/lib/SQL/Statement/RAM.pm +cp lib/SQL/Statement/Util.pm blib/lib/SQL/Statement/Util.pm +cp lib/SQL/Statement/Placeholder.pm blib/lib/SQL/Statement/Placeholder.pm cp lib/SQL/Statement/TermFactory.pm blib/lib/SQL/Statement/TermFactory.pm +cp lib/SQL/Statement/Term.pm blib/lib/SQL/Statement/Term.pm cp lib/SQL/Statement/Structure.pod blib/lib/SQL/Statement/Structure.pod -cp lib/SQL/Dialects/AnyData.pm blib/lib/SQL/Dialects/AnyData.pm -cp lib/SQL/Eval.pm blib/lib/SQL/Eval.pm cp lib/SQL/Parser.pm blib/lib/SQL/Parser.pm -cp lib/SQL/Statement/Roadmap.pod blib/lib/SQL/Statement/Roadmap.pod -cp lib/SQL/Statement.pm blib/lib/SQL/Statement.pm -cp lib/SQL/Dialects/CSV.pm blib/lib/SQL/Dialects/CSV.pm -cp lib/SQL/Statement/Operation.pm blib/lib/SQL/Statement/Operation.pm +cp lib/SQL/Eval.pm blib/lib/SQL/Eval.pm cp lib/SQL/Dialects/Role.pm blib/lib/SQL/Dialects/Role.pm -cp lib/SQL/Statement/Functions.pm blib/lib/SQL/Statement/Functions.pm +cp lib/SQL/Statement/Operation.pm blib/lib/SQL/Statement/Operation.pm cp lib/SQL/Statement/Syntax.pod blib/lib/SQL/Statement/Syntax.pod -cp lib/SQL/Statement/Util.pm blib/lib/SQL/Statement/Util.pm -cp lib/SQL/Statement/Placeholder.pm blib/lib/SQL/Statement/Placeholder.pm -cp lib/SQL/Statement/Term.pm blib/lib/SQL/Statement/Term.pm +cp lib/SQL/Statement.pm blib/lib/SQL/Statement.pm +cp lib/SQL/Statement/Embed.pod blib/lib/SQL/Statement/Embed.pod +cp lib/SQL/Statement/Roadmap.pod blib/lib/SQL/Statement/Roadmap.pod +cp lib/SQL/Statement/Functions.pm blib/lib/SQL/Statement/Functions.pm +cp lib/SQL/Dialects/CSV.pm blib/lib/SQL/Dialects/CSV.pm +cp lib/SQL/Dialects/ANSI.pm blib/lib/SQL/Dialects/ANSI.pm +cp lib/SQL/Dialects/AnyData.pm blib/lib/SQL/Dialects/AnyData.pm +cp lib/SQL/Statement/GetInfo.pm blib/lib/SQL/Statement/GetInfo.pm Manifying 20 pod documents make[1]: Leaving directory '/build/libsql-statement-perl-1.412' dh_auto_test @@ -857,7 +892,7 @@ # Command SELECT # Num Pholders 1 # Columns -# Tables SQL::Statement::Table=HASH(0x564cf0845cc8),SQL::Statement::Table=HASH(0x564cf0805ba0) +# Tables SQL::Statement::Table=HASH(0x56212c06a2e8),SQL::Statement::Table=HASH(0x56212c06fa20) # Where op AND # Limit 2 # Offset 5 @@ -868,282 +903,282 @@ ok 280 - structure ok 281 - command ok 282 - distinct -ok 283 - parse ' /* DROP TABLE */' using DBD::File -ok 284 - parse 'DROP TABLE foo' using DBD::File -ok 285 - parse 'DROP TABLE foo CASCADE' using DBD::File -ok 286 - parse 'DROP TABLE foo RESTRICT' using DBD::File -ok 287 - parse ' /* DELETE */' using DBD::File -ok 288 - parse 'DELETE FROM foo' using DBD::File -ok 289 - parse 'DELETE FROM foo WHERE id < 7' using DBD::File -ok 290 - parse ' /* UPDATE */' using DBD::File -ok 291 - parse 'UPDATE foo SET bar = 7' using DBD::File -ok 292 - parse 'UPDATE foo SET bar = 7 WHERE id > 7' using DBD::File -ok 293 - parse ' /* INSERT */' using DBD::File -ok 294 - parse 'INSERT INTO foo VALUES ( 'baz', 7, NULL )' using DBD::File -ok 295 - parse 'INSERT INTO foo (col1,col2,col7) VALUES ( 'baz', 7, NULL )' using DBD::File -ok 296 - parse 'INSERT INTO foo VALUES ( now(), trim(lower(user)), curdate-1 )' using DBD::File -ok 297 - parse 'INSERT INTO foo VALUES ( 'smile :-),(-: twice)', ' \' ) ' )' using DBD::File -ok 298 - parse 'INSERT INTO foo VALUES (1,'row'),(2,'rows')' using DBD::File -ok 299 - parse ' /* CREATE TABLE */' using DBD::File -ok 300 - parse 'CREATE TABLE foo ( id INT )' using DBD::File -ok 301 - parse 'CREATE LOCAL TEMPORARY TABLE foo (id INT)' using DBD::File -ok 302 - parse 'CREATE LOCAL TEMPORARY TABLE foo (id INT) ON COMMIT DELETE ROWS' using DBD::File -ok 303 - parse 'CREATE LOCAL TEMPORARY TABLE foo (id INT) ON COMMIT PRESERVE ROWS' using DBD::File -ok 304 - parse 'CREATE GLOBAL TEMPORARY TABLE foo (id INT)' using DBD::File -ok 305 - parse 'CREATE GLOBAL TEMPORARY TABLE foo (id INT) ON COMMIT DELETE ROWS' using DBD::File -ok 306 - parse 'CREATE GLOBAL TEMPORARY TABLE foo (id INT) ON COMMIT PRESERVE ROWS' using DBD::File -ok 307 - parse 'CREATE TABLE foo ( id INTEGER, phrase VARCHAR(40) )' using DBD::File -ok 308 - parse 'CREATE TABLE foo ( id INTEGER UNIQUE, phrase VARCHAR(40) UNIQUE )' using DBD::File -ok 309 - parse 'CREATE TABLE foo ( id INTEGER PRIMARY KEY, phrase VARCHAR(40) UNIQUE )' using DBD::File -ok 310 - parse 'CREATE TABLE foo ( id INTEGER PRIMARY KEY, phrase VARCHAR(40) NOT NULL )' using DBD::File -ok 311 - parse 'CREATE TABLE foo ( id INTEGER NOT NULL, phrase VARCHAR(40) NOT NULL )' using DBD::File -ok 312 - parse 'CREATE TABLE foo ( id INTEGER UNIQUE NOT NULL, phrase VARCHAR(40) )' using DBD::File -ok 313 - parse 'CREATE TABLE foo ( phrase CHARACTER VARYING(255) )' using DBD::File -ok 314 - parse 'CREATE TABLE foo ( phrase NUMERIC(4,6) )' using DBD::File -ok 315 - parse 'CREATE TABLE foo ( id INTEGER, phrase VARCHAR(40), CONSTRAINT "foo_pkey" PRIMARY KEY ( "id", "phrase" ), CONSTRAINT "foo_fkey" FOREIGN KEY ( "id" ) REFERENCES "bar" ( "bar_id" ))' using DBD::File -ok 316 - parse 'CREATE TABLE foo ( id INTEGER, phrase VARCHAR(40), PRIMARY KEY ( "id" ), FOREIGN KEY ("id", "phrase") REFERENCES "bar" ("id2", "phrase2"))' using DBD::File -ok 317 - parse 'CREATE TABLE foo ( id INTEGER, phrase CHAR(255), phrase2 VARCHAR(40), CONSTRAINT "foo_pkey" PRIMARY KEY ( "id", phrase, "phrase2" ), CONSTRAINT "foo_fkey" FOREIGN KEY ("id", "phrase", "phrase2") REFERENCES "bar" ("id2", "phrase2", "phase10"))' using DBD::File -ok 318 - parse ' /* JOINS */' using DBD::File -ok 319 - parse 'SELECT Lnum,Llet,Ulet FROM zLower NATURAL INNER JOIN zUpper' using DBD::File -ok 320 - parse 'SELECT Lnum,Llet,Ulet FROM zLower NATURAL LEFT JOIN zUpper' using DBD::File -ok 321 - parse 'SELECT Lnum,Llet,Ulet FROM zLower NATURAL RIGHT JOIN zUpper' using DBD::File -ok 322 - parse 'SELECT Lnum,Llet,Ulet FROM zLower NATURAL FULL JOIN zUpper' using DBD::File -ok 323 - parse 'SELECT Lnum,Llet,Ulet FROM zLower INNER JOIN zUpper ON Lnum = Unum' using DBD::File -ok 324 - parse 'SELECT Lnum,Llet,Ulet FROM zLower LEFT JOIN zUpper ON Lnum = Unum' using DBD::File -ok 325 - parse 'SELECT Lnum,Llet,Ulet FROM zLower RIGHT JOIN zUpper ON Lnum = Unum' using DBD::File -ok 326 - parse 'SELECT Lnum,Llet,Ulet FROM zLower FULL JOIN zUpper ON Lnum = Unum' using DBD::File -ok 327 - parse 'SELECT Lnum,Llet,Ulet FROM zLower INNER JOIN zUpper USING(num)' using DBD::File -ok 328 - parse 'SELECT Lnum,Llet,Ulet FROM zLower LEFT JOIN zUpper USING(num)' using DBD::File -ok 329 - parse 'SELECT Lnum,Llet,Ulet FROM zLower RIGHT JOIN zUpper USING(num)' using DBD::File -ok 330 - parse 'SELECT Lnum,Llet,Ulet FROM zLower FULL JOIN zUpper USING(num)' using DBD::File -ok 331 - parse 'SELECT Lnum,Llet,Ulet FROM zLower,zUpper WHERE Lnum = Unum' using DBD::File -ok 332 - parse 'SELECT * FROM zLower NATURAL INNER JOIN zUpper' using DBD::File -ok 333 - parse 'SELECT * FROM zLower NATURAL LEFT JOIN zUpper' using DBD::File -ok 334 - parse 'SELECT * FROM zLower NATURAL RIGHT JOIN zUpper' using DBD::File -ok 335 - parse 'SELECT * FROM zLower NATURAL FULL JOIN zUpper' using DBD::File -ok 336 - parse 'SELECT * FROM zLower INNER JOIN zUpper ON Lnum = Unum' using DBD::File -ok 337 - parse 'SELECT * FROM zLower LEFT JOIN zUpper ON Lnum = Unum' using DBD::File -ok 338 - parse 'SELECT * FROM zLower RIGHT JOIN zUpper ON Lnum = Unum' using DBD::File -ok 339 - parse 'SELECT * FROM zLower FULL JOIN zUpper ON Lnum = Unum' using DBD::File -ok 340 - parse 'SELECT * FROM zLower INNER JOIN zUpper USING(num)' using DBD::File -ok 341 - parse 'SELECT * FROM zLower LEFT JOIN zUpper USING(num)' using DBD::File -ok 342 - parse 'SELECT * FROM zLower RIGHT JOIN zUpper USING(num)' using DBD::File -ok 343 - parse 'SELECT * FROM zLower FULL JOIN zUpper USING(num)' using DBD::File -ok 344 - parse 'SELECT * FROM zLower,zUpper WHERE Lnum = Unum' using DBD::File -ok 345 - parse ' /* SELECT COLUMNS */' using DBD::File -ok 346 - parse 'SELECT id, phrase FROM foo' using DBD::File -ok 347 - parse 'SELECT * FROM foo' using DBD::File -ok 348 - parse 'SELECT DISTINCT * FROM foo' using DBD::File -ok 349 - parse 'SELECT ALL * FROM foo' using DBD::File -ok 350 - parse 'SELECT A.*,B.* FROM A,B WHERE A.id=B.id' using DBD::File -ok 351 - parse ' /* SET FUNCTIONS */' using DBD::File -ok 352 - parse 'SELECT MAX(foo) FROM bar' using DBD::File -ok 353 - parse 'SELECT MIN(foo) FROM bar' using DBD::File -ok 354 - parse 'SELECT AVG(foo) FROM bar' using DBD::File -ok 355 - parse 'SELECT SUM(foo) FROM bar' using DBD::File -ok 356 - parse 'SELECT COUNT(foo) FROM foo' using DBD::File -ok 357 - parse 'SELECT COUNT(*) FROM foo' using DBD::File -ok 358 - parse 'SELECT SUM(DISTINCT foo) FROM bar' using DBD::File -ok 359 - parse 'SELECT SUM(ALL foo) FROM bar' using DBD::File -ok 360 - parse ' /* ORDER BY */' using DBD::File -ok 361 - parse 'SELECT * FROM foo ORDER BY bar' using DBD::File -ok 362 - parse 'SELECT * FROM foo ORDER BY bar, baz' using DBD::File -ok 363 - parse 'SELECT * FROM foo ORDER BY bar DESC' using DBD::File -ok 364 - parse 'SELECT * FROM foo ORDER BY bar ASC' using DBD::File -ok 365 - parse ' /* LIMIT */' using DBD::File -ok 366 - parse 'SELECT * FROM foo LIMIT 5' using DBD::File -ok 367 - parse 'SELECT * FROM foo LIMIT 0, 5' using DBD::File -ok 368 - parse 'SELECT * FROM foo LIMIT 5, 10' using DBD::File -ok 369 - parse '/* DATE/TIME FUNCTIONS */' using DBD::File -ok 370 - parse 'SELECT CURRENT_DATE()' using DBD::File -ok 371 - parse 'SELECT CURRENT_TIME()' using DBD::File -ok 372 - parse 'SELECT CURRENT_TIMESTAMP()' using DBD::File -ok 373 - parse 'SELECT CURDATE()' using DBD::File -ok 374 - parse 'SELECT CURTIME()' using DBD::File -ok 375 - parse 'SELECT NOW()' using DBD::File -ok 376 - parse 'SELECT UNIX_TIMESTAMP() ' using DBD::File -ok 377 - parse 'SELECT CURRENT_TIME(2)' using DBD::File -ok 378 - parse 'SELECT CURRENT_TIMESTAMP(2)' using DBD::File -ok 379 - parse 'SELECT CURTIME(2)' using DBD::File -ok 380 - parse 'SELECT NOW(2)' using DBD::File -ok 381 - parse 'SELECT UNIX_TIMESTAMP(2)' using DBD::File -ok 382 - parse ' /* STRING FUNCTIONS */' using DBD::File -ok 383 - parse 'SELECT * FROM foo WHERE ASCII(status) = 65' using DBD::File -ok 384 - parse 'SELECT * FROM foo WHERE CHAR(code) = 'A'' using DBD::File -ok 385 - parse 'SELECT * FROM foo WHERE CHAR(chr1,chr2,chr3) = 'ABC'' using DBD::File -ok 386 - parse 'SELECT * FROM foo WHERE BIT_LENGTH(str) = 27' using DBD::File -ok 387 - parse 'SELECT * FROM foo WHERE CHARACTER_LENGTH(str) = 6' using DBD::File -ok 388 - parse 'SELECT * FROM foo WHERE CHAR_LENGTH(str) = 6' using DBD::File -ok 389 - parse 'SELECT * FROM foo WHERE COALESCE(NULL, status) = 'bar'' using DBD::File -ok 390 - parse 'SELECT * FROM foo WHERE NVL(NULL, status) = 'bar'' using DBD::File -ok 391 - parse 'SELECT * FROM foo WHERE IFNULL(NULL, status) = 'bar'' using DBD::File -ok 392 - parse 'SELECT * FROM foo WHERE CONCAT(str1, str2) = 'bar'' using DBD::File -ok 393 - parse 'SELECT * FROM foo WHERE DECODE(color,'White','W','Red','R','B') = 'W'' using DBD::File -ok 394 - parse 'SELECT * FROM foo WHERE INSERT(str1, 4, 5, str2) = 'foobarland'' using DBD::File -ok 395 - parse 'SELECT * FROM foo WHERE LEFT(phrase) = 'bar'' using DBD::File -ok 396 - parse 'SELECT * FROM foo WHERE RIGHT(phrase) = 'bar'' using DBD::File -ok 397 - parse 'SELECT * FROM foo WHERE LOCATE(str1, str2) = 2' using DBD::File -ok 398 - parse 'SELECT * FROM foo WHERE LOCATE(str1, str2, 3) = 5' using DBD::File -ok 399 - parse 'SELECT * FROM foo WHERE POSITION(str1, str2) = 2' using DBD::File -ok 400 - parse 'SELECT * FROM foo WHERE POSITION(str1, str2, 3) = 5' using DBD::File -ok 401 - parse 'SELECT * FROM foo WHERE LOWER(phrase) = 'bar'' using DBD::File -ok 402 - parse 'SELECT * FROM foo WHERE UPPER(phrase) = 'BAR'' using DBD::File -ok 403 - parse 'SELECT * FROM foo WHERE LCASE(phrase) = 'BAR'' using DBD::File -ok 404 - parse 'SELECT * FROM foo WHERE UCASE(phrase) = 'bar'' using DBD::File -ok 405 - parse 'SELECT * FROM foo WHERE LTRIM(str) = 'bar'' using DBD::File -ok 406 - parse 'SELECT * FROM foo WHERE RTRIM(str) = 'bar'' using DBD::File -ok 407 - parse 'SELECT * FROM foo WHERE OCTET_LENGTH(str) = 12' using DBD::File -ok 408 - parse 'SELECT * FROM foo WHERE REGEX(phrase, '/EF/i') = TRUE' using DBD::File -ok 409 - parse 'SELECT * FROM foo WHERE REPEAT(status, 3) = 'AAA'' using DBD::File -ok 410 - parse 'SELECT * FROM foo WHERE REPLACE(phrase, 's/z(.+)ky//i') = 'bar'' using DBD::File -ok 411 - parse 'SELECT * FROM foo WHERE SUBSTITUTE(phrase, 's/z(.+)ky//i') = 'bar'' using DBD::File -ok 412 - parse 'SELECT * FROM foo WHERE SOUNDEX(name1, name2) = TRUE' using DBD::File -ok 413 - parse 'SELECT * FROM foo WHERE SPACE(num) = ' '' using DBD::File -ok 414 - parse 'SELECT * FROM foo WHERE blat = SUBSTRING(bar FROM 3 FOR 6)' using DBD::File -ok 415 - parse 'SELECT * FROM foo WHERE blat = SUBSTRING(bar FROM 3)' using DBD::File -ok 416 - parse 'SELECT * FROM foo WHERE blat = SUBSTR(bar, 3, 6)' using DBD::File -ok 417 - parse 'SELECT * FROM foo WHERE blat = SUBSTR(bar, 3)' using DBD::File -ok 418 - parse 'SELECT * FROM foo WHERE blat = TRANSLATE(bar, set1, set2)' using DBD::File -ok 419 - parse 'SELECT * FROM foo WHERE TRIM( str ) = 'bar'' using DBD::File -ok 420 - parse 'SELECT * FROM foo WHERE TRIM( LEADING FROM str ) = 'bar'' using DBD::File -ok 421 - parse 'SELECT * FROM foo WHERE TRIM( TRAILING FROM str ) = 'bar'' using DBD::File -ok 422 - parse 'SELECT * FROM foo WHERE TRIM( BOTH FROM str ) = 'bar'' using DBD::File -ok 423 - parse 'SELECT * FROM foo WHERE TRIM( LEADING ';' FROM str ) = 'bar'' using DBD::File -ok 424 - parse 'SELECT * FROM foo WHERE TRIM( UPPER(phrase) ) = 'bar'' using DBD::File -ok 425 - parse 'SELECT * FROM foo WHERE TRIM( LOWER(phrase) ) = 'bar'' using DBD::File -ok 426 - parse 'UPDATE foo SET bar='baz', bop=7, bump=bar+8, blat=SUBSTRING(bar FROM 3 FOR 6)' using DBD::File -ok 427 - parse ' /* NUMERIC FUNCTIONS */' using DBD::File -ok 428 - parse 'SELECT * FROM bar WHERE ABS(-4) = 4' using DBD::File -ok 429 - parse 'SELECT * FROM bar WHERE CEILING(-4.5) = -4' using DBD::File -ok 430 - parse 'SELECT * FROM bar WHERE CEIL(-4.9) = -4' using DBD::File -ok 431 - parse 'SELECT * FROM bar WHERE FLOOR(4.999999999999) = 4' using DBD::File -ok 432 - parse 'SELECT * FROM bar WHERE LOG(6) = LOG10(6)' using DBD::File -ok 433 - parse 'SELECT * FROM bar WHERE LN(1) = EXP(1)' using DBD::File -ok 434 - parse 'SELECT * FROM bar WHERE MOD(8, 5) = 3' using DBD::File -ok 435 - parse 'SELECT * FROM bar WHERE POWER(2, 4) = 16' using DBD::File -ok 436 - parse 'SELECT * FROM bar WHERE POW(2, 4) = 16' using DBD::File -ok 437 - parse 'SELECT * FROM bar WHERE RAND(2) = 0' using DBD::File -ok 438 - parse 'SELECT * FROM bar WHERE RAND(2, UNIX_TIMESTAMP()) = 0' using DBD::File -ok 439 - parse 'SELECT * FROM bar WHERE ROUND(4.999999999999) = 5' using DBD::File -ok 440 - parse 'SELECT * FROM bar WHERE ROUND(4.542222222222, 1) = 4.5' using DBD::File -ok 441 - parse 'SELECT * FROM bar WHERE SIGN(-25.5) = -1' using DBD::File -ok 442 - parse 'SELECT * FROM bar WHERE SIGN(53645) = 1' using DBD::File -ok 443 - parse 'SELECT * FROM bar WHERE SIGN(0) = 0' using DBD::File -ok 444 - parse 'SELECT * FROM bar WHERE SIGN(NULL) = NULL' using DBD::File -ok 445 - parse 'SELECT * FROM bar WHERE SQRT(64) = 8' using DBD::File -ok 446 - parse 'SELECT * FROM bar WHERE TRUNCATE(4.999999999999) = 4' using DBD::File -ok 447 - parse 'SELECT * FROM bar WHERE TRUNC(-4.9) = -4' using DBD::File -ok 448 - parse 'SELECT * FROM bar WHERE TRUNCATE(4.934, 1) = 4.9' using DBD::File -ok 449 - parse 'SELECT * FROM bar WHERE TRUNC(-4.99999, 1) = -4.9' using DBD::File -ok 450 - parse ' /* TRIGONOMETRIC FUNCTIONS */' using DBD::File -ok 451 - parse 'SELECT * FROM test WHERE ACOS(x)' using DBD::File -ok 452 - parse 'SELECT * FROM test WHERE ACOSEC(x)' using DBD::File -ok 453 - parse 'SELECT * FROM test WHERE ACOSECH(x)' using DBD::File -ok 454 - parse 'SELECT * FROM test WHERE ACOSH(x)' using DBD::File -ok 455 - parse 'SELECT * FROM test WHERE ACOT(x)' using DBD::File -ok 456 - parse 'SELECT * FROM test WHERE ACOTAN(x)' using DBD::File -ok 457 - parse 'SELECT * FROM test WHERE ACOTANH(x)' using DBD::File -ok 458 - parse 'SELECT * FROM test WHERE ACOTH(x)' using DBD::File -ok 459 - parse 'SELECT * FROM test WHERE ACSC(x)' using DBD::File -ok 460 - parse 'SELECT * FROM test WHERE ACSCH(x)' using DBD::File -ok 461 - parse 'SELECT * FROM test WHERE ASEC(x)' using DBD::File -ok 462 - parse 'SELECT * FROM test WHERE ASECH(x)' using DBD::File -ok 463 - parse 'SELECT * FROM test WHERE ASIN(x)' using DBD::File -ok 464 - parse 'SELECT * FROM test WHERE ASINH(x)' using DBD::File -ok 465 - parse 'SELECT * FROM test WHERE ATAN(x)' using DBD::File -ok 466 - parse 'SELECT * FROM test WHERE ATAN2(y, x)' using DBD::File -ok 467 - parse 'SELECT * FROM test WHERE ATANH(x)' using DBD::File -ok 468 - parse 'SELECT * FROM test WHERE COS(x)' using DBD::File -ok 469 - parse 'SELECT * FROM test WHERE COSEC(x)' using DBD::File -ok 470 - parse 'SELECT * FROM test WHERE COSECH(x)' using DBD::File -ok 471 - parse 'SELECT * FROM test WHERE COSH(x)' using DBD::File -ok 472 - parse 'SELECT * FROM test WHERE COT(x)' using DBD::File -ok 473 - parse 'SELECT * FROM test WHERE COTAN(x)' using DBD::File -ok 474 - parse 'SELECT * FROM test WHERE COTANH(x)' using DBD::File -ok 475 - parse 'SELECT * FROM test WHERE COTH(x)' using DBD::File -ok 476 - parse 'SELECT * FROM test WHERE CSC(x)' using DBD::File -ok 477 - parse 'SELECT * FROM test WHERE CSCH(x)' using DBD::File -ok 478 - parse 'SELECT * FROM test WHERE DEG2DEG(deg)' using DBD::File -ok 479 - parse 'SELECT * FROM test WHERE RAD2RAD(rad)' using DBD::File -ok 480 - parse 'SELECT * FROM test WHERE GRAD2GRAD(grad)' using DBD::File -ok 481 - parse 'SELECT * FROM test WHERE DEG2GRAD(deg)' using DBD::File -ok 482 - parse 'SELECT * FROM test WHERE DEG2RAD(deg)' using DBD::File -ok 483 - parse 'SELECT * FROM test WHERE GRAD2DEG(grad)' using DBD::File -ok 484 - parse 'SELECT * FROM test WHERE GRAD2RAD(grad)' using DBD::File -ok 485 - parse 'SELECT * FROM test WHERE RAD2DEG(rad)' using DBD::File -ok 486 - parse 'SELECT * FROM test WHERE RAD2GRAD(rad)' using DBD::File -ok 487 - parse 'SELECT * FROM test WHERE DEGREES(rad)' using DBD::File -ok 488 - parse 'SELECT * FROM test WHERE RADIANS(deg)' using DBD::File -ok 489 - parse 'SELECT * FROM test WHERE DEG2DEG(deg, TRUE)' using DBD::File -ok 490 - parse 'SELECT * FROM test WHERE RAD2RAD(rad, TRUE)' using DBD::File -ok 491 - parse 'SELECT * FROM test WHERE GRAD2GRAD(grad, TRUE)' using DBD::File -ok 492 - parse 'SELECT * FROM test WHERE DEG2GRAD(deg, TRUE)' using DBD::File -ok 493 - parse 'SELECT * FROM test WHERE DEG2RAD(deg, TRUE)' using DBD::File -ok 494 - parse 'SELECT * FROM test WHERE GRAD2DEG(grad, TRUE)' using DBD::File -ok 495 - parse 'SELECT * FROM test WHERE GRAD2RAD(grad, TRUE)' using DBD::File -ok 496 - parse 'SELECT * FROM test WHERE RAD2DEG(rad, TRUE)' using DBD::File -ok 497 - parse 'SELECT * FROM test WHERE RAD2GRAD(rad, TRUE)' using DBD::File -ok 498 - parse 'SELECT * FROM test WHERE DEGREES(rad, TRUE)' using DBD::File -ok 499 - parse 'SELECT * FROM test WHERE RADIANS(deg, TRUE)' using DBD::File -ok 500 - parse 'SELECT * FROM test WHERE PI()' using DBD::File -ok 501 - parse 'SELECT * FROM test WHERE SEC(x)' using DBD::File -ok 502 - parse 'SELECT * FROM test WHERE SECH(x)' using DBD::File -ok 503 - parse 'SELECT * FROM test WHERE SIN(x)' using DBD::File -ok 504 - parse 'SELECT * FROM test WHERE SINH(x)' using DBD::File -ok 505 - parse 'SELECT * FROM test WHERE TAN(x)' using DBD::File -ok 506 - parse 'SELECT * FROM test WHERE TANH(x)' using DBD::File -ok 507 - parse ' /* SYSTEM FUNCTIONS */' using DBD::File -ok 508 - parse 'SELECT * FROM ztable WHERE DBNAME() = foobar' using DBD::File -ok 509 - parse 'SELECT * FROM ztable WHERE USERNAME() = foobar' using DBD::File -ok 510 - parse 'SELECT * FROM ztable WHERE USER() = foobar' using DBD::File -ok 511 - parse ' /* TABLE NAME ALIASES */' using DBD::File -ok 512 - parse 'SELECT * FROM test as T1' using DBD::File -ok 513 - parse 'SELECT * FROM test T1' using DBD::File -ok 514 - parse 'SELECT T1.id, T2.num FROM test as T1 JOIN test2 as T2 USING(id)' using DBD::File -ok 515 - parse 'SELECT id FROM test as T1 WHERE T1.num < 7' using DBD::File -ok 516 - parse 'SELECT id FROM test as T1 ORDER BY T1.num' using DBD::File -ok 517 - parse 'SELECT a.x,b.y FROM foo AS a, bar b WHERE a.baz = b.bop ORDER BY a.blat' using DBD::File -ok 518 - parse ' /* NUMERIC EXPRESSIONS */' using DBD::File -ok 519 - parse 'SELECT * FROM foo WHERE 1 = 0 AND baz < (6*foo+11-r)' using DBD::File -ok 520 - parse ' /* CASE OF IDENTIFIERS */' using DBD::File -ok 521 - parse 'SELECT ID, phRase FROM tEst AS tE WHERE te.id < 3 ORDER BY TE.phrasE' using DBD::File -ok 522 - parse ' /* PARENS */' using DBD::File -ok 523 - parse 'SELECT * FROM ztable WHERE NOT data IN ('one','two')' using DBD::File -ok 524 - parse 'SELECT * from ztable WHERE (aaa > 'AAA')' using DBD::File -ok 525 - parse 'SELECT * from ztable WHERE sev = 50 OR sev = 60' using DBD::File -ok 526 - parse 'SELECT * from ztable WHERE (sev = 50 OR sev = 60)' using DBD::File -ok 527 - parse 'SELECT * from ztable WHERE sev IN (50,60)' using DBD::File -ok 528 - parse 'SELECT * from ztable WHERE rc > 200 AND ( sev IN(50,60) )' using DBD::File -ok 529 - parse 'SELECT * FROM ztable WHERE data NOT IN ('one','two')' using DBD::File -ok 530 - parse 'SELECT * from ztable WHERE (aaa > 'AAA') AND (zzz < 'ZZZ')' using DBD::File -ok 531 - parse 'SELECT * from ztable WHERE (sev IN(50,60))' using DBD::File -ok 532 - parse ' /* NOT */' using DBD::File -ok 533 - parse 'SELECT * FROM foo WHERE NOT bar = 'baz' AND bop = 7 OR NOT blat = bar' using DBD::File -ok 534 - parse 'SELECT * FROM foo WHERE NOT bar = 'baz' AND NOT bop = 7 OR NOT blat = bar' using DBD::File -ok 535 - parse 'SELECT * FROM foo WHERE NOT bar = 'baz' AND NOT bop = 7 OR blat IS NOT NULL' using DBD::File -ok 536 - parse ' /* IN */' using DBD::File -ok 537 - parse 'SELECT * FROM bar WHERE foo IN ('aa','ab','ba','bb')' using DBD::File -ok 538 - parse 'SELECT * FROM bar WHERE foo IN (3.14,2.72,1.41,9.81)' using DBD::File -ok 539 - parse 'SELECT * FROM bar WHERE foo NOT IN ('aa','ab','ba','bb')' using DBD::File -ok 540 - parse 'SELECT * FROM bar WHERE foo NOT IN (3.14,2.72,1.41,9.81)' using DBD::File -ok 541 - parse ' /* BETWEEN */' using DBD::File -ok 542 - parse 'SELECT * FROM bar WHERE foo BETWEEN ('aa','bb')' using DBD::File -ok 543 - parse 'SELECT * FROM bar WHERE foo BETWEEN (1.41,9.81)' using DBD::File -ok 544 - parse 'SELECT * FROM bar WHERE foo NOT BETWEEN ('aa','bb')' using DBD::File -ok 545 - parse 'SELECT * FROM bar WHERE foo NOT BETWEEN (1.41,9.81)' using DBD::File -not ok 546 - parse 'UPDATE foo SET bar=REPEAT(status, BIT_LENGTH(str)), bop=7, bump=bar+POSITION(str1, str2), blat=SUBSTRING(bar FROM ASCII(status) FOR CHAR_LENGTH(str))' using DBD::File # TODO Analyze failures -# Failed (TODO) test 'parse 'UPDATE foo SET bar=REPEAT(status, BIT_LENGTH(str)), bop=7, bump=bar+POSITION(str1, str2), blat=SUBSTRING(bar FROM ASCII(status) FOR CHAR_LENGTH(str))' using DBD::File' +ok 283 - parse ' /* DROP TABLE */' using DBD::DBM +ok 284 - parse 'DROP TABLE foo' using DBD::DBM +ok 285 - parse 'DROP TABLE foo CASCADE' using DBD::DBM +ok 286 - parse 'DROP TABLE foo RESTRICT' using DBD::DBM +ok 287 - parse ' /* DELETE */' using DBD::DBM +ok 288 - parse 'DELETE FROM foo' using DBD::DBM +ok 289 - parse 'DELETE FROM foo WHERE id < 7' using DBD::DBM +ok 290 - parse ' /* UPDATE */' using DBD::DBM +ok 291 - parse 'UPDATE foo SET bar = 7' using DBD::DBM +ok 292 - parse 'UPDATE foo SET bar = 7 WHERE id > 7' using DBD::DBM +ok 293 - parse ' /* INSERT */' using DBD::DBM +ok 294 - parse 'INSERT INTO foo VALUES ( 'baz', 7, NULL )' using DBD::DBM +ok 295 - parse 'INSERT INTO foo (col1,col2,col7) VALUES ( 'baz', 7, NULL )' using DBD::DBM +ok 296 - parse 'INSERT INTO foo VALUES ( now(), trim(lower(user)), curdate-1 )' using DBD::DBM +ok 297 - parse 'INSERT INTO foo VALUES ( 'smile :-),(-: twice)', ' \' ) ' )' using DBD::DBM +ok 298 - parse 'INSERT INTO foo VALUES (1,'row'),(2,'rows')' using DBD::DBM +ok 299 - parse ' /* CREATE TABLE */' using DBD::DBM +ok 300 - parse 'CREATE TABLE foo ( id INT )' using DBD::DBM +ok 301 - parse 'CREATE LOCAL TEMPORARY TABLE foo (id INT)' using DBD::DBM +ok 302 - parse 'CREATE LOCAL TEMPORARY TABLE foo (id INT) ON COMMIT DELETE ROWS' using DBD::DBM +ok 303 - parse 'CREATE LOCAL TEMPORARY TABLE foo (id INT) ON COMMIT PRESERVE ROWS' using DBD::DBM +ok 304 - parse 'CREATE GLOBAL TEMPORARY TABLE foo (id INT)' using DBD::DBM +ok 305 - parse 'CREATE GLOBAL TEMPORARY TABLE foo (id INT) ON COMMIT DELETE ROWS' using DBD::DBM +ok 306 - parse 'CREATE GLOBAL TEMPORARY TABLE foo (id INT) ON COMMIT PRESERVE ROWS' using DBD::DBM +ok 307 - parse 'CREATE TABLE foo ( id INTEGER, phrase VARCHAR(40) )' using DBD::DBM +ok 308 - parse 'CREATE TABLE foo ( id INTEGER UNIQUE, phrase VARCHAR(40) UNIQUE )' using DBD::DBM +ok 309 - parse 'CREATE TABLE foo ( id INTEGER PRIMARY KEY, phrase VARCHAR(40) UNIQUE )' using DBD::DBM +ok 310 - parse 'CREATE TABLE foo ( id INTEGER PRIMARY KEY, phrase VARCHAR(40) NOT NULL )' using DBD::DBM +ok 311 - parse 'CREATE TABLE foo ( id INTEGER NOT NULL, phrase VARCHAR(40) NOT NULL )' using DBD::DBM +ok 312 - parse 'CREATE TABLE foo ( id INTEGER UNIQUE NOT NULL, phrase VARCHAR(40) )' using DBD::DBM +ok 313 - parse 'CREATE TABLE foo ( phrase CHARACTER VARYING(255) )' using DBD::DBM +ok 314 - parse 'CREATE TABLE foo ( phrase NUMERIC(4,6) )' using DBD::DBM +ok 315 - parse 'CREATE TABLE foo ( id INTEGER, phrase VARCHAR(40), CONSTRAINT "foo_pkey" PRIMARY KEY ( "id", "phrase" ), CONSTRAINT "foo_fkey" FOREIGN KEY ( "id" ) REFERENCES "bar" ( "bar_id" ))' using DBD::DBM +ok 316 - parse 'CREATE TABLE foo ( id INTEGER, phrase VARCHAR(40), PRIMARY KEY ( "id" ), FOREIGN KEY ("id", "phrase") REFERENCES "bar" ("id2", "phrase2"))' using DBD::DBM +ok 317 - parse 'CREATE TABLE foo ( id INTEGER, phrase CHAR(255), phrase2 VARCHAR(40), CONSTRAINT "foo_pkey" PRIMARY KEY ( "id", phrase, "phrase2" ), CONSTRAINT "foo_fkey" FOREIGN KEY ("id", "phrase", "phrase2") REFERENCES "bar" ("id2", "phrase2", "phase10"))' using DBD::DBM +ok 318 - parse ' /* JOINS */' using DBD::DBM +ok 319 - parse 'SELECT Lnum,Llet,Ulet FROM zLower NATURAL INNER JOIN zUpper' using DBD::DBM +ok 320 - parse 'SELECT Lnum,Llet,Ulet FROM zLower NATURAL LEFT JOIN zUpper' using DBD::DBM +ok 321 - parse 'SELECT Lnum,Llet,Ulet FROM zLower NATURAL RIGHT JOIN zUpper' using DBD::DBM +ok 322 - parse 'SELECT Lnum,Llet,Ulet FROM zLower NATURAL FULL JOIN zUpper' using DBD::DBM +ok 323 - parse 'SELECT Lnum,Llet,Ulet FROM zLower INNER JOIN zUpper ON Lnum = Unum' using DBD::DBM +ok 324 - parse 'SELECT Lnum,Llet,Ulet FROM zLower LEFT JOIN zUpper ON Lnum = Unum' using DBD::DBM +ok 325 - parse 'SELECT Lnum,Llet,Ulet FROM zLower RIGHT JOIN zUpper ON Lnum = Unum' using DBD::DBM +ok 326 - parse 'SELECT Lnum,Llet,Ulet FROM zLower FULL JOIN zUpper ON Lnum = Unum' using DBD::DBM +ok 327 - parse 'SELECT Lnum,Llet,Ulet FROM zLower INNER JOIN zUpper USING(num)' using DBD::DBM +ok 328 - parse 'SELECT Lnum,Llet,Ulet FROM zLower LEFT JOIN zUpper USING(num)' using DBD::DBM +ok 329 - parse 'SELECT Lnum,Llet,Ulet FROM zLower RIGHT JOIN zUpper USING(num)' using DBD::DBM +ok 330 - parse 'SELECT Lnum,Llet,Ulet FROM zLower FULL JOIN zUpper USING(num)' using DBD::DBM +ok 331 - parse 'SELECT Lnum,Llet,Ulet FROM zLower,zUpper WHERE Lnum = Unum' using DBD::DBM +ok 332 - parse 'SELECT * FROM zLower NATURAL INNER JOIN zUpper' using DBD::DBM +ok 333 - parse 'SELECT * FROM zLower NATURAL LEFT JOIN zUpper' using DBD::DBM +ok 334 - parse 'SELECT * FROM zLower NATURAL RIGHT JOIN zUpper' using DBD::DBM +ok 335 - parse 'SELECT * FROM zLower NATURAL FULL JOIN zUpper' using DBD::DBM +ok 336 - parse 'SELECT * FROM zLower INNER JOIN zUpper ON Lnum = Unum' using DBD::DBM +ok 337 - parse 'SELECT * FROM zLower LEFT JOIN zUpper ON Lnum = Unum' using DBD::DBM +ok 338 - parse 'SELECT * FROM zLower RIGHT JOIN zUpper ON Lnum = Unum' using DBD::DBM +ok 339 - parse 'SELECT * FROM zLower FULL JOIN zUpper ON Lnum = Unum' using DBD::DBM +ok 340 - parse 'SELECT * FROM zLower INNER JOIN zUpper USING(num)' using DBD::DBM +ok 341 - parse 'SELECT * FROM zLower LEFT JOIN zUpper USING(num)' using DBD::DBM +ok 342 - parse 'SELECT * FROM zLower RIGHT JOIN zUpper USING(num)' using DBD::DBM +ok 343 - parse 'SELECT * FROM zLower FULL JOIN zUpper USING(num)' using DBD::DBM +ok 344 - parse 'SELECT * FROM zLower,zUpper WHERE Lnum = Unum' using DBD::DBM +ok 345 - parse ' /* SELECT COLUMNS */' using DBD::DBM +ok 346 - parse 'SELECT id, phrase FROM foo' using DBD::DBM +ok 347 - parse 'SELECT * FROM foo' using DBD::DBM +ok 348 - parse 'SELECT DISTINCT * FROM foo' using DBD::DBM +ok 349 - parse 'SELECT ALL * FROM foo' using DBD::DBM +ok 350 - parse 'SELECT A.*,B.* FROM A,B WHERE A.id=B.id' using DBD::DBM +ok 351 - parse ' /* SET FUNCTIONS */' using DBD::DBM +ok 352 - parse 'SELECT MAX(foo) FROM bar' using DBD::DBM +ok 353 - parse 'SELECT MIN(foo) FROM bar' using DBD::DBM +ok 354 - parse 'SELECT AVG(foo) FROM bar' using DBD::DBM +ok 355 - parse 'SELECT SUM(foo) FROM bar' using DBD::DBM +ok 356 - parse 'SELECT COUNT(foo) FROM foo' using DBD::DBM +ok 357 - parse 'SELECT COUNT(*) FROM foo' using DBD::DBM +ok 358 - parse 'SELECT SUM(DISTINCT foo) FROM bar' using DBD::DBM +ok 359 - parse 'SELECT SUM(ALL foo) FROM bar' using DBD::DBM +ok 360 - parse ' /* ORDER BY */' using DBD::DBM +ok 361 - parse 'SELECT * FROM foo ORDER BY bar' using DBD::DBM +ok 362 - parse 'SELECT * FROM foo ORDER BY bar, baz' using DBD::DBM +ok 363 - parse 'SELECT * FROM foo ORDER BY bar DESC' using DBD::DBM +ok 364 - parse 'SELECT * FROM foo ORDER BY bar ASC' using DBD::DBM +ok 365 - parse ' /* LIMIT */' using DBD::DBM +ok 366 - parse 'SELECT * FROM foo LIMIT 5' using DBD::DBM +ok 367 - parse 'SELECT * FROM foo LIMIT 0, 5' using DBD::DBM +ok 368 - parse 'SELECT * FROM foo LIMIT 5, 10' using DBD::DBM +ok 369 - parse '/* DATE/TIME FUNCTIONS */' using DBD::DBM +ok 370 - parse 'SELECT CURRENT_DATE()' using DBD::DBM +ok 371 - parse 'SELECT CURRENT_TIME()' using DBD::DBM +ok 372 - parse 'SELECT CURRENT_TIMESTAMP()' using DBD::DBM +ok 373 - parse 'SELECT CURDATE()' using DBD::DBM +ok 374 - parse 'SELECT CURTIME()' using DBD::DBM +ok 375 - parse 'SELECT NOW()' using DBD::DBM +ok 376 - parse 'SELECT UNIX_TIMESTAMP() ' using DBD::DBM +ok 377 - parse 'SELECT CURRENT_TIME(2)' using DBD::DBM +ok 378 - parse 'SELECT CURRENT_TIMESTAMP(2)' using DBD::DBM +ok 379 - parse 'SELECT CURTIME(2)' using DBD::DBM +ok 380 - parse 'SELECT NOW(2)' using DBD::DBM +ok 381 - parse 'SELECT UNIX_TIMESTAMP(2)' using DBD::DBM +ok 382 - parse ' /* STRING FUNCTIONS */' using DBD::DBM +ok 383 - parse 'SELECT * FROM foo WHERE ASCII(status) = 65' using DBD::DBM +ok 384 - parse 'SELECT * FROM foo WHERE CHAR(code) = 'A'' using DBD::DBM +ok 385 - parse 'SELECT * FROM foo WHERE CHAR(chr1,chr2,chr3) = 'ABC'' using DBD::DBM +ok 386 - parse 'SELECT * FROM foo WHERE BIT_LENGTH(str) = 27' using DBD::DBM +ok 387 - parse 'SELECT * FROM foo WHERE CHARACTER_LENGTH(str) = 6' using DBD::DBM +ok 388 - parse 'SELECT * FROM foo WHERE CHAR_LENGTH(str) = 6' using DBD::DBM +ok 389 - parse 'SELECT * FROM foo WHERE COALESCE(NULL, status) = 'bar'' using DBD::DBM +ok 390 - parse 'SELECT * FROM foo WHERE NVL(NULL, status) = 'bar'' using DBD::DBM +ok 391 - parse 'SELECT * FROM foo WHERE IFNULL(NULL, status) = 'bar'' using DBD::DBM +ok 392 - parse 'SELECT * FROM foo WHERE CONCAT(str1, str2) = 'bar'' using DBD::DBM +ok 393 - parse 'SELECT * FROM foo WHERE DECODE(color,'White','W','Red','R','B') = 'W'' using DBD::DBM +ok 394 - parse 'SELECT * FROM foo WHERE INSERT(str1, 4, 5, str2) = 'foobarland'' using DBD::DBM +ok 395 - parse 'SELECT * FROM foo WHERE LEFT(phrase) = 'bar'' using DBD::DBM +ok 396 - parse 'SELECT * FROM foo WHERE RIGHT(phrase) = 'bar'' using DBD::DBM +ok 397 - parse 'SELECT * FROM foo WHERE LOCATE(str1, str2) = 2' using DBD::DBM +ok 398 - parse 'SELECT * FROM foo WHERE LOCATE(str1, str2, 3) = 5' using DBD::DBM +ok 399 - parse 'SELECT * FROM foo WHERE POSITION(str1, str2) = 2' using DBD::DBM +ok 400 - parse 'SELECT * FROM foo WHERE POSITION(str1, str2, 3) = 5' using DBD::DBM +ok 401 - parse 'SELECT * FROM foo WHERE LOWER(phrase) = 'bar'' using DBD::DBM +ok 402 - parse 'SELECT * FROM foo WHERE UPPER(phrase) = 'BAR'' using DBD::DBM +ok 403 - parse 'SELECT * FROM foo WHERE LCASE(phrase) = 'BAR'' using DBD::DBM +ok 404 - parse 'SELECT * FROM foo WHERE UCASE(phrase) = 'bar'' using DBD::DBM +ok 405 - parse 'SELECT * FROM foo WHERE LTRIM(str) = 'bar'' using DBD::DBM +ok 406 - parse 'SELECT * FROM foo WHERE RTRIM(str) = 'bar'' using DBD::DBM +ok 407 - parse 'SELECT * FROM foo WHERE OCTET_LENGTH(str) = 12' using DBD::DBM +ok 408 - parse 'SELECT * FROM foo WHERE REGEX(phrase, '/EF/i') = TRUE' using DBD::DBM +ok 409 - parse 'SELECT * FROM foo WHERE REPEAT(status, 3) = 'AAA'' using DBD::DBM +ok 410 - parse 'SELECT * FROM foo WHERE REPLACE(phrase, 's/z(.+)ky//i') = 'bar'' using DBD::DBM +ok 411 - parse 'SELECT * FROM foo WHERE SUBSTITUTE(phrase, 's/z(.+)ky//i') = 'bar'' using DBD::DBM +ok 412 - parse 'SELECT * FROM foo WHERE SOUNDEX(name1, name2) = TRUE' using DBD::DBM +ok 413 - parse 'SELECT * FROM foo WHERE SPACE(num) = ' '' using DBD::DBM +ok 414 - parse 'SELECT * FROM foo WHERE blat = SUBSTRING(bar FROM 3 FOR 6)' using DBD::DBM +ok 415 - parse 'SELECT * FROM foo WHERE blat = SUBSTRING(bar FROM 3)' using DBD::DBM +ok 416 - parse 'SELECT * FROM foo WHERE blat = SUBSTR(bar, 3, 6)' using DBD::DBM +ok 417 - parse 'SELECT * FROM foo WHERE blat = SUBSTR(bar, 3)' using DBD::DBM +ok 418 - parse 'SELECT * FROM foo WHERE blat = TRANSLATE(bar, set1, set2)' using DBD::DBM +ok 419 - parse 'SELECT * FROM foo WHERE TRIM( str ) = 'bar'' using DBD::DBM +ok 420 - parse 'SELECT * FROM foo WHERE TRIM( LEADING FROM str ) = 'bar'' using DBD::DBM +ok 421 - parse 'SELECT * FROM foo WHERE TRIM( TRAILING FROM str ) = 'bar'' using DBD::DBM +ok 422 - parse 'SELECT * FROM foo WHERE TRIM( BOTH FROM str ) = 'bar'' using DBD::DBM +ok 423 - parse 'SELECT * FROM foo WHERE TRIM( LEADING ';' FROM str ) = 'bar'' using DBD::DBM +ok 424 - parse 'SELECT * FROM foo WHERE TRIM( UPPER(phrase) ) = 'bar'' using DBD::DBM +ok 425 - parse 'SELECT * FROM foo WHERE TRIM( LOWER(phrase) ) = 'bar'' using DBD::DBM +ok 426 - parse 'UPDATE foo SET bar='baz', bop=7, bump=bar+8, blat=SUBSTRING(bar FROM 3 FOR 6)' using DBD::DBM +ok 427 - parse ' /* NUMERIC FUNCTIONS */' using DBD::DBM +ok 428 - parse 'SELECT * FROM bar WHERE ABS(-4) = 4' using DBD::DBM +ok 429 - parse 'SELECT * FROM bar WHERE CEILING(-4.5) = -4' using DBD::DBM +ok 430 - parse 'SELECT * FROM bar WHERE CEIL(-4.9) = -4' using DBD::DBM +ok 431 - parse 'SELECT * FROM bar WHERE FLOOR(4.999999999999) = 4' using DBD::DBM +ok 432 - parse 'SELECT * FROM bar WHERE LOG(6) = LOG10(6)' using DBD::DBM +ok 433 - parse 'SELECT * FROM bar WHERE LN(1) = EXP(1)' using DBD::DBM +ok 434 - parse 'SELECT * FROM bar WHERE MOD(8, 5) = 3' using DBD::DBM +ok 435 - parse 'SELECT * FROM bar WHERE POWER(2, 4) = 16' using DBD::DBM +ok 436 - parse 'SELECT * FROM bar WHERE POW(2, 4) = 16' using DBD::DBM +ok 437 - parse 'SELECT * FROM bar WHERE RAND(2) = 0' using DBD::DBM +ok 438 - parse 'SELECT * FROM bar WHERE RAND(2, UNIX_TIMESTAMP()) = 0' using DBD::DBM +ok 439 - parse 'SELECT * FROM bar WHERE ROUND(4.999999999999) = 5' using DBD::DBM +ok 440 - parse 'SELECT * FROM bar WHERE ROUND(4.542222222222, 1) = 4.5' using DBD::DBM +ok 441 - parse 'SELECT * FROM bar WHERE SIGN(-25.5) = -1' using DBD::DBM +ok 442 - parse 'SELECT * FROM bar WHERE SIGN(53645) = 1' using DBD::DBM +ok 443 - parse 'SELECT * FROM bar WHERE SIGN(0) = 0' using DBD::DBM +ok 444 - parse 'SELECT * FROM bar WHERE SIGN(NULL) = NULL' using DBD::DBM +ok 445 - parse 'SELECT * FROM bar WHERE SQRT(64) = 8' using DBD::DBM +ok 446 - parse 'SELECT * FROM bar WHERE TRUNCATE(4.999999999999) = 4' using DBD::DBM +ok 447 - parse 'SELECT * FROM bar WHERE TRUNC(-4.9) = -4' using DBD::DBM +ok 448 - parse 'SELECT * FROM bar WHERE TRUNCATE(4.934, 1) = 4.9' using DBD::DBM +ok 449 - parse 'SELECT * FROM bar WHERE TRUNC(-4.99999, 1) = -4.9' using DBD::DBM +ok 450 - parse ' /* TRIGONOMETRIC FUNCTIONS */' using DBD::DBM +ok 451 - parse 'SELECT * FROM test WHERE ACOS(x)' using DBD::DBM +ok 452 - parse 'SELECT * FROM test WHERE ACOSEC(x)' using DBD::DBM +ok 453 - parse 'SELECT * FROM test WHERE ACOSECH(x)' using DBD::DBM +ok 454 - parse 'SELECT * FROM test WHERE ACOSH(x)' using DBD::DBM +ok 455 - parse 'SELECT * FROM test WHERE ACOT(x)' using DBD::DBM +ok 456 - parse 'SELECT * FROM test WHERE ACOTAN(x)' using DBD::DBM +ok 457 - parse 'SELECT * FROM test WHERE ACOTANH(x)' using DBD::DBM +ok 458 - parse 'SELECT * FROM test WHERE ACOTH(x)' using DBD::DBM +ok 459 - parse 'SELECT * FROM test WHERE ACSC(x)' using DBD::DBM +ok 460 - parse 'SELECT * FROM test WHERE ACSCH(x)' using DBD::DBM +ok 461 - parse 'SELECT * FROM test WHERE ASEC(x)' using DBD::DBM +ok 462 - parse 'SELECT * FROM test WHERE ASECH(x)' using DBD::DBM +ok 463 - parse 'SELECT * FROM test WHERE ASIN(x)' using DBD::DBM +ok 464 - parse 'SELECT * FROM test WHERE ASINH(x)' using DBD::DBM +ok 465 - parse 'SELECT * FROM test WHERE ATAN(x)' using DBD::DBM +ok 466 - parse 'SELECT * FROM test WHERE ATAN2(y, x)' using DBD::DBM +ok 467 - parse 'SELECT * FROM test WHERE ATANH(x)' using DBD::DBM +ok 468 - parse 'SELECT * FROM test WHERE COS(x)' using DBD::DBM +ok 469 - parse 'SELECT * FROM test WHERE COSEC(x)' using DBD::DBM +ok 470 - parse 'SELECT * FROM test WHERE COSECH(x)' using DBD::DBM +ok 471 - parse 'SELECT * FROM test WHERE COSH(x)' using DBD::DBM +ok 472 - parse 'SELECT * FROM test WHERE COT(x)' using DBD::DBM +ok 473 - parse 'SELECT * FROM test WHERE COTAN(x)' using DBD::DBM +ok 474 - parse 'SELECT * FROM test WHERE COTANH(x)' using DBD::DBM +ok 475 - parse 'SELECT * FROM test WHERE COTH(x)' using DBD::DBM +ok 476 - parse 'SELECT * FROM test WHERE CSC(x)' using DBD::DBM +ok 477 - parse 'SELECT * FROM test WHERE CSCH(x)' using DBD::DBM +ok 478 - parse 'SELECT * FROM test WHERE DEG2DEG(deg)' using DBD::DBM +ok 479 - parse 'SELECT * FROM test WHERE RAD2RAD(rad)' using DBD::DBM +ok 480 - parse 'SELECT * FROM test WHERE GRAD2GRAD(grad)' using DBD::DBM +ok 481 - parse 'SELECT * FROM test WHERE DEG2GRAD(deg)' using DBD::DBM +ok 482 - parse 'SELECT * FROM test WHERE DEG2RAD(deg)' using DBD::DBM +ok 483 - parse 'SELECT * FROM test WHERE GRAD2DEG(grad)' using DBD::DBM +ok 484 - parse 'SELECT * FROM test WHERE GRAD2RAD(grad)' using DBD::DBM +ok 485 - parse 'SELECT * FROM test WHERE RAD2DEG(rad)' using DBD::DBM +ok 486 - parse 'SELECT * FROM test WHERE RAD2GRAD(rad)' using DBD::DBM +ok 487 - parse 'SELECT * FROM test WHERE DEGREES(rad)' using DBD::DBM +ok 488 - parse 'SELECT * FROM test WHERE RADIANS(deg)' using DBD::DBM +ok 489 - parse 'SELECT * FROM test WHERE DEG2DEG(deg, TRUE)' using DBD::DBM +ok 490 - parse 'SELECT * FROM test WHERE RAD2RAD(rad, TRUE)' using DBD::DBM +ok 491 - parse 'SELECT * FROM test WHERE GRAD2GRAD(grad, TRUE)' using DBD::DBM +ok 492 - parse 'SELECT * FROM test WHERE DEG2GRAD(deg, TRUE)' using DBD::DBM +ok 493 - parse 'SELECT * FROM test WHERE DEG2RAD(deg, TRUE)' using DBD::DBM +ok 494 - parse 'SELECT * FROM test WHERE GRAD2DEG(grad, TRUE)' using DBD::DBM +ok 495 - parse 'SELECT * FROM test WHERE GRAD2RAD(grad, TRUE)' using DBD::DBM +ok 496 - parse 'SELECT * FROM test WHERE RAD2DEG(rad, TRUE)' using DBD::DBM +ok 497 - parse 'SELECT * FROM test WHERE RAD2GRAD(rad, TRUE)' using DBD::DBM +ok 498 - parse 'SELECT * FROM test WHERE DEGREES(rad, TRUE)' using DBD::DBM +ok 499 - parse 'SELECT * FROM test WHERE RADIANS(deg, TRUE)' using DBD::DBM +ok 500 - parse 'SELECT * FROM test WHERE PI()' using DBD::DBM +ok 501 - parse 'SELECT * FROM test WHERE SEC(x)' using DBD::DBM +ok 502 - parse 'SELECT * FROM test WHERE SECH(x)' using DBD::DBM +ok 503 - parse 'SELECT * FROM test WHERE SIN(x)' using DBD::DBM +ok 504 - parse 'SELECT * FROM test WHERE SINH(x)' using DBD::DBM +ok 505 - parse 'SELECT * FROM test WHERE TAN(x)' using DBD::DBM +ok 506 - parse 'SELECT * FROM test WHERE TANH(x)' using DBD::DBM +ok 507 - parse ' /* SYSTEM FUNCTIONS */' using DBD::DBM +ok 508 - parse 'SELECT * FROM ztable WHERE DBNAME() = foobar' using DBD::DBM +ok 509 - parse 'SELECT * FROM ztable WHERE USERNAME() = foobar' using DBD::DBM +ok 510 - parse 'SELECT * FROM ztable WHERE USER() = foobar' using DBD::DBM +ok 511 - parse ' /* TABLE NAME ALIASES */' using DBD::DBM +ok 512 - parse 'SELECT * FROM test as T1' using DBD::DBM +ok 513 - parse 'SELECT * FROM test T1' using DBD::DBM +ok 514 - parse 'SELECT T1.id, T2.num FROM test as T1 JOIN test2 as T2 USING(id)' using DBD::DBM +ok 515 - parse 'SELECT id FROM test as T1 WHERE T1.num < 7' using DBD::DBM +ok 516 - parse 'SELECT id FROM test as T1 ORDER BY T1.num' using DBD::DBM +ok 517 - parse 'SELECT a.x,b.y FROM foo AS a, bar b WHERE a.baz = b.bop ORDER BY a.blat' using DBD::DBM +ok 518 - parse ' /* NUMERIC EXPRESSIONS */' using DBD::DBM +ok 519 - parse 'SELECT * FROM foo WHERE 1 = 0 AND baz < (6*foo+11-r)' using DBD::DBM +ok 520 - parse ' /* CASE OF IDENTIFIERS */' using DBD::DBM +ok 521 - parse 'SELECT ID, phRase FROM tEst AS tE WHERE te.id < 3 ORDER BY TE.phrasE' using DBD::DBM +ok 522 - parse ' /* PARENS */' using DBD::DBM +ok 523 - parse 'SELECT * FROM ztable WHERE NOT data IN ('one','two')' using DBD::DBM +ok 524 - parse 'SELECT * from ztable WHERE (aaa > 'AAA')' using DBD::DBM +ok 525 - parse 'SELECT * from ztable WHERE sev = 50 OR sev = 60' using DBD::DBM +ok 526 - parse 'SELECT * from ztable WHERE (sev = 50 OR sev = 60)' using DBD::DBM +ok 527 - parse 'SELECT * from ztable WHERE sev IN (50,60)' using DBD::DBM +ok 528 - parse 'SELECT * from ztable WHERE rc > 200 AND ( sev IN(50,60) )' using DBD::DBM +ok 529 - parse 'SELECT * FROM ztable WHERE data NOT IN ('one','two')' using DBD::DBM +ok 530 - parse 'SELECT * from ztable WHERE (aaa > 'AAA') AND (zzz < 'ZZZ')' using DBD::DBM +ok 531 - parse 'SELECT * from ztable WHERE (sev IN(50,60))' using DBD::DBM +ok 532 - parse ' /* NOT */' using DBD::DBM +ok 533 - parse 'SELECT * FROM foo WHERE NOT bar = 'baz' AND bop = 7 OR NOT blat = bar' using DBD::DBM +ok 534 - parse 'SELECT * FROM foo WHERE NOT bar = 'baz' AND NOT bop = 7 OR NOT blat = bar' using DBD::DBM +ok 535 - parse 'SELECT * FROM foo WHERE NOT bar = 'baz' AND NOT bop = 7 OR blat IS NOT NULL' using DBD::DBM +ok 536 - parse ' /* IN */' using DBD::DBM +ok 537 - parse 'SELECT * FROM bar WHERE foo IN ('aa','ab','ba','bb')' using DBD::DBM +ok 538 - parse 'SELECT * FROM bar WHERE foo IN (3.14,2.72,1.41,9.81)' using DBD::DBM +ok 539 - parse 'SELECT * FROM bar WHERE foo NOT IN ('aa','ab','ba','bb')' using DBD::DBM +ok 540 - parse 'SELECT * FROM bar WHERE foo NOT IN (3.14,2.72,1.41,9.81)' using DBD::DBM +ok 541 - parse ' /* BETWEEN */' using DBD::DBM +ok 542 - parse 'SELECT * FROM bar WHERE foo BETWEEN ('aa','bb')' using DBD::DBM +ok 543 - parse 'SELECT * FROM bar WHERE foo BETWEEN (1.41,9.81)' using DBD::DBM +ok 544 - parse 'SELECT * FROM bar WHERE foo NOT BETWEEN ('aa','bb')' using DBD::DBM +ok 545 - parse 'SELECT * FROM bar WHERE foo NOT BETWEEN (1.41,9.81)' using DBD::DBM +not ok 546 - parse 'UPDATE foo SET bar=REPEAT(status, BIT_LENGTH(str)), bop=7, bump=bar+POSITION(str1, str2), blat=SUBSTRING(bar FROM ASCII(status) FOR CHAR_LENGTH(str))' using DBD::DBM # TODO Analyze failures +# Failed (TODO) test 'parse 'UPDATE foo SET bar=REPEAT(status, BIT_LENGTH(str)), bop=7, bump=bar+POSITION(str1, str2), blat=SUBSTRING(bar FROM ASCII(status) FOR CHAR_LENGTH(str))' using DBD::DBM' # at t/01prepare.t line 312. # Incomplete SET clause! -not ok 547 - parse 'SELECT * FROM bar WHERE EXP(1) = SINH(1)+COSH(1)' using DBD::File # TODO Analyze failures -# Failed (TODO) test 'parse 'SELECT * FROM bar WHERE EXP(1) = SINH(1)+COSH(1)' using DBD::File' +not ok 547 - parse 'SELECT * FROM bar WHERE EXP(1) = SINH(1)+COSH(1)' using DBD::DBM # TODO Analyze failures +# Failed (TODO) test 'parse 'SELECT * FROM bar WHERE EXP(1) = SINH(1)+COSH(1)' using DBD::DBM' # at t/01prepare.t line 312. # # Execution ERROR: Unknown predicate '{$VAR1 = {}; # }' called from /usr/lib/x86_64-linux-gnu/perl5/5.28/DBI/DBD/SqlEngine.pm at 335. # -not ok 548 - parse 'SELECT * FROM bar WHERE LOG(8, 2) = LOG10(8) / LOG10(2)' using DBD::File # TODO Analyze failures -# Failed (TODO) test 'parse 'SELECT * FROM bar WHERE LOG(8, 2) = LOG10(8) / LOG10(2)' using DBD::File' +not ok 548 - parse 'SELECT * FROM bar WHERE LOG(8, 2) = LOG10(8) / LOG10(2)' using DBD::DBM # TODO Analyze failures +# Failed (TODO) test 'parse 'SELECT * FROM bar WHERE LOG(8, 2) = LOG10(8) / LOG10(2)' using DBD::DBM' # at t/01prepare.t line 312. # # Execution ERROR: Unknown predicate '{$VAR1 = {}; @@ -1162,7 +1197,7 @@ # Command SELECT # Num Pholders 1 # Columns -# Tables SQL::Statement::Table=HASH(0x564cf0833a40),SQL::Statement::Table=HASH(0x564cf0845398) +# Tables SQL::Statement::Table=HASH(0x56212c11f398),SQL::Statement::Table=HASH(0x56212c06f828) # Where op AND # Limit 2 # Offset 5 @@ -1173,282 +1208,282 @@ ok 562 - structure ok 563 - command ok 564 - distinct -ok 565 - parse ' /* DROP TABLE */' using DBD::DBM -ok 566 - parse 'DROP TABLE foo' using DBD::DBM -ok 567 - parse 'DROP TABLE foo CASCADE' using DBD::DBM -ok 568 - parse 'DROP TABLE foo RESTRICT' using DBD::DBM -ok 569 - parse ' /* DELETE */' using DBD::DBM -ok 570 - parse 'DELETE FROM foo' using DBD::DBM -ok 571 - parse 'DELETE FROM foo WHERE id < 7' using DBD::DBM -ok 572 - parse ' /* UPDATE */' using DBD::DBM -ok 573 - parse 'UPDATE foo SET bar = 7' using DBD::DBM -ok 574 - parse 'UPDATE foo SET bar = 7 WHERE id > 7' using DBD::DBM -ok 575 - parse ' /* INSERT */' using DBD::DBM -ok 576 - parse 'INSERT INTO foo VALUES ( 'baz', 7, NULL )' using DBD::DBM -ok 577 - parse 'INSERT INTO foo (col1,col2,col7) VALUES ( 'baz', 7, NULL )' using DBD::DBM -ok 578 - parse 'INSERT INTO foo VALUES ( now(), trim(lower(user)), curdate-1 )' using DBD::DBM -ok 579 - parse 'INSERT INTO foo VALUES ( 'smile :-),(-: twice)', ' \' ) ' )' using DBD::DBM -ok 580 - parse 'INSERT INTO foo VALUES (1,'row'),(2,'rows')' using DBD::DBM -ok 581 - parse ' /* CREATE TABLE */' using DBD::DBM -ok 582 - parse 'CREATE TABLE foo ( id INT )' using DBD::DBM -ok 583 - parse 'CREATE LOCAL TEMPORARY TABLE foo (id INT)' using DBD::DBM -ok 584 - parse 'CREATE LOCAL TEMPORARY TABLE foo (id INT) ON COMMIT DELETE ROWS' using DBD::DBM -ok 585 - parse 'CREATE LOCAL TEMPORARY TABLE foo (id INT) ON COMMIT PRESERVE ROWS' using DBD::DBM -ok 586 - parse 'CREATE GLOBAL TEMPORARY TABLE foo (id INT)' using DBD::DBM -ok 587 - parse 'CREATE GLOBAL TEMPORARY TABLE foo (id INT) ON COMMIT DELETE ROWS' using DBD::DBM -ok 588 - parse 'CREATE GLOBAL TEMPORARY TABLE foo (id INT) ON COMMIT PRESERVE ROWS' using DBD::DBM -ok 589 - parse 'CREATE TABLE foo ( id INTEGER, phrase VARCHAR(40) )' using DBD::DBM -ok 590 - parse 'CREATE TABLE foo ( id INTEGER UNIQUE, phrase VARCHAR(40) UNIQUE )' using DBD::DBM -ok 591 - parse 'CREATE TABLE foo ( id INTEGER PRIMARY KEY, phrase VARCHAR(40) UNIQUE )' using DBD::DBM -ok 592 - parse 'CREATE TABLE foo ( id INTEGER PRIMARY KEY, phrase VARCHAR(40) NOT NULL )' using DBD::DBM -ok 593 - parse 'CREATE TABLE foo ( id INTEGER NOT NULL, phrase VARCHAR(40) NOT NULL )' using DBD::DBM -ok 594 - parse 'CREATE TABLE foo ( id INTEGER UNIQUE NOT NULL, phrase VARCHAR(40) )' using DBD::DBM -ok 595 - parse 'CREATE TABLE foo ( phrase CHARACTER VARYING(255) )' using DBD::DBM -ok 596 - parse 'CREATE TABLE foo ( phrase NUMERIC(4,6) )' using DBD::DBM -ok 597 - parse 'CREATE TABLE foo ( id INTEGER, phrase VARCHAR(40), CONSTRAINT "foo_pkey" PRIMARY KEY ( "id", "phrase" ), CONSTRAINT "foo_fkey" FOREIGN KEY ( "id" ) REFERENCES "bar" ( "bar_id" ))' using DBD::DBM -ok 598 - parse 'CREATE TABLE foo ( id INTEGER, phrase VARCHAR(40), PRIMARY KEY ( "id" ), FOREIGN KEY ("id", "phrase") REFERENCES "bar" ("id2", "phrase2"))' using DBD::DBM -ok 599 - parse 'CREATE TABLE foo ( id INTEGER, phrase CHAR(255), phrase2 VARCHAR(40), CONSTRAINT "foo_pkey" PRIMARY KEY ( "id", phrase, "phrase2" ), CONSTRAINT "foo_fkey" FOREIGN KEY ("id", "phrase", "phrase2") REFERENCES "bar" ("id2", "phrase2", "phase10"))' using DBD::DBM -ok 600 - parse ' /* JOINS */' using DBD::DBM -ok 601 - parse 'SELECT Lnum,Llet,Ulet FROM zLower NATURAL INNER JOIN zUpper' using DBD::DBM -ok 602 - parse 'SELECT Lnum,Llet,Ulet FROM zLower NATURAL LEFT JOIN zUpper' using DBD::DBM -ok 603 - parse 'SELECT Lnum,Llet,Ulet FROM zLower NATURAL RIGHT JOIN zUpper' using DBD::DBM -ok 604 - parse 'SELECT Lnum,Llet,Ulet FROM zLower NATURAL FULL JOIN zUpper' using DBD::DBM -ok 605 - parse 'SELECT Lnum,Llet,Ulet FROM zLower INNER JOIN zUpper ON Lnum = Unum' using DBD::DBM -ok 606 - parse 'SELECT Lnum,Llet,Ulet FROM zLower LEFT JOIN zUpper ON Lnum = Unum' using DBD::DBM -ok 607 - parse 'SELECT Lnum,Llet,Ulet FROM zLower RIGHT JOIN zUpper ON Lnum = Unum' using DBD::DBM -ok 608 - parse 'SELECT Lnum,Llet,Ulet FROM zLower FULL JOIN zUpper ON Lnum = Unum' using DBD::DBM -ok 609 - parse 'SELECT Lnum,Llet,Ulet FROM zLower INNER JOIN zUpper USING(num)' using DBD::DBM -ok 610 - parse 'SELECT Lnum,Llet,Ulet FROM zLower LEFT JOIN zUpper USING(num)' using DBD::DBM -ok 611 - parse 'SELECT Lnum,Llet,Ulet FROM zLower RIGHT JOIN zUpper USING(num)' using DBD::DBM -ok 612 - parse 'SELECT Lnum,Llet,Ulet FROM zLower FULL JOIN zUpper USING(num)' using DBD::DBM -ok 613 - parse 'SELECT Lnum,Llet,Ulet FROM zLower,zUpper WHERE Lnum = Unum' using DBD::DBM -ok 614 - parse 'SELECT * FROM zLower NATURAL INNER JOIN zUpper' using DBD::DBM -ok 615 - parse 'SELECT * FROM zLower NATURAL LEFT JOIN zUpper' using DBD::DBM -ok 616 - parse 'SELECT * FROM zLower NATURAL RIGHT JOIN zUpper' using DBD::DBM -ok 617 - parse 'SELECT * FROM zLower NATURAL FULL JOIN zUpper' using DBD::DBM -ok 618 - parse 'SELECT * FROM zLower INNER JOIN zUpper ON Lnum = Unum' using DBD::DBM -ok 619 - parse 'SELECT * FROM zLower LEFT JOIN zUpper ON Lnum = Unum' using DBD::DBM -ok 620 - parse 'SELECT * FROM zLower RIGHT JOIN zUpper ON Lnum = Unum' using DBD::DBM -ok 621 - parse 'SELECT * FROM zLower FULL JOIN zUpper ON Lnum = Unum' using DBD::DBM -ok 622 - parse 'SELECT * FROM zLower INNER JOIN zUpper USING(num)' using DBD::DBM -ok 623 - parse 'SELECT * FROM zLower LEFT JOIN zUpper USING(num)' using DBD::DBM -ok 624 - parse 'SELECT * FROM zLower RIGHT JOIN zUpper USING(num)' using DBD::DBM -ok 625 - parse 'SELECT * FROM zLower FULL JOIN zUpper USING(num)' using DBD::DBM -ok 626 - parse 'SELECT * FROM zLower,zUpper WHERE Lnum = Unum' using DBD::DBM -ok 627 - parse ' /* SELECT COLUMNS */' using DBD::DBM -ok 628 - parse 'SELECT id, phrase FROM foo' using DBD::DBM -ok 629 - parse 'SELECT * FROM foo' using DBD::DBM -ok 630 - parse 'SELECT DISTINCT * FROM foo' using DBD::DBM -ok 631 - parse 'SELECT ALL * FROM foo' using DBD::DBM -ok 632 - parse 'SELECT A.*,B.* FROM A,B WHERE A.id=B.id' using DBD::DBM -ok 633 - parse ' /* SET FUNCTIONS */' using DBD::DBM -ok 634 - parse 'SELECT MAX(foo) FROM bar' using DBD::DBM -ok 635 - parse 'SELECT MIN(foo) FROM bar' using DBD::DBM -ok 636 - parse 'SELECT AVG(foo) FROM bar' using DBD::DBM -ok 637 - parse 'SELECT SUM(foo) FROM bar' using DBD::DBM -ok 638 - parse 'SELECT COUNT(foo) FROM foo' using DBD::DBM -ok 639 - parse 'SELECT COUNT(*) FROM foo' using DBD::DBM -ok 640 - parse 'SELECT SUM(DISTINCT foo) FROM bar' using DBD::DBM -ok 641 - parse 'SELECT SUM(ALL foo) FROM bar' using DBD::DBM -ok 642 - parse ' /* ORDER BY */' using DBD::DBM -ok 643 - parse 'SELECT * FROM foo ORDER BY bar' using DBD::DBM -ok 644 - parse 'SELECT * FROM foo ORDER BY bar, baz' using DBD::DBM -ok 645 - parse 'SELECT * FROM foo ORDER BY bar DESC' using DBD::DBM -ok 646 - parse 'SELECT * FROM foo ORDER BY bar ASC' using DBD::DBM -ok 647 - parse ' /* LIMIT */' using DBD::DBM -ok 648 - parse 'SELECT * FROM foo LIMIT 5' using DBD::DBM -ok 649 - parse 'SELECT * FROM foo LIMIT 0, 5' using DBD::DBM -ok 650 - parse 'SELECT * FROM foo LIMIT 5, 10' using DBD::DBM -ok 651 - parse '/* DATE/TIME FUNCTIONS */' using DBD::DBM -ok 652 - parse 'SELECT CURRENT_DATE()' using DBD::DBM -ok 653 - parse 'SELECT CURRENT_TIME()' using DBD::DBM -ok 654 - parse 'SELECT CURRENT_TIMESTAMP()' using DBD::DBM -ok 655 - parse 'SELECT CURDATE()' using DBD::DBM -ok 656 - parse 'SELECT CURTIME()' using DBD::DBM -ok 657 - parse 'SELECT NOW()' using DBD::DBM -ok 658 - parse 'SELECT UNIX_TIMESTAMP() ' using DBD::DBM -ok 659 - parse 'SELECT CURRENT_TIME(2)' using DBD::DBM -ok 660 - parse 'SELECT CURRENT_TIMESTAMP(2)' using DBD::DBM -ok 661 - parse 'SELECT CURTIME(2)' using DBD::DBM -ok 662 - parse 'SELECT NOW(2)' using DBD::DBM -ok 663 - parse 'SELECT UNIX_TIMESTAMP(2)' using DBD::DBM -ok 664 - parse ' /* STRING FUNCTIONS */' using DBD::DBM -ok 665 - parse 'SELECT * FROM foo WHERE ASCII(status) = 65' using DBD::DBM -ok 666 - parse 'SELECT * FROM foo WHERE CHAR(code) = 'A'' using DBD::DBM -ok 667 - parse 'SELECT * FROM foo WHERE CHAR(chr1,chr2,chr3) = 'ABC'' using DBD::DBM -ok 668 - parse 'SELECT * FROM foo WHERE BIT_LENGTH(str) = 27' using DBD::DBM -ok 669 - parse 'SELECT * FROM foo WHERE CHARACTER_LENGTH(str) = 6' using DBD::DBM -ok 670 - parse 'SELECT * FROM foo WHERE CHAR_LENGTH(str) = 6' using DBD::DBM -ok 671 - parse 'SELECT * FROM foo WHERE COALESCE(NULL, status) = 'bar'' using DBD::DBM -ok 672 - parse 'SELECT * FROM foo WHERE NVL(NULL, status) = 'bar'' using DBD::DBM -ok 673 - parse 'SELECT * FROM foo WHERE IFNULL(NULL, status) = 'bar'' using DBD::DBM -ok 674 - parse 'SELECT * FROM foo WHERE CONCAT(str1, str2) = 'bar'' using DBD::DBM -ok 675 - parse 'SELECT * FROM foo WHERE DECODE(color,'White','W','Red','R','B') = 'W'' using DBD::DBM -ok 676 - parse 'SELECT * FROM foo WHERE INSERT(str1, 4, 5, str2) = 'foobarland'' using DBD::DBM -ok 677 - parse 'SELECT * FROM foo WHERE LEFT(phrase) = 'bar'' using DBD::DBM -ok 678 - parse 'SELECT * FROM foo WHERE RIGHT(phrase) = 'bar'' using DBD::DBM -ok 679 - parse 'SELECT * FROM foo WHERE LOCATE(str1, str2) = 2' using DBD::DBM -ok 680 - parse 'SELECT * FROM foo WHERE LOCATE(str1, str2, 3) = 5' using DBD::DBM -ok 681 - parse 'SELECT * FROM foo WHERE POSITION(str1, str2) = 2' using DBD::DBM -ok 682 - parse 'SELECT * FROM foo WHERE POSITION(str1, str2, 3) = 5' using DBD::DBM -ok 683 - parse 'SELECT * FROM foo WHERE LOWER(phrase) = 'bar'' using DBD::DBM -ok 684 - parse 'SELECT * FROM foo WHERE UPPER(phrase) = 'BAR'' using DBD::DBM -ok 685 - parse 'SELECT * FROM foo WHERE LCASE(phrase) = 'BAR'' using DBD::DBM -ok 686 - parse 'SELECT * FROM foo WHERE UCASE(phrase) = 'bar'' using DBD::DBM -ok 687 - parse 'SELECT * FROM foo WHERE LTRIM(str) = 'bar'' using DBD::DBM -ok 688 - parse 'SELECT * FROM foo WHERE RTRIM(str) = 'bar'' using DBD::DBM -ok 689 - parse 'SELECT * FROM foo WHERE OCTET_LENGTH(str) = 12' using DBD::DBM -ok 690 - parse 'SELECT * FROM foo WHERE REGEX(phrase, '/EF/i') = TRUE' using DBD::DBM -ok 691 - parse 'SELECT * FROM foo WHERE REPEAT(status, 3) = 'AAA'' using DBD::DBM -ok 692 - parse 'SELECT * FROM foo WHERE REPLACE(phrase, 's/z(.+)ky//i') = 'bar'' using DBD::DBM -ok 693 - parse 'SELECT * FROM foo WHERE SUBSTITUTE(phrase, 's/z(.+)ky//i') = 'bar'' using DBD::DBM -ok 694 - parse 'SELECT * FROM foo WHERE SOUNDEX(name1, name2) = TRUE' using DBD::DBM -ok 695 - parse 'SELECT * FROM foo WHERE SPACE(num) = ' '' using DBD::DBM -ok 696 - parse 'SELECT * FROM foo WHERE blat = SUBSTRING(bar FROM 3 FOR 6)' using DBD::DBM -ok 697 - parse 'SELECT * FROM foo WHERE blat = SUBSTRING(bar FROM 3)' using DBD::DBM -ok 698 - parse 'SELECT * FROM foo WHERE blat = SUBSTR(bar, 3, 6)' using DBD::DBM -ok 699 - parse 'SELECT * FROM foo WHERE blat = SUBSTR(bar, 3)' using DBD::DBM -ok 700 - parse 'SELECT * FROM foo WHERE blat = TRANSLATE(bar, set1, set2)' using DBD::DBM -ok 701 - parse 'SELECT * FROM foo WHERE TRIM( str ) = 'bar'' using DBD::DBM -ok 702 - parse 'SELECT * FROM foo WHERE TRIM( LEADING FROM str ) = 'bar'' using DBD::DBM -ok 703 - parse 'SELECT * FROM foo WHERE TRIM( TRAILING FROM str ) = 'bar'' using DBD::DBM -ok 704 - parse 'SELECT * FROM foo WHERE TRIM( BOTH FROM str ) = 'bar'' using DBD::DBM -ok 705 - parse 'SELECT * FROM foo WHERE TRIM( LEADING ';' FROM str ) = 'bar'' using DBD::DBM -ok 706 - parse 'SELECT * FROM foo WHERE TRIM( UPPER(phrase) ) = 'bar'' using DBD::DBM -ok 707 - parse 'SELECT * FROM foo WHERE TRIM( LOWER(phrase) ) = 'bar'' using DBD::DBM -ok 708 - parse 'UPDATE foo SET bar='baz', bop=7, bump=bar+8, blat=SUBSTRING(bar FROM 3 FOR 6)' using DBD::DBM -ok 709 - parse ' /* NUMERIC FUNCTIONS */' using DBD::DBM -ok 710 - parse 'SELECT * FROM bar WHERE ABS(-4) = 4' using DBD::DBM -ok 711 - parse 'SELECT * FROM bar WHERE CEILING(-4.5) = -4' using DBD::DBM -ok 712 - parse 'SELECT * FROM bar WHERE CEIL(-4.9) = -4' using DBD::DBM -ok 713 - parse 'SELECT * FROM bar WHERE FLOOR(4.999999999999) = 4' using DBD::DBM -ok 714 - parse 'SELECT * FROM bar WHERE LOG(6) = LOG10(6)' using DBD::DBM -ok 715 - parse 'SELECT * FROM bar WHERE LN(1) = EXP(1)' using DBD::DBM -ok 716 - parse 'SELECT * FROM bar WHERE MOD(8, 5) = 3' using DBD::DBM -ok 717 - parse 'SELECT * FROM bar WHERE POWER(2, 4) = 16' using DBD::DBM -ok 718 - parse 'SELECT * FROM bar WHERE POW(2, 4) = 16' using DBD::DBM -ok 719 - parse 'SELECT * FROM bar WHERE RAND(2) = 0' using DBD::DBM -ok 720 - parse 'SELECT * FROM bar WHERE RAND(2, UNIX_TIMESTAMP()) = 0' using DBD::DBM -ok 721 - parse 'SELECT * FROM bar WHERE ROUND(4.999999999999) = 5' using DBD::DBM -ok 722 - parse 'SELECT * FROM bar WHERE ROUND(4.542222222222, 1) = 4.5' using DBD::DBM -ok 723 - parse 'SELECT * FROM bar WHERE SIGN(-25.5) = -1' using DBD::DBM -ok 724 - parse 'SELECT * FROM bar WHERE SIGN(53645) = 1' using DBD::DBM -ok 725 - parse 'SELECT * FROM bar WHERE SIGN(0) = 0' using DBD::DBM -ok 726 - parse 'SELECT * FROM bar WHERE SIGN(NULL) = NULL' using DBD::DBM -ok 727 - parse 'SELECT * FROM bar WHERE SQRT(64) = 8' using DBD::DBM -ok 728 - parse 'SELECT * FROM bar WHERE TRUNCATE(4.999999999999) = 4' using DBD::DBM -ok 729 - parse 'SELECT * FROM bar WHERE TRUNC(-4.9) = -4' using DBD::DBM -ok 730 - parse 'SELECT * FROM bar WHERE TRUNCATE(4.934, 1) = 4.9' using DBD::DBM -ok 731 - parse 'SELECT * FROM bar WHERE TRUNC(-4.99999, 1) = -4.9' using DBD::DBM -ok 732 - parse ' /* TRIGONOMETRIC FUNCTIONS */' using DBD::DBM -ok 733 - parse 'SELECT * FROM test WHERE ACOS(x)' using DBD::DBM -ok 734 - parse 'SELECT * FROM test WHERE ACOSEC(x)' using DBD::DBM -ok 735 - parse 'SELECT * FROM test WHERE ACOSECH(x)' using DBD::DBM -ok 736 - parse 'SELECT * FROM test WHERE ACOSH(x)' using DBD::DBM -ok 737 - parse 'SELECT * FROM test WHERE ACOT(x)' using DBD::DBM -ok 738 - parse 'SELECT * FROM test WHERE ACOTAN(x)' using DBD::DBM -ok 739 - parse 'SELECT * FROM test WHERE ACOTANH(x)' using DBD::DBM -ok 740 - parse 'SELECT * FROM test WHERE ACOTH(x)' using DBD::DBM -ok 741 - parse 'SELECT * FROM test WHERE ACSC(x)' using DBD::DBM -ok 742 - parse 'SELECT * FROM test WHERE ACSCH(x)' using DBD::DBM -ok 743 - parse 'SELECT * FROM test WHERE ASEC(x)' using DBD::DBM -ok 744 - parse 'SELECT * FROM test WHERE ASECH(x)' using DBD::DBM -ok 745 - parse 'SELECT * FROM test WHERE ASIN(x)' using DBD::DBM -ok 746 - parse 'SELECT * FROM test WHERE ASINH(x)' using DBD::DBM -ok 747 - parse 'SELECT * FROM test WHERE ATAN(x)' using DBD::DBM -ok 748 - parse 'SELECT * FROM test WHERE ATAN2(y, x)' using DBD::DBM -ok 749 - parse 'SELECT * FROM test WHERE ATANH(x)' using DBD::DBM -ok 750 - parse 'SELECT * FROM test WHERE COS(x)' using DBD::DBM -ok 751 - parse 'SELECT * FROM test WHERE COSEC(x)' using DBD::DBM -ok 752 - parse 'SELECT * FROM test WHERE COSECH(x)' using DBD::DBM -ok 753 - parse 'SELECT * FROM test WHERE COSH(x)' using DBD::DBM -ok 754 - parse 'SELECT * FROM test WHERE COT(x)' using DBD::DBM -ok 755 - parse 'SELECT * FROM test WHERE COTAN(x)' using DBD::DBM -ok 756 - parse 'SELECT * FROM test WHERE COTANH(x)' using DBD::DBM -ok 757 - parse 'SELECT * FROM test WHERE COTH(x)' using DBD::DBM -ok 758 - parse 'SELECT * FROM test WHERE CSC(x)' using DBD::DBM -ok 759 - parse 'SELECT * FROM test WHERE CSCH(x)' using DBD::DBM -ok 760 - parse 'SELECT * FROM test WHERE DEG2DEG(deg)' using DBD::DBM -ok 761 - parse 'SELECT * FROM test WHERE RAD2RAD(rad)' using DBD::DBM -ok 762 - parse 'SELECT * FROM test WHERE GRAD2GRAD(grad)' using DBD::DBM -ok 763 - parse 'SELECT * FROM test WHERE DEG2GRAD(deg)' using DBD::DBM -ok 764 - parse 'SELECT * FROM test WHERE DEG2RAD(deg)' using DBD::DBM -ok 765 - parse 'SELECT * FROM test WHERE GRAD2DEG(grad)' using DBD::DBM -ok 766 - parse 'SELECT * FROM test WHERE GRAD2RAD(grad)' using DBD::DBM -ok 767 - parse 'SELECT * FROM test WHERE RAD2DEG(rad)' using DBD::DBM -ok 768 - parse 'SELECT * FROM test WHERE RAD2GRAD(rad)' using DBD::DBM -ok 769 - parse 'SELECT * FROM test WHERE DEGREES(rad)' using DBD::DBM -ok 770 - parse 'SELECT * FROM test WHERE RADIANS(deg)' using DBD::DBM -ok 771 - parse 'SELECT * FROM test WHERE DEG2DEG(deg, TRUE)' using DBD::DBM -ok 772 - parse 'SELECT * FROM test WHERE RAD2RAD(rad, TRUE)' using DBD::DBM -ok 773 - parse 'SELECT * FROM test WHERE GRAD2GRAD(grad, TRUE)' using DBD::DBM -ok 774 - parse 'SELECT * FROM test WHERE DEG2GRAD(deg, TRUE)' using DBD::DBM -ok 775 - parse 'SELECT * FROM test WHERE DEG2RAD(deg, TRUE)' using DBD::DBM -ok 776 - parse 'SELECT * FROM test WHERE GRAD2DEG(grad, TRUE)' using DBD::DBM -ok 777 - parse 'SELECT * FROM test WHERE GRAD2RAD(grad, TRUE)' using DBD::DBM -ok 778 - parse 'SELECT * FROM test WHERE RAD2DEG(rad, TRUE)' using DBD::DBM -ok 779 - parse 'SELECT * FROM test WHERE RAD2GRAD(rad, TRUE)' using DBD::DBM -ok 780 - parse 'SELECT * FROM test WHERE DEGREES(rad, TRUE)' using DBD::DBM -ok 781 - parse 'SELECT * FROM test WHERE RADIANS(deg, TRUE)' using DBD::DBM -ok 782 - parse 'SELECT * FROM test WHERE PI()' using DBD::DBM -ok 783 - parse 'SELECT * FROM test WHERE SEC(x)' using DBD::DBM -ok 784 - parse 'SELECT * FROM test WHERE SECH(x)' using DBD::DBM -ok 785 - parse 'SELECT * FROM test WHERE SIN(x)' using DBD::DBM -ok 786 - parse 'SELECT * FROM test WHERE SINH(x)' using DBD::DBM -ok 787 - parse 'SELECT * FROM test WHERE TAN(x)' using DBD::DBM -ok 788 - parse 'SELECT * FROM test WHERE TANH(x)' using DBD::DBM -ok 789 - parse ' /* SYSTEM FUNCTIONS */' using DBD::DBM -ok 790 - parse 'SELECT * FROM ztable WHERE DBNAME() = foobar' using DBD::DBM -ok 791 - parse 'SELECT * FROM ztable WHERE USERNAME() = foobar' using DBD::DBM -ok 792 - parse 'SELECT * FROM ztable WHERE USER() = foobar' using DBD::DBM -ok 793 - parse ' /* TABLE NAME ALIASES */' using DBD::DBM -ok 794 - parse 'SELECT * FROM test as T1' using DBD::DBM -ok 795 - parse 'SELECT * FROM test T1' using DBD::DBM -ok 796 - parse 'SELECT T1.id, T2.num FROM test as T1 JOIN test2 as T2 USING(id)' using DBD::DBM -ok 797 - parse 'SELECT id FROM test as T1 WHERE T1.num < 7' using DBD::DBM -ok 798 - parse 'SELECT id FROM test as T1 ORDER BY T1.num' using DBD::DBM -ok 799 - parse 'SELECT a.x,b.y FROM foo AS a, bar b WHERE a.baz = b.bop ORDER BY a.blat' using DBD::DBM -ok 800 - parse ' /* NUMERIC EXPRESSIONS */' using DBD::DBM -ok 801 - parse 'SELECT * FROM foo WHERE 1 = 0 AND baz < (6*foo+11-r)' using DBD::DBM -ok 802 - parse ' /* CASE OF IDENTIFIERS */' using DBD::DBM -ok 803 - parse 'SELECT ID, phRase FROM tEst AS tE WHERE te.id < 3 ORDER BY TE.phrasE' using DBD::DBM -ok 804 - parse ' /* PARENS */' using DBD::DBM -ok 805 - parse 'SELECT * FROM ztable WHERE NOT data IN ('one','two')' using DBD::DBM -ok 806 - parse 'SELECT * from ztable WHERE (aaa > 'AAA')' using DBD::DBM -ok 807 - parse 'SELECT * from ztable WHERE sev = 50 OR sev = 60' using DBD::DBM -ok 808 - parse 'SELECT * from ztable WHERE (sev = 50 OR sev = 60)' using DBD::DBM -ok 809 - parse 'SELECT * from ztable WHERE sev IN (50,60)' using DBD::DBM -ok 810 - parse 'SELECT * from ztable WHERE rc > 200 AND ( sev IN(50,60) )' using DBD::DBM -ok 811 - parse 'SELECT * FROM ztable WHERE data NOT IN ('one','two')' using DBD::DBM -ok 812 - parse 'SELECT * from ztable WHERE (aaa > 'AAA') AND (zzz < 'ZZZ')' using DBD::DBM -ok 813 - parse 'SELECT * from ztable WHERE (sev IN(50,60))' using DBD::DBM -ok 814 - parse ' /* NOT */' using DBD::DBM -ok 815 - parse 'SELECT * FROM foo WHERE NOT bar = 'baz' AND bop = 7 OR NOT blat = bar' using DBD::DBM -ok 816 - parse 'SELECT * FROM foo WHERE NOT bar = 'baz' AND NOT bop = 7 OR NOT blat = bar' using DBD::DBM -ok 817 - parse 'SELECT * FROM foo WHERE NOT bar = 'baz' AND NOT bop = 7 OR blat IS NOT NULL' using DBD::DBM -ok 818 - parse ' /* IN */' using DBD::DBM -ok 819 - parse 'SELECT * FROM bar WHERE foo IN ('aa','ab','ba','bb')' using DBD::DBM -ok 820 - parse 'SELECT * FROM bar WHERE foo IN (3.14,2.72,1.41,9.81)' using DBD::DBM -ok 821 - parse 'SELECT * FROM bar WHERE foo NOT IN ('aa','ab','ba','bb')' using DBD::DBM -ok 822 - parse 'SELECT * FROM bar WHERE foo NOT IN (3.14,2.72,1.41,9.81)' using DBD::DBM -ok 823 - parse ' /* BETWEEN */' using DBD::DBM -ok 824 - parse 'SELECT * FROM bar WHERE foo BETWEEN ('aa','bb')' using DBD::DBM -ok 825 - parse 'SELECT * FROM bar WHERE foo BETWEEN (1.41,9.81)' using DBD::DBM -ok 826 - parse 'SELECT * FROM bar WHERE foo NOT BETWEEN ('aa','bb')' using DBD::DBM -ok 827 - parse 'SELECT * FROM bar WHERE foo NOT BETWEEN (1.41,9.81)' using DBD::DBM -not ok 828 - parse 'UPDATE foo SET bar=REPEAT(status, BIT_LENGTH(str)), bop=7, bump=bar+POSITION(str1, str2), blat=SUBSTRING(bar FROM ASCII(status) FOR CHAR_LENGTH(str))' using DBD::DBM # TODO Analyze failures -# Failed (TODO) test 'parse 'UPDATE foo SET bar=REPEAT(status, BIT_LENGTH(str)), bop=7, bump=bar+POSITION(str1, str2), blat=SUBSTRING(bar FROM ASCII(status) FOR CHAR_LENGTH(str))' using DBD::DBM' +ok 565 - parse ' /* DROP TABLE */' using DBD::File +ok 566 - parse 'DROP TABLE foo' using DBD::File +ok 567 - parse 'DROP TABLE foo CASCADE' using DBD::File +ok 568 - parse 'DROP TABLE foo RESTRICT' using DBD::File +ok 569 - parse ' /* DELETE */' using DBD::File +ok 570 - parse 'DELETE FROM foo' using DBD::File +ok 571 - parse 'DELETE FROM foo WHERE id < 7' using DBD::File +ok 572 - parse ' /* UPDATE */' using DBD::File +ok 573 - parse 'UPDATE foo SET bar = 7' using DBD::File +ok 574 - parse 'UPDATE foo SET bar = 7 WHERE id > 7' using DBD::File +ok 575 - parse ' /* INSERT */' using DBD::File +ok 576 - parse 'INSERT INTO foo VALUES ( 'baz', 7, NULL )' using DBD::File +ok 577 - parse 'INSERT INTO foo (col1,col2,col7) VALUES ( 'baz', 7, NULL )' using DBD::File +ok 578 - parse 'INSERT INTO foo VALUES ( now(), trim(lower(user)), curdate-1 )' using DBD::File +ok 579 - parse 'INSERT INTO foo VALUES ( 'smile :-),(-: twice)', ' \' ) ' )' using DBD::File +ok 580 - parse 'INSERT INTO foo VALUES (1,'row'),(2,'rows')' using DBD::File +ok 581 - parse ' /* CREATE TABLE */' using DBD::File +ok 582 - parse 'CREATE TABLE foo ( id INT )' using DBD::File +ok 583 - parse 'CREATE LOCAL TEMPORARY TABLE foo (id INT)' using DBD::File +ok 584 - parse 'CREATE LOCAL TEMPORARY TABLE foo (id INT) ON COMMIT DELETE ROWS' using DBD::File +ok 585 - parse 'CREATE LOCAL TEMPORARY TABLE foo (id INT) ON COMMIT PRESERVE ROWS' using DBD::File +ok 586 - parse 'CREATE GLOBAL TEMPORARY TABLE foo (id INT)' using DBD::File +ok 587 - parse 'CREATE GLOBAL TEMPORARY TABLE foo (id INT) ON COMMIT DELETE ROWS' using DBD::File +ok 588 - parse 'CREATE GLOBAL TEMPORARY TABLE foo (id INT) ON COMMIT PRESERVE ROWS' using DBD::File +ok 589 - parse 'CREATE TABLE foo ( id INTEGER, phrase VARCHAR(40) )' using DBD::File +ok 590 - parse 'CREATE TABLE foo ( id INTEGER UNIQUE, phrase VARCHAR(40) UNIQUE )' using DBD::File +ok 591 - parse 'CREATE TABLE foo ( id INTEGER PRIMARY KEY, phrase VARCHAR(40) UNIQUE )' using DBD::File +ok 592 - parse 'CREATE TABLE foo ( id INTEGER PRIMARY KEY, phrase VARCHAR(40) NOT NULL )' using DBD::File +ok 593 - parse 'CREATE TABLE foo ( id INTEGER NOT NULL, phrase VARCHAR(40) NOT NULL )' using DBD::File +ok 594 - parse 'CREATE TABLE foo ( id INTEGER UNIQUE NOT NULL, phrase VARCHAR(40) )' using DBD::File +ok 595 - parse 'CREATE TABLE foo ( phrase CHARACTER VARYING(255) )' using DBD::File +ok 596 - parse 'CREATE TABLE foo ( phrase NUMERIC(4,6) )' using DBD::File +ok 597 - parse 'CREATE TABLE foo ( id INTEGER, phrase VARCHAR(40), CONSTRAINT "foo_pkey" PRIMARY KEY ( "id", "phrase" ), CONSTRAINT "foo_fkey" FOREIGN KEY ( "id" ) REFERENCES "bar" ( "bar_id" ))' using DBD::File +ok 598 - parse 'CREATE TABLE foo ( id INTEGER, phrase VARCHAR(40), PRIMARY KEY ( "id" ), FOREIGN KEY ("id", "phrase") REFERENCES "bar" ("id2", "phrase2"))' using DBD::File +ok 599 - parse 'CREATE TABLE foo ( id INTEGER, phrase CHAR(255), phrase2 VARCHAR(40), CONSTRAINT "foo_pkey" PRIMARY KEY ( "id", phrase, "phrase2" ), CONSTRAINT "foo_fkey" FOREIGN KEY ("id", "phrase", "phrase2") REFERENCES "bar" ("id2", "phrase2", "phase10"))' using DBD::File +ok 600 - parse ' /* JOINS */' using DBD::File +ok 601 - parse 'SELECT Lnum,Llet,Ulet FROM zLower NATURAL INNER JOIN zUpper' using DBD::File +ok 602 - parse 'SELECT Lnum,Llet,Ulet FROM zLower NATURAL LEFT JOIN zUpper' using DBD::File +ok 603 - parse 'SELECT Lnum,Llet,Ulet FROM zLower NATURAL RIGHT JOIN zUpper' using DBD::File +ok 604 - parse 'SELECT Lnum,Llet,Ulet FROM zLower NATURAL FULL JOIN zUpper' using DBD::File +ok 605 - parse 'SELECT Lnum,Llet,Ulet FROM zLower INNER JOIN zUpper ON Lnum = Unum' using DBD::File +ok 606 - parse 'SELECT Lnum,Llet,Ulet FROM zLower LEFT JOIN zUpper ON Lnum = Unum' using DBD::File +ok 607 - parse 'SELECT Lnum,Llet,Ulet FROM zLower RIGHT JOIN zUpper ON Lnum = Unum' using DBD::File +ok 608 - parse 'SELECT Lnum,Llet,Ulet FROM zLower FULL JOIN zUpper ON Lnum = Unum' using DBD::File +ok 609 - parse 'SELECT Lnum,Llet,Ulet FROM zLower INNER JOIN zUpper USING(num)' using DBD::File +ok 610 - parse 'SELECT Lnum,Llet,Ulet FROM zLower LEFT JOIN zUpper USING(num)' using DBD::File +ok 611 - parse 'SELECT Lnum,Llet,Ulet FROM zLower RIGHT JOIN zUpper USING(num)' using DBD::File +ok 612 - parse 'SELECT Lnum,Llet,Ulet FROM zLower FULL JOIN zUpper USING(num)' using DBD::File +ok 613 - parse 'SELECT Lnum,Llet,Ulet FROM zLower,zUpper WHERE Lnum = Unum' using DBD::File +ok 614 - parse 'SELECT * FROM zLower NATURAL INNER JOIN zUpper' using DBD::File +ok 615 - parse 'SELECT * FROM zLower NATURAL LEFT JOIN zUpper' using DBD::File +ok 616 - parse 'SELECT * FROM zLower NATURAL RIGHT JOIN zUpper' using DBD::File +ok 617 - parse 'SELECT * FROM zLower NATURAL FULL JOIN zUpper' using DBD::File +ok 618 - parse 'SELECT * FROM zLower INNER JOIN zUpper ON Lnum = Unum' using DBD::File +ok 619 - parse 'SELECT * FROM zLower LEFT JOIN zUpper ON Lnum = Unum' using DBD::File +ok 620 - parse 'SELECT * FROM zLower RIGHT JOIN zUpper ON Lnum = Unum' using DBD::File +ok 621 - parse 'SELECT * FROM zLower FULL JOIN zUpper ON Lnum = Unum' using DBD::File +ok 622 - parse 'SELECT * FROM zLower INNER JOIN zUpper USING(num)' using DBD::File +ok 623 - parse 'SELECT * FROM zLower LEFT JOIN zUpper USING(num)' using DBD::File +ok 624 - parse 'SELECT * FROM zLower RIGHT JOIN zUpper USING(num)' using DBD::File +ok 625 - parse 'SELECT * FROM zLower FULL JOIN zUpper USING(num)' using DBD::File +ok 626 - parse 'SELECT * FROM zLower,zUpper WHERE Lnum = Unum' using DBD::File +ok 627 - parse ' /* SELECT COLUMNS */' using DBD::File +ok 628 - parse 'SELECT id, phrase FROM foo' using DBD::File +ok 629 - parse 'SELECT * FROM foo' using DBD::File +ok 630 - parse 'SELECT DISTINCT * FROM foo' using DBD::File +ok 631 - parse 'SELECT ALL * FROM foo' using DBD::File +ok 632 - parse 'SELECT A.*,B.* FROM A,B WHERE A.id=B.id' using DBD::File +ok 633 - parse ' /* SET FUNCTIONS */' using DBD::File +ok 634 - parse 'SELECT MAX(foo) FROM bar' using DBD::File +ok 635 - parse 'SELECT MIN(foo) FROM bar' using DBD::File +ok 636 - parse 'SELECT AVG(foo) FROM bar' using DBD::File +ok 637 - parse 'SELECT SUM(foo) FROM bar' using DBD::File +ok 638 - parse 'SELECT COUNT(foo) FROM foo' using DBD::File +ok 639 - parse 'SELECT COUNT(*) FROM foo' using DBD::File +ok 640 - parse 'SELECT SUM(DISTINCT foo) FROM bar' using DBD::File +ok 641 - parse 'SELECT SUM(ALL foo) FROM bar' using DBD::File +ok 642 - parse ' /* ORDER BY */' using DBD::File +ok 643 - parse 'SELECT * FROM foo ORDER BY bar' using DBD::File +ok 644 - parse 'SELECT * FROM foo ORDER BY bar, baz' using DBD::File +ok 645 - parse 'SELECT * FROM foo ORDER BY bar DESC' using DBD::File +ok 646 - parse 'SELECT * FROM foo ORDER BY bar ASC' using DBD::File +ok 647 - parse ' /* LIMIT */' using DBD::File +ok 648 - parse 'SELECT * FROM foo LIMIT 5' using DBD::File +ok 649 - parse 'SELECT * FROM foo LIMIT 0, 5' using DBD::File +ok 650 - parse 'SELECT * FROM foo LIMIT 5, 10' using DBD::File +ok 651 - parse '/* DATE/TIME FUNCTIONS */' using DBD::File +ok 652 - parse 'SELECT CURRENT_DATE()' using DBD::File +ok 653 - parse 'SELECT CURRENT_TIME()' using DBD::File +ok 654 - parse 'SELECT CURRENT_TIMESTAMP()' using DBD::File +ok 655 - parse 'SELECT CURDATE()' using DBD::File +ok 656 - parse 'SELECT CURTIME()' using DBD::File +ok 657 - parse 'SELECT NOW()' using DBD::File +ok 658 - parse 'SELECT UNIX_TIMESTAMP() ' using DBD::File +ok 659 - parse 'SELECT CURRENT_TIME(2)' using DBD::File +ok 660 - parse 'SELECT CURRENT_TIMESTAMP(2)' using DBD::File +ok 661 - parse 'SELECT CURTIME(2)' using DBD::File +ok 662 - parse 'SELECT NOW(2)' using DBD::File +ok 663 - parse 'SELECT UNIX_TIMESTAMP(2)' using DBD::File +ok 664 - parse ' /* STRING FUNCTIONS */' using DBD::File +ok 665 - parse 'SELECT * FROM foo WHERE ASCII(status) = 65' using DBD::File +ok 666 - parse 'SELECT * FROM foo WHERE CHAR(code) = 'A'' using DBD::File +ok 667 - parse 'SELECT * FROM foo WHERE CHAR(chr1,chr2,chr3) = 'ABC'' using DBD::File +ok 668 - parse 'SELECT * FROM foo WHERE BIT_LENGTH(str) = 27' using DBD::File +ok 669 - parse 'SELECT * FROM foo WHERE CHARACTER_LENGTH(str) = 6' using DBD::File +ok 670 - parse 'SELECT * FROM foo WHERE CHAR_LENGTH(str) = 6' using DBD::File +ok 671 - parse 'SELECT * FROM foo WHERE COALESCE(NULL, status) = 'bar'' using DBD::File +ok 672 - parse 'SELECT * FROM foo WHERE NVL(NULL, status) = 'bar'' using DBD::File +ok 673 - parse 'SELECT * FROM foo WHERE IFNULL(NULL, status) = 'bar'' using DBD::File +ok 674 - parse 'SELECT * FROM foo WHERE CONCAT(str1, str2) = 'bar'' using DBD::File +ok 675 - parse 'SELECT * FROM foo WHERE DECODE(color,'White','W','Red','R','B') = 'W'' using DBD::File +ok 676 - parse 'SELECT * FROM foo WHERE INSERT(str1, 4, 5, str2) = 'foobarland'' using DBD::File +ok 677 - parse 'SELECT * FROM foo WHERE LEFT(phrase) = 'bar'' using DBD::File +ok 678 - parse 'SELECT * FROM foo WHERE RIGHT(phrase) = 'bar'' using DBD::File +ok 679 - parse 'SELECT * FROM foo WHERE LOCATE(str1, str2) = 2' using DBD::File +ok 680 - parse 'SELECT * FROM foo WHERE LOCATE(str1, str2, 3) = 5' using DBD::File +ok 681 - parse 'SELECT * FROM foo WHERE POSITION(str1, str2) = 2' using DBD::File +ok 682 - parse 'SELECT * FROM foo WHERE POSITION(str1, str2, 3) = 5' using DBD::File +ok 683 - parse 'SELECT * FROM foo WHERE LOWER(phrase) = 'bar'' using DBD::File +ok 684 - parse 'SELECT * FROM foo WHERE UPPER(phrase) = 'BAR'' using DBD::File +ok 685 - parse 'SELECT * FROM foo WHERE LCASE(phrase) = 'BAR'' using DBD::File +ok 686 - parse 'SELECT * FROM foo WHERE UCASE(phrase) = 'bar'' using DBD::File +ok 687 - parse 'SELECT * FROM foo WHERE LTRIM(str) = 'bar'' using DBD::File +ok 688 - parse 'SELECT * FROM foo WHERE RTRIM(str) = 'bar'' using DBD::File +ok 689 - parse 'SELECT * FROM foo WHERE OCTET_LENGTH(str) = 12' using DBD::File +ok 690 - parse 'SELECT * FROM foo WHERE REGEX(phrase, '/EF/i') = TRUE' using DBD::File +ok 691 - parse 'SELECT * FROM foo WHERE REPEAT(status, 3) = 'AAA'' using DBD::File +ok 692 - parse 'SELECT * FROM foo WHERE REPLACE(phrase, 's/z(.+)ky//i') = 'bar'' using DBD::File +ok 693 - parse 'SELECT * FROM foo WHERE SUBSTITUTE(phrase, 's/z(.+)ky//i') = 'bar'' using DBD::File +ok 694 - parse 'SELECT * FROM foo WHERE SOUNDEX(name1, name2) = TRUE' using DBD::File +ok 695 - parse 'SELECT * FROM foo WHERE SPACE(num) = ' '' using DBD::File +ok 696 - parse 'SELECT * FROM foo WHERE blat = SUBSTRING(bar FROM 3 FOR 6)' using DBD::File +ok 697 - parse 'SELECT * FROM foo WHERE blat = SUBSTRING(bar FROM 3)' using DBD::File +ok 698 - parse 'SELECT * FROM foo WHERE blat = SUBSTR(bar, 3, 6)' using DBD::File +ok 699 - parse 'SELECT * FROM foo WHERE blat = SUBSTR(bar, 3)' using DBD::File +ok 700 - parse 'SELECT * FROM foo WHERE blat = TRANSLATE(bar, set1, set2)' using DBD::File +ok 701 - parse 'SELECT * FROM foo WHERE TRIM( str ) = 'bar'' using DBD::File +ok 702 - parse 'SELECT * FROM foo WHERE TRIM( LEADING FROM str ) = 'bar'' using DBD::File +ok 703 - parse 'SELECT * FROM foo WHERE TRIM( TRAILING FROM str ) = 'bar'' using DBD::File +ok 704 - parse 'SELECT * FROM foo WHERE TRIM( BOTH FROM str ) = 'bar'' using DBD::File +ok 705 - parse 'SELECT * FROM foo WHERE TRIM( LEADING ';' FROM str ) = 'bar'' using DBD::File +ok 706 - parse 'SELECT * FROM foo WHERE TRIM( UPPER(phrase) ) = 'bar'' using DBD::File +ok 707 - parse 'SELECT * FROM foo WHERE TRIM( LOWER(phrase) ) = 'bar'' using DBD::File +ok 708 - parse 'UPDATE foo SET bar='baz', bop=7, bump=bar+8, blat=SUBSTRING(bar FROM 3 FOR 6)' using DBD::File +ok 709 - parse ' /* NUMERIC FUNCTIONS */' using DBD::File +ok 710 - parse 'SELECT * FROM bar WHERE ABS(-4) = 4' using DBD::File +ok 711 - parse 'SELECT * FROM bar WHERE CEILING(-4.5) = -4' using DBD::File +ok 712 - parse 'SELECT * FROM bar WHERE CEIL(-4.9) = -4' using DBD::File +ok 713 - parse 'SELECT * FROM bar WHERE FLOOR(4.999999999999) = 4' using DBD::File +ok 714 - parse 'SELECT * FROM bar WHERE LOG(6) = LOG10(6)' using DBD::File +ok 715 - parse 'SELECT * FROM bar WHERE LN(1) = EXP(1)' using DBD::File +ok 716 - parse 'SELECT * FROM bar WHERE MOD(8, 5) = 3' using DBD::File +ok 717 - parse 'SELECT * FROM bar WHERE POWER(2, 4) = 16' using DBD::File +ok 718 - parse 'SELECT * FROM bar WHERE POW(2, 4) = 16' using DBD::File +ok 719 - parse 'SELECT * FROM bar WHERE RAND(2) = 0' using DBD::File +ok 720 - parse 'SELECT * FROM bar WHERE RAND(2, UNIX_TIMESTAMP()) = 0' using DBD::File +ok 721 - parse 'SELECT * FROM bar WHERE ROUND(4.999999999999) = 5' using DBD::File +ok 722 - parse 'SELECT * FROM bar WHERE ROUND(4.542222222222, 1) = 4.5' using DBD::File +ok 723 - parse 'SELECT * FROM bar WHERE SIGN(-25.5) = -1' using DBD::File +ok 724 - parse 'SELECT * FROM bar WHERE SIGN(53645) = 1' using DBD::File +ok 725 - parse 'SELECT * FROM bar WHERE SIGN(0) = 0' using DBD::File +ok 726 - parse 'SELECT * FROM bar WHERE SIGN(NULL) = NULL' using DBD::File +ok 727 - parse 'SELECT * FROM bar WHERE SQRT(64) = 8' using DBD::File +ok 728 - parse 'SELECT * FROM bar WHERE TRUNCATE(4.999999999999) = 4' using DBD::File +ok 729 - parse 'SELECT * FROM bar WHERE TRUNC(-4.9) = -4' using DBD::File +ok 730 - parse 'SELECT * FROM bar WHERE TRUNCATE(4.934, 1) = 4.9' using DBD::File +ok 731 - parse 'SELECT * FROM bar WHERE TRUNC(-4.99999, 1) = -4.9' using DBD::File +ok 732 - parse ' /* TRIGONOMETRIC FUNCTIONS */' using DBD::File +ok 733 - parse 'SELECT * FROM test WHERE ACOS(x)' using DBD::File +ok 734 - parse 'SELECT * FROM test WHERE ACOSEC(x)' using DBD::File +ok 735 - parse 'SELECT * FROM test WHERE ACOSECH(x)' using DBD::File +ok 736 - parse 'SELECT * FROM test WHERE ACOSH(x)' using DBD::File +ok 737 - parse 'SELECT * FROM test WHERE ACOT(x)' using DBD::File +ok 738 - parse 'SELECT * FROM test WHERE ACOTAN(x)' using DBD::File +ok 739 - parse 'SELECT * FROM test WHERE ACOTANH(x)' using DBD::File +ok 740 - parse 'SELECT * FROM test WHERE ACOTH(x)' using DBD::File +ok 741 - parse 'SELECT * FROM test WHERE ACSC(x)' using DBD::File +ok 742 - parse 'SELECT * FROM test WHERE ACSCH(x)' using DBD::File +ok 743 - parse 'SELECT * FROM test WHERE ASEC(x)' using DBD::File +ok 744 - parse 'SELECT * FROM test WHERE ASECH(x)' using DBD::File +ok 745 - parse 'SELECT * FROM test WHERE ASIN(x)' using DBD::File +ok 746 - parse 'SELECT * FROM test WHERE ASINH(x)' using DBD::File +ok 747 - parse 'SELECT * FROM test WHERE ATAN(x)' using DBD::File +ok 748 - parse 'SELECT * FROM test WHERE ATAN2(y, x)' using DBD::File +ok 749 - parse 'SELECT * FROM test WHERE ATANH(x)' using DBD::File +ok 750 - parse 'SELECT * FROM test WHERE COS(x)' using DBD::File +ok 751 - parse 'SELECT * FROM test WHERE COSEC(x)' using DBD::File +ok 752 - parse 'SELECT * FROM test WHERE COSECH(x)' using DBD::File +ok 753 - parse 'SELECT * FROM test WHERE COSH(x)' using DBD::File +ok 754 - parse 'SELECT * FROM test WHERE COT(x)' using DBD::File +ok 755 - parse 'SELECT * FROM test WHERE COTAN(x)' using DBD::File +ok 756 - parse 'SELECT * FROM test WHERE COTANH(x)' using DBD::File +ok 757 - parse 'SELECT * FROM test WHERE COTH(x)' using DBD::File +ok 758 - parse 'SELECT * FROM test WHERE CSC(x)' using DBD::File +ok 759 - parse 'SELECT * FROM test WHERE CSCH(x)' using DBD::File +ok 760 - parse 'SELECT * FROM test WHERE DEG2DEG(deg)' using DBD::File +ok 761 - parse 'SELECT * FROM test WHERE RAD2RAD(rad)' using DBD::File +ok 762 - parse 'SELECT * FROM test WHERE GRAD2GRAD(grad)' using DBD::File +ok 763 - parse 'SELECT * FROM test WHERE DEG2GRAD(deg)' using DBD::File +ok 764 - parse 'SELECT * FROM test WHERE DEG2RAD(deg)' using DBD::File +ok 765 - parse 'SELECT * FROM test WHERE GRAD2DEG(grad)' using DBD::File +ok 766 - parse 'SELECT * FROM test WHERE GRAD2RAD(grad)' using DBD::File +ok 767 - parse 'SELECT * FROM test WHERE RAD2DEG(rad)' using DBD::File +ok 768 - parse 'SELECT * FROM test WHERE RAD2GRAD(rad)' using DBD::File +ok 769 - parse 'SELECT * FROM test WHERE DEGREES(rad)' using DBD::File +ok 770 - parse 'SELECT * FROM test WHERE RADIANS(deg)' using DBD::File +ok 771 - parse 'SELECT * FROM test WHERE DEG2DEG(deg, TRUE)' using DBD::File +ok 772 - parse 'SELECT * FROM test WHERE RAD2RAD(rad, TRUE)' using DBD::File +ok 773 - parse 'SELECT * FROM test WHERE GRAD2GRAD(grad, TRUE)' using DBD::File +ok 774 - parse 'SELECT * FROM test WHERE DEG2GRAD(deg, TRUE)' using DBD::File +ok 775 - parse 'SELECT * FROM test WHERE DEG2RAD(deg, TRUE)' using DBD::File +ok 776 - parse 'SELECT * FROM test WHERE GRAD2DEG(grad, TRUE)' using DBD::File +ok 777 - parse 'SELECT * FROM test WHERE GRAD2RAD(grad, TRUE)' using DBD::File +ok 778 - parse 'SELECT * FROM test WHERE RAD2DEG(rad, TRUE)' using DBD::File +ok 779 - parse 'SELECT * FROM test WHERE RAD2GRAD(rad, TRUE)' using DBD::File +ok 780 - parse 'SELECT * FROM test WHERE DEGREES(rad, TRUE)' using DBD::File +ok 781 - parse 'SELECT * FROM test WHERE RADIANS(deg, TRUE)' using DBD::File +ok 782 - parse 'SELECT * FROM test WHERE PI()' using DBD::File +ok 783 - parse 'SELECT * FROM test WHERE SEC(x)' using DBD::File +ok 784 - parse 'SELECT * FROM test WHERE SECH(x)' using DBD::File +ok 785 - parse 'SELECT * FROM test WHERE SIN(x)' using DBD::File +ok 786 - parse 'SELECT * FROM test WHERE SINH(x)' using DBD::File +ok 787 - parse 'SELECT * FROM test WHERE TAN(x)' using DBD::File +ok 788 - parse 'SELECT * FROM test WHERE TANH(x)' using DBD::File +ok 789 - parse ' /* SYSTEM FUNCTIONS */' using DBD::File +ok 790 - parse 'SELECT * FROM ztable WHERE DBNAME() = foobar' using DBD::File +ok 791 - parse 'SELECT * FROM ztable WHERE USERNAME() = foobar' using DBD::File +ok 792 - parse 'SELECT * FROM ztable WHERE USER() = foobar' using DBD::File +ok 793 - parse ' /* TABLE NAME ALIASES */' using DBD::File +ok 794 - parse 'SELECT * FROM test as T1' using DBD::File +ok 795 - parse 'SELECT * FROM test T1' using DBD::File +ok 796 - parse 'SELECT T1.id, T2.num FROM test as T1 JOIN test2 as T2 USING(id)' using DBD::File +ok 797 - parse 'SELECT id FROM test as T1 WHERE T1.num < 7' using DBD::File +ok 798 - parse 'SELECT id FROM test as T1 ORDER BY T1.num' using DBD::File +ok 799 - parse 'SELECT a.x,b.y FROM foo AS a, bar b WHERE a.baz = b.bop ORDER BY a.blat' using DBD::File +ok 800 - parse ' /* NUMERIC EXPRESSIONS */' using DBD::File +ok 801 - parse 'SELECT * FROM foo WHERE 1 = 0 AND baz < (6*foo+11-r)' using DBD::File +ok 802 - parse ' /* CASE OF IDENTIFIERS */' using DBD::File +ok 803 - parse 'SELECT ID, phRase FROM tEst AS tE WHERE te.id < 3 ORDER BY TE.phrasE' using DBD::File +ok 804 - parse ' /* PARENS */' using DBD::File +ok 805 - parse 'SELECT * FROM ztable WHERE NOT data IN ('one','two')' using DBD::File +ok 806 - parse 'SELECT * from ztable WHERE (aaa > 'AAA')' using DBD::File +ok 807 - parse 'SELECT * from ztable WHERE sev = 50 OR sev = 60' using DBD::File +ok 808 - parse 'SELECT * from ztable WHERE (sev = 50 OR sev = 60)' using DBD::File +ok 809 - parse 'SELECT * from ztable WHERE sev IN (50,60)' using DBD::File +ok 810 - parse 'SELECT * from ztable WHERE rc > 200 AND ( sev IN(50,60) )' using DBD::File +ok 811 - parse 'SELECT * FROM ztable WHERE data NOT IN ('one','two')' using DBD::File +ok 812 - parse 'SELECT * from ztable WHERE (aaa > 'AAA') AND (zzz < 'ZZZ')' using DBD::File +ok 813 - parse 'SELECT * from ztable WHERE (sev IN(50,60))' using DBD::File +ok 814 - parse ' /* NOT */' using DBD::File +ok 815 - parse 'SELECT * FROM foo WHERE NOT bar = 'baz' AND bop = 7 OR NOT blat = bar' using DBD::File +ok 816 - parse 'SELECT * FROM foo WHERE NOT bar = 'baz' AND NOT bop = 7 OR NOT blat = bar' using DBD::File +ok 817 - parse 'SELECT * FROM foo WHERE NOT bar = 'baz' AND NOT bop = 7 OR blat IS NOT NULL' using DBD::File +ok 818 - parse ' /* IN */' using DBD::File +ok 819 - parse 'SELECT * FROM bar WHERE foo IN ('aa','ab','ba','bb')' using DBD::File +ok 820 - parse 'SELECT * FROM bar WHERE foo IN (3.14,2.72,1.41,9.81)' using DBD::File +ok 821 - parse 'SELECT * FROM bar WHERE foo NOT IN ('aa','ab','ba','bb')' using DBD::File +ok 822 - parse 'SELECT * FROM bar WHERE foo NOT IN (3.14,2.72,1.41,9.81)' using DBD::File +ok 823 - parse ' /* BETWEEN */' using DBD::File +ok 824 - parse 'SELECT * FROM bar WHERE foo BETWEEN ('aa','bb')' using DBD::File +ok 825 - parse 'SELECT * FROM bar WHERE foo BETWEEN (1.41,9.81)' using DBD::File +ok 826 - parse 'SELECT * FROM bar WHERE foo NOT BETWEEN ('aa','bb')' using DBD::File +ok 827 - parse 'SELECT * FROM bar WHERE foo NOT BETWEEN (1.41,9.81)' using DBD::File +not ok 828 - parse 'UPDATE foo SET bar=REPEAT(status, BIT_LENGTH(str)), bop=7, bump=bar+POSITION(str1, str2), blat=SUBSTRING(bar FROM ASCII(status) FOR CHAR_LENGTH(str))' using DBD::File # TODO Analyze failures +# Failed (TODO) test 'parse 'UPDATE foo SET bar=REPEAT(status, BIT_LENGTH(str)), bop=7, bump=bar+POSITION(str1, str2), blat=SUBSTRING(bar FROM ASCII(status) FOR CHAR_LENGTH(str))' using DBD::File' # at t/01prepare.t line 312. # Incomplete SET clause! -not ok 829 - parse 'SELECT * FROM bar WHERE EXP(1) = SINH(1)+COSH(1)' using DBD::DBM # TODO Analyze failures -# Failed (TODO) test 'parse 'SELECT * FROM bar WHERE EXP(1) = SINH(1)+COSH(1)' using DBD::DBM' +not ok 829 - parse 'SELECT * FROM bar WHERE EXP(1) = SINH(1)+COSH(1)' using DBD::File # TODO Analyze failures +# Failed (TODO) test 'parse 'SELECT * FROM bar WHERE EXP(1) = SINH(1)+COSH(1)' using DBD::File' # at t/01prepare.t line 312. # # Execution ERROR: Unknown predicate '{$VAR1 = {}; # }' called from /usr/lib/x86_64-linux-gnu/perl5/5.28/DBI/DBD/SqlEngine.pm at 335. # -not ok 830 - parse 'SELECT * FROM bar WHERE LOG(8, 2) = LOG10(8) / LOG10(2)' using DBD::DBM # TODO Analyze failures -# Failed (TODO) test 'parse 'SELECT * FROM bar WHERE LOG(8, 2) = LOG10(8) / LOG10(2)' using DBD::DBM' +not ok 830 - parse 'SELECT * FROM bar WHERE LOG(8, 2) = LOG10(8) / LOG10(2)' using DBD::File # TODO Analyze failures +# Failed (TODO) test 'parse 'SELECT * FROM bar WHERE LOG(8, 2) = LOG10(8) / LOG10(2)' using DBD::File' # at t/01prepare.t line 312. # # Execution ERROR: Unknown predicate '{$VAR1 = {}; @@ -1467,7 +1502,7 @@ # Command SELECT # Num Pholders 1 # Columns -# Tables SQL::Statement::Table=HASH(0x564cf08ae6a8),SQL::Statement::Table=HASH(0x564cf08b8568) +# Tables SQL::Statement::Table=HASH(0x56212c101328),SQL::Statement::Table=HASH(0x56212c11e768) # Where op AND # Limit 2 # Offset 5 @@ -1543,26 +1578,26 @@ ok 40 - $stmt->fetch ok 41 - $stmt->execute "SELECT b,c FROM a WHERE NOT c IN ('abc','klm','pqr','vwx','yz')" (SELECT) ok 42 - SELECT b,c FROM a WHERE NOT c IN ('abc','klm','pqr','vwx','yz') -ok 43 - $stmt->execute "SELECT b,c FROM a WHERE b BETWEEN (5,7)" (SELECT) -ok 44 - SELECT b,c FROM a WHERE b BETWEEN (5,7) -ok 45 - $stmt->execute "SELECT b,c FROM a WHERE NOT c BETWEEN ('abc','nmo')" (SELECT) -ok 46 - SELECT b,c FROM a WHERE NOT c BETWEEN ('abc','nmo') -ok 47 - $stmt->execute "SELECT b,c FROM a WHERE c NOT IN ('abc','klm','pqr','vwx','yz')" (SELECT) -ok 48 - SELECT b,c FROM a WHERE c NOT IN ('abc','klm','pqr','vwx','yz') -ok 49 - $stmt->execute "SELECT b,c FROM a WHERE b NOT IN (2,3,5,7)" (SELECT) -ok 50 - SELECT b,c FROM a WHERE b NOT IN (2,3,5,7) -ok 51 - $stmt->execute "SELECT b,c FROM a WHERE b IN (2,3,5,7)" (SELECT) -ok 52 - SELECT b,c FROM a WHERE b IN (2,3,5,7) -ok 53 - $stmt->execute "SELECT b,c FROM a WHERE b NOT BETWEEN (5,7)" (SELECT) -ok 54 - SELECT b,c FROM a WHERE b NOT BETWEEN (5,7) -ok 55 - $stmt->execute "SELECT b,c FROM a WHERE c BETWEEN ('abc','nmo')" (SELECT) -ok 56 - SELECT b,c FROM a WHERE c BETWEEN ('abc','nmo') -ok 57 - $stmt->execute "SELECT b,c FROM a WHERE NOT b IN (2,3,5,7)" (SELECT) -ok 58 - SELECT b,c FROM a WHERE NOT b IN (2,3,5,7) -ok 59 - $stmt->execute "SELECT b,c FROM a WHERE c IN ('abc','klm','pqr','vwx','yz')" (SELECT) -ok 60 - SELECT b,c FROM a WHERE c IN ('abc','klm','pqr','vwx','yz') -ok 61 - $stmt->execute "SELECT b,c FROM a WHERE NOT b BETWEEN (5,7)" (SELECT) -ok 62 - SELECT b,c FROM a WHERE NOT b BETWEEN (5,7) +ok 43 - $stmt->execute "SELECT b,c FROM a WHERE b NOT BETWEEN (5,7)" (SELECT) +ok 44 - SELECT b,c FROM a WHERE b NOT BETWEEN (5,7) +ok 45 - $stmt->execute "SELECT b,c FROM a WHERE c BETWEEN ('abc','nmo')" (SELECT) +ok 46 - SELECT b,c FROM a WHERE c BETWEEN ('abc','nmo') +ok 47 - $stmt->execute "SELECT b,c FROM a WHERE c IN ('abc','klm','pqr','vwx','yz')" (SELECT) +ok 48 - SELECT b,c FROM a WHERE c IN ('abc','klm','pqr','vwx','yz') +ok 49 - $stmt->execute "SELECT b,c FROM a WHERE NOT b IN (2,3,5,7)" (SELECT) +ok 50 - SELECT b,c FROM a WHERE NOT b IN (2,3,5,7) +ok 51 - $stmt->execute "SELECT b,c FROM a WHERE c NOT IN ('abc','klm','pqr','vwx','yz')" (SELECT) +ok 52 - SELECT b,c FROM a WHERE c NOT IN ('abc','klm','pqr','vwx','yz') +ok 53 - $stmt->execute "SELECT b,c FROM a WHERE NOT b BETWEEN (5,7)" (SELECT) +ok 54 - SELECT b,c FROM a WHERE NOT b BETWEEN (5,7) +ok 55 - $stmt->execute "SELECT b,c FROM a WHERE b IN (2,3,5,7)" (SELECT) +ok 56 - SELECT b,c FROM a WHERE b IN (2,3,5,7) +ok 57 - $stmt->execute "SELECT b,c FROM a WHERE b BETWEEN (5,7)" (SELECT) +ok 58 - SELECT b,c FROM a WHERE b BETWEEN (5,7) +ok 59 - $stmt->execute "SELECT b,c FROM a WHERE NOT c BETWEEN ('abc','nmo')" (SELECT) +ok 60 - SELECT b,c FROM a WHERE NOT c BETWEEN ('abc','nmo') +ok 61 - $stmt->execute "SELECT b,c FROM a WHERE b NOT IN (2,3,5,7)" (SELECT) +ok 62 - SELECT b,c FROM a WHERE b NOT IN (2,3,5,7) ok 63 - $stmt->execute "SELECT b,c FROM a WHERE c NOT BETWEEN ('abc','nmo')" (SELECT) ok 64 - SELECT b,c FROM a WHERE c NOT BETWEEN ('abc','nmo') ok 65 - CREATE FUNCTION from module @@ -1571,7 +1606,7 @@ ok 68 - CREATE pauli test table ok 69 - UPDATE with placeholders ok 70 - UPDATE with placeholder updates correct -# Running tests for DBD::DBM +# Running tests for DBD::File ok 71 - CREATE Tmp ok 72 - placeholder insert with named cols ok 73 - placeholder insert without named cols @@ -1593,11 +1628,11 @@ ok 89 - prepare 'SELECT UPPER('a') AS A,phrase FROM phrase' ok 90 - SELECT ok 91 - COUNT * -ok 92 - DROP TABLE +ok 92 - DROP TEMP TABLE ok 93 - COMPUTED COLUMNS IN SELECT LIST ok 94 - CREATE FUNCTION from script -# < CREATE TABLE a (b INT, c CHAR)> -ok 95 - $stmt->execute " CREATE TABLE a (b INT, c CHAR)" (CREATE) +# < CREATE TEMP TABLE a (b INT, c CHAR)> +ok 95 - $stmt->execute " CREATE TEMP TABLE a (b INT, c CHAR)" (CREATE) # < INSERT INTO a VALUES(1,'abc')> ok 96 - $stmt->execute " INSERT INTO a VALUES(1,'abc')" (INSERT) # < INSERT INTO a VALUES(2,'efg')> @@ -1625,35 +1660,35 @@ ok 110 - $stmt->fetch ok 111 - $stmt->execute "SELECT b,c FROM a WHERE c IN ('abc','klm','pqr','vwx','yz')" (SELECT) ok 112 - SELECT b,c FROM a WHERE c IN ('abc','klm','pqr','vwx','yz') -ok 113 - $stmt->execute "SELECT b,c FROM a WHERE c NOT BETWEEN ('abc','nmo')" (SELECT) -ok 114 - SELECT b,c FROM a WHERE c NOT BETWEEN ('abc','nmo') -ok 115 - $stmt->execute "SELECT b,c FROM a WHERE NOT b BETWEEN (5,7)" (SELECT) -ok 116 - SELECT b,c FROM a WHERE NOT b BETWEEN (5,7) -ok 117 - $stmt->execute "SELECT b,c FROM a WHERE NOT b IN (2,3,5,7)" (SELECT) -ok 118 - SELECT b,c FROM a WHERE NOT b IN (2,3,5,7) -ok 119 - $stmt->execute "SELECT b,c FROM a WHERE b NOT IN (2,3,5,7)" (SELECT) -ok 120 - SELECT b,c FROM a WHERE b NOT IN (2,3,5,7) -ok 121 - $stmt->execute "SELECT b,c FROM a WHERE b IN (2,3,5,7)" (SELECT) -ok 122 - SELECT b,c FROM a WHERE b IN (2,3,5,7) -ok 123 - $stmt->execute "SELECT b,c FROM a WHERE b NOT BETWEEN (5,7)" (SELECT) -ok 124 - SELECT b,c FROM a WHERE b NOT BETWEEN (5,7) -ok 125 - $stmt->execute "SELECT b,c FROM a WHERE c BETWEEN ('abc','nmo')" (SELECT) -ok 126 - SELECT b,c FROM a WHERE c BETWEEN ('abc','nmo') -ok 127 - $stmt->execute "SELECT b,c FROM a WHERE NOT c IN ('abc','klm','pqr','vwx','yz')" (SELECT) -ok 128 - SELECT b,c FROM a WHERE NOT c IN ('abc','klm','pqr','vwx','yz') -ok 129 - $stmt->execute "SELECT b,c FROM a WHERE NOT c BETWEEN ('abc','nmo')" (SELECT) -ok 130 - SELECT b,c FROM a WHERE NOT c BETWEEN ('abc','nmo') -ok 131 - $stmt->execute "SELECT b,c FROM a WHERE c NOT IN ('abc','klm','pqr','vwx','yz')" (SELECT) -ok 132 - SELECT b,c FROM a WHERE c NOT IN ('abc','klm','pqr','vwx','yz') -ok 133 - $stmt->execute "SELECT b,c FROM a WHERE b BETWEEN (5,7)" (SELECT) -ok 134 - SELECT b,c FROM a WHERE b BETWEEN (5,7) +ok 113 - $stmt->execute "SELECT b,c FROM a WHERE NOT b IN (2,3,5,7)" (SELECT) +ok 114 - SELECT b,c FROM a WHERE NOT b IN (2,3,5,7) +ok 115 - $stmt->execute "SELECT b,c FROM a WHERE c NOT IN ('abc','klm','pqr','vwx','yz')" (SELECT) +ok 116 - SELECT b,c FROM a WHERE c NOT IN ('abc','klm','pqr','vwx','yz') +ok 117 - $stmt->execute "SELECT b,c FROM a WHERE NOT c IN ('abc','klm','pqr','vwx','yz')" (SELECT) +ok 118 - SELECT b,c FROM a WHERE NOT c IN ('abc','klm','pqr','vwx','yz') +ok 119 - $stmt->execute "SELECT b,c FROM a WHERE b NOT BETWEEN (5,7)" (SELECT) +ok 120 - SELECT b,c FROM a WHERE b NOT BETWEEN (5,7) +ok 121 - $stmt->execute "SELECT b,c FROM a WHERE c BETWEEN ('abc','nmo')" (SELECT) +ok 122 - SELECT b,c FROM a WHERE c BETWEEN ('abc','nmo') +ok 123 - $stmt->execute "SELECT b,c FROM a WHERE c NOT BETWEEN ('abc','nmo')" (SELECT) +ok 124 - SELECT b,c FROM a WHERE c NOT BETWEEN ('abc','nmo') +ok 125 - $stmt->execute "SELECT b,c FROM a WHERE b NOT IN (2,3,5,7)" (SELECT) +ok 126 - SELECT b,c FROM a WHERE b NOT IN (2,3,5,7) +ok 127 - $stmt->execute "SELECT b,c FROM a WHERE b IN (2,3,5,7)" (SELECT) +ok 128 - SELECT b,c FROM a WHERE b IN (2,3,5,7) +ok 129 - $stmt->execute "SELECT b,c FROM a WHERE b BETWEEN (5,7)" (SELECT) +ok 130 - SELECT b,c FROM a WHERE b BETWEEN (5,7) +ok 131 - $stmt->execute "SELECT b,c FROM a WHERE NOT b BETWEEN (5,7)" (SELECT) +ok 132 - SELECT b,c FROM a WHERE NOT b BETWEEN (5,7) +ok 133 - $stmt->execute "SELECT b,c FROM a WHERE NOT c BETWEEN ('abc','nmo')" (SELECT) +ok 134 - SELECT b,c FROM a WHERE NOT c BETWEEN ('abc','nmo') ok 135 - CREATE FUNCTION from module ok 136 - CREATE FUNCTION from module with argument ok 137 - LOAD FUNCTIONS -ok 138 # skip DBD::DBM Update test won't run without MLDBM -ok 139 # skip DBD::DBM Update test won't run without MLDBM -ok 140 # skip DBD::DBM Update test won't run without MLDBM -# Running tests for DBD::File +ok 138 - CREATE pauli test table +ok 139 - UPDATE with placeholders +ok 140 - UPDATE with placeholder updates correct +# Running tests for DBD::DBM ok 141 - CREATE Tmp ok 142 - placeholder insert with named cols ok 143 - placeholder insert without named cols @@ -1675,11 +1710,11 @@ ok 159 - prepare 'SELECT UPPER('a') AS A,phrase FROM phrase' ok 160 - SELECT ok 161 - COUNT * -ok 162 - DROP TEMP TABLE +ok 162 - DROP TABLE ok 163 - COMPUTED COLUMNS IN SELECT LIST ok 164 - CREATE FUNCTION from script -# < CREATE TEMP TABLE a (b INT, c CHAR)> -ok 165 - $stmt->execute " CREATE TEMP TABLE a (b INT, c CHAR)" (CREATE) +# < CREATE TABLE a (b INT, c CHAR)> +ok 165 - $stmt->execute " CREATE TABLE a (b INT, c CHAR)" (CREATE) # < INSERT INTO a VALUES(1,'abc')> ok 166 - $stmt->execute " INSERT INTO a VALUES(1,'abc')" (INSERT) # < INSERT INTO a VALUES(2,'efg')> @@ -1705,36 +1740,36 @@ ok 178 - $stmt->column_names ok 179 - $stmt->order ok 180 - $stmt->fetch -ok 181 - $stmt->execute "SELECT b,c FROM a WHERE b NOT IN (2,3,5,7)" (SELECT) -ok 182 - SELECT b,c FROM a WHERE b NOT IN (2,3,5,7) -ok 183 - $stmt->execute "SELECT b,c FROM a WHERE b IN (2,3,5,7)" (SELECT) -ok 184 - SELECT b,c FROM a WHERE b IN (2,3,5,7) -ok 185 - $stmt->execute "SELECT b,c FROM a WHERE b NOT BETWEEN (5,7)" (SELECT) -ok 186 - SELECT b,c FROM a WHERE b NOT BETWEEN (5,7) -ok 187 - $stmt->execute "SELECT b,c FROM a WHERE c BETWEEN ('abc','nmo')" (SELECT) -ok 188 - SELECT b,c FROM a WHERE c BETWEEN ('abc','nmo') -ok 189 - $stmt->execute "SELECT b,c FROM a WHERE NOT c IN ('abc','klm','pqr','vwx','yz')" (SELECT) -ok 190 - SELECT b,c FROM a WHERE NOT c IN ('abc','klm','pqr','vwx','yz') -ok 191 - $stmt->execute "SELECT b,c FROM a WHERE b BETWEEN (5,7)" (SELECT) -ok 192 - SELECT b,c FROM a WHERE b BETWEEN (5,7) +ok 181 - $stmt->execute "SELECT b,c FROM a WHERE c BETWEEN ('abc','nmo')" (SELECT) +ok 182 - SELECT b,c FROM a WHERE c BETWEEN ('abc','nmo') +ok 183 - $stmt->execute "SELECT b,c FROM a WHERE b NOT BETWEEN (5,7)" (SELECT) +ok 184 - SELECT b,c FROM a WHERE b NOT BETWEEN (5,7) +ok 185 - $stmt->execute "SELECT b,c FROM a WHERE NOT c IN ('abc','klm','pqr','vwx','yz')" (SELECT) +ok 186 - SELECT b,c FROM a WHERE NOT c IN ('abc','klm','pqr','vwx','yz') +ok 187 - $stmt->execute "SELECT b,c FROM a WHERE c NOT IN ('abc','klm','pqr','vwx','yz')" (SELECT) +ok 188 - SELECT b,c FROM a WHERE c NOT IN ('abc','klm','pqr','vwx','yz') +ok 189 - $stmt->execute "SELECT b,c FROM a WHERE c IN ('abc','klm','pqr','vwx','yz')" (SELECT) +ok 190 - SELECT b,c FROM a WHERE c IN ('abc','klm','pqr','vwx','yz') +ok 191 - $stmt->execute "SELECT b,c FROM a WHERE NOT b IN (2,3,5,7)" (SELECT) +ok 192 - SELECT b,c FROM a WHERE NOT b IN (2,3,5,7) ok 193 - $stmt->execute "SELECT b,c FROM a WHERE NOT c BETWEEN ('abc','nmo')" (SELECT) ok 194 - SELECT b,c FROM a WHERE NOT c BETWEEN ('abc','nmo') -ok 195 - $stmt->execute "SELECT b,c FROM a WHERE c NOT IN ('abc','klm','pqr','vwx','yz')" (SELECT) -ok 196 - SELECT b,c FROM a WHERE c NOT IN ('abc','klm','pqr','vwx','yz') -ok 197 - $stmt->execute "SELECT b,c FROM a WHERE c IN ('abc','klm','pqr','vwx','yz')" (SELECT) -ok 198 - SELECT b,c FROM a WHERE c IN ('abc','klm','pqr','vwx','yz') +ok 195 - $stmt->execute "SELECT b,c FROM a WHERE b IN (2,3,5,7)" (SELECT) +ok 196 - SELECT b,c FROM a WHERE b IN (2,3,5,7) +ok 197 - $stmt->execute "SELECT b,c FROM a WHERE b BETWEEN (5,7)" (SELECT) +ok 198 - SELECT b,c FROM a WHERE b BETWEEN (5,7) ok 199 - $stmt->execute "SELECT b,c FROM a WHERE NOT b BETWEEN (5,7)" (SELECT) ok 200 - SELECT b,c FROM a WHERE NOT b BETWEEN (5,7) ok 201 - $stmt->execute "SELECT b,c FROM a WHERE c NOT BETWEEN ('abc','nmo')" (SELECT) ok 202 - SELECT b,c FROM a WHERE c NOT BETWEEN ('abc','nmo') -ok 203 - $stmt->execute "SELECT b,c FROM a WHERE NOT b IN (2,3,5,7)" (SELECT) -ok 204 - SELECT b,c FROM a WHERE NOT b IN (2,3,5,7) +ok 203 - $stmt->execute "SELECT b,c FROM a WHERE b NOT IN (2,3,5,7)" (SELECT) +ok 204 - SELECT b,c FROM a WHERE b NOT IN (2,3,5,7) ok 205 - CREATE FUNCTION from module ok 206 - CREATE FUNCTION from module with argument ok 207 - LOAD FUNCTIONS -ok 208 - CREATE pauli test table -ok 209 - UPDATE with placeholders -ok 210 - UPDATE with placeholder updates correct +ok 208 # skip DBD::DBM Update test won't run without MLDBM +ok 209 # skip DBD::DBM Update test won't run without MLDBM +ok 210 # skip DBD::DBM Update test won't run without MLDBM 1..210 ok t/03import.t .... @@ -1760,7 +1795,7 @@ ok 10 - SELECT IMPORT($external_sth) ok 11 # skip Need DBI statement handle - can't use when executing direct ok 12 # skip Need DBI statement handle - can't use when executing direct -# Running tests for DBD::File +# Running tests for DBD::DBM ok 13 - IMPORT($AoA) ok 14 - IMPORT($AoH) ok 15 - CREATE AS IMPORT($aoh) @@ -1775,7 +1810,7 @@ ok 24 - SELECT IMPORT($external_sth) ok 25 - CREATE AS IMPORT($sth) ok 26 - SELECT FROM IMPORTED ($external_sth) -# Running tests for DBD::DBM +# Running tests for DBD::File ok 27 - IMPORT($AoA) ok 28 - IMPORT($AoH) ok 29 - CREATE AS IMPORT($aoh) @@ -1839,7 +1874,7 @@ ok 35 - execute for 'mixed/asterisked' ok 36 - mixed/asterisked ok 37 # skip Need DBI statement handle - can't use when executing direct -# Running tests for DBD::File +# Running tests for DBD::DBM ok 38 - Column Names: select list = * ok 39 - Column Names: select list = named ok 40 - Column Names: select list = aliased @@ -1880,7 +1915,7 @@ ok 75 - imported table : upper ok 76 - imported table : mixed ok 77 - imported table : asterisked -# Running tests for DBD::DBM +# Running tests for DBD::File ok 78 - Column Names: select list = * ok 79 - Column Names: select list = named ok 80 - Column Names: select list = aliased @@ -2259,8 +2294,8 @@ 1..321 ok t/06virtual.t ... -# Can't locate DBD/CSV.pm in @INC (you may need to install the DBD::CSV module) (@INC contains: t /build/libsql-statement-perl-1.412/blib/lib /build/libsql-statement-perl-1.412/blib/arch /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.28.1 /usr/local/share/perl/5.28.1 /usr/lib/x86_64-linux-gnu/perl5/5.28 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.28 /usr/share/perl/5.28 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base .) at t/TestLib.pm line 42. # Can't locate MLDBM.pm in @INC (you may need to install the MLDBM module) (@INC contains: t /build/libsql-statement-perl-1.412/blib/lib /build/libsql-statement-perl-1.412/blib/arch /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.28.1 /usr/local/share/perl/5.28.1 /usr/lib/x86_64-linux-gnu/perl5/5.28 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.28 /usr/share/perl/5.28 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base .) at t/TestLib.pm line 42. +# Can't locate DBD/CSV.pm in @INC (you may need to install the DBD::CSV module) (@INC contains: t /build/libsql-statement-perl-1.412/blib/lib /build/libsql-statement-perl-1.412/blib/arch /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.28.1 /usr/local/share/perl/5.28.1 /usr/lib/x86_64-linux-gnu/perl5/5.28 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.28 /usr/share/perl/5.28 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base .) at t/TestLib.pm line 42. # # Using required: # # SQL::Statement: 1.412 # # Using recommended: @@ -2301,40 +2336,40 @@ ok 30 - execute CREATE TYPE TIMESTAMP on SQL::Statement ok 31 - prepare CREATE TEMP TABLE log (id INT, host CHAR, signature CHAR, message CHAR, time_stamp TIMESTAMP) on SQL::Statement ok 32 - execute CREATE TEMP TABLE log (id INT, host CHAR, signature CHAR, message CHAR, time_stamp TIMESTAMP) on SQL::Statement -ok 33 - prepare INSERT INTO log VALUES (1, 'bert', '/netbsd', 'Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,', 1673166807) on SQL::Statement -ok 34 - execute INSERT INTO log VALUES (1, 'bert', '/netbsd', 'Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,', 1673166807) on SQL::Statement -ok 35 - prepare INSERT INTO log VALUES (2, 'bert', '/netbsd', '2006, 2007, 2008, 2009, 2010', 1673166807) on SQL::Statement -ok 36 - execute INSERT INTO log VALUES (2, 'bert', '/netbsd', '2006, 2007, 2008, 2009, 2010', 1673166807) on SQL::Statement -ok 37 - prepare INSERT INTO log VALUES (3, 'bert', '/netbsd', 'The NetBSD Foundation, Inc. All rights reserved.', 1673166807) on SQL::Statement -ok 38 - execute INSERT INTO log VALUES (3, 'bert', '/netbsd', 'The NetBSD Foundation, Inc. All rights reserved.', 1673166807) on SQL::Statement -ok 39 - prepare INSERT INTO log VALUES (4, 'bert', '/netbsd', 'Copyright (c) 1982, 1986, 1989, 1991, 1993', 1673166807) on SQL::Statement -ok 40 - execute INSERT INTO log VALUES (4, 'bert', '/netbsd', 'Copyright (c) 1982, 1986, 1989, 1991, 1993', 1673166807) on SQL::Statement -ok 41 - prepare INSERT INTO log VALUES (5, 'bert', '/netbsd', 'The Regents of the University of California. All rights reserved.', 1673166807) on SQL::Statement -ok 42 - execute INSERT INTO log VALUES (5, 'bert', '/netbsd', 'The Regents of the University of California. All rights reserved.', 1673166807) on SQL::Statement -ok 43 - prepare INSERT INTO log VALUES (6, 'bert', '/netbsd', '', 1673166807) on SQL::Statement -ok 44 - execute INSERT INTO log VALUES (6, 'bert', '/netbsd', '', 1673166807) on SQL::Statement -ok 45 - prepare INSERT INTO log VALUES (7, 'bert', '/netbsd', 'NetBSD 5.99.39 (BERT) \#0: Fri Oct 8 06:23:03 CEST 2010', 1673166807) on SQL::Statement -ok 46 - execute INSERT INTO log VALUES (7, 'bert', '/netbsd', 'NetBSD 5.99.39 (BERT) \#0: Fri Oct 8 06:23:03 CEST 2010', 1673166807) on SQL::Statement -ok 47 - prepare INSERT INTO log VALUES (8, 'ernie', 'rpc.statd', 'starting', 1673163207) on SQL::Statement -ok 48 - execute INSERT INTO log VALUES (8, 'ernie', 'rpc.statd', 'starting', 1673163207) on SQL::Statement -ok 49 - prepare INSERT INTO log VALUES (9, 'ernie', 'savecore', 'no core dump', 1673159607) on SQL::Statement -ok 50 - execute INSERT INTO log VALUES (9, 'ernie', 'savecore', 'no core dump', 1673159607) on SQL::Statement -ok 51 - prepare INSERT INTO log VALUES (10, 'ernie', 'postfix/postfix-script', 'starting the Postfix mail system', 1673156007) on SQL::Statement -ok 52 - execute INSERT INTO log VALUES (10, 'ernie', 'postfix/postfix-script', 'starting the Postfix mail system', 1673156007) on SQL::Statement -ok 53 - prepare INSERT INTO log VALUES (11, 'ernie', 'rpcbind', 'connect from 127.0.0.1 to dump()', 1673152407) on SQL::Statement -ok 54 - execute INSERT INTO log VALUES (11, 'ernie', 'rpcbind', 'connect from 127.0.0.1 to dump()', 1673152407) on SQL::Statement -ok 55 - prepare INSERT INTO log VALUES (12, 'ernie', 'sshd', 'last message repeated 2 times', 1673148807) on SQL::Statement -ok 56 - execute INSERT INTO log VALUES (12, 'ernie', 'sshd', 'last message repeated 2 times', 1673148807) on SQL::Statement -ok 57 - prepare INSERT INTO log VALUES (13, 'ernie', 'shutdown', 'poweroff by root:', 1673145207) on SQL::Statement -ok 58 - execute INSERT INTO log VALUES (13, 'ernie', 'shutdown', 'poweroff by root:', 1673145207) on SQL::Statement -ok 59 - prepare INSERT INTO log VALUES (14, 'ernie', 'shutdown', 'rebooted by root', 1673141607) on SQL::Statement -ok 60 - execute INSERT INTO log VALUES (14, 'ernie', 'shutdown', 'rebooted by root', 1673141607) on SQL::Statement -ok 61 - prepare INSERT INTO log VALUES (15, 'ernie', 'sshd', 'Server listening on :: port 22.', 1673138007) on SQL::Statement -ok 62 - execute INSERT INTO log VALUES (15, 'ernie', 'sshd', 'Server listening on :: port 22.', 1673138007) on SQL::Statement -ok 63 - prepare INSERT INTO log VALUES (16, 'ernie', 'sshd', 'Server listening on 0.0.0.0 port 22.', 1673134407) on SQL::Statement -ok 64 - execute INSERT INTO log VALUES (16, 'ernie', 'sshd', 'Server listening on 0.0.0.0 port 22.', 1673134407) on SQL::Statement -ok 65 - prepare INSERT INTO log VALUES (17, 'ernie', 'sshd', 'Received SIGHUP; restarting.', 1673130807) on SQL::Statement -ok 66 - execute INSERT INTO log VALUES (17, 'ernie', 'sshd', 'Received SIGHUP; restarting.', 1673130807) on SQL::Statement +ok 33 - prepare INSERT INTO log VALUES (1, 'bert', '/netbsd', 'Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,', 1638756697) on SQL::Statement +ok 34 - execute INSERT INTO log VALUES (1, 'bert', '/netbsd', 'Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,', 1638756697) on SQL::Statement +ok 35 - prepare INSERT INTO log VALUES (2, 'bert', '/netbsd', '2006, 2007, 2008, 2009, 2010', 1638756697) on SQL::Statement +ok 36 - execute INSERT INTO log VALUES (2, 'bert', '/netbsd', '2006, 2007, 2008, 2009, 2010', 1638756697) on SQL::Statement +ok 37 - prepare INSERT INTO log VALUES (3, 'bert', '/netbsd', 'The NetBSD Foundation, Inc. All rights reserved.', 1638756697) on SQL::Statement +ok 38 - execute INSERT INTO log VALUES (3, 'bert', '/netbsd', 'The NetBSD Foundation, Inc. All rights reserved.', 1638756697) on SQL::Statement +ok 39 - prepare INSERT INTO log VALUES (4, 'bert', '/netbsd', 'Copyright (c) 1982, 1986, 1989, 1991, 1993', 1638756697) on SQL::Statement +ok 40 - execute INSERT INTO log VALUES (4, 'bert', '/netbsd', 'Copyright (c) 1982, 1986, 1989, 1991, 1993', 1638756697) on SQL::Statement +ok 41 - prepare INSERT INTO log VALUES (5, 'bert', '/netbsd', 'The Regents of the University of California. All rights reserved.', 1638756697) on SQL::Statement +ok 42 - execute INSERT INTO log VALUES (5, 'bert', '/netbsd', 'The Regents of the University of California. All rights reserved.', 1638756697) on SQL::Statement +ok 43 - prepare INSERT INTO log VALUES (6, 'bert', '/netbsd', '', 1638756697) on SQL::Statement +ok 44 - execute INSERT INTO log VALUES (6, 'bert', '/netbsd', '', 1638756697) on SQL::Statement +ok 45 - prepare INSERT INTO log VALUES (7, 'bert', '/netbsd', 'NetBSD 5.99.39 (BERT) \#0: Fri Oct 8 06:23:03 CEST 2010', 1638756697) on SQL::Statement +ok 46 - execute INSERT INTO log VALUES (7, 'bert', '/netbsd', 'NetBSD 5.99.39 (BERT) \#0: Fri Oct 8 06:23:03 CEST 2010', 1638756697) on SQL::Statement +ok 47 - prepare INSERT INTO log VALUES (8, 'ernie', 'rpc.statd', 'starting', 1638753097) on SQL::Statement +ok 48 - execute INSERT INTO log VALUES (8, 'ernie', 'rpc.statd', 'starting', 1638753097) on SQL::Statement +ok 49 - prepare INSERT INTO log VALUES (9, 'ernie', 'savecore', 'no core dump', 1638749497) on SQL::Statement +ok 50 - execute INSERT INTO log VALUES (9, 'ernie', 'savecore', 'no core dump', 1638749497) on SQL::Statement +ok 51 - prepare INSERT INTO log VALUES (10, 'ernie', 'postfix/postfix-script', 'starting the Postfix mail system', 1638745897) on SQL::Statement +ok 52 - execute INSERT INTO log VALUES (10, 'ernie', 'postfix/postfix-script', 'starting the Postfix mail system', 1638745897) on SQL::Statement +ok 53 - prepare INSERT INTO log VALUES (11, 'ernie', 'rpcbind', 'connect from 127.0.0.1 to dump()', 1638742297) on SQL::Statement +ok 54 - execute INSERT INTO log VALUES (11, 'ernie', 'rpcbind', 'connect from 127.0.0.1 to dump()', 1638742297) on SQL::Statement +ok 55 - prepare INSERT INTO log VALUES (12, 'ernie', 'sshd', 'last message repeated 2 times', 1638738697) on SQL::Statement +ok 56 - execute INSERT INTO log VALUES (12, 'ernie', 'sshd', 'last message repeated 2 times', 1638738697) on SQL::Statement +ok 57 - prepare INSERT INTO log VALUES (13, 'ernie', 'shutdown', 'poweroff by root:', 1638735097) on SQL::Statement +ok 58 - execute INSERT INTO log VALUES (13, 'ernie', 'shutdown', 'poweroff by root:', 1638735097) on SQL::Statement +ok 59 - prepare INSERT INTO log VALUES (14, 'ernie', 'shutdown', 'rebooted by root', 1638731497) on SQL::Statement +ok 60 - execute INSERT INTO log VALUES (14, 'ernie', 'shutdown', 'rebooted by root', 1638731497) on SQL::Statement +ok 61 - prepare INSERT INTO log VALUES (15, 'ernie', 'sshd', 'Server listening on :: port 22.', 1638727897) on SQL::Statement +ok 62 - execute INSERT INTO log VALUES (15, 'ernie', 'sshd', 'Server listening on :: port 22.', 1638727897) on SQL::Statement +ok 63 - prepare INSERT INTO log VALUES (16, 'ernie', 'sshd', 'Server listening on 0.0.0.0 port 22.', 1638724297) on SQL::Statement +ok 64 - execute INSERT INTO log VALUES (16, 'ernie', 'sshd', 'Server listening on 0.0.0.0 port 22.', 1638724297) on SQL::Statement +ok 65 - prepare INSERT INTO log VALUES (17, 'ernie', 'sshd', 'Received SIGHUP; restarting.', 1638720697) on SQL::Statement +ok 66 - execute INSERT INTO log VALUES (17, 'ernie', 'sshd', 'Received SIGHUP; restarting.', 1638720697) on SQL::Statement ok 67 - prepare SELECT class,SUM(sales) as foo, MAX(sales) FROM biz GROUP BY class using SQL::Statement ok 68 - execute SELECT class,SUM(sales) as foo, MAX(sales) FROM biz GROUP BY class using SQL::Statement ok 69 - GROUP BY one column @@ -2905,17 +2940,17 @@ ok 625 - prepare SELECT USER() using SQL::Statement ok 626 - execute SELECT USER() using SQL::Statement ok 627 - user -ok 628 - prepare SELECT id,host,signature,message FROM log WHERE time_stamp < (1673166807 - ( 4 * 60 )) using SQL::Statement -ok 629 - execute SELECT id,host,signature,message FROM log WHERE time_stamp < (1673166807 - ( 4 * 60 )) using SQL::Statement +ok 628 - prepare SELECT id,host,signature,message FROM log WHERE time_stamp < (1638756697 - ( 4 * 60 )) using SQL::Statement +ok 629 - execute SELECT id,host,signature,message FROM log WHERE time_stamp < (1638756697 - ( 4 * 60 )) using SQL::Statement ok 630 - SELECT with calculation in WHERE CLAUSE -ok 631 - prepare SELECT id,host,signature,message FROM log WHERE (time_stamp > (1673166807 - 5)) AND (time_stamp < (1673166807 + 5)) using SQL::Statement -ok 632 - execute SELECT id,host,signature,message FROM log WHERE (time_stamp > (1673166807 - 5)) AND (time_stamp < (1673166807 + 5)) using SQL::Statement +ok 631 - prepare SELECT id,host,signature,message FROM log WHERE (time_stamp > (1638756697 - 5)) AND (time_stamp < (1638756697 + 5)) using SQL::Statement +ok 632 - execute SELECT id,host,signature,message FROM log WHERE (time_stamp > (1638756697 - 5)) AND (time_stamp < (1638756697 + 5)) using SQL::Statement ok 633 - SELECT with calculation and logical expression in WHERE CLAUSE -ok 634 - prepare SELECT id,host,signature,message FROM log WHERE time_stamp BETWEEN ( 1673166807 - 5, 1673166807 + 5) using SQL::Statement -ok 635 - execute SELECT id,host,signature,message FROM log WHERE time_stamp BETWEEN ( 1673166807 - 5, 1673166807 + 5) using SQL::Statement +ok 634 - prepare SELECT id,host,signature,message FROM log WHERE time_stamp BETWEEN ( 1638756697 - 5, 1638756697 + 5) using SQL::Statement +ok 635 - execute SELECT id,host,signature,message FROM log WHERE time_stamp BETWEEN ( 1638756697 - 5, 1638756697 + 5) using SQL::Statement ok 636 - SELECT with calculated items in BETWEEN in WHERE CLAUSE -ok 637 - prepare SELECT MAX(time_stamp) FROM log WHERE time_stamp IN (1673166807 - (2*3600), 1673166807 - (4*3600)) using SQL::Statement -ok 638 - execute SELECT MAX(time_stamp) FROM log WHERE time_stamp IN (1673166807 - (2*3600), 1673166807 - (4*3600)) using SQL::Statement +ok 637 - prepare SELECT MAX(time_stamp) FROM log WHERE time_stamp IN (1638756697 - (2*3600), 1638756697 - (4*3600)) using SQL::Statement +ok 638 - execute SELECT MAX(time_stamp) FROM log WHERE time_stamp IN (1638756697 - (2*3600), 1638756697 - (4*3600)) using SQL::Statement ok 639 - MAX() with calculated WHERE clause ok 640 - prepare SELECT MAX(time_stamp - 3*3600) FROM log using SQL::Statement ok 641 - execute SELECT MAX(time_stamp - 3*3600) FROM log using SQL::Statement @@ -2969,40 +3004,40 @@ ok 685 - execute CREATE TYPE TIMESTAMP on DBD::File ok 686 - prepare CREATE TEMP TABLE log (id INT, host CHAR, signature CHAR, message CHAR, time_stamp TIMESTAMP) on DBD::File ok 687 - execute CREATE TEMP TABLE log (id INT, host CHAR, signature CHAR, message CHAR, time_stamp TIMESTAMP) on DBD::File -ok 688 - prepare INSERT INTO log VALUES (1, 'bert', '/netbsd', 'Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,', 1673166808) on DBD::File -ok 689 - execute INSERT INTO log VALUES (1, 'bert', '/netbsd', 'Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,', 1673166808) on DBD::File -ok 690 - prepare INSERT INTO log VALUES (2, 'bert', '/netbsd', '2006, 2007, 2008, 2009, 2010', 1673166808) on DBD::File -ok 691 - execute INSERT INTO log VALUES (2, 'bert', '/netbsd', '2006, 2007, 2008, 2009, 2010', 1673166808) on DBD::File -ok 692 - prepare INSERT INTO log VALUES (3, 'bert', '/netbsd', 'The NetBSD Foundation, Inc. All rights reserved.', 1673166808) on DBD::File -ok 693 - execute INSERT INTO log VALUES (3, 'bert', '/netbsd', 'The NetBSD Foundation, Inc. All rights reserved.', 1673166808) on DBD::File -ok 694 - prepare INSERT INTO log VALUES (4, 'bert', '/netbsd', 'Copyright (c) 1982, 1986, 1989, 1991, 1993', 1673166808) on DBD::File -ok 695 - execute INSERT INTO log VALUES (4, 'bert', '/netbsd', 'Copyright (c) 1982, 1986, 1989, 1991, 1993', 1673166808) on DBD::File -ok 696 - prepare INSERT INTO log VALUES (5, 'bert', '/netbsd', 'The Regents of the University of California. All rights reserved.', 1673166808) on DBD::File -ok 697 - execute INSERT INTO log VALUES (5, 'bert', '/netbsd', 'The Regents of the University of California. All rights reserved.', 1673166808) on DBD::File -ok 698 - prepare INSERT INTO log VALUES (6, 'bert', '/netbsd', '', 1673166808) on DBD::File -ok 699 - execute INSERT INTO log VALUES (6, 'bert', '/netbsd', '', 1673166808) on DBD::File -ok 700 - prepare INSERT INTO log VALUES (7, 'bert', '/netbsd', 'NetBSD 5.99.39 (BERT) \#0: Fri Oct 8 06:23:03 CEST 2010', 1673166808) on DBD::File -ok 701 - execute INSERT INTO log VALUES (7, 'bert', '/netbsd', 'NetBSD 5.99.39 (BERT) \#0: Fri Oct 8 06:23:03 CEST 2010', 1673166808) on DBD::File -ok 702 - prepare INSERT INTO log VALUES (8, 'ernie', 'rpc.statd', 'starting', 1673163208) on DBD::File -ok 703 - execute INSERT INTO log VALUES (8, 'ernie', 'rpc.statd', 'starting', 1673163208) on DBD::File -ok 704 - prepare INSERT INTO log VALUES (9, 'ernie', 'savecore', 'no core dump', 1673159608) on DBD::File -ok 705 - execute INSERT INTO log VALUES (9, 'ernie', 'savecore', 'no core dump', 1673159608) on DBD::File -ok 706 - prepare INSERT INTO log VALUES (10, 'ernie', 'postfix/postfix-script', 'starting the Postfix mail system', 1673156008) on DBD::File -ok 707 - execute INSERT INTO log VALUES (10, 'ernie', 'postfix/postfix-script', 'starting the Postfix mail system', 1673156008) on DBD::File -ok 708 - prepare INSERT INTO log VALUES (11, 'ernie', 'rpcbind', 'connect from 127.0.0.1 to dump()', 1673152408) on DBD::File -ok 709 - execute INSERT INTO log VALUES (11, 'ernie', 'rpcbind', 'connect from 127.0.0.1 to dump()', 1673152408) on DBD::File -ok 710 - prepare INSERT INTO log VALUES (12, 'ernie', 'sshd', 'last message repeated 2 times', 1673148808) on DBD::File -ok 711 - execute INSERT INTO log VALUES (12, 'ernie', 'sshd', 'last message repeated 2 times', 1673148808) on DBD::File -ok 712 - prepare INSERT INTO log VALUES (13, 'ernie', 'shutdown', 'poweroff by root:', 1673145208) on DBD::File -ok 713 - execute INSERT INTO log VALUES (13, 'ernie', 'shutdown', 'poweroff by root:', 1673145208) on DBD::File -ok 714 - prepare INSERT INTO log VALUES (14, 'ernie', 'shutdown', 'rebooted by root', 1673141608) on DBD::File -ok 715 - execute INSERT INTO log VALUES (14, 'ernie', 'shutdown', 'rebooted by root', 1673141608) on DBD::File -ok 716 - prepare INSERT INTO log VALUES (15, 'ernie', 'sshd', 'Server listening on :: port 22.', 1673138008) on DBD::File -ok 717 - execute INSERT INTO log VALUES (15, 'ernie', 'sshd', 'Server listening on :: port 22.', 1673138008) on DBD::File -ok 718 - prepare INSERT INTO log VALUES (16, 'ernie', 'sshd', 'Server listening on 0.0.0.0 port 22.', 1673134408) on DBD::File -ok 719 - execute INSERT INTO log VALUES (16, 'ernie', 'sshd', 'Server listening on 0.0.0.0 port 22.', 1673134408) on DBD::File -ok 720 - prepare INSERT INTO log VALUES (17, 'ernie', 'sshd', 'Received SIGHUP; restarting.', 1673130808) on DBD::File -ok 721 - execute INSERT INTO log VALUES (17, 'ernie', 'sshd', 'Received SIGHUP; restarting.', 1673130808) on DBD::File +ok 688 - prepare INSERT INTO log VALUES (1, 'bert', '/netbsd', 'Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,', 1638756701) on DBD::File +ok 689 - execute INSERT INTO log VALUES (1, 'bert', '/netbsd', 'Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,', 1638756701) on DBD::File +ok 690 - prepare INSERT INTO log VALUES (2, 'bert', '/netbsd', '2006, 2007, 2008, 2009, 2010', 1638756701) on DBD::File +ok 691 - execute INSERT INTO log VALUES (2, 'bert', '/netbsd', '2006, 2007, 2008, 2009, 2010', 1638756701) on DBD::File +ok 692 - prepare INSERT INTO log VALUES (3, 'bert', '/netbsd', 'The NetBSD Foundation, Inc. All rights reserved.', 1638756701) on DBD::File +ok 693 - execute INSERT INTO log VALUES (3, 'bert', '/netbsd', 'The NetBSD Foundation, Inc. All rights reserved.', 1638756701) on DBD::File +ok 694 - prepare INSERT INTO log VALUES (4, 'bert', '/netbsd', 'Copyright (c) 1982, 1986, 1989, 1991, 1993', 1638756701) on DBD::File +ok 695 - execute INSERT INTO log VALUES (4, 'bert', '/netbsd', 'Copyright (c) 1982, 1986, 1989, 1991, 1993', 1638756701) on DBD::File +ok 696 - prepare INSERT INTO log VALUES (5, 'bert', '/netbsd', 'The Regents of the University of California. All rights reserved.', 1638756701) on DBD::File +ok 697 - execute INSERT INTO log VALUES (5, 'bert', '/netbsd', 'The Regents of the University of California. All rights reserved.', 1638756701) on DBD::File +ok 698 - prepare INSERT INTO log VALUES (6, 'bert', '/netbsd', '', 1638756701) on DBD::File +ok 699 - execute INSERT INTO log VALUES (6, 'bert', '/netbsd', '', 1638756701) on DBD::File +ok 700 - prepare INSERT INTO log VALUES (7, 'bert', '/netbsd', 'NetBSD 5.99.39 (BERT) \#0: Fri Oct 8 06:23:03 CEST 2010', 1638756701) on DBD::File +ok 701 - execute INSERT INTO log VALUES (7, 'bert', '/netbsd', 'NetBSD 5.99.39 (BERT) \#0: Fri Oct 8 06:23:03 CEST 2010', 1638756701) on DBD::File +ok 702 - prepare INSERT INTO log VALUES (8, 'ernie', 'rpc.statd', 'starting', 1638753101) on DBD::File +ok 703 - execute INSERT INTO log VALUES (8, 'ernie', 'rpc.statd', 'starting', 1638753101) on DBD::File +ok 704 - prepare INSERT INTO log VALUES (9, 'ernie', 'savecore', 'no core dump', 1638749501) on DBD::File +ok 705 - execute INSERT INTO log VALUES (9, 'ernie', 'savecore', 'no core dump', 1638749501) on DBD::File +ok 706 - prepare INSERT INTO log VALUES (10, 'ernie', 'postfix/postfix-script', 'starting the Postfix mail system', 1638745901) on DBD::File +ok 707 - execute INSERT INTO log VALUES (10, 'ernie', 'postfix/postfix-script', 'starting the Postfix mail system', 1638745901) on DBD::File +ok 708 - prepare INSERT INTO log VALUES (11, 'ernie', 'rpcbind', 'connect from 127.0.0.1 to dump()', 1638742301) on DBD::File +ok 709 - execute INSERT INTO log VALUES (11, 'ernie', 'rpcbind', 'connect from 127.0.0.1 to dump()', 1638742301) on DBD::File +ok 710 - prepare INSERT INTO log VALUES (12, 'ernie', 'sshd', 'last message repeated 2 times', 1638738701) on DBD::File +ok 711 - execute INSERT INTO log VALUES (12, 'ernie', 'sshd', 'last message repeated 2 times', 1638738701) on DBD::File +ok 712 - prepare INSERT INTO log VALUES (13, 'ernie', 'shutdown', 'poweroff by root:', 1638735101) on DBD::File +ok 713 - execute INSERT INTO log VALUES (13, 'ernie', 'shutdown', 'poweroff by root:', 1638735101) on DBD::File +ok 714 - prepare INSERT INTO log VALUES (14, 'ernie', 'shutdown', 'rebooted by root', 1638731501) on DBD::File +ok 715 - execute INSERT INTO log VALUES (14, 'ernie', 'shutdown', 'rebooted by root', 1638731501) on DBD::File +ok 716 - prepare INSERT INTO log VALUES (15, 'ernie', 'sshd', 'Server listening on :: port 22.', 1638727901) on DBD::File +ok 717 - execute INSERT INTO log VALUES (15, 'ernie', 'sshd', 'Server listening on :: port 22.', 1638727901) on DBD::File +ok 718 - prepare INSERT INTO log VALUES (16, 'ernie', 'sshd', 'Server listening on 0.0.0.0 port 22.', 1638724301) on DBD::File +ok 719 - execute INSERT INTO log VALUES (16, 'ernie', 'sshd', 'Server listening on 0.0.0.0 port 22.', 1638724301) on DBD::File +ok 720 - prepare INSERT INTO log VALUES (17, 'ernie', 'sshd', 'Received SIGHUP; restarting.', 1638720701) on DBD::File +ok 721 - execute INSERT INTO log VALUES (17, 'ernie', 'sshd', 'Received SIGHUP; restarting.', 1638720701) on DBD::File ok 722 - prepare SELECT class,SUM(sales) as foo, MAX(sales) FROM biz GROUP BY class using DBD::File ok 723 - execute SELECT class,SUM(sales) as foo, MAX(sales) FROM biz GROUP BY class using DBD::File ok 724 - GROUP BY one column @@ -3573,17 +3608,17 @@ ok 1280 - prepare SELECT USER() using DBD::File ok 1281 - execute SELECT USER() using DBD::File ok 1282 - user -ok 1283 - prepare SELECT id,host,signature,message FROM log WHERE time_stamp < (1673166808 - ( 4 * 60 )) using DBD::File -ok 1284 - execute SELECT id,host,signature,message FROM log WHERE time_stamp < (1673166808 - ( 4 * 60 )) using DBD::File +ok 1283 - prepare SELECT id,host,signature,message FROM log WHERE time_stamp < (1638756701 - ( 4 * 60 )) using DBD::File +ok 1284 - execute SELECT id,host,signature,message FROM log WHERE time_stamp < (1638756701 - ( 4 * 60 )) using DBD::File ok 1285 - SELECT with calculation in WHERE CLAUSE -ok 1286 - prepare SELECT id,host,signature,message FROM log WHERE (time_stamp > (1673166808 - 5)) AND (time_stamp < (1673166808 + 5)) using DBD::File -ok 1287 - execute SELECT id,host,signature,message FROM log WHERE (time_stamp > (1673166808 - 5)) AND (time_stamp < (1673166808 + 5)) using DBD::File +ok 1286 - prepare SELECT id,host,signature,message FROM log WHERE (time_stamp > (1638756701 - 5)) AND (time_stamp < (1638756701 + 5)) using DBD::File +ok 1287 - execute SELECT id,host,signature,message FROM log WHERE (time_stamp > (1638756701 - 5)) AND (time_stamp < (1638756701 + 5)) using DBD::File ok 1288 - SELECT with calculation and logical expression in WHERE CLAUSE -ok 1289 - prepare SELECT id,host,signature,message FROM log WHERE time_stamp BETWEEN ( 1673166808 - 5, 1673166808 + 5) using DBD::File -ok 1290 - execute SELECT id,host,signature,message FROM log WHERE time_stamp BETWEEN ( 1673166808 - 5, 1673166808 + 5) using DBD::File +ok 1289 - prepare SELECT id,host,signature,message FROM log WHERE time_stamp BETWEEN ( 1638756701 - 5, 1638756701 + 5) using DBD::File +ok 1290 - execute SELECT id,host,signature,message FROM log WHERE time_stamp BETWEEN ( 1638756701 - 5, 1638756701 + 5) using DBD::File ok 1291 - SELECT with calculated items in BETWEEN in WHERE CLAUSE -ok 1292 - prepare SELECT MAX(time_stamp) FROM log WHERE time_stamp IN (1673166808 - (2*3600), 1673166808 - (4*3600)) using DBD::File -ok 1293 - execute SELECT MAX(time_stamp) FROM log WHERE time_stamp IN (1673166808 - (2*3600), 1673166808 - (4*3600)) using DBD::File +ok 1292 - prepare SELECT MAX(time_stamp) FROM log WHERE time_stamp IN (1638756701 - (2*3600), 1638756701 - (4*3600)) using DBD::File +ok 1293 - execute SELECT MAX(time_stamp) FROM log WHERE time_stamp IN (1638756701 - (2*3600), 1638756701 - (4*3600)) using DBD::File ok 1294 - MAX() with calculated WHERE clause ok 1295 - prepare SELECT MAX(time_stamp - 3*3600) FROM log using DBD::File ok 1296 - execute SELECT MAX(time_stamp - 3*3600) FROM log using DBD::File @@ -3598,7 +3633,7 @@ # at t/06virtual.t line 1499. # Structures begin differing at: # $got->[0] = Does not exist -# $expected->[0] = ARRAY(0x5649bf8a11f0) +# $expected->[0] = ARRAY(0x558089586718) ok 1301 - prepare SELECT MAX( CHAR_LENGTH(message) ) FROM log using DBD::File ok 1302 - execute SELECT MAX( CHAR_LENGTH(message) ) FROM log using DBD::File ok 1303 - function in MAX() @@ -3616,8 +3651,8 @@ 1..1313 ok t/08join.t ...... -# Can't locate DBD/CSV.pm in @INC (you may need to install the DBD::CSV module) (@INC contains: t /build/libsql-statement-perl-1.412/blib/lib /build/libsql-statement-perl-1.412/blib/arch /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.28.1 /usr/local/share/perl/5.28.1 /usr/lib/x86_64-linux-gnu/perl5/5.28 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.28 /usr/share/perl/5.28 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base .) at t/TestLib.pm line 42. # Can't locate MLDBM.pm in @INC (you may need to install the MLDBM module) (@INC contains: t /build/libsql-statement-perl-1.412/blib/lib /build/libsql-statement-perl-1.412/blib/arch /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.28.1 /usr/local/share/perl/5.28.1 /usr/lib/x86_64-linux-gnu/perl5/5.28 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.28 /usr/share/perl/5.28 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base .) at t/TestLib.pm line 42. +# Can't locate DBD/CSV.pm in @INC (you may need to install the DBD::CSV module) (@INC contains: t /build/libsql-statement-perl-1.412/blib/lib /build/libsql-statement-perl-1.412/blib/arch /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.28.1 /usr/local/share/perl/5.28.1 /usr/lib/x86_64-linux-gnu/perl5/5.28 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.28 /usr/share/perl/5.28 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base .) at t/TestLib.pm line 42. # # Using required: # # SQL::Statement: 1.412 # # Using recommended: @@ -3938,7 +3973,7 @@ # at t/08join.t line 675. # Structures begin differing at: # $got->[2] = Does not exist -# $expected->[2] = ARRAY(0x5596edd14c00) +# $expected->[2] = ARRAY(0x5603e72ce780) ok 297 - prepare SELECT applname, appluniq, version, nodename # FROM APPL, PREC, NODE # WHERE appl_type LIKE '%DB' @@ -4058,443 +4093,9 @@ # ON p.pid = r.pid # using SQL::Statement fails ok 321 - Complex LEFT JOIN # TODO Not supported yet! -# Running tests for DBD::File -ok 322 - prepare CREATE TEMP TABLE Prof (pname CHAR, pid INT) on DBD::File -ok 323 - execute CREATE TEMP TABLE Prof (pname CHAR, pid INT) on DBD::File -ok 324 - prepare INSERT INTO Prof VALUES ('Sue', 1) on DBD::File -ok 325 - execute INSERT INTO Prof VALUES ('Sue', 1) on DBD::File -ok 326 - prepare INSERT INTO Prof VALUES ('Bob', 2) on DBD::File -ok 327 - execute INSERT INTO Prof VALUES ('Bob', 2) on DBD::File -ok 328 - prepare INSERT INTO Prof VALUES ('Tom', 3) on DBD::File -ok 329 - execute INSERT INTO Prof VALUES ('Tom', 3) on DBD::File -ok 330 - prepare CREATE TEMP TABLE Subject (sname CHAR, pid INT) on DBD::File -ok 331 - execute CREATE TEMP TABLE Subject (sname CHAR, pid INT) on DBD::File -ok 332 - prepare INSERT INTO Subject VALUES ('Chem', 1) on DBD::File -ok 333 - execute INSERT INTO Subject VALUES ('Chem', 1) on DBD::File -ok 334 - prepare INSERT INTO Subject VALUES ('Bio', 2) on DBD::File -ok 335 - execute INSERT INTO Subject VALUES ('Bio', 2) on DBD::File -ok 336 - prepare INSERT INTO Subject VALUES ('Math', 2) on DBD::File -ok 337 - execute INSERT INTO Subject VALUES ('Math', 2) on DBD::File -ok 338 - prepare INSERT INTO Subject VALUES ('English', 4) on DBD::File -ok 339 - execute INSERT INTO Subject VALUES ('English', 4) on DBD::File -ok 340 - prepare CREATE TEMP TABLE Room (rname CHAR, pid INT) on DBD::File -ok 341 - execute CREATE TEMP TABLE Room (rname CHAR, pid INT) on DBD::File -ok 342 - prepare INSERT INTO Room VALUES ('1C', 1) on DBD::File -ok 343 - execute INSERT INTO Room VALUES ('1C', 1) on DBD::File -ok 344 - prepare INSERT INTO Room VALUES ('2B', 2) on DBD::File -ok 345 - execute INSERT INTO Room VALUES ('2B', 2) on DBD::File -ok 346 - prepare CREATE TEMP TABLE author (author_name CHAR, author_id INT) on DBD::File -ok 347 - execute CREATE TEMP TABLE author (author_name CHAR, author_id INT) on DBD::File -ok 348 - prepare INSERT INTO author VALUES ('Neal Stephenson',1) on DBD::File -ok 349 - execute INSERT INTO author VALUES ('Neal Stephenson',1) on DBD::File -ok 350 - prepare INSERT INTO author VALUES ('Vernor Vinge',2) on DBD::File -ok 351 - execute INSERT INTO author VALUES ('Vernor Vinge',2) on DBD::File -ok 352 - prepare CREATE TEMP TABLE book (book_title CHAR, author_id INT) on DBD::File -ok 353 - execute CREATE TEMP TABLE book (book_title CHAR, author_id INT) on DBD::File -ok 354 - prepare INSERT INTO book VALUES ('Cryptonomicon',1) on DBD::File -ok 355 - execute INSERT INTO book VALUES ('Cryptonomicon',1) on DBD::File -ok 356 - prepare INSERT INTO book VALUES ('Dahlgren',3) on DBD::File -ok 357 - execute INSERT INTO book VALUES ('Dahlgren',3) on DBD::File -ok 358 - prepare CREATE TEMP TABLE t1 (num INT, name CHAR) on DBD::File -ok 359 - execute CREATE TEMP TABLE t1 (num INT, name CHAR) on DBD::File -ok 360 - prepare INSERT INTO t1 VALUES (1,'a') on DBD::File -ok 361 - execute INSERT INTO t1 VALUES (1,'a') on DBD::File -ok 362 - prepare INSERT INTO t1 VALUES (2,'b') on DBD::File -ok 363 - execute INSERT INTO t1 VALUES (2,'b') on DBD::File -ok 364 - prepare INSERT INTO t1 VALUES (3,'c') on DBD::File -ok 365 - execute INSERT INTO t1 VALUES (3,'c') on DBD::File -ok 366 - prepare CREATE TEMP TABLE t2 (num INT, wert CHAR) on DBD::File -ok 367 - execute CREATE TEMP TABLE t2 (num INT, wert CHAR) on DBD::File -ok 368 - prepare INSERT INTO t2 VALUES (1,'xxx') on DBD::File -ok 369 - execute INSERT INTO t2 VALUES (1,'xxx') on DBD::File -ok 370 - prepare INSERT INTO t2 VALUES (3,'yyy') on DBD::File -ok 371 - execute INSERT INTO t2 VALUES (3,'yyy') on DBD::File -ok 372 - prepare INSERT INTO t2 VALUES (5,'zzz') on DBD::File -ok 373 - execute INSERT INTO t2 VALUES (5,'zzz') on DBD::File -ok 374 - prepare CREATE TEMP TABLE APPL (id INT, applname CHAR, appluniq CHAR, version CHAR, appl_type CHAR) on DBD::File -ok 375 - execute CREATE TEMP TABLE APPL (id INT, applname CHAR, appluniq CHAR, version CHAR, appl_type CHAR) on DBD::File -ok 376 - prepare INSERT INTO APPL VALUES ( 1, 'ZQF', 'ZFQLIN', '10.2.0.4', 'Oracle DB') on DBD::File -ok 377 - execute INSERT INTO APPL VALUES ( 1, 'ZQF', 'ZFQLIN', '10.2.0.4', 'Oracle DB') on DBD::File -ok 378 - prepare INSERT INTO APPL VALUES ( 2, 'YRA', 'YRA-UX', '10.2.0.2', 'Oracle DB') on DBD::File -ok 379 - execute INSERT INTO APPL VALUES ( 2, 'YRA', 'YRA-UX', '10.2.0.2', 'Oracle DB') on DBD::File -ok 380 - prepare INSERT INTO APPL VALUES ( 3, 'PRN1', 'PRN1-4.B2', '1.1.22', 'CUPS' ) on DBD::File -ok 381 - execute INSERT INTO APPL VALUES ( 3, 'PRN1', 'PRN1-4.B2', '1.1.22', 'CUPS' ) on DBD::File -ok 382 - prepare INSERT INTO APPL VALUES ( 4, 'PRN2', 'PRN2-4.B2', '1.1.22', 'CUPS' ) on DBD::File -ok 383 - execute INSERT INTO APPL VALUES ( 4, 'PRN2', 'PRN2-4.B2', '1.1.22', 'CUPS' ) on DBD::File -ok 384 - prepare INSERT INTO APPL VALUES ( 5, 'PRN1', 'PRN1-4.B1', '1.1.22', 'CUPS' ) on DBD::File -ok 385 - execute INSERT INTO APPL VALUES ( 5, 'PRN1', 'PRN1-4.B1', '1.1.22', 'CUPS' ) on DBD::File -ok 386 - prepare INSERT INTO APPL VALUES ( 7, 'PRN2', 'PRN2-4.B1', '1.1.22', 'CUPS' ) on DBD::File -ok 387 - execute INSERT INTO APPL VALUES ( 7, 'PRN2', 'PRN2-4.B1', '1.1.22', 'CUPS' ) on DBD::File -ok 388 - prepare INSERT INTO APPL VALUES ( 8, 'sql-stmt', 'SQL::Statement', '1.21', 'Project Web-Site') on DBD::File -ok 389 - execute INSERT INTO APPL VALUES ( 8, 'sql-stmt', 'SQL::Statement', '1.21', 'Project Web-Site') on DBD::File -ok 390 - prepare INSERT INTO APPL VALUES ( 9, 'cpan.org', 'http://www.cpan.org/', '1.0', 'Web-Site') on DBD::File -ok 391 - execute INSERT INTO APPL VALUES ( 9, 'cpan.org', 'http://www.cpan.org/', '1.0', 'Web-Site') on DBD::File -ok 392 - prepare INSERT INTO APPL VALUES (10, 'httpd', 'cpan-apache', '2.2.13', 'Web-Server') on DBD::File -ok 393 - execute INSERT INTO APPL VALUES (10, 'httpd', 'cpan-apache', '2.2.13', 'Web-Server') on DBD::File -ok 394 - prepare INSERT INTO APPL VALUES (11, 'cpan-mods', 'cpan-mods', '8.4.1', 'PostgreSQL DB') on DBD::File -ok 395 - execute INSERT INTO APPL VALUES (11, 'cpan-mods', 'cpan-mods', '8.4.1', 'PostgreSQL DB') on DBD::File -ok 396 - prepare INSERT INTO APPL VALUES (12, 'cpan-authors', 'cpan-authors', '8.4.1', 'PostgreSQL DB') on DBD::File -ok 397 - execute INSERT INTO APPL VALUES (12, 'cpan-authors', 'cpan-authors', '8.4.1', 'PostgreSQL DB') on DBD::File -ok 398 - prepare CREATE TEMP TABLE NODE (id INT, nodename CHAR, os CHAR, version CHAR) on DBD::File -ok 399 - execute CREATE TEMP TABLE NODE (id INT, nodename CHAR, os CHAR, version CHAR) on DBD::File -ok 400 - prepare INSERT INTO NODE VALUES ( 1, 'ernie', 'RHEL', '5.2') on DBD::File -ok 401 - execute INSERT INTO NODE VALUES ( 1, 'ernie', 'RHEL', '5.2') on DBD::File -ok 402 - prepare INSERT INTO NODE VALUES ( 2, 'bert', 'RHEL', '5.2') on DBD::File -ok 403 - execute INSERT INTO NODE VALUES ( 2, 'bert', 'RHEL', '5.2') on DBD::File -ok 404 - prepare INSERT INTO NODE VALUES ( 3, 'statler', 'FreeBSD', '7.2') on DBD::File -ok 405 - execute INSERT INTO NODE VALUES ( 3, 'statler', 'FreeBSD', '7.2') on DBD::File -ok 406 - prepare INSERT INTO NODE VALUES ( 4, 'waldorf', 'FreeBSD', '7.2') on DBD::File -ok 407 - execute INSERT INTO NODE VALUES ( 4, 'waldorf', 'FreeBSD', '7.2') on DBD::File -ok 408 - prepare INSERT INTO NODE VALUES ( 5, 'piggy', 'NetBSD', '5.0.2') on DBD::File -ok 409 - execute INSERT INTO NODE VALUES ( 5, 'piggy', 'NetBSD', '5.0.2') on DBD::File -ok 410 - prepare INSERT INTO NODE VALUES ( 6, 'kermit', 'NetBSD', '5.0.2') on DBD::File -ok 411 - execute INSERT INTO NODE VALUES ( 6, 'kermit', 'NetBSD', '5.0.2') on DBD::File -ok 412 - prepare INSERT INTO NODE VALUES ( 7, 'samson', 'NetBSD', '5.0.2') on DBD::File -ok 413 - execute INSERT INTO NODE VALUES ( 7, 'samson', 'NetBSD', '5.0.2') on DBD::File -ok 414 - prepare INSERT INTO NODE VALUES ( 8, 'tiffy', 'NetBSD', '5.0.2') on DBD::File -ok 415 - execute INSERT INTO NODE VALUES ( 8, 'tiffy', 'NetBSD', '5.0.2') on DBD::File -ok 416 - prepare INSERT INTO NODE VALUES ( 9, 'rowlf', 'Debian Lenny', '5.0') on DBD::File -ok 417 - execute INSERT INTO NODE VALUES ( 9, 'rowlf', 'Debian Lenny', '5.0') on DBD::File -ok 418 - prepare INSERT INTO NODE VALUES (10, 'fozzy', 'Debian Lenny', '5.0') on DBD::File -ok 419 - execute INSERT INTO NODE VALUES (10, 'fozzy', 'Debian Lenny', '5.0') on DBD::File -ok 420 - prepare CREATE TEMP TABLE PREC (id INT, appl_id INT, node_id INT, precedence INT) on DBD::File -ok 421 - execute CREATE TEMP TABLE PREC (id INT, appl_id INT, node_id INT, precedence INT) on DBD::File -ok 422 - prepare INSERT INTO PREC VALUES ( 1, 1, 1, 1) on DBD::File -ok 423 - execute INSERT INTO PREC VALUES ( 1, 1, 1, 1) on DBD::File -ok 424 - prepare INSERT INTO PREC VALUES ( 2, 1, 2, 2) on DBD::File -ok 425 - execute INSERT INTO PREC VALUES ( 2, 1, 2, 2) on DBD::File -ok 426 - prepare INSERT INTO PREC VALUES ( 3, 2, 2, 1) on DBD::File -ok 427 - execute INSERT INTO PREC VALUES ( 3, 2, 2, 1) on DBD::File -ok 428 - prepare INSERT INTO PREC VALUES ( 4, 2, 1, 2) on DBD::File -ok 429 - execute INSERT INTO PREC VALUES ( 4, 2, 1, 2) on DBD::File -ok 430 - prepare INSERT INTO PREC VALUES ( 5, 3, 5, 1) on DBD::File -ok 431 - execute INSERT INTO PREC VALUES ( 5, 3, 5, 1) on DBD::File -ok 432 - prepare INSERT INTO PREC VALUES ( 6, 3, 7, 2) on DBD::File -ok 433 - execute INSERT INTO PREC VALUES ( 6, 3, 7, 2) on DBD::File -ok 434 - prepare INSERT INTO PREC VALUES ( 7, 4, 6, 1) on DBD::File -ok 435 - execute INSERT INTO PREC VALUES ( 7, 4, 6, 1) on DBD::File -ok 436 - prepare INSERT INTO PREC VALUES ( 8, 4, 8, 2) on DBD::File -ok 437 - execute INSERT INTO PREC VALUES ( 8, 4, 8, 2) on DBD::File -ok 438 - prepare INSERT INTO PREC VALUES ( 9, 5, 7, 1) on DBD::File -ok 439 - execute INSERT INTO PREC VALUES ( 9, 5, 7, 1) on DBD::File -ok 440 - prepare INSERT INTO PREC VALUES (10, 5, 5, 2) on DBD::File -ok 441 - execute INSERT INTO PREC VALUES (10, 5, 5, 2) on DBD::File -ok 442 - prepare INSERT INTO PREC VALUES (11, 6, 8, 1) on DBD::File -ok 443 - execute INSERT INTO PREC VALUES (11, 6, 8, 1) on DBD::File -ok 444 - prepare INSERT INTO PREC VALUES (12, 7, 6, 2) on DBD::File -ok 445 - execute INSERT INTO PREC VALUES (12, 7, 6, 2) on DBD::File -ok 446 - prepare INSERT INTO PREC VALUES (13, 10, 9, 1) on DBD::File -ok 447 - execute INSERT INTO PREC VALUES (13, 10, 9, 1) on DBD::File -ok 448 - prepare INSERT INTO PREC VALUES (14, 10, 10, 1) on DBD::File -ok 449 - execute INSERT INTO PREC VALUES (14, 10, 10, 1) on DBD::File -ok 450 - prepare INSERT INTO PREC VALUES (15, 8, 9, 1) on DBD::File -ok 451 - execute INSERT INTO PREC VALUES (15, 8, 9, 1) on DBD::File -ok 452 - prepare INSERT INTO PREC VALUES (16, 8, 10, 1) on DBD::File -ok 453 - execute INSERT INTO PREC VALUES (16, 8, 10, 1) on DBD::File -ok 454 - prepare INSERT INTO PREC VALUES (17, 9, 9, 1) on DBD::File -ok 455 - execute INSERT INTO PREC VALUES (17, 9, 9, 1) on DBD::File -ok 456 - prepare INSERT INTO PREC VALUES (18, 9, 10, 1) on DBD::File -ok 457 - execute INSERT INTO PREC VALUES (18, 9, 10, 1) on DBD::File -ok 458 - prepare INSERT INTO PREC VALUES (19, 11, 3, 1) on DBD::File -ok 459 - execute INSERT INTO PREC VALUES (19, 11, 3, 1) on DBD::File -ok 460 - prepare INSERT INTO PREC VALUES (20, 11, 4, 2) on DBD::File -ok 461 - execute INSERT INTO PREC VALUES (20, 11, 4, 2) on DBD::File -ok 462 - prepare INSERT INTO PREC VALUES (21, 12, 4, 1) on DBD::File -ok 463 - execute INSERT INTO PREC VALUES (21, 12, 4, 1) on DBD::File -ok 464 - prepare INSERT INTO PREC VALUES (22, 12, 3, 2) on DBD::File -ok 465 - execute INSERT INTO PREC VALUES (22, 12, 3, 2) on DBD::File -ok 466 - prepare CREATE TEMP TABLE LANDSCAPE (id INT, landscapename CHAR) on DBD::File -ok 467 - execute CREATE TEMP TABLE LANDSCAPE (id INT, landscapename CHAR) on DBD::File -ok 468 - prepare INSERT INTO LANDSCAPE VALUES (1, 'Logistic') on DBD::File -ok 469 - execute INSERT INTO LANDSCAPE VALUES (1, 'Logistic') on DBD::File -ok 470 - prepare INSERT INTO LANDSCAPE VALUES (2, 'Infrastructure') on DBD::File -ok 471 - execute INSERT INTO LANDSCAPE VALUES (2, 'Infrastructure') on DBD::File -ok 472 - prepare INSERT INTO LANDSCAPE VALUES (3, 'CPAN') on DBD::File -ok 473 - execute INSERT INTO LANDSCAPE VALUES (3, 'CPAN') on DBD::File -ok 474 - prepare CREATE TEMP TABLE CONTACT (id INT, surname CHAR, familyname CHAR, phone CHAR, userid CHAR, mailaddr CHAR) on DBD::File -ok 475 - execute CREATE TEMP TABLE CONTACT (id INT, surname CHAR, familyname CHAR, phone CHAR, userid CHAR, mailaddr CHAR) on DBD::File -ok 476 - prepare INSERT INTO CONTACT VALUES ( 1, 'Hans Peter', 'Mueller', '12345', 'HPMUE', 'hp-mueller@here.com') on DBD::File -ok 477 - execute INSERT INTO CONTACT VALUES ( 1, 'Hans Peter', 'Mueller', '12345', 'HPMUE', 'hp-mueller@here.com') on DBD::File -ok 478 - prepare INSERT INTO CONTACT VALUES ( 2, 'Knut', 'Inge', '54321', 'KINGE', 'k-inge@here.com') on DBD::File -ok 479 - execute INSERT INTO CONTACT VALUES ( 2, 'Knut', 'Inge', '54321', 'KINGE', 'k-inge@here.com') on DBD::File -ok 480 - prepare INSERT INTO CONTACT VALUES ( 3, 'Lola', 'Nguyen', '+1-123-45678-90', 'LNYUG', 'lola.ngyuen@customer.com') on DBD::File -ok 481 - execute INSERT INTO CONTACT VALUES ( 3, 'Lola', 'Nguyen', '+1-123-45678-90', 'LNYUG', 'lola.ngyuen@customer.com') on DBD::File -ok 482 - prepare INSERT INTO CONTACT VALUES ( 4, 'Helge', 'Brunft', '+41-123-45678-09', 'HBRUN', 'helge.brunft@external-dc.at') on DBD::File -ok 483 - execute INSERT INTO CONTACT VALUES ( 4, 'Helge', 'Brunft', '+41-123-45678-09', 'HBRUN', 'helge.brunft@external-dc.at') on DBD::File -ok 484 - prepare CREATE TEMP TABLE NM_LANDSCAPE (id INT, ls_id INT, obj_id INT, obj_type INT) on DBD::File -ok 485 - execute CREATE TEMP TABLE NM_LANDSCAPE (id INT, ls_id INT, obj_id INT, obj_type INT) on DBD::File -ok 486 - prepare INSERT INTO NM_LANDSCAPE VALUES ( 1, 1, 1, 2) on DBD::File -ok 487 - execute INSERT INTO NM_LANDSCAPE VALUES ( 1, 1, 1, 2) on DBD::File -ok 488 - prepare INSERT INTO NM_LANDSCAPE VALUES ( 2, 1, 2, 2) on DBD::File -ok 489 - execute INSERT INTO NM_LANDSCAPE VALUES ( 2, 1, 2, 2) on DBD::File -ok 490 - prepare INSERT INTO NM_LANDSCAPE VALUES ( 3, 3, 3, 2) on DBD::File -ok 491 - execute INSERT INTO NM_LANDSCAPE VALUES ( 3, 3, 3, 2) on DBD::File -ok 492 - prepare INSERT INTO NM_LANDSCAPE VALUES ( 4, 3, 4, 2) on DBD::File -ok 493 - execute INSERT INTO NM_LANDSCAPE VALUES ( 4, 3, 4, 2) on DBD::File -ok 494 - prepare INSERT INTO NM_LANDSCAPE VALUES ( 5, 2, 5, 2) on DBD::File -ok 495 - execute INSERT INTO NM_LANDSCAPE VALUES ( 5, 2, 5, 2) on DBD::File -ok 496 - prepare INSERT INTO NM_LANDSCAPE VALUES ( 6, 2, 6, 2) on DBD::File -ok 497 - execute INSERT INTO NM_LANDSCAPE VALUES ( 6, 2, 6, 2) on DBD::File -ok 498 - prepare INSERT INTO NM_LANDSCAPE VALUES ( 7, 2, 7, 2) on DBD::File -ok 499 - execute INSERT INTO NM_LANDSCAPE VALUES ( 7, 2, 7, 2) on DBD::File -ok 500 - prepare INSERT INTO NM_LANDSCAPE VALUES ( 8, 2, 8, 2) on DBD::File -ok 501 - execute INSERT INTO NM_LANDSCAPE VALUES ( 8, 2, 8, 2) on DBD::File -ok 502 - prepare INSERT INTO NM_LANDSCAPE VALUES ( 9, 3, 9, 2) on DBD::File -ok 503 - execute INSERT INTO NM_LANDSCAPE VALUES ( 9, 3, 9, 2) on DBD::File -ok 504 - prepare INSERT INTO NM_LANDSCAPE VALUES (10, 3,10, 2) on DBD::File -ok 505 - execute INSERT INTO NM_LANDSCAPE VALUES (10, 3,10, 2) on DBD::File -ok 506 - prepare INSERT INTO NM_LANDSCAPE VALUES (11, 1, 1, 1) on DBD::File -ok 507 - execute INSERT INTO NM_LANDSCAPE VALUES (11, 1, 1, 1) on DBD::File -ok 508 - prepare INSERT INTO NM_LANDSCAPE VALUES (12, 2, 2, 1) on DBD::File -ok 509 - execute INSERT INTO NM_LANDSCAPE VALUES (12, 2, 2, 1) on DBD::File -ok 510 - prepare INSERT INTO NM_LANDSCAPE VALUES (13, 2, 2, 3) on DBD::File -ok 511 - execute INSERT INTO NM_LANDSCAPE VALUES (13, 2, 2, 3) on DBD::File -ok 512 - prepare INSERT INTO NM_LANDSCAPE VALUES (14, 3, 1, 3) on DBD::File -ok 513 - execute INSERT INTO NM_LANDSCAPE VALUES (14, 3, 1, 3) on DBD::File -ok 514 - prepare CREATE TEMP TABLE APPL_CONTACT (id INT, contact_id INT, appl_id INT, contact_type CHAR) on DBD::File -ok 515 - execute CREATE TEMP TABLE APPL_CONTACT (id INT, contact_id INT, appl_id INT, contact_type CHAR) on DBD::File -ok 516 - prepare INSERT INTO APPL_CONTACT VALUES (1, 3, 1, 'OWNER') on DBD::File -ok 517 - execute INSERT INTO APPL_CONTACT VALUES (1, 3, 1, 'OWNER') on DBD::File -ok 518 - prepare INSERT INTO APPL_CONTACT VALUES (2, 3, 2, 'OWNER') on DBD::File -ok 519 - execute INSERT INTO APPL_CONTACT VALUES (2, 3, 2, 'OWNER') on DBD::File -ok 520 - prepare INSERT INTO APPL_CONTACT VALUES (3, 4, 3, 'ADMIN') on DBD::File -ok 521 - execute INSERT INTO APPL_CONTACT VALUES (3, 4, 3, 'ADMIN') on DBD::File -ok 522 - prepare INSERT INTO APPL_CONTACT VALUES (4, 4, 4, 'ADMIN') on DBD::File -ok 523 - execute INSERT INTO APPL_CONTACT VALUES (4, 4, 4, 'ADMIN') on DBD::File -ok 524 - prepare INSERT INTO APPL_CONTACT VALUES (5, 4, 5, 'ADMIN') on DBD::File -ok 525 - execute INSERT INTO APPL_CONTACT VALUES (5, 4, 5, 'ADMIN') on DBD::File -ok 526 - prepare INSERT INTO APPL_CONTACT VALUES (6, 4, 6, 'ADMIN') on DBD::File -ok 527 - execute INSERT INTO APPL_CONTACT VALUES (6, 4, 6, 'ADMIN') on DBD::File -ok 528 - prepare SELECT pname,sname FROM Prof NATURAL JOIN Subject using DBD::File -ok 529 - execute SELECT pname,sname FROM Prof NATURAL JOIN Subject using DBD::File -ok 530 - NATURAL JOIN - with named columns in select list -ok 531 - prepare SELECT * FROM Prof NATURAL JOIN Subject using DBD::File -ok 532 - execute SELECT * FROM Prof NATURAL JOIN Subject using DBD::File -ok 533 - NATURAL JOIN - with select list = * -ok 534 - prepare SELECT UPPER(pname) AS P,Prof.pid,pname,sname FROM Prof NATURAL JOIN Subject using DBD::File -ok 535 - execute SELECT UPPER(pname) AS P,Prof.pid,pname,sname FROM Prof NATURAL JOIN Subject using DBD::File -ok 536 - NATURAL JOIN - with computed columns -ok 537 - prepare SELECT UPPER(pname) AS P,pid,pname,sname FROM Prof NATURAL JOIN Subject using DBD::File -ok 538 - execute SELECT UPPER(pname) AS P,pid,pname,sname FROM Prof NATURAL JOIN Subject using DBD::File -ok 539 - NATURAL JOIN - with no specifier on join column -ok 540 - prepare SELECT UPPER(pname) AS P,pid,pname,sname FROM Prof JOIN Subject using (pid) using DBD::File -ok 541 - execute SELECT UPPER(pname) AS P,pid,pname,sname FROM Prof JOIN Subject using (pid) using DBD::File -ok 542 - INNER JOIN - with no specifier on join column -ok 543 - prepare SELECT * FROM Prof LEFT JOIN Subject USING(pid) using DBD::File -ok 544 - execute SELECT * FROM Prof LEFT JOIN Subject USING(pid) using DBD::File -ok 545 - LEFT JOIN -ok 546 - prepare SELECT pid,pname,sname FROM Prof LEFT JOIN Subject USING(pid) using DBD::File -ok 547 - execute SELECT pid,pname,sname FROM Prof LEFT JOIN Subject USING(pid) using DBD::File -ok 548 - LEFT JOIN - enumerated columns -ok 549 - prepare SELECT subject.pid,pname,sname FROM Prof LEFT JOIN Subject USING(pid) using DBD::File -ok 550 - execute SELECT subject.pid,pname,sname FROM Prof LEFT JOIN Subject USING(pid) using DBD::File -ok 551 - LEFT JOIN - perversely intentionally mis-enumerated columns -ok 552 - prepare SELECT subject.pid, pname, sname FROM prof LEFT JOIN subject USING(pid) using DBD::File -ok 553 - execute SELECT subject.pid, pname, sname FROM prof LEFT JOIN subject USING(pid) using DBD::File -ok 554 - LEFT JOIN - lower case keywords -ok 555 - prepare SELECT * FROM Prof RIGHT JOIN Subject USING(pid) using DBD::File -ok 556 - execute SELECT * FROM Prof RIGHT JOIN Subject USING(pid) using DBD::File -ok 557 - RIGHT JOIN -ok 558 - prepare SELECT pid,sname,pname FROM Prof RIGHT JOIN Subject USING(pid) using DBD::File -ok 559 - execute SELECT pid,sname,pname FROM Prof RIGHT JOIN Subject USING(pid) using DBD::File -ok 560 - RIGHT JOIN - enumerated columns -ok 561 - prepare SELECT * FROM Prof FULL JOIN Subject USING(pid) using DBD::File -ok 562 - execute SELECT * FROM Prof FULL JOIN Subject USING(pid) using DBD::File -ok 563 - FULL JOIN -ok 564 - prepare SELECT * FROM Prof AS P,Subject AS S WHERE P.pid=S.pid using DBD::File -ok 565 - execute SELECT * FROM Prof AS P,Subject AS S WHERE P.pid=S.pid using DBD::File -ok 566 - IMPLICIT JOIN - two tables -ok 567 - prepare SELECT * -# FROM Prof AS P,Subject AS S,Room AS R -# WHERE P.pid=S.pid -# AND P.pid=R.pid using DBD::File -ok 568 - execute SELECT * -# FROM Prof AS P,Subject AS S,Room AS R -# WHERE P.pid=S.pid -# AND P.pid=R.pid using DBD::File -ok 569 - IMPLICIT JOIN - three tables -ok 570 - prepare SELECT * FROM author NATURAL JOIN book using DBD::File -ok 571 - execute SELECT * FROM author NATURAL JOIN book using DBD::File -ok 572 - Columns in NATURAL JOIN - on unique id's with select list = * -ok 573 - NATURAL JOIN - on unique id's with select list = * -ok 574 - prepare SELECT * FROM t1 CROSS JOIN t2 using DBD::File -ok 575 - execute SELECT * FROM t1 CROSS JOIN t2 using DBD::File -ok 576 - Columns in CROSS JOIN with select list = * -ok 577 - CROSS JOIN with select list = * -ok 578 - prepare SELECT * FROM t1 INNER JOIN t2 ON t1.num = t2.num using DBD::File -ok 579 - execute SELECT * FROM t1 INNER JOIN t2 ON t1.num = t2.num using DBD::File -ok 580 - Columns in INNER JOIN with select list = * -ok 581 - INNER JOIN with select list = * -ok 582 - prepare SELECT * FROM t1 INNER JOIN t2 USING (num) using DBD::File -ok 583 - execute SELECT * FROM t1 INNER JOIN t2 USING (num) using DBD::File -ok 584 - Columns in INNER JOINS (USING) with select list = * -ok 585 - INNER JOINS (USING) with select list = * -ok 586 - prepare SELECT * FROM t1 NATURAL INNER JOIN t2 using DBD::File -ok 587 - execute SELECT * FROM t1 NATURAL INNER JOIN t2 using DBD::File -ok 588 - Columns in INNER JOINS (NATURAL) with select list = * -ok 589 - INNER JOINS (NATURAL) with select list = * -ok 590 - prepare SELECT * FROM t1 LEFT JOIN t2 ON t1.num = t2.num using DBD::File -ok 591 - execute SELECT * FROM t1 LEFT JOIN t2 ON t1.num = t2.num using DBD::File -ok 592 - Columns in LEFT JOINS (using ON condition) with select list = * -ok 593 - LEFT JOINS (using ON condition) with select list = * -ok 594 - prepare SELECT * FROM t1 LEFT JOIN t2 USING (num) using DBD::File -ok 595 - execute SELECT * FROM t1 LEFT JOIN t2 USING (num) using DBD::File -ok 596 - Columns in LEFT JOINS (USING (num) condition) with select list = * -ok 597 - LEFT JOINS (USING (num) condition) with select list = * -ok 598 - prepare SELECT * FROM t1 RIGHT JOIN t2 ON t1.num = t2.num using DBD::File -ok 599 - execute SELECT * FROM t1 RIGHT JOIN t2 ON t1.num = t2.num using DBD::File -ok 600 - Columns in Right Joins (using ON condition) with select list = * -ok 601 - Right Joins (using ON condition) with select list = * -ok 602 - prepare SELECT * FROM t2 LEFT JOIN t1 ON t1.num = t2.num using DBD::File -ok 603 - execute SELECT * FROM t2 LEFT JOIN t1 ON t1.num = t2.num using DBD::File -ok 604 - Columns in Left Joins (reverse former Right Join) with select list = * -ok 605 - Left Joins (reverse former Right Join) with select list = * -ok 606 - prepare SELECT * FROM t1 FULL JOIN t2 ON t1.num = t2.num using DBD::File -ok 607 - execute SELECT * FROM t1 FULL JOIN t2 ON t1.num = t2.num using DBD::File -ok 608 - Columns in Full Joins (using ON condition) with select list = * -ok 609 - Full Joins (using ON condition) with select list = * -# break here -ok 610 - prepare SELECT * FROM t1 LEFT JOIN t2 ON t1.num = t2.num AND t2.wert = 'xxx' using DBD::File # TODO Analyze -ok 611 - execute SELECT * FROM t1 LEFT JOIN t2 ON t1.num = t2.num AND t2.wert = 'xxx' using DBD::File # TODO Analyze -ok 612 - Columns in Left Joins (using ON t1.num = t2.num AND t2.wert = "xxx") with select list = * # TODO Analyze -not ok 613 - Left Joins (using ON t1.num = t2.num AND t2.wert = "xxx") with select list = * # TODO Analyze -# Failed (TODO) test 'Left Joins (using ON t1.num = t2.num AND t2.wert = "xxx") with select list = *' -# at t/08join.t line 675. -# Structures begin differing at: -# $got->[2][2] = '3' -# $expected->[2][2] = undef -# break here -ok 614 - prepare SELECT * FROM t1 LEFT JOIN t2 ON t1.num = t2.num WHERE (t2.wert = 'xxx' OR t2.wert IS NULL) using DBD::File # TODO Analyze -ok 615 - execute SELECT * FROM t1 LEFT JOIN t2 ON t1.num = t2.num WHERE (t2.wert = 'xxx' OR t2.wert IS NULL) using DBD::File # TODO Analyze -ok 616 - Columns in Left Joins (using ON t1.num = t2.num WHERE (t2.wert = "xxx" OR t2.wert IS NULL)) with select list = * # TODO Analyze -not ok 617 - Left Joins (using ON t1.num = t2.num WHERE (t2.wert = "xxx" OR t2.wert IS NULL)) with select list = * # TODO Analyze -# Failed (TODO) test 'Left Joins (using ON t1.num = t2.num WHERE (t2.wert = "xxx" OR t2.wert IS NULL)) with select list = *' -# at t/08join.t line 675. -# Structures begin differing at: -# $got->[2] = Does not exist -# $expected->[2] = ARRAY(0x5596edd5d910) -ok 618 - prepare SELECT applname, appluniq, version, nodename -# FROM APPL, PREC, NODE -# WHERE appl_type LIKE '%DB' -# AND APPL.id=PREC.appl_id -# AND PREC.node_id=NODE.id using DBD::File -ok 619 - execute SELECT applname, appluniq, version, nodename -# FROM APPL, PREC, NODE -# WHERE appl_type LIKE '%DB' -# AND APPL.id=PREC.appl_id -# AND PREC.node_id=NODE.id using DBD::File -ok 620 - DEFAULT INNER (1) with named columns -ok 621 - prepare SELECT applname, appluniq, version, landscapename, nodename -# FROM APPL, PREC, NODE, LANDSCAPE, NM_LANDSCAPE -# WHERE appl_type LIKE '%DB' -# AND APPL.id=PREC.appl_id -# AND PREC.node_id=NODE.id -# AND NM_LANDSCAPE.obj_id=APPL.id -# AND NM_LANDSCAPE.obj_type=1 -# AND NM_LANDSCAPE.ls_id=LANDSCAPE.id using DBD::File -ok 622 - execute SELECT applname, appluniq, version, landscapename, nodename -# FROM APPL, PREC, NODE, LANDSCAPE, NM_LANDSCAPE -# WHERE appl_type LIKE '%DB' -# AND APPL.id=PREC.appl_id -# AND PREC.node_id=NODE.id -# AND NM_LANDSCAPE.obj_id=APPL.id -# AND NM_LANDSCAPE.obj_type=1 -# AND NM_LANDSCAPE.ls_id=LANDSCAPE.id using DBD::File -ok 623 - DEFAULT INNER (2) with named columns -ok 624 - prepare SELECT applname, appluniq, version, surname, familyname, phone, nodename -# FROM APPL, PREC, NODE, CONTACT, APPL_CONTACT -# WHERE appl_type='CUPS' -# AND APPL.id=PREC.appl_id -# AND PREC.node_id=NODE.id -# AND APPL_CONTACT.appl_id=APPL.id -# AND APPL_CONTACT.contact_id=CONTACT.id -# AND PREC.PRECEDENCE=1 -# ORDER BY appluniq DESC, applname ASC using DBD::File -ok 625 - execute SELECT applname, appluniq, version, surname, familyname, phone, nodename -# FROM APPL, PREC, NODE, CONTACT, APPL_CONTACT -# WHERE appl_type='CUPS' -# AND APPL.id=PREC.appl_id -# AND PREC.node_id=NODE.id -# AND APPL_CONTACT.appl_id=APPL.id -# AND APPL_CONTACT.contact_id=CONTACT.id -# AND PREC.PRECEDENCE=1 -# ORDER BY appluniq DESC, applname ASC using DBD::File -ok 626 - DEFAULT INNER (3) with named columns -ok 627 - prepare SELECT DISTINCT applname, appluniq, version, surname, familyname, phone, nodename -# FROM APPL, PREC, NODE, CONTACT, APPL_CONTACT -# WHERE appl_type='CUPS' -# AND APPL.id=PREC.appl_id -# AND PREC.node_id=NODE.id -# AND APPL_CONTACT.appl_id=APPL.id -# AND APPL_CONTACT.contact_id=CONTACT.id -# ORDER BY applname, appluniq, nodename using DBD::File -ok 628 - execute SELECT DISTINCT applname, appluniq, version, surname, familyname, phone, nodename -# FROM APPL, PREC, NODE, CONTACT, APPL_CONTACT -# WHERE appl_type='CUPS' -# AND APPL.id=PREC.appl_id -# AND PREC.node_id=NODE.id -# AND APPL_CONTACT.appl_id=APPL.id -# AND APPL_CONTACT.contact_id=CONTACT.id -# ORDER BY applname, appluniq, nodename using DBD::File -ok 629 - DEFAULT INNER (4) with named columns -ok 630 - prepare SELECT CONCAT('[% NOW %]') AS "timestamp", applname, appluniq, version, nodename -# FROM APPL, PREC, NODE -# WHERE appl_type LIKE '%DB' -# AND APPL.id=PREC.appl_id -# AND PREC.node_id=NODE.id using DBD::File -ok 631 - execute SELECT CONCAT('[% NOW %]') AS "timestamp", applname, appluniq, version, nodename -# FROM APPL, PREC, NODE -# WHERE appl_type LIKE '%DB' -# AND APPL.id=PREC.appl_id -# AND PREC.node_id=NODE.id using DBD::File -ok 632 - DEFAULT INNER (5) with named columns -# break here -ok 633 - prepare SELECT pname, sname, rname # TODO Not supported yet! -# FROM Prof p -# JOIN Subject s -# ON p.pid = s.pid -# JOIN Room r -# ON p.pid = r.pid -# using DBD::File -ok 634 - execute SELECT pname, sname, rname # TODO Not supported yet! -# FROM Prof p -# JOIN Subject s -# ON p.pid = s.pid -# JOIN Room r -# ON p.pid = r.pid -# using DBD::File fails -ok 635 - Complex INNER JOIN # TODO Not supported yet! -# break here -ok 636 - prepare SELECT pname, sname, rname # TODO Not supported yet! -# FROM Prof p -# JOIN Subject s USING (pid) -# JOIN Room r USING (pid) -# using DBD::File fails -ok 637 - Complex INNER JOIN (using) # TODO Not supported yet! -# break here -ok 638 - prepare SELECT pname, sname, rname # TODO Not supported yet! -# FROM Prof NATURAL JOIN Subject NATURAL JOIN Room -# using DBD::File fails -ok 639 - Complex NATURAL JOIN # TODO Not supported yet! -# break here -ok 640 - prepare SELECT pname, sname, rname # TODO Not supported yet! -# FROM Prof p -# LEFT JOIN Subject s -# ON p.pid = s.pid -# LEFT JOIN Room r -# ON p.pid = r.pid -# using DBD::File -ok 641 - execute SELECT pname, sname, rname # TODO Not supported yet! -# FROM Prof p -# LEFT JOIN Subject s -# ON p.pid = s.pid -# LEFT JOIN Room r -# ON p.pid = r.pid -# using DBD::File fails -ok 642 - Complex LEFT JOIN # TODO Not supported yet! # Running tests for DBD::DBM -ok 643 # skip DBD::DBM test runs without MLDBM -1..643 +ok 322 # skip DBD::DBM test runs without MLDBM +1..322 ok t/09ops.t ....... 1..18 @@ -4656,72 +4257,72 @@ ok 31 - parse 'SELECT * FROM bar WHERE `foo` IN ('aa','ab','ba','bb')' using SQL::Statement ok 32 - parse ' /* BETWEEN */' using SQL::Statement ok 33 - parse 'SELECT * FROM bar WHERE `foo` BETWEEN ('aa','bb')' using SQL::Statement -ok 34 - parse ' /* DROP TABLE */' using DBD::File -ok 35 - parse 'DROP TABLE `foo`' using DBD::File -ok 36 - parse ' /* DELETE */' using DBD::File -ok 37 - parse 'DELETE FROM `foo`' using DBD::File -ok 38 - parse ' /* UPDATE */' using DBD::File -ok 39 - parse 'UPDATE `foo` SET bar = 7' using DBD::File -ok 40 - parse ' /* INSERT */' using DBD::File -ok 41 - parse 'INSERT INTO `foo` (col1,col2,col7) VALUES ( 'baz', 7, NULL )' using DBD::File -ok 42 - parse ' /* CREATE TABLE */' using DBD::File -ok 43 - parse 'CREATE TABLE `foo` ( id INT )' using DBD::File -ok 44 - parse 'CREATE LOCAL TEMPORARY TABLE `foo` (id INT)' using DBD::File -ok 45 - parse 'CREATE GLOBAL TEMPORARY TABLE `foo` (id INT)' using DBD::File -ok 46 - parse 'CREATE TABLE `foo` ( phrase NUMERIC(4,6) )' using DBD::File -ok 47 - parse ' /* SELECT COLUMNS */' using DBD::File -ok 48 - parse 'SELECT id, phrase FROM `foo`' using DBD::File -ok 49 - parse 'SELECT * FROM `foo`' using DBD::File -ok 50 - parse ' /* SET FUNCTIONS */' using DBD::File -ok 51 - parse 'SELECT MAX(`foo`) FROM bar' using DBD::File -ok 52 - parse ' /* ORDER BY */' using DBD::File -ok 53 - parse 'SELECT * FROM `foo` ORDER BY bar' using DBD::File -ok 54 - parse 'SELECT * FROM `foo` ORDER BY bar, baz' using DBD::File -ok 55 - parse ' /* LIMIT */' using DBD::File -ok 56 - parse 'SELECT * FROM `foo` LIMIT 5' using DBD::File -ok 57 - parse ' /* TABLE NAME ALIASES */' using DBD::File -ok 58 - parse 'SELECT * FROM `test` as `T1`' using DBD::File -ok 59 - parse ' /* PARENS */' using DBD::File -ok 60 - parse 'SELECT * FROM `ztable` WHERE NOT `data` IN ('one','two')' using DBD::File -ok 61 - parse ' /* NOT */' using DBD::File -ok 62 - parse 'SELECT * FROM `foo` WHERE NOT bar = 'baz' AND bop = 7 OR NOT blat = bar' using DBD::File -ok 63 - parse ' /* IN */' using DBD::File -ok 64 - parse 'SELECT * FROM bar WHERE `foo` IN ('aa','ab','ba','bb')' using DBD::File -ok 65 - parse ' /* BETWEEN */' using DBD::File -ok 66 - parse 'SELECT * FROM bar WHERE `foo` BETWEEN ('aa','bb')' using DBD::File -ok 67 - parse ' /* DROP TABLE */' using DBD::DBM -ok 68 - parse 'DROP TABLE `foo`' using DBD::DBM -ok 69 - parse ' /* DELETE */' using DBD::DBM -ok 70 - parse 'DELETE FROM `foo`' using DBD::DBM -ok 71 - parse ' /* UPDATE */' using DBD::DBM -ok 72 - parse 'UPDATE `foo` SET bar = 7' using DBD::DBM -ok 73 - parse ' /* INSERT */' using DBD::DBM -ok 74 - parse 'INSERT INTO `foo` (col1,col2,col7) VALUES ( 'baz', 7, NULL )' using DBD::DBM -ok 75 - parse ' /* CREATE TABLE */' using DBD::DBM -ok 76 - parse 'CREATE TABLE `foo` ( id INT )' using DBD::DBM -ok 77 - parse 'CREATE LOCAL TEMPORARY TABLE `foo` (id INT)' using DBD::DBM -ok 78 - parse 'CREATE GLOBAL TEMPORARY TABLE `foo` (id INT)' using DBD::DBM -ok 79 - parse 'CREATE TABLE `foo` ( phrase NUMERIC(4,6) )' using DBD::DBM -ok 80 - parse ' /* SELECT COLUMNS */' using DBD::DBM -ok 81 - parse 'SELECT id, phrase FROM `foo`' using DBD::DBM -ok 82 - parse 'SELECT * FROM `foo`' using DBD::DBM -ok 83 - parse ' /* SET FUNCTIONS */' using DBD::DBM -ok 84 - parse 'SELECT MAX(`foo`) FROM bar' using DBD::DBM -ok 85 - parse ' /* ORDER BY */' using DBD::DBM -ok 86 - parse 'SELECT * FROM `foo` ORDER BY bar' using DBD::DBM -ok 87 - parse 'SELECT * FROM `foo` ORDER BY bar, baz' using DBD::DBM -ok 88 - parse ' /* LIMIT */' using DBD::DBM -ok 89 - parse 'SELECT * FROM `foo` LIMIT 5' using DBD::DBM -ok 90 - parse ' /* TABLE NAME ALIASES */' using DBD::DBM -ok 91 - parse 'SELECT * FROM `test` as `T1`' using DBD::DBM -ok 92 - parse ' /* PARENS */' using DBD::DBM -ok 93 - parse 'SELECT * FROM `ztable` WHERE NOT `data` IN ('one','two')' using DBD::DBM -ok 94 - parse ' /* NOT */' using DBD::DBM -ok 95 - parse 'SELECT * FROM `foo` WHERE NOT bar = 'baz' AND bop = 7 OR NOT blat = bar' using DBD::DBM -ok 96 - parse ' /* IN */' using DBD::DBM -ok 97 - parse 'SELECT * FROM bar WHERE `foo` IN ('aa','ab','ba','bb')' using DBD::DBM -ok 98 - parse ' /* BETWEEN */' using DBD::DBM -ok 99 - parse 'SELECT * FROM bar WHERE `foo` BETWEEN ('aa','bb')' using DBD::DBM +ok 34 - parse ' /* DROP TABLE */' using DBD::DBM +ok 35 - parse 'DROP TABLE `foo`' using DBD::DBM +ok 36 - parse ' /* DELETE */' using DBD::DBM +ok 37 - parse 'DELETE FROM `foo`' using DBD::DBM +ok 38 - parse ' /* UPDATE */' using DBD::DBM +ok 39 - parse 'UPDATE `foo` SET bar = 7' using DBD::DBM +ok 40 - parse ' /* INSERT */' using DBD::DBM +ok 41 - parse 'INSERT INTO `foo` (col1,col2,col7) VALUES ( 'baz', 7, NULL )' using DBD::DBM +ok 42 - parse ' /* CREATE TABLE */' using DBD::DBM +ok 43 - parse 'CREATE TABLE `foo` ( id INT )' using DBD::DBM +ok 44 - parse 'CREATE LOCAL TEMPORARY TABLE `foo` (id INT)' using DBD::DBM +ok 45 - parse 'CREATE GLOBAL TEMPORARY TABLE `foo` (id INT)' using DBD::DBM +ok 46 - parse 'CREATE TABLE `foo` ( phrase NUMERIC(4,6) )' using DBD::DBM +ok 47 - parse ' /* SELECT COLUMNS */' using DBD::DBM +ok 48 - parse 'SELECT id, phrase FROM `foo`' using DBD::DBM +ok 49 - parse 'SELECT * FROM `foo`' using DBD::DBM +ok 50 - parse ' /* SET FUNCTIONS */' using DBD::DBM +ok 51 - parse 'SELECT MAX(`foo`) FROM bar' using DBD::DBM +ok 52 - parse ' /* ORDER BY */' using DBD::DBM +ok 53 - parse 'SELECT * FROM `foo` ORDER BY bar' using DBD::DBM +ok 54 - parse 'SELECT * FROM `foo` ORDER BY bar, baz' using DBD::DBM +ok 55 - parse ' /* LIMIT */' using DBD::DBM +ok 56 - parse 'SELECT * FROM `foo` LIMIT 5' using DBD::DBM +ok 57 - parse ' /* TABLE NAME ALIASES */' using DBD::DBM +ok 58 - parse 'SELECT * FROM `test` as `T1`' using DBD::DBM +ok 59 - parse ' /* PARENS */' using DBD::DBM +ok 60 - parse 'SELECT * FROM `ztable` WHERE NOT `data` IN ('one','two')' using DBD::DBM +ok 61 - parse ' /* NOT */' using DBD::DBM +ok 62 - parse 'SELECT * FROM `foo` WHERE NOT bar = 'baz' AND bop = 7 OR NOT blat = bar' using DBD::DBM +ok 63 - parse ' /* IN */' using DBD::DBM +ok 64 - parse 'SELECT * FROM bar WHERE `foo` IN ('aa','ab','ba','bb')' using DBD::DBM +ok 65 - parse ' /* BETWEEN */' using DBD::DBM +ok 66 - parse 'SELECT * FROM bar WHERE `foo` BETWEEN ('aa','bb')' using DBD::DBM +ok 67 - parse ' /* DROP TABLE */' using DBD::File +ok 68 - parse 'DROP TABLE `foo`' using DBD::File +ok 69 - parse ' /* DELETE */' using DBD::File +ok 70 - parse 'DELETE FROM `foo`' using DBD::File +ok 71 - parse ' /* UPDATE */' using DBD::File +ok 72 - parse 'UPDATE `foo` SET bar = 7' using DBD::File +ok 73 - parse ' /* INSERT */' using DBD::File +ok 74 - parse 'INSERT INTO `foo` (col1,col2,col7) VALUES ( 'baz', 7, NULL )' using DBD::File +ok 75 - parse ' /* CREATE TABLE */' using DBD::File +ok 76 - parse 'CREATE TABLE `foo` ( id INT )' using DBD::File +ok 77 - parse 'CREATE LOCAL TEMPORARY TABLE `foo` (id INT)' using DBD::File +ok 78 - parse 'CREATE GLOBAL TEMPORARY TABLE `foo` (id INT)' using DBD::File +ok 79 - parse 'CREATE TABLE `foo` ( phrase NUMERIC(4,6) )' using DBD::File +ok 80 - parse ' /* SELECT COLUMNS */' using DBD::File +ok 81 - parse 'SELECT id, phrase FROM `foo`' using DBD::File +ok 82 - parse 'SELECT * FROM `foo`' using DBD::File +ok 83 - parse ' /* SET FUNCTIONS */' using DBD::File +ok 84 - parse 'SELECT MAX(`foo`) FROM bar' using DBD::File +ok 85 - parse ' /* ORDER BY */' using DBD::File +ok 86 - parse 'SELECT * FROM `foo` ORDER BY bar' using DBD::File +ok 87 - parse 'SELECT * FROM `foo` ORDER BY bar, baz' using DBD::File +ok 88 - parse ' /* LIMIT */' using DBD::File +ok 89 - parse 'SELECT * FROM `foo` LIMIT 5' using DBD::File +ok 90 - parse ' /* TABLE NAME ALIASES */' using DBD::File +ok 91 - parse 'SELECT * FROM `test` as `T1`' using DBD::File +ok 92 - parse ' /* PARENS */' using DBD::File +ok 93 - parse 'SELECT * FROM `ztable` WHERE NOT `data` IN ('one','two')' using DBD::File +ok 94 - parse ' /* NOT */' using DBD::File +ok 95 - parse 'SELECT * FROM `foo` WHERE NOT bar = 'baz' AND bop = 7 OR NOT blat = bar' using DBD::File +ok 96 - parse ' /* IN */' using DBD::File +ok 97 - parse 'SELECT * FROM bar WHERE `foo` IN ('aa','ab','ba','bb')' using DBD::File +ok 98 - parse ' /* BETWEEN */' using DBD::File +ok 99 - parse 'SELECT * FROM bar WHERE `foo` BETWEEN ('aa','bb')' using DBD::File 1..99 ok All tests successful. @@ -4730,10 +4331,9 @@ ------------------- t/06virtual.t (Wstat: 0 Tests: 1313 Failed: 0) TODO passed: 565-567, 1220-1222 -t/08join.t (Wstat: 0 Tests: 643 Failed: 0) - TODO passed: 289-291, 293-295, 312-321, 610-612, 614-616 - 633-642 -Files=17, Tests=3699, 15 wallclock secs ( 0.56 usr 0.10 sys + 9.68 cusr 0.87 csys = 11.21 CPU) +t/08join.t (Wstat: 0 Tests: 322 Failed: 0) + TODO passed: 289-291, 293-295, 312-321 +Files=17, Tests=3378, 16 wallclock secs ( 0.50 usr 0.07 sys + 9.22 cusr 0.80 csys = 10.59 CPU) Result: PASS make[1]: Leaving directory '/build/libsql-statement-perl-1.412' fakeroot debian/rules binary @@ -4747,25 +4347,25 @@ make[2]: Entering directory '/build/libsql-statement-perl-1.412' Manifying 20 pod documents Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/perl5/SQL/Statement.pm -Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/perl5/SQL/Parser.pm Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/perl5/SQL/Eval.pm -Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/perl5/SQL/Dialects/Role.pm -Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/perl5/SQL/Dialects/CSV.pm +Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/perl5/SQL/Parser.pm Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/perl5/SQL/Dialects/AnyData.pm Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/perl5/SQL/Dialects/ANSI.pm -Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/perl5/SQL/Statement/Term.pm -Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/perl5/SQL/Statement/Placeholder.pm -Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/perl5/SQL/Statement/Util.pm -Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/perl5/SQL/Statement/Syntax.pod +Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/perl5/SQL/Dialects/CSV.pm +Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/perl5/SQL/Dialects/Role.pm +Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/perl5/SQL/Statement/GetInfo.pm Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/perl5/SQL/Statement/Functions.pm -Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/perl5/SQL/Statement/Operation.pm Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/perl5/SQL/Statement/Roadmap.pod +Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/perl5/SQL/Statement/Embed.pod +Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/perl5/SQL/Statement/Syntax.pod +Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/perl5/SQL/Statement/Operation.pm Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/perl5/SQL/Statement/Structure.pod +Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/perl5/SQL/Statement/Term.pm Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/perl5/SQL/Statement/TermFactory.pm -Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/perl5/SQL/Statement/GetInfo.pm -Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/perl5/SQL/Statement/Embed.pod -Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/perl5/SQL/Statement/Function.pm +Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/perl5/SQL/Statement/Placeholder.pm +Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/perl5/SQL/Statement/Util.pm Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/perl5/SQL/Statement/RAM.pm +Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/perl5/SQL/Statement/Function.pm Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/man/man3/SQL::Statement::Util.3pm Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/man/man3/SQL::Statement::TermFactory.3pm Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/man/man3/SQL::Statement::Term.3pm @@ -4817,12 +4417,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/1397865/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/1397865/tmp/hooks/B01_cleanup finished I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env -I: removing directory /srv/workspace/pbuilder/3957874 and its subdirectories -I: Current time: Sat Jan 7 20:33:46 -12 2023 -I: pbuilder-time-stamp: 1673166826 +I: removing directory /srv/workspace/pbuilder/1397865 and its subdirectories +I: Current time: Mon Dec 6 16:12:01 +14 2021 +I: pbuilder-time-stamp: 1638756721