Diff of the two buildlogs: -- --- b1/build.log 2020-05-10 10:57:42.778279246 +0000 +++ b2/build.log 2020-05-10 10:58:06.933802581 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Sat May 9 22:52:39 -12 2020 -I: pbuilder-time-stamp: 1589107959 +I: Current time: Sun Jun 13 07:20:44 +14 2021 +I: pbuilder-time-stamp: 1623518444 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/buster-reproducible-base.tgz] I: copying local configuration @@ -18,7 +18,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 @@ -27,6 +27,18 @@ 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/63670/tmp/hooks/D01_modify_environment starting +debug: Running on profitbricks-build16-i386. +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/63670/tmp/hooks/D01_modify_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -129,7 +141,7 @@ Get: 46 http://deb.debian.org/debian buster/main i386 libtest-pod-coverage-perl all 1.10-2 [14.5 kB] Get: 47 http://deb.debian.org/debian buster/main i386 libtest-pod-perl all 1.52-1 [14.2 kB] Get: 48 http://deb.debian.org/debian buster/main i386 libtext-soundex-perl i386 3.4-1+b7 [12.9 kB] -Fetched 20.4 MB in 5s (3807 kB/s) +Fetched 20.4 MB in 1s (15.2 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libbsd0:i386. (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 ... 19234 files and directories currently installed.) @@ -344,7 +356,7 @@ 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 +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 dpkg-buildpackage: info: source package libsql-statement-perl dpkg-buildpackage: info: source version 1.412-1 dpkg-buildpackage: info: source distribution unstable @@ -374,24 +386,24 @@ make[1]: Entering directory '/build/libsql-statement-perl-1.412' 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/Statement/RAM.pm blib/lib/SQL/Statement/RAM.pm +cp lib/SQL/Statement/Functions.pm blib/lib/SQL/Statement/Functions.pm cp lib/SQL/Dialects/Role.pm blib/lib/SQL/Dialects/Role.pm -cp lib/SQL/Dialects/AnyData.pm blib/lib/SQL/Dialects/AnyData.pm -cp lib/SQL/Dialects/ANSI.pm blib/lib/SQL/Dialects/ANSI.pm -cp lib/SQL/Statement/Util.pm blib/lib/SQL/Statement/Util.pm -cp lib/SQL/Statement/TermFactory.pm blib/lib/SQL/Statement/TermFactory.pm -cp lib/SQL/Statement/GetInfo.pm blib/lib/SQL/Statement/GetInfo.pm -cp lib/SQL/Eval.pm blib/lib/SQL/Eval.pm cp lib/SQL/Dialects/CSV.pm blib/lib/SQL/Dialects/CSV.pm +cp lib/SQL/Statement/Util.pm blib/lib/SQL/Statement/Util.pm +cp lib/SQL/Dialects/ANSI.pm blib/lib/SQL/Dialects/ANSI.pm cp lib/SQL/Statement/Function.pm blib/lib/SQL/Statement/Function.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.pm blib/lib/SQL/Statement.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/TermFactory.pm blib/lib/SQL/Statement/TermFactory.pm cp lib/SQL/Statement/Placeholder.pm blib/lib/SQL/Statement/Placeholder.pm -cp lib/SQL/Statement/Syntax.pod blib/lib/SQL/Statement/Syntax.pod -cp lib/SQL/Statement/Roadmap.pod blib/lib/SQL/Statement/Roadmap.pod +cp lib/SQL/Dialects/AnyData.pm blib/lib/SQL/Dialects/AnyData.pm +cp lib/SQL/Statement/GetInfo.pm blib/lib/SQL/Statement/GetInfo.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/Syntax.pod blib/lib/SQL/Statement/Syntax.pod +cp lib/SQL/Statement.pm blib/lib/SQL/Statement.pm +cp lib/SQL/Statement/RAM.pm blib/lib/SQL/Statement/RAM.pm Manifying 20 pod documents make[1]: Leaving directory '/build/libsql-statement-perl-1.412' dh_auto_test @@ -728,7 +740,7 @@ # Command SELECT # Num Pholders 1 # Columns -# Tables SQL::Statement::Table=HASH(0x2ed7154),SQL::Statement::Table=HASH(0x2ed6ec0) +# Tables SQL::Statement::Table=HASH(0x57ea5058),SQL::Statement::Table=HASH(0x57ea5260) # Where op AND # Limit 2 # Offset 5 @@ -739,282 +751,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/i386-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 = {}; @@ -1033,7 +1045,7 @@ # Command SELECT # Num Pholders 1 # Columns -# Tables SQL::Statement::Table=HASH(0x2f55188),SQL::Statement::Table=HASH(0x2ede268) +# Tables SQL::Statement::Table=HASH(0x57f1eaa0),SQL::Statement::Table=HASH(0x57f19858) # Where op AND # Limit 2 # Offset 5 @@ -1044,282 +1056,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/i386-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 = {}; @@ -1338,7 +1350,7 @@ # Command SELECT # Num Pholders 1 # Columns -# Tables SQL::Statement::Table=HASH(0x2f6ea3c),SQL::Statement::Table=HASH(0x2f2c168) +# Tables SQL::Statement::Table=HASH(0x57f1cf90),SQL::Statement::Table=HASH(0x57f162a8) # Where op AND # Limit 2 # Offset 5 @@ -1352,8 +1364,8 @@ 1..846 ok t/02execute.t ... -# 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/i386-linux-gnu/perl/5.28.1 /usr/local/share/perl/5.28.1 /usr/lib/i386-linux-gnu/perl5/5.28 /usr/share/perl5 /usr/lib/i386-linux-gnu/perl/5.28 /usr/share/perl/5.28 /usr/local/lib/site_perl /usr/lib/i386-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/i386-linux-gnu/perl/5.28.1 /usr/local/share/perl/5.28.1 /usr/lib/i386-linux-gnu/perl5/5.28 /usr/share/perl5 /usr/lib/i386-linux-gnu/perl/5.28 /usr/share/perl/5.28 /usr/local/lib/site_perl /usr/lib/i386-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/i386-linux-gnu/perl/5.28.1 /usr/local/share/perl/5.28.1 /usr/lib/i386-linux-gnu/perl5/5.28 /usr/share/perl5 /usr/lib/i386-linux-gnu/perl/5.28 /usr/share/perl/5.28 /usr/local/lib/site_perl /usr/lib/i386-linux-gnu/perl-base .) at t/TestLib.pm line 42. # # Using required: # # SQL::Statement: 1.412 # # Using recommended: @@ -1412,37 +1424,37 @@ ok 38 - $stmt->column_names ok 39 - $stmt->order ok 40 - $stmt->fetch -ok 41 - $stmt->execute "SELECT b,c FROM a WHERE NOT b BETWEEN (5,7)" (SELECT) -ok 42 - SELECT b,c FROM a WHERE NOT b BETWEEN (5,7) -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 IN ('abc','klm','pqr','vwx','yz')" (SELECT) -ok 46 - SELECT b,c FROM a WHERE NOT c IN ('abc','klm','pqr','vwx','yz') -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 NOT BETWEEN (5,7)" (SELECT) -ok 52 - SELECT b,c FROM a WHERE b NOT BETWEEN (5,7) -ok 53 - $stmt->execute "SELECT b,c FROM a WHERE c NOT BETWEEN ('abc','nmo')" (SELECT) -ok 54 - SELECT b,c FROM a WHERE c NOT BETWEEN ('abc','nmo') -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 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 c IN ('abc','klm','pqr','vwx','yz')" (SELECT) -ok 62 - SELECT b,c FROM a WHERE c IN ('abc','klm','pqr','vwx','yz') -ok 63 - $stmt->execute "SELECT b,c FROM a WHERE b IN (2,3,5,7)" (SELECT) -ok 64 - SELECT b,c FROM a WHERE b IN (2,3,5,7) +ok 41 - $stmt->execute "SELECT b,c FROM a WHERE c NOT IN ('abc','klm','pqr','vwx','yz')" (SELECT) +ok 42 - SELECT b,c FROM a WHERE c NOT IN ('abc','klm','pqr','vwx','yz') +ok 43 - $stmt->execute "SELECT b,c FROM a WHERE b NOT IN (2,3,5,7)" (SELECT) +ok 44 - SELECT b,c FROM a WHERE b NOT IN (2,3,5,7) +ok 45 - $stmt->execute "SELECT b,c FROM a WHERE NOT b IN (2,3,5,7)" (SELECT) +ok 46 - SELECT b,c FROM a WHERE NOT b IN (2,3,5,7) +ok 47 - $stmt->execute "SELECT b,c FROM a WHERE b IN (2,3,5,7)" (SELECT) +ok 48 - SELECT b,c FROM a WHERE b IN (2,3,5,7) +ok 49 - $stmt->execute "SELECT b,c FROM a WHERE c BETWEEN ('abc','nmo')" (SELECT) +ok 50 - SELECT b,c FROM a WHERE c BETWEEN ('abc','nmo') +ok 51 - $stmt->execute "SELECT b,c FROM a WHERE NOT c BETWEEN ('abc','nmo')" (SELECT) +ok 52 - SELECT b,c FROM a WHERE NOT c BETWEEN ('abc','nmo') +ok 53 - $stmt->execute "SELECT b,c FROM a WHERE c IN ('abc','klm','pqr','vwx','yz')" (SELECT) +ok 54 - SELECT b,c FROM a WHERE c IN ('abc','klm','pqr','vwx','yz') +ok 55 - $stmt->execute "SELECT b,c FROM a WHERE b NOT BETWEEN (5,7)" (SELECT) +ok 56 - SELECT b,c FROM a WHERE b NOT BETWEEN (5,7) +ok 57 - $stmt->execute "SELECT b,c FROM a WHERE NOT c IN ('abc','klm','pqr','vwx','yz')" (SELECT) +ok 58 - SELECT b,c FROM a WHERE NOT c IN ('abc','klm','pqr','vwx','yz') +ok 59 - $stmt->execute "SELECT b,c FROM a WHERE b BETWEEN (5,7)" (SELECT) +ok 60 - SELECT b,c FROM a WHERE b BETWEEN (5,7) +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 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 ok 66 - CREATE FUNCTION from module with argument ok 67 - LOAD FUNCTIONS ok 68 - CREATE pauli test table ok 69 - UPDATE with placeholders ok 70 - UPDATE with placeholder updates correct -# Running tests for DBD::File +# Running tests for DBD::DBM ok 71 - CREATE Tmp ok 72 - placeholder insert with named cols ok 73 - placeholder insert without named cols @@ -1464,11 +1476,11 @@ ok 89 - prepare 'SELECT UPPER('a') AS A,phrase FROM phrase' ok 90 - SELECT ok 91 - COUNT * -ok 92 - DROP TEMP TABLE +ok 92 - DROP TABLE ok 93 - COMPUTED COLUMNS IN SELECT LIST ok 94 - CREATE FUNCTION from script -# < CREATE TEMP TABLE a (b INT, c CHAR)> -ok 95 - $stmt->execute " CREATE TEMP TABLE a (b INT, c CHAR)" (CREATE) +# < CREATE TABLE a (b INT, c CHAR)> +ok 95 - $stmt->execute " CREATE 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')> @@ -1494,37 +1506,37 @@ ok 108 - $stmt->column_names ok 109 - $stmt->order ok 110 - $stmt->fetch -ok 111 - $stmt->execute "SELECT b,c FROM a WHERE c BETWEEN ('abc','nmo')" (SELECT) -ok 112 - SELECT b,c FROM a WHERE c BETWEEN ('abc','nmo') -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 b IN (2,3,5,7)" (SELECT) -ok 116 - SELECT b,c FROM a WHERE b IN (2,3,5,7) -ok 117 - $stmt->execute "SELECT b,c FROM a WHERE c IN ('abc','klm','pqr','vwx','yz')" (SELECT) -ok 118 - SELECT b,c FROM a WHERE c IN ('abc','klm','pqr','vwx','yz') -ok 119 - $stmt->execute "SELECT b,c FROM a WHERE NOT b IN (2,3,5,7)" (SELECT) -ok 120 - SELECT b,c FROM a WHERE NOT b IN (2,3,5,7) -ok 121 - $stmt->execute "SELECT b,c FROM a WHERE NOT c BETWEEN ('abc','nmo')" (SELECT) -ok 122 - SELECT b,c FROM a WHERE NOT c BETWEEN ('abc','nmo') -ok 123 - $stmt->execute "SELECT b,c FROM a WHERE NOT b BETWEEN (5,7)" (SELECT) -ok 124 - SELECT b,c FROM a WHERE NOT b BETWEEN (5,7) -ok 125 - $stmt->execute "SELECT b,c FROM a WHERE b BETWEEN (5,7)" (SELECT) -ok 126 - SELECT b,c FROM a WHERE b BETWEEN (5,7) -ok 127 - $stmt->execute "SELECT b,c FROM a WHERE b NOT BETWEEN (5,7)" (SELECT) -ok 128 - SELECT b,c FROM a WHERE b NOT BETWEEN (5,7) -ok 129 - $stmt->execute "SELECT b,c FROM a WHERE c NOT IN ('abc','klm','pqr','vwx','yz')" (SELECT) -ok 130 - SELECT b,c FROM a WHERE c NOT IN ('abc','klm','pqr','vwx','yz') -ok 131 - $stmt->execute "SELECT b,c FROM a WHERE b NOT IN (2,3,5,7)" (SELECT) -ok 132 - SELECT b,c FROM a WHERE b NOT IN (2,3,5,7) -ok 133 - $stmt->execute "SELECT b,c FROM a WHERE NOT c IN ('abc','klm','pqr','vwx','yz')" (SELECT) -ok 134 - SELECT b,c FROM a WHERE NOT c IN ('abc','klm','pqr','vwx','yz') +ok 111 - $stmt->execute "SELECT b,c FROM a WHERE NOT b BETWEEN (5,7)" (SELECT) +ok 112 - SELECT b,c FROM a WHERE NOT b BETWEEN (5,7) +ok 113 - $stmt->execute "SELECT b,c FROM a WHERE NOT c IN ('abc','klm','pqr','vwx','yz')" (SELECT) +ok 114 - SELECT b,c FROM a WHERE NOT c IN ('abc','klm','pqr','vwx','yz') +ok 115 - $stmt->execute "SELECT b,c FROM a WHERE b NOT BETWEEN (5,7)" (SELECT) +ok 116 - SELECT b,c FROM a WHERE b NOT BETWEEN (5,7) +ok 117 - $stmt->execute "SELECT b,c FROM a WHERE b BETWEEN (5,7)" (SELECT) +ok 118 - SELECT b,c FROM a WHERE b BETWEEN (5,7) +ok 119 - $stmt->execute "SELECT b,c FROM a WHERE c NOT BETWEEN ('abc','nmo')" (SELECT) +ok 120 - SELECT b,c FROM a WHERE c NOT BETWEEN ('abc','nmo') +ok 121 - $stmt->execute "SELECT b,c FROM a WHERE b NOT IN (2,3,5,7)" (SELECT) +ok 122 - SELECT b,c FROM a WHERE b NOT IN (2,3,5,7) +ok 123 - $stmt->execute "SELECT b,c FROM a WHERE b IN (2,3,5,7)" (SELECT) +ok 124 - SELECT b,c FROM a WHERE b IN (2,3,5,7) +ok 125 - $stmt->execute "SELECT b,c FROM a WHERE NOT b IN (2,3,5,7)" (SELECT) +ok 126 - SELECT b,c FROM a WHERE NOT b IN (2,3,5,7) +ok 127 - $stmt->execute "SELECT b,c FROM a WHERE c NOT IN ('abc','klm','pqr','vwx','yz')" (SELECT) +ok 128 - SELECT b,c FROM a WHERE c NOT IN ('abc','klm','pqr','vwx','yz') +ok 129 - $stmt->execute "SELECT b,c FROM a WHERE c IN ('abc','klm','pqr','vwx','yz')" (SELECT) +ok 130 - SELECT b,c FROM a WHERE c IN ('abc','klm','pqr','vwx','yz') +ok 131 - $stmt->execute "SELECT b,c FROM a WHERE c BETWEEN ('abc','nmo')" (SELECT) +ok 132 - SELECT b,c FROM a WHERE c BETWEEN ('abc','nmo') +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 - CREATE pauli test table -ok 139 - UPDATE with placeholders -ok 140 - UPDATE with placeholder updates correct -# Running tests for DBD::DBM +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 141 - CREATE Tmp ok 142 - placeholder insert with named cols ok 143 - placeholder insert without named cols @@ -1546,11 +1558,11 @@ ok 159 - prepare 'SELECT UPPER('a') AS A,phrase FROM phrase' ok 160 - SELECT ok 161 - COUNT * -ok 162 - DROP TABLE +ok 162 - DROP TEMP TABLE ok 163 - COMPUTED COLUMNS IN SELECT LIST ok 164 - CREATE FUNCTION from script -# < CREATE TABLE a (b INT, c CHAR)> -ok 165 - $stmt->execute " CREATE TABLE a (b INT, c CHAR)" (CREATE) +# < CREATE TEMP TABLE a (b INT, c CHAR)> +ok 165 - $stmt->execute " CREATE TEMP 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')> @@ -1576,36 +1588,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 BETWEEN (5,7)" (SELECT) -ok 182 - SELECT b,c FROM a WHERE b BETWEEN (5,7) -ok 183 - $stmt->execute "SELECT b,c FROM a WHERE NOT b BETWEEN (5,7)" (SELECT) -ok 184 - SELECT b,c FROM a WHERE NOT b BETWEEN (5,7) -ok 185 - $stmt->execute "SELECT b,c FROM a WHERE c NOT IN ('abc','klm','pqr','vwx','yz')" (SELECT) -ok 186 - SELECT b,c FROM a WHERE c NOT IN ('abc','klm','pqr','vwx','yz') -ok 187 - $stmt->execute "SELECT b,c FROM a WHERE b NOT IN (2,3,5,7)" (SELECT) -ok 188 - SELECT b,c FROM a WHERE b NOT IN (2,3,5,7) -ok 189 - $stmt->execute "SELECT b,c FROM a WHERE b NOT BETWEEN (5,7)" (SELECT) -ok 190 - SELECT b,c FROM a WHERE b NOT BETWEEN (5,7) -ok 191 - $stmt->execute "SELECT b,c FROM a WHERE NOT c IN ('abc','klm','pqr','vwx','yz')" (SELECT) -ok 192 - SELECT b,c FROM a WHERE NOT c IN ('abc','klm','pqr','vwx','yz') -ok 193 - $stmt->execute "SELECT b,c FROM a WHERE c NOT BETWEEN ('abc','nmo')" (SELECT) -ok 194 - SELECT b,c FROM a WHERE c NOT BETWEEN ('abc','nmo') -ok 195 - $stmt->execute "SELECT b,c FROM a WHERE c BETWEEN ('abc','nmo')" (SELECT) -ok 196 - SELECT b,c FROM a WHERE c BETWEEN ('abc','nmo') -ok 197 - $stmt->execute "SELECT b,c FROM a WHERE b IN (2,3,5,7)" (SELECT) -ok 198 - SELECT b,c FROM a WHERE b IN (2,3,5,7) -ok 199 - $stmt->execute "SELECT b,c FROM a WHERE NOT b IN (2,3,5,7)" (SELECT) -ok 200 - SELECT b,c FROM a WHERE NOT b IN (2,3,5,7) -ok 201 - $stmt->execute "SELECT b,c FROM a WHERE NOT c BETWEEN ('abc','nmo')" (SELECT) -ok 202 - SELECT b,c FROM a WHERE NOT c BETWEEN ('abc','nmo') -ok 203 - $stmt->execute "SELECT b,c FROM a WHERE c IN ('abc','klm','pqr','vwx','yz')" (SELECT) -ok 204 - SELECT b,c FROM a WHERE c IN ('abc','klm','pqr','vwx','yz') +ok 181 - $stmt->execute "SELECT b,c FROM a WHERE b IN (2,3,5,7)" (SELECT) +ok 182 - SELECT b,c FROM a WHERE b IN (2,3,5,7) +ok 183 - $stmt->execute "SELECT b,c FROM a WHERE NOT b IN (2,3,5,7)" (SELECT) +ok 184 - SELECT b,c FROM a WHERE NOT b IN (2,3,5,7) +ok 185 - $stmt->execute "SELECT b,c FROM a WHERE b NOT IN (2,3,5,7)" (SELECT) +ok 186 - SELECT b,c FROM a WHERE b NOT IN (2,3,5,7) +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 c BETWEEN ('abc','nmo')" (SELECT) +ok 192 - SELECT b,c FROM a WHERE NOT c BETWEEN ('abc','nmo') +ok 193 - $stmt->execute "SELECT b,c FROM a WHERE c BETWEEN ('abc','nmo')" (SELECT) +ok 194 - SELECT b,c FROM a WHERE c BETWEEN ('abc','nmo') +ok 195 - $stmt->execute "SELECT b,c FROM a WHERE NOT b BETWEEN (5,7)" (SELECT) +ok 196 - SELECT b,c FROM a WHERE NOT b BETWEEN (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 b NOT BETWEEN (5,7)" (SELECT) +ok 200 - SELECT b,c FROM a WHERE b NOT BETWEEN (5,7) +ok 201 - $stmt->execute "SELECT b,c FROM a WHERE NOT c IN ('abc','klm','pqr','vwx','yz')" (SELECT) +ok 202 - SELECT b,c FROM a WHERE NOT c IN ('abc','klm','pqr','vwx','yz') +ok 203 - $stmt->execute "SELECT b,c FROM a WHERE c NOT BETWEEN ('abc','nmo')" (SELECT) +ok 204 - SELECT b,c FROM a WHERE c NOT BETWEEN ('abc','nmo') ok 205 - CREATE FUNCTION from module ok 206 - CREATE FUNCTION from module with argument ok 207 - LOAD FUNCTIONS -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 +ok 208 - CREATE pauli test table +ok 209 - UPDATE with placeholders +ok 210 - UPDATE with placeholder updates correct 1..210 ok t/03import.t .... @@ -2130,8 +2142,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/i386-linux-gnu/perl/5.28.1 /usr/local/share/perl/5.28.1 /usr/lib/i386-linux-gnu/perl5/5.28 /usr/share/perl5 /usr/lib/i386-linux-gnu/perl/5.28 /usr/share/perl/5.28 /usr/local/lib/site_perl /usr/lib/i386-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/i386-linux-gnu/perl/5.28.1 /usr/local/share/perl/5.28.1 /usr/lib/i386-linux-gnu/perl5/5.28 /usr/share/perl5 /usr/lib/i386-linux-gnu/perl/5.28 /usr/share/perl/5.28 /usr/local/lib/site_perl /usr/lib/i386-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/i386-linux-gnu/perl/5.28.1 /usr/local/share/perl/5.28.1 /usr/lib/i386-linux-gnu/perl5/5.28 /usr/share/perl5 /usr/lib/i386-linux-gnu/perl/5.28 /usr/share/perl/5.28 /usr/local/lib/site_perl /usr/lib/i386-linux-gnu/perl-base .) at t/TestLib.pm line 42. # # Using required: # # SQL::Statement: 1.412 # # Using recommended: @@ -2172,40 +2184,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,', 1589108250) 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,', 1589108250) on SQL::Statement -ok 35 - prepare INSERT INTO log VALUES (2, 'bert', '/netbsd', '2006, 2007, 2008, 2009, 2010', 1589108250) on SQL::Statement -ok 36 - execute INSERT INTO log VALUES (2, 'bert', '/netbsd', '2006, 2007, 2008, 2009, 2010', 1589108250) on SQL::Statement -ok 37 - prepare INSERT INTO log VALUES (3, 'bert', '/netbsd', 'The NetBSD Foundation, Inc. All rights reserved.', 1589108250) on SQL::Statement -ok 38 - execute INSERT INTO log VALUES (3, 'bert', '/netbsd', 'The NetBSD Foundation, Inc. All rights reserved.', 1589108250) on SQL::Statement -ok 39 - prepare INSERT INTO log VALUES (4, 'bert', '/netbsd', 'Copyright (c) 1982, 1986, 1989, 1991, 1993', 1589108250) on SQL::Statement -ok 40 - execute INSERT INTO log VALUES (4, 'bert', '/netbsd', 'Copyright (c) 1982, 1986, 1989, 1991, 1993', 1589108250) on SQL::Statement -ok 41 - prepare INSERT INTO log VALUES (5, 'bert', '/netbsd', 'The Regents of the University of California. All rights reserved.', 1589108250) on SQL::Statement -ok 42 - execute INSERT INTO log VALUES (5, 'bert', '/netbsd', 'The Regents of the University of California. All rights reserved.', 1589108250) on SQL::Statement -ok 43 - prepare INSERT INTO log VALUES (6, 'bert', '/netbsd', '', 1589108250) on SQL::Statement -ok 44 - execute INSERT INTO log VALUES (6, 'bert', '/netbsd', '', 1589108250) 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', 1589108250) 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', 1589108250) on SQL::Statement -ok 47 - prepare INSERT INTO log VALUES (8, 'ernie', 'rpc.statd', 'starting', 1589104650) on SQL::Statement -ok 48 - execute INSERT INTO log VALUES (8, 'ernie', 'rpc.statd', 'starting', 1589104650) on SQL::Statement -ok 49 - prepare INSERT INTO log VALUES (9, 'ernie', 'savecore', 'no core dump', 1589101050) on SQL::Statement -ok 50 - execute INSERT INTO log VALUES (9, 'ernie', 'savecore', 'no core dump', 1589101050) on SQL::Statement -ok 51 - prepare INSERT INTO log VALUES (10, 'ernie', 'postfix/postfix-script', 'starting the Postfix mail system', 1589097450) on SQL::Statement -ok 52 - execute INSERT INTO log VALUES (10, 'ernie', 'postfix/postfix-script', 'starting the Postfix mail system', 1589097450) on SQL::Statement -ok 53 - prepare INSERT INTO log VALUES (11, 'ernie', 'rpcbind', 'connect from 127.0.0.1 to dump()', 1589093850) on SQL::Statement -ok 54 - execute INSERT INTO log VALUES (11, 'ernie', 'rpcbind', 'connect from 127.0.0.1 to dump()', 1589093850) on SQL::Statement -ok 55 - prepare INSERT INTO log VALUES (12, 'ernie', 'sshd', 'last message repeated 2 times', 1589090250) on SQL::Statement -ok 56 - execute INSERT INTO log VALUES (12, 'ernie', 'sshd', 'last message repeated 2 times', 1589090250) on SQL::Statement -ok 57 - prepare INSERT INTO log VALUES (13, 'ernie', 'shutdown', 'poweroff by root:', 1589086650) on SQL::Statement -ok 58 - execute INSERT INTO log VALUES (13, 'ernie', 'shutdown', 'poweroff by root:', 1589086650) on SQL::Statement -ok 59 - prepare INSERT INTO log VALUES (14, 'ernie', 'shutdown', 'rebooted by root', 1589083050) on SQL::Statement -ok 60 - execute INSERT INTO log VALUES (14, 'ernie', 'shutdown', 'rebooted by root', 1589083050) on SQL::Statement -ok 61 - prepare INSERT INTO log VALUES (15, 'ernie', 'sshd', 'Server listening on :: port 22.', 1589079450) on SQL::Statement -ok 62 - execute INSERT INTO log VALUES (15, 'ernie', 'sshd', 'Server listening on :: port 22.', 1589079450) on SQL::Statement -ok 63 - prepare INSERT INTO log VALUES (16, 'ernie', 'sshd', 'Server listening on 0.0.0.0 port 22.', 1589075850) on SQL::Statement -ok 64 - execute INSERT INTO log VALUES (16, 'ernie', 'sshd', 'Server listening on 0.0.0.0 port 22.', 1589075850) on SQL::Statement -ok 65 - prepare INSERT INTO log VALUES (17, 'ernie', 'sshd', 'Received SIGHUP; restarting.', 1589072250) on SQL::Statement -ok 66 - execute INSERT INTO log VALUES (17, 'ernie', 'sshd', 'Received SIGHUP; restarting.', 1589072250) 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,', 1623518461) 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,', 1623518461) on SQL::Statement +ok 35 - prepare INSERT INTO log VALUES (2, 'bert', '/netbsd', '2006, 2007, 2008, 2009, 2010', 1623518461) on SQL::Statement +ok 36 - execute INSERT INTO log VALUES (2, 'bert', '/netbsd', '2006, 2007, 2008, 2009, 2010', 1623518461) on SQL::Statement +ok 37 - prepare INSERT INTO log VALUES (3, 'bert', '/netbsd', 'The NetBSD Foundation, Inc. All rights reserved.', 1623518461) on SQL::Statement +ok 38 - execute INSERT INTO log VALUES (3, 'bert', '/netbsd', 'The NetBSD Foundation, Inc. All rights reserved.', 1623518461) on SQL::Statement +ok 39 - prepare INSERT INTO log VALUES (4, 'bert', '/netbsd', 'Copyright (c) 1982, 1986, 1989, 1991, 1993', 1623518461) on SQL::Statement +ok 40 - execute INSERT INTO log VALUES (4, 'bert', '/netbsd', 'Copyright (c) 1982, 1986, 1989, 1991, 1993', 1623518461) on SQL::Statement +ok 41 - prepare INSERT INTO log VALUES (5, 'bert', '/netbsd', 'The Regents of the University of California. All rights reserved.', 1623518461) on SQL::Statement +ok 42 - execute INSERT INTO log VALUES (5, 'bert', '/netbsd', 'The Regents of the University of California. All rights reserved.', 1623518461) on SQL::Statement +ok 43 - prepare INSERT INTO log VALUES (6, 'bert', '/netbsd', '', 1623518461) on SQL::Statement +ok 44 - execute INSERT INTO log VALUES (6, 'bert', '/netbsd', '', 1623518461) 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', 1623518461) 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', 1623518461) on SQL::Statement +ok 47 - prepare INSERT INTO log VALUES (8, 'ernie', 'rpc.statd', 'starting', 1623514861) on SQL::Statement +ok 48 - execute INSERT INTO log VALUES (8, 'ernie', 'rpc.statd', 'starting', 1623514861) on SQL::Statement +ok 49 - prepare INSERT INTO log VALUES (9, 'ernie', 'savecore', 'no core dump', 1623511261) on SQL::Statement +ok 50 - execute INSERT INTO log VALUES (9, 'ernie', 'savecore', 'no core dump', 1623511261) on SQL::Statement +ok 51 - prepare INSERT INTO log VALUES (10, 'ernie', 'postfix/postfix-script', 'starting the Postfix mail system', 1623507661) on SQL::Statement +ok 52 - execute INSERT INTO log VALUES (10, 'ernie', 'postfix/postfix-script', 'starting the Postfix mail system', 1623507661) on SQL::Statement +ok 53 - prepare INSERT INTO log VALUES (11, 'ernie', 'rpcbind', 'connect from 127.0.0.1 to dump()', 1623504061) on SQL::Statement +ok 54 - execute INSERT INTO log VALUES (11, 'ernie', 'rpcbind', 'connect from 127.0.0.1 to dump()', 1623504061) on SQL::Statement +ok 55 - prepare INSERT INTO log VALUES (12, 'ernie', 'sshd', 'last message repeated 2 times', 1623500461) on SQL::Statement +ok 56 - execute INSERT INTO log VALUES (12, 'ernie', 'sshd', 'last message repeated 2 times', 1623500461) on SQL::Statement +ok 57 - prepare INSERT INTO log VALUES (13, 'ernie', 'shutdown', 'poweroff by root:', 1623496861) on SQL::Statement +ok 58 - execute INSERT INTO log VALUES (13, 'ernie', 'shutdown', 'poweroff by root:', 1623496861) on SQL::Statement +ok 59 - prepare INSERT INTO log VALUES (14, 'ernie', 'shutdown', 'rebooted by root', 1623493261) on SQL::Statement +ok 60 - execute INSERT INTO log VALUES (14, 'ernie', 'shutdown', 'rebooted by root', 1623493261) on SQL::Statement +ok 61 - prepare INSERT INTO log VALUES (15, 'ernie', 'sshd', 'Server listening on :: port 22.', 1623489661) on SQL::Statement +ok 62 - execute INSERT INTO log VALUES (15, 'ernie', 'sshd', 'Server listening on :: port 22.', 1623489661) on SQL::Statement +ok 63 - prepare INSERT INTO log VALUES (16, 'ernie', 'sshd', 'Server listening on 0.0.0.0 port 22.', 1623486061) on SQL::Statement +ok 64 - execute INSERT INTO log VALUES (16, 'ernie', 'sshd', 'Server listening on 0.0.0.0 port 22.', 1623486061) on SQL::Statement +ok 65 - prepare INSERT INTO log VALUES (17, 'ernie', 'sshd', 'Received SIGHUP; restarting.', 1623482461) on SQL::Statement +ok 66 - execute INSERT INTO log VALUES (17, 'ernie', 'sshd', 'Received SIGHUP; restarting.', 1623482461) 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 @@ -2776,17 +2788,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 < (1589108250 - ( 4 * 60 )) using SQL::Statement -ok 629 - execute SELECT id,host,signature,message FROM log WHERE time_stamp < (1589108250 - ( 4 * 60 )) using SQL::Statement +ok 628 - prepare SELECT id,host,signature,message FROM log WHERE time_stamp < (1623518461 - ( 4 * 60 )) using SQL::Statement +ok 629 - execute SELECT id,host,signature,message FROM log WHERE time_stamp < (1623518461 - ( 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 > (1589108250 - 5)) AND (time_stamp < (1589108250 + 5)) using SQL::Statement -ok 632 - execute SELECT id,host,signature,message FROM log WHERE (time_stamp > (1589108250 - 5)) AND (time_stamp < (1589108250 + 5)) using SQL::Statement +ok 631 - prepare SELECT id,host,signature,message FROM log WHERE (time_stamp > (1623518461 - 5)) AND (time_stamp < (1623518461 + 5)) using SQL::Statement +ok 632 - execute SELECT id,host,signature,message FROM log WHERE (time_stamp > (1623518461 - 5)) AND (time_stamp < (1623518461 + 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 ( 1589108250 - 5, 1589108250 + 5) using SQL::Statement -ok 635 - execute SELECT id,host,signature,message FROM log WHERE time_stamp BETWEEN ( 1589108250 - 5, 1589108250 + 5) using SQL::Statement +ok 634 - prepare SELECT id,host,signature,message FROM log WHERE time_stamp BETWEEN ( 1623518461 - 5, 1623518461 + 5) using SQL::Statement +ok 635 - execute SELECT id,host,signature,message FROM log WHERE time_stamp BETWEEN ( 1623518461 - 5, 1623518461 + 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 (1589108250 - (2*3600), 1589108250 - (4*3600)) using SQL::Statement -ok 638 - execute SELECT MAX(time_stamp) FROM log WHERE time_stamp IN (1589108250 - (2*3600), 1589108250 - (4*3600)) using SQL::Statement +ok 637 - prepare SELECT MAX(time_stamp) FROM log WHERE time_stamp IN (1623518461 - (2*3600), 1623518461 - (4*3600)) using SQL::Statement +ok 638 - execute SELECT MAX(time_stamp) FROM log WHERE time_stamp IN (1623518461 - (2*3600), 1623518461 - (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 @@ -2807,9 +2819,684 @@ ok 653 - prepare SELECT 1 using SQL::Statement ok 654 - execute SELECT 1 using SQL::Statement ok 655 - SELECT not calculated constant +# Running tests for DBD::File +ok 656 - prepare CREATE TEMP TABLE biz (sales INTEGER, class CHAR, color CHAR, BUGNULL CHAR) on DBD::File +ok 657 - execute CREATE TEMP TABLE biz (sales INTEGER, class CHAR, color CHAR, BUGNULL CHAR) on DBD::File +ok 658 - prepare INSERT INTO biz VALUES (1000, 'Car', 'White', NULL) on DBD::File +ok 659 - execute INSERT INTO biz VALUES (1000, 'Car', 'White', NULL) on DBD::File +ok 660 - prepare INSERT INTO biz VALUES ( 500, 'Car', 'Blue', NULL ) on DBD::File +ok 661 - execute INSERT INTO biz VALUES ( 500, 'Car', 'Blue', NULL ) on DBD::File +ok 662 - prepare INSERT INTO biz VALUES ( 400, 'Truck', 'White', NULL ) on DBD::File +ok 663 - execute INSERT INTO biz VALUES ( 400, 'Truck', 'White', NULL ) on DBD::File +ok 664 - prepare INSERT INTO biz VALUES ( 700, 'Car', 'Red', NULL ) on DBD::File +ok 665 - execute INSERT INTO biz VALUES ( 700, 'Car', 'Red', NULL ) on DBD::File +ok 666 - prepare INSERT INTO biz VALUES ( 300, 'Truck', 'White', NULL ) on DBD::File +ok 667 - execute INSERT INTO biz VALUES ( 300, 'Truck', 'White', NULL ) on DBD::File +ok 668 - prepare CREATE TEMP TABLE baz (ordered INTEGER, class CHAR, color CHAR) on DBD::File +ok 669 - execute CREATE TEMP TABLE baz (ordered INTEGER, class CHAR, color CHAR) on DBD::File +ok 670 - prepare INSERT INTO baz VALUES ( 250, 'Car', 'White' ), ( 100, 'Car', 'Blue' ), ( 150, 'Car', 'Red' ) on DBD::File +ok 671 - execute INSERT INTO baz VALUES ( 250, 'Car', 'White' ), ( 100, 'Car', 'Blue' ), ( 150, 'Car', 'Red' ) on DBD::File +ok 672 - prepare INSERT INTO baz VALUES ( 80, 'Truck', 'White' ), ( 60, 'Truck', 'Green' ) -- Yes, we introduce new cars :) on DBD::File +ok 673 - execute INSERT INTO baz VALUES ( 80, 'Truck', 'White' ), ( 60, 'Truck', 'Green' ) -- Yes, we introduce new cars :) on DBD::File +ok 674 - prepare INSERT INTO baz VALUES ( 666, 'Truck', 'Yellow -- no, blue' ) -- Double dash inside quotes does not introduce comment on DBD::File +ok 675 - execute INSERT INTO baz VALUES ( 666, 'Truck', 'Yellow -- no, blue' ) -- Double dash inside quotes does not introduce comment on DBD::File +ok 676 - prepare CREATE TEMP TABLE numbers (c_foo INTEGER, foo CHAR, bar INTEGER) on DBD::File +ok 677 - execute CREATE TEMP TABLE numbers (c_foo INTEGER, foo CHAR, bar INTEGER) on DBD::File +ok 678 - prepare CREATE TEMP TABLE trick (id INTEGER, foo CHAR) on DBD::File +ok 679 - execute CREATE TEMP TABLE trick (id INTEGER, foo CHAR) on DBD::File +ok 680 - prepare INSERT INTO trick VALUES (1, '1foo') on DBD::File +ok 681 - execute INSERT INTO trick VALUES (1, '1foo') on DBD::File +ok 682 - prepare INSERT INTO trick VALUES (11, 'foo') on DBD::File +ok 683 - execute INSERT INTO trick VALUES (11, 'foo') on DBD::File +ok 684 - prepare CREATE TYPE TIMESTAMP on DBD::File +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,', 1623518462) 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,', 1623518462) on DBD::File +ok 690 - prepare INSERT INTO log VALUES (2, 'bert', '/netbsd', '2006, 2007, 2008, 2009, 2010', 1623518462) on DBD::File +ok 691 - execute INSERT INTO log VALUES (2, 'bert', '/netbsd', '2006, 2007, 2008, 2009, 2010', 1623518462) on DBD::File +ok 692 - prepare INSERT INTO log VALUES (3, 'bert', '/netbsd', 'The NetBSD Foundation, Inc. All rights reserved.', 1623518462) on DBD::File +ok 693 - execute INSERT INTO log VALUES (3, 'bert', '/netbsd', 'The NetBSD Foundation, Inc. All rights reserved.', 1623518462) on DBD::File +ok 694 - prepare INSERT INTO log VALUES (4, 'bert', '/netbsd', 'Copyright (c) 1982, 1986, 1989, 1991, 1993', 1623518462) on DBD::File +ok 695 - execute INSERT INTO log VALUES (4, 'bert', '/netbsd', 'Copyright (c) 1982, 1986, 1989, 1991, 1993', 1623518462) on DBD::File +ok 696 - prepare INSERT INTO log VALUES (5, 'bert', '/netbsd', 'The Regents of the University of California. All rights reserved.', 1623518462) on DBD::File +ok 697 - execute INSERT INTO log VALUES (5, 'bert', '/netbsd', 'The Regents of the University of California. All rights reserved.', 1623518462) on DBD::File +ok 698 - prepare INSERT INTO log VALUES (6, 'bert', '/netbsd', '', 1623518462) on DBD::File +ok 699 - execute INSERT INTO log VALUES (6, 'bert', '/netbsd', '', 1623518462) 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', 1623518462) 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', 1623518462) on DBD::File +ok 702 - prepare INSERT INTO log VALUES (8, 'ernie', 'rpc.statd', 'starting', 1623514862) on DBD::File +ok 703 - execute INSERT INTO log VALUES (8, 'ernie', 'rpc.statd', 'starting', 1623514862) on DBD::File +ok 704 - prepare INSERT INTO log VALUES (9, 'ernie', 'savecore', 'no core dump', 1623511262) on DBD::File +ok 705 - execute INSERT INTO log VALUES (9, 'ernie', 'savecore', 'no core dump', 1623511262) on DBD::File +ok 706 - prepare INSERT INTO log VALUES (10, 'ernie', 'postfix/postfix-script', 'starting the Postfix mail system', 1623507662) on DBD::File +ok 707 - execute INSERT INTO log VALUES (10, 'ernie', 'postfix/postfix-script', 'starting the Postfix mail system', 1623507662) on DBD::File +ok 708 - prepare INSERT INTO log VALUES (11, 'ernie', 'rpcbind', 'connect from 127.0.0.1 to dump()', 1623504062) on DBD::File +ok 709 - execute INSERT INTO log VALUES (11, 'ernie', 'rpcbind', 'connect from 127.0.0.1 to dump()', 1623504062) on DBD::File +ok 710 - prepare INSERT INTO log VALUES (12, 'ernie', 'sshd', 'last message repeated 2 times', 1623500462) on DBD::File +ok 711 - execute INSERT INTO log VALUES (12, 'ernie', 'sshd', 'last message repeated 2 times', 1623500462) on DBD::File +ok 712 - prepare INSERT INTO log VALUES (13, 'ernie', 'shutdown', 'poweroff by root:', 1623496862) on DBD::File +ok 713 - execute INSERT INTO log VALUES (13, 'ernie', 'shutdown', 'poweroff by root:', 1623496862) on DBD::File +ok 714 - prepare INSERT INTO log VALUES (14, 'ernie', 'shutdown', 'rebooted by root', 1623493262) on DBD::File +ok 715 - execute INSERT INTO log VALUES (14, 'ernie', 'shutdown', 'rebooted by root', 1623493262) on DBD::File +ok 716 - prepare INSERT INTO log VALUES (15, 'ernie', 'sshd', 'Server listening on :: port 22.', 1623489662) on DBD::File +ok 717 - execute INSERT INTO log VALUES (15, 'ernie', 'sshd', 'Server listening on :: port 22.', 1623489662) on DBD::File +ok 718 - prepare INSERT INTO log VALUES (16, 'ernie', 'sshd', 'Server listening on 0.0.0.0 port 22.', 1623486062) on DBD::File +ok 719 - execute INSERT INTO log VALUES (16, 'ernie', 'sshd', 'Server listening on 0.0.0.0 port 22.', 1623486062) on DBD::File +ok 720 - prepare INSERT INTO log VALUES (17, 'ernie', 'sshd', 'Received SIGHUP; restarting.', 1623482462) on DBD::File +ok 721 - execute INSERT INTO log VALUES (17, 'ernie', 'sshd', 'Received SIGHUP; restarting.', 1623482462) 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 +ok 725 - prepare SELECT color,class,SUM(sales), MAX(sales) FROM biz GROUP BY color,class using DBD::File +ok 726 - execute SELECT color,class,SUM(sales), MAX(sales) FROM biz GROUP BY color,class using DBD::File +ok 727 - GROUP BY several columns +ok 728 - prepare SELECT SUM(sales), MAX(sales) FROM biz using DBD::File +ok 729 - execute SELECT SUM(sales), MAX(sales) FROM biz using DBD::File +ok 730 - AGGREGATE FUNCTIONS WITHOUT GROUP BY +ok 731 - prepare SELECT COUNT(DISTINCT class) FROM biz using DBD::File +ok 732 - execute SELECT COUNT(DISTINCT class) FROM biz using DBD::File +ok 733 - COUNT(distinct column) WITHOUT GROUP BY +ok 734 - prepare SELECT distinct class, COUNT(distinct color) FROM biz GROUP BY class using DBD::File +ok 735 - execute SELECT distinct class, COUNT(distinct color) FROM biz GROUP BY class using DBD::File +ok 736 - COUNT(distinct column) WITH GROUP BY +ok 737 - prepare SELECT class, COUNT(*) FROM biz GROUP BY class using DBD::File +ok 738 - execute SELECT class, COUNT(*) FROM biz GROUP BY class using DBD::File +ok 739 - COUNT(*) with GROUP BY +ok 740 - prepare SELECT DISTINCT biz.class, baz.color AS foo FROM biz, baz WHERE biz.class = baz.class ORDER BY foo using DBD::File +ok 741 - execute SELECT DISTINCT biz.class, baz.color AS foo FROM biz, baz WHERE biz.class = baz.class ORDER BY foo using DBD::File +ok 742 - ORDER BY on aliased column +ok 743 - prepare SELECT class, COUNT(distinct *) FROM biz GROUP BY class using DBD::File fails +ok 744 - COUNT(DISTINCT *) fails +ok 745 - prepare SELECT class, COUNT(color) FROM biz using DBD::File +ok 746 - execute SELECT class, COUNT(color) FROM biz using DBD::File fails +ok 747 - GROUP BY required +ok 748 - prepare SELECT SUM(bar) FROM numbers using DBD::File +ok 749 - execute SELECT SUM(bar) FROM numbers using DBD::File +ok 750 - SUM(bar) of empty table +ok 751 - prepare SELECT COUNT(bar),c_foo FROM numbers GROUP BY c_foo using DBD::File +ok 752 - execute SELECT COUNT(bar),c_foo FROM numbers GROUP BY c_foo using DBD::File +ok 753 - COUNT(bar) of empty table with GROUP BY +ok 754 - prepare SELECT COUNT(*) FROM numbers using DBD::File +ok 755 - execute SELECT COUNT(*) FROM numbers using DBD::File +ok 756 - COUNT(*) of empty table +ok 757 - prepare INSERT INTO numbers VALUES (?, ?, ?) using DBD::File +ok 758 - 1 .. 3999: execute INSERT INTO numbers VALUES (?, ?, ?) using DBD::File +ok 759 - prepare SELECT foo AS boo, COUNT (*) AS counted FROM numbers GROUP BY boo using DBD::File +ok 760 - execute SELECT foo AS boo, COUNT (*) AS counted FROM numbers GROUP BY boo using DBD::File +ok 761 - Columns in Number of rows in aggregated Table +ok 762 - Number of rows in aggregated Table +ok 763 - SUM(COUNTED) +ok 764 - prepare SELECT MIN(c_foo), MAX(c_foo), AVG(c_foo) FROM numbers using DBD::File +ok 765 - execute SELECT MIN(c_foo), MAX(c_foo), AVG(c_foo) FROM numbers using DBD::File +ok 766 - Aggregate functions MIN, MAX, AVG +ok 767 - prepare SELECT COUNT(*) FROM trick using DBD::File +ok 768 - execute SELECT COUNT(*) FROM trick using DBD::File +ok 769 - COUNT(*) internal for nasty table +ok 770 - prepare SELECT CURRENT_DATE() using DBD::File +ok 771 - execute SELECT CURRENT_DATE() using DBD::File +ok 772 - current_date int +ok 773 - prepare SELECT CURRENT_TIME using DBD::File +ok 774 - execute SELECT CURRENT_TIME using DBD::File +ok 775 - current_time int +ok 776 - prepare SELECT CURRENT_TIMESTAMP() using DBD::File +ok 777 - execute SELECT CURRENT_TIMESTAMP() using DBD::File +ok 778 - current_timestamp int +ok 779 - prepare SELECT CURDATE using DBD::File +ok 780 - execute SELECT CURDATE using DBD::File +ok 781 - curdate int +ok 782 - prepare SELECT CURTIME() using DBD::File +ok 783 - execute SELECT CURTIME() using DBD::File +ok 784 - curtime int +ok 785 - prepare SELECT NOW using DBD::File +ok 786 - execute SELECT NOW using DBD::File +ok 787 - now int +ok 788 - prepare SELECT UNIX_TIMESTAMP() using DBD::File +ok 789 - execute SELECT UNIX_TIMESTAMP() using DBD::File +ok 790 - unix_timestamp int +ok 791 - prepare SELECT CURRENT_TIME (1) using DBD::File +ok 792 - execute SELECT CURRENT_TIME (1) using DBD::File +ok 793 - current_time precision +ok 794 - prepare SELECT CURRENT_TIMESTAMP (2) using DBD::File +ok 795 - execute SELECT CURRENT_TIMESTAMP (2) using DBD::File +ok 796 - current_timestamp precision +ok 797 - prepare SELECT CURTIME (3) using DBD::File +ok 798 - execute SELECT CURTIME (3) using DBD::File +ok 799 - curtime precision +ok 800 - prepare SELECT NOW(4) using DBD::File +ok 801 - execute SELECT NOW(4) using DBD::File +ok 802 - now precision +ok 803 - prepare SELECT UNIX_TIMESTAMP(5) using DBD::File +ok 804 - execute SELECT UNIX_TIMESTAMP(5) using DBD::File +ok 805 - unix_timestamp precision +ok 806 - prepare SELECT ASCII('A') using DBD::File +ok 807 - execute SELECT ASCII('A') using DBD::File +ok 808 - ascii char +ok 809 - prepare SELECT ASCII('ABC') using DBD::File +ok 810 - execute SELECT ASCII('ABC') using DBD::File +ok 811 - ascii str +ok 812 - prepare SELECT CHAR() using DBD::File +ok 813 - execute SELECT CHAR() using DBD::File +ok 814 - char blank +ok 815 - prepare SELECT CHAR(65) using DBD::File +ok 816 - execute SELECT CHAR(65) using DBD::File +ok 817 - char char +ok 818 - prepare SELECT CHAR(CONV('263A', 16)) using DBD::File +ok 819 - execute SELECT CHAR(CONV('263A', 16)) using DBD::File +ok 820 - char char unicode +ok 821 - prepare SELECT CHAR(CONV('263A', 16), 9787, CONV('10011000111100', 2)) using DBD::File +ok 822 - execute SELECT CHAR(CONV('263A', 16), 9787, CONV('10011000111100', 2)) using DBD::File +ok 823 - char str unicode +ok 824 - prepare SELECT CHAR(65,66,67) using DBD::File +ok 825 - execute SELECT CHAR(65,66,67) using DBD::File +ok 826 - char str +ok 827 - prepare SELECT BIT_LENGTH(' oo') using DBD::File +ok 828 - execute SELECT BIT_LENGTH(' oo') using DBD::File +ok 829 - bit_length 6bit +ok 830 - prepare SELECT BIT_LENGTH('foo') using DBD::File +ok 831 - execute SELECT BIT_LENGTH('foo') using DBD::File +ok 832 - bit_length 7bit +ok 833 - prepare SELECT BIT_LENGTH(CHAR(9786, 9787, 9788)) using DBD::File +ok 834 - execute SELECT BIT_LENGTH(CHAR(9786, 9787, 9788)) using DBD::File +ok 835 - bit_length unicode +ok 836 - prepare SELECT CHARACTER_LENGTH('foo') using DBD::File +ok 837 - execute SELECT CHARACTER_LENGTH('foo') using DBD::File +ok 838 - character_length +ok 839 - prepare SELECT CHAR_LENGTH('foo') using DBD::File +ok 840 - execute SELECT CHAR_LENGTH('foo') using DBD::File +ok 841 - char_length +ok 842 - prepare SELECT CHARACTER_LENGTH(CHAR(9786, 9787, 9788)) using DBD::File +ok 843 - execute SELECT CHARACTER_LENGTH(CHAR(9786, 9787, 9788)) using DBD::File +ok 844 - character_length unicode +ok 845 - prepare SELECT CHAR_LENGTH(CHAR(9786, 9787, 9788)) using DBD::File +ok 846 - execute SELECT CHAR_LENGTH(CHAR(9786, 9787, 9788)) using DBD::File +ok 847 - char_length unicode +ok 848 - prepare SELECT COALESCE(NULL,'z') using DBD::File +ok 849 - execute SELECT COALESCE(NULL,'z') using DBD::File +ok 850 - coalesce +ok 851 - prepare SELECT NVL(NULL,'z') using DBD::File +ok 852 - execute SELECT NVL(NULL,'z') using DBD::File +ok 853 - nvl +ok 854 - prepare SELECT IFNULL(NULL,'z') using DBD::File +ok 855 - execute SELECT IFNULL(NULL,'z') using DBD::File +ok 856 - ifnull +ok 857 - prepare SELECT CONCAT('A','B') using DBD::File +ok 858 - execute SELECT CONCAT('A','B') using DBD::File +ok 859 - concat good +ok 860 - prepare SELECT CONCAT('A',NULL) using DBD::File +ok 861 - execute SELECT CONCAT('A',NULL) using DBD::File +ok 862 - concat bad +ok 863 - prepare SELECT CONV('10101001111011101101011', 2, 64) using DBD::File +ok 864 - execute SELECT CONV('10101001111011101101011', 2, 64) using DBD::File +ok 865 - conv 2->64 +ok 866 - prepare SELECT CONV('10101001111011101101011', 2, 16) using DBD::File +ok 867 - execute SELECT CONV('10101001111011101101011', 2, 16) using DBD::File +ok 868 - conv 2->16 +ok 869 - prepare SELECT CONV('10101001111011101101011', 2, 10) using DBD::File +ok 870 - execute SELECT CONV('10101001111011101101011', 2, 10) using DBD::File +ok 871 - conv 2->10 +ok 872 - prepare SELECT CONV('10101001111011101101011', 2, 8) using DBD::File +ok 873 - execute SELECT CONV('10101001111011101101011', 2, 8) using DBD::File +ok 874 - conv 2->8 +ok 875 - prepare SELECT CONV('10101001111011101101011', 2, 2) using DBD::File +ok 876 - execute SELECT CONV('10101001111011101101011', 2, 2) using DBD::File +ok 877 - conv 2->2 +ok 878 - prepare select conv('16', 10, 16) using DBD::File +ok 879 - execute select conv('16', 10, 16) using DBD::File +ok 880 - conv 10->16 integer with trailing 0 +ok 881 - prepare select conv('0', 10, 16) using DBD::File +ok 882 - execute select conv('0', 10, 16) using DBD::File +ok 883 - conv 10->16 integer 0 +ok 884 - prepare SELECT DISTINCT DECODE(color,'White','W','Red','R','B') AS cfc FROM biz ORDER BY cfc using DBD::File +ok 885 - execute SELECT DISTINCT DECODE(color,'White','W','Red','R','B') AS cfc FROM biz ORDER BY cfc using DBD::File +ok 886 - decode +ok 887 - prepare SELECT INSERT('foodieland', 4, 3, 'bar') using DBD::File +ok 888 - execute SELECT INSERT('foodieland', 4, 3, 'bar') using DBD::File +ok 889 - insert good 1:1 +ok 890 - prepare SELECT INSERT('foodland', 4, 1, 'bar') using DBD::File +ok 891 - execute SELECT INSERT('foodland', 4, 1, 'bar') using DBD::File +ok 892 - insert good non-1:1 +ok 893 - prepare SELECT INSERT(NULL, 4, 1, 'bar') using DBD::File +ok 894 - execute SELECT INSERT(NULL, 4, 1, 'bar') using DBD::File +ok 895 - insert bad 1 +ok 896 - prepare SELECT INSERT('foodland', 4, 1, NULL) using DBD::File +ok 897 - execute SELECT INSERT('foodland', 4, 1, NULL) using DBD::File +ok 898 - insert bad 2 +ok 899 - prepare SELECT LEFT('foodland', 4) using DBD::File +ok 900 - execute SELECT LEFT('foodland', 4) using DBD::File +ok 901 - left good +ok 902 - prepare SELECT LEFT(NULL, 4) using DBD::File +ok 903 - execute SELECT LEFT(NULL, 4) using DBD::File +ok 904 - left bad 1 +ok 905 - prepare SELECT LEFT('foodland', NULL) using DBD::File +ok 906 - execute SELECT LEFT('foodland', NULL) using DBD::File +ok 907 - left bad 2 +ok 908 - prepare SELECT RIGHT('foodland', 4) using DBD::File +ok 909 - execute SELECT RIGHT('foodland', 4) using DBD::File +ok 910 - right good +ok 911 - prepare SELECT RIGHT(NULL, 4) using DBD::File +ok 912 - execute SELECT RIGHT(NULL, 4) using DBD::File +ok 913 - right bad 1 +ok 914 - prepare SELECT RIGHT('foodland', NULL) using DBD::File +ok 915 - execute SELECT RIGHT('foodland', NULL) using DBD::File +ok 916 - right bad 2 +ok 917 - prepare SELECT LOCATE('a','bar') using DBD::File +ok 918 - execute SELECT LOCATE('a','bar') using DBD::File +ok 919 - locate 2param +ok 920 - prepare SELECT LOCATE('a','barafa',3) using DBD::File +ok 921 - execute SELECT LOCATE('a','barafa',3) using DBD::File +ok 922 - locate 3param +ok 923 - prepare SELECT POSITION('a','bar') using DBD::File +ok 924 - execute SELECT POSITION('a','bar') using DBD::File +ok 925 - position 2param +ok 926 - prepare SELECT POSITION('a','barafa',3) using DBD::File +ok 927 - execute SELECT POSITION('a','barafa',3) using DBD::File +ok 928 - position 3param +ok 929 - prepare SELECT LOWER('A') using DBD::File +ok 930 - execute SELECT LOWER('A') using DBD::File +ok 931 - lower +ok 932 - prepare SELECT UPPER('a') using DBD::File +ok 933 - execute SELECT UPPER('a') using DBD::File +ok 934 - upper +ok 935 - prepare SELECT LCASE('A') using DBD::File +ok 936 - execute SELECT LCASE('A') using DBD::File +ok 937 - lcase +ok 938 - prepare SELECT UCASE('a') using DBD::File +ok 939 - execute SELECT UCASE('a') using DBD::File +ok 940 - ucase +ok 941 - prepare SELECT LTRIM(' fun ') using DBD::File +ok 942 - execute SELECT LTRIM(' fun ') using DBD::File +ok 943 - ltrim +ok 944 - prepare SELECT RTRIM(' fun ') using DBD::File +ok 945 - execute SELECT RTRIM(' fun ') using DBD::File +ok 946 - rtrim +ok 947 - prepare SELECT OCTET_LENGTH('foo') using DBD::File +ok 948 - execute SELECT OCTET_LENGTH('foo') using DBD::File +ok 949 - octet_length +ok 950 - prepare SELECT OCTET_LENGTH(CHAR(64, 169, 9786, 65572)) using DBD::File +ok 951 - execute SELECT OCTET_LENGTH(CHAR(64, 169, 9786, 65572)) using DBD::File +ok 952 - octet_length unicode +ok 953 - prepare SELECT REGEX('jeff','/EF/i') using DBD::File +ok 954 - execute SELECT REGEX('jeff','/EF/i') using DBD::File +ok 955 - regex match +ok 956 - prepare SELECT REGEX('jeff','/zzz/') using DBD::File +ok 957 - execute SELECT REGEX('jeff','/zzz/') using DBD::File +ok 958 - regex no match +ok 959 - prepare SELECT REPEAT('zfunkY', 3) using DBD::File +ok 960 - execute SELECT REPEAT('zfunkY', 3) using DBD::File +ok 961 - repeat +ok 962 - prepare SELECT REPLACE('zfunkY','s/z(.+)ky/$1/i') using DBD::File +ok 963 - execute SELECT REPLACE('zfunkY','s/z(.+)ky/$1/i') using DBD::File +ok 964 - replace +ok 965 - prepare SELECT SUBSTITUTE('zfunkY','s/z(.+)ky/$1/i') using DBD::File +ok 966 - execute SELECT SUBSTITUTE('zfunkY','s/z(.+)ky/$1/i') using DBD::File +ok 967 - substitute +ok 968 - prepare SELECT SOUNDEX('jeff','jeph') using DBD::File +ok 969 - execute SELECT SOUNDEX('jeff','jeph') using DBD::File +ok 970 - soundex match +ok 971 - prepare SELECT SOUNDEX('jeff','quartz') using DBD::File +ok 972 - execute SELECT SOUNDEX('jeff','quartz') using DBD::File +ok 973 - soundex no match +ok 974 - prepare SELECT SPACE(10) using DBD::File +ok 975 - execute SELECT SPACE(10) using DBD::File +ok 976 - space +ok 977 - prepare SELECT SUBSTR('zfunkY',2,3) using DBD::File +ok 978 - execute SELECT SUBSTR('zfunkY',2,3) using DBD::File +ok 979 - substr +ok 980 - prepare SELECT DISTINCT color FROM biz WHERE SUBSTRING(class FROM 1 FOR 1)='T' using DBD::File +ok 981 - execute SELECT DISTINCT color FROM biz WHERE SUBSTRING(class FROM 1 FOR 1)='T' using DBD::File +ok 982 - substring +ok 983 - prepare SELECT TRANSLATE('foobar forever', 'oae', '0@3') using DBD::File +ok 984 - execute SELECT TRANSLATE('foobar forever', 'oae', '0@3') using DBD::File +ok 985 - translate +ok 986 - prepare SELECT TRIM(' fun ') using DBD::File +ok 987 - execute SELECT TRIM(' fun ') using DBD::File +ok 988 - trim simple +not ok 989 - prepare SELECT TRIM(LEADING FROM ' fun ') using DBD::File # TODO Analyze why this fails; may be thinking FROM keyword is for table specs +# Failed (TODO) test 'prepare SELECT TRIM(LEADING FROM ' fun ') using DBD::File' +# at t/06virtual.t line 1419. +# Unbalanced parentheses! +not ok 990 - prepare SELECT TRIM(TRAILING FROM ' fun ') using DBD::File # TODO Analyze why this fails; may be thinking FROM keyword is for table specs +# Failed (TODO) test 'prepare SELECT TRIM(TRAILING FROM ' fun ') using DBD::File' +# at t/06virtual.t line 1419. +# Unbalanced parentheses! +not ok 991 - prepare SELECT TRIM(LEADING ';' FROM ';;; fun ') using DBD::File # TODO Analyze why this fails; may be thinking FROM keyword is for table specs +# Failed (TODO) test 'prepare SELECT TRIM(LEADING ';' FROM ';;; fun ') using DBD::File' +# at t/06virtual.t line 1419. +# Unbalanced parentheses! +ok 992 - prepare SELECT UNHEX('414243') using DBD::File +ok 993 - execute SELECT UNHEX('414243') using DBD::File +ok 994 - unhex str +ok 995 - prepare SELECT UNHEX('263A' || HEX(9787) || CONV('10011000111100', 2, 16), 'UCS-2') using DBD::File +ok 996 - execute SELECT UNHEX('263A' || HEX(9787) || CONV('10011000111100', 2, 16), 'UCS-2') using DBD::File +ok 997 - unhex str unicode +ok 998 - prepare SELECT BIN('9788') using DBD::File +ok 999 - execute SELECT BIN('9788') using DBD::File +ok 1000 - bin from dec +ok 1001 - prepare SELECT OCT('420') using DBD::File +ok 1002 - execute SELECT OCT('420') using DBD::File +ok 1003 - oct from dec +ok 1004 - prepare SELECT ABS(-4) using DBD::File +ok 1005 - execute SELECT ABS(-4) using DBD::File +ok 1006 - abs +ok 1007 - prepare SELECT CEILING(5) using DBD::File +ok 1008 - execute SELECT CEILING(5) using DBD::File +ok 1009 - ceiling int +ok 1010 - prepare SELECT CEILING(4.1) using DBD::File +ok 1011 - execute SELECT CEILING(4.1) using DBD::File +ok 1012 - ceiling positive +ok 1013 - prepare SELECT CEIL(-4.5) using DBD::File +ok 1014 - execute SELECT CEIL(-4.5) using DBD::File +ok 1015 - ceil negative +ok 1016 - prepare SELECT FLOOR(-5) using DBD::File +ok 1017 - execute SELECT FLOOR(-5) using DBD::File +ok 1018 - floor int +ok 1019 - prepare SELECT FLOOR(4.999999999999) using DBD::File +ok 1020 - execute SELECT FLOOR(4.999999999999) using DBD::File +ok 1021 - floor positive +ok 1022 - prepare SELECT FLOOR(-4.1) using DBD::File +ok 1023 - execute SELECT FLOOR(-4.1) using DBD::File +ok 1024 - floor negative +ok 1025 - prepare SELECT EXP(1) using DBD::File +ok 1026 - execute SELECT EXP(1) using DBD::File +ok 1027 - exp +ok 1028 - prepare SELECT LOG(6) using DBD::File +ok 1029 - execute SELECT LOG(6) using DBD::File +ok 1030 - log as log10 +ok 1031 - prepare SELECT LOG(2, 32) using DBD::File +ok 1032 - execute SELECT LOG(2, 32) using DBD::File +ok 1033 - log as log2 +ok 1034 - prepare SELECT LN(3) using DBD::File +ok 1035 - execute SELECT LN(3) using DBD::File +ok 1036 - ln +ok 1037 - prepare SELECT MOD(8, 5) using DBD::File +ok 1038 - execute SELECT MOD(8, 5) using DBD::File +ok 1039 - mod +ok 1040 - prepare SELECT POWER(2, 4) using DBD::File +ok 1041 - execute SELECT POWER(2, 4) using DBD::File +ok 1042 - power +ok 1043 - prepare SELECT POW(2, 4) using DBD::File +ok 1044 - execute SELECT POW(2, 4) using DBD::File +ok 1045 - pow +ok 1046 - prepare SELECT FLOOR(RAND(4)) using DBD::File +ok 1047 - execute SELECT FLOOR(RAND(4)) using DBD::File +ok 1048 - rand +ok 1049 - prepare SELECT FLOOR(RAND(4), UNIX_TIMESTAMP()) using DBD::File +ok 1050 - execute SELECT FLOOR(RAND(4), UNIX_TIMESTAMP()) using DBD::File +ok 1051 - rand with seed +ok 1052 - prepare SELECT ROUND(4.999999999999) using DBD::File +ok 1053 - execute SELECT ROUND(4.999999999999) using DBD::File +ok 1054 - round int +ok 1055 - prepare SELECT ROUND(4.542222222222, 1) using DBD::File +ok 1056 - execute SELECT ROUND(4.542222222222, 1) using DBD::File +ok 1057 - round tenth +ok 1058 - prepare SELECT SIGN(-25.5) using DBD::File +ok 1059 - execute SELECT SIGN(-25.5) using DBD::File +ok 1060 - sign -1 +ok 1061 - prepare SELECT SIGN(53645) using DBD::File +ok 1062 - execute SELECT SIGN(53645) using DBD::File +ok 1063 - sign 1 +ok 1064 - prepare SELECT SIGN(0) using DBD::File +ok 1065 - execute SELECT SIGN(0) using DBD::File +ok 1066 - sign 0 +ok 1067 - prepare SELECT SIGN(NULL) using DBD::File +ok 1068 - execute SELECT SIGN(NULL) using DBD::File +ok 1069 - sign null +ok 1070 - prepare SELECT SQRT(64) using DBD::File +ok 1071 - execute SELECT SQRT(64) using DBD::File +ok 1072 - sqrt +ok 1073 - prepare SELECT TRUNCATE(4.999999999999) using DBD::File +ok 1074 - execute SELECT TRUNCATE(4.999999999999) using DBD::File +ok 1075 - truncate int +ok 1076 - prepare SELECT TRUNC(-4.9) using DBD::File +ok 1077 - execute SELECT TRUNC(-4.9) using DBD::File +ok 1078 - trunc int +ok 1079 - prepare SELECT TRUNCATE(4.934, 1) using DBD::File +ok 1080 - execute SELECT TRUNCATE(4.934, 1) using DBD::File +ok 1081 - truncate tenth +ok 1082 - prepare SELECT TRUNC(-4.99999, 1) using DBD::File +ok 1083 - execute SELECT TRUNC(-4.99999, 1) using DBD::File +ok 1084 - trunc int +ok 1085 - prepare SELECT SIN(1) using DBD::File +ok 1086 - execute SELECT SIN(1) using DBD::File +ok 1087 - sin(1) => near? 0.841470984807897 ~= 0.841470984807897 +ok 1088 - prepare SELECT COS(1) using DBD::File +ok 1089 - execute SELECT COS(1) using DBD::File +ok 1090 - cos(1) => near? 0.54030230586814 ~= 0.54030230586814 +ok 1091 - prepare SELECT TAN(1) using DBD::File +ok 1092 - execute SELECT TAN(1) using DBD::File +ok 1093 - tan(1) => near? 1.5574077246549 ~= 1.5574077246549 +ok 1094 - prepare SELECT SEC(1) using DBD::File +ok 1095 - execute SELECT SEC(1) using DBD::File +ok 1096 - sec(1) => near? 1.85081571768093 ~= 1.85081571768093 +ok 1097 - prepare SELECT CSC(1) using DBD::File +ok 1098 - execute SELECT CSC(1) using DBD::File +ok 1099 - csc(1) => near? 1.18839510577812 ~= 1.18839510577812 +ok 1100 - prepare SELECT COSEC(1) using DBD::File +ok 1101 - execute SELECT COSEC(1) using DBD::File +ok 1102 - cosec(1) => near? 1.18839510577812 ~= 1.18839510577812 +ok 1103 - prepare SELECT COT(1) using DBD::File +ok 1104 - execute SELECT COT(1) using DBD::File +ok 1105 - cot(1) => near? 0.642092615934331 ~= 0.642092615934331 +ok 1106 - prepare SELECT COTAN(1) using DBD::File +ok 1107 - execute SELECT COTAN(1) using DBD::File +ok 1108 - cotan(1) => near? 0.642092615934331 ~= 0.642092615934331 +ok 1109 - prepare SELECT ASIN(1) using DBD::File +ok 1110 - execute SELECT ASIN(1) using DBD::File +ok 1111 - asin(1) => near? 1.5707963267949 ~= 1.5707963267949 +ok 1112 - prepare SELECT ACOS(1) using DBD::File +ok 1113 - execute SELECT ACOS(1) using DBD::File +ok 1114 - acos(1) => near? 0 ~= 0 +ok 1115 - prepare SELECT ATAN(1) using DBD::File +ok 1116 - execute SELECT ATAN(1) using DBD::File +ok 1117 - atan(1) => near? 0.785398163397448 ~= 0.785398163397448 +ok 1118 - prepare SELECT ASEC(1) using DBD::File +ok 1119 - execute SELECT ASEC(1) using DBD::File +ok 1120 - asec(1) => near? 0 ~= 0 +ok 1121 - prepare SELECT ACSC(1) using DBD::File +ok 1122 - execute SELECT ACSC(1) using DBD::File +ok 1123 - acsc(1) => near? 1.5707963267949 ~= 1.5707963267949 +ok 1124 - prepare SELECT ACOSEC(1) using DBD::File +ok 1125 - execute SELECT ACOSEC(1) using DBD::File +ok 1126 - acosec(1) => near? 1.5707963267949 ~= 1.5707963267949 +ok 1127 - prepare SELECT ACOT(1) using DBD::File +ok 1128 - execute SELECT ACOT(1) using DBD::File +ok 1129 - acot(1) => near? 0.785398163397448 ~= 0.785398163397448 +ok 1130 - prepare SELECT ACOTAN(1) using DBD::File +ok 1131 - execute SELECT ACOTAN(1) using DBD::File +ok 1132 - acotan(1) => near? 0.785398163397448 ~= 0.785398163397448 +ok 1133 - prepare SELECT SINH(1) using DBD::File +ok 1134 - execute SELECT SINH(1) using DBD::File +ok 1135 - sinh(1) => near? 1.1752011936438 ~= 1.1752011936438 +ok 1136 - prepare SELECT COSH(1) using DBD::File +ok 1137 - execute SELECT COSH(1) using DBD::File +ok 1138 - cosh(1) => near? 1.54308063481524 ~= 1.54308063481524 +ok 1139 - prepare SELECT TANH(1) using DBD::File +ok 1140 - execute SELECT TANH(1) using DBD::File +ok 1141 - tanh(1) => near? 0.761594155955765 ~= 0.761594155955765 +ok 1142 - prepare SELECT SECH(1) using DBD::File +ok 1143 - execute SELECT SECH(1) using DBD::File +ok 1144 - sech(1) => near? 0.648054273663885 ~= 0.648054273663885 +ok 1145 - prepare SELECT CSCH(1) using DBD::File +ok 1146 - execute SELECT CSCH(1) using DBD::File +ok 1147 - csch(1) => near? 0.850918128239322 ~= 0.850918128239322 +ok 1148 - prepare SELECT COSECH(1) using DBD::File +ok 1149 - execute SELECT COSECH(1) using DBD::File +ok 1150 - cosech(1) => near? 0.850918128239322 ~= 0.850918128239322 +ok 1151 - prepare SELECT COTH(1) using DBD::File +ok 1152 - execute SELECT COTH(1) using DBD::File +ok 1153 - coth(1) => near? 1.31303528549933 ~= 1.31303528549933 +ok 1154 - prepare SELECT COTANH(1) using DBD::File +ok 1155 - execute SELECT COTANH(1) using DBD::File +ok 1156 - cotanh(1) => near? 1.31303528549933 ~= 1.31303528549933 +ok 1157 - prepare SELECT ASINH(1) using DBD::File +ok 1158 - execute SELECT ASINH(1) using DBD::File +ok 1159 - asinh(1) => near? 0.881373587019543 ~= 0.881373587019543 +ok 1160 - prepare SELECT ACOSH(1) using DBD::File +ok 1161 - execute SELECT ACOSH(1) using DBD::File +ok 1162 - acosh(1) => near? 0 ~= 0 +ok 1163 - prepare SELECT ATANH(0.9) using DBD::File +ok 1164 - execute SELECT ATANH(0.9) using DBD::File +ok 1165 - atanh(0.9) => near? 1.47221948958322 ~= 1.47221948958322 +ok 1166 - prepare SELECT ASECH(0.9) using DBD::File +ok 1167 - execute SELECT ASECH(0.9) using DBD::File +ok 1168 - asech(0.9) => near? 0.467145308103262 ~= 0.467145308103262 +ok 1169 - prepare SELECT ACSCH(2) using DBD::File +ok 1170 - execute SELECT ACSCH(2) using DBD::File +ok 1171 - acsch(2) => near? 0.481211825059603 ~= 0.481211825059603 +ok 1172 - prepare SELECT ACOSECH(2) using DBD::File +ok 1173 - execute SELECT ACOSECH(2) using DBD::File +ok 1174 - acosech(2) => near? 0.481211825059603 ~= 0.481211825059603 +ok 1175 - prepare SELECT ACOTH(2) using DBD::File +ok 1176 - execute SELECT ACOTH(2) using DBD::File +ok 1177 - acoth(2) => near? 0.549306144334055 ~= 0.549306144334055 +ok 1178 - prepare SELECT ACOTANH(2) using DBD::File +ok 1179 - execute SELECT ACOTANH(2) using DBD::File +ok 1180 - acotanh(2) => near? 0.549306144334055 ~= 0.549306144334055 +ok 1181 - prepare SELECT PI using DBD::File +ok 1182 - execute SELECT PI using DBD::File +ok 1183 - pi => near? 3.14159265358979 ~= 3.14159265358979 +ok 1184 - prepare SELECT ATAN2(1, 0) using DBD::File +ok 1185 - execute SELECT ATAN2(1, 0) using DBD::File +ok 1186 - atan2(1, 0) => near? 1.5707963267949 ~= 1.5707963267949 +ok 1187 - prepare SELECT ATAN2(1, 1) using DBD::File +ok 1188 - execute SELECT ATAN2(1, 1) using DBD::File +ok 1189 - atan2(1, 1) => near? 0.785398163397448 ~= 0.785398163397448 +ok 1190 - prepare SELECT ATAN2(-1, -1) using DBD::File +ok 1191 - execute SELECT ATAN2(-1, -1) using DBD::File +ok 1192 - atan2(-1, -1) to -3pi/4 => near? -2.35619449019234 ~= -2.35619449019234 +ok 1193 - prepare SELECT TAN(0.9) using DBD::File +ok 1194 - execute SELECT TAN(0.9) using DBD::File +ok 1195 - tan(0.9) as property sin/cos => near? 1.26015821755034 ~= 1.26015821755034 +ok 1196 - prepare SELECT SINH(2) using DBD::File +ok 1197 - execute SELECT SINH(2) using DBD::File +ok 1198 - sinh(2) => near? 3.62686040784702 ~= 3.62686040784702 +ok 1199 - prepare SELECT ACSCH(0.1) using DBD::File +ok 1200 - execute SELECT ACSCH(0.1) using DBD::File +ok 1201 - acsch 0.1 => near? 2.99822295029797 ~= 2.99822295029797 +ok 1202 - prepare SELECT DEG2RAD(90) using DBD::File +ok 1203 - execute SELECT DEG2RAD(90) using DBD::File +ok 1204 - deg2rad(90) => near? 1.5707963267949 ~= 1.5707963267949 +ok 1205 - prepare SELECT RADIANS(90) using DBD::File +ok 1206 - execute SELECT RADIANS(90) using DBD::File +ok 1207 - radians(90) => near? 1.5707963267949 ~= 1.5707963267949 +ok 1208 - prepare SELECT RAD2DEG(PI) using DBD::File +ok 1209 - execute SELECT RAD2DEG(PI) using DBD::File +ok 1210 - rad2deg(PI) => near? 180 ~= 180 +ok 1211 - prepare SELECT DEGREES(PI()) using DBD::File +ok 1212 - execute SELECT DEGREES(PI()) using DBD::File +ok 1213 - degrees(PI) => near? 180 ~= 180 +ok 1214 - prepare SELECT DEG2GRAD(0.9) using DBD::File +ok 1215 - execute SELECT DEG2GRAD(0.9) using DBD::File +ok 1216 - deg2grad(0.9) => near? 1 ~= 1 +ok 1217 - prepare SELECT GRAD2DEG(50) using DBD::File +ok 1218 - execute SELECT GRAD2DEG(50) using DBD::File +ok 1219 - grad2deg(50) => near? 45 ~= 45 +ok 1220 - prepare SELECT RAD2GRAD(PI/2) using DBD::File # TODO Known limitation. Parser/Engine can not handle properly +ok 1221 - execute SELECT RAD2GRAD(PI/2) using DBD::File # TODO Known limitation. Parser/Engine can not handle properly +ok 1222 - rad2grad(pi/2) => near? 99.9999999999999 ~= 100 # TODO Known limitation. Parser/Engine can not handle properly +ok 1223 - prepare SELECT RAD2GRAD(PI) using DBD::File +ok 1224 - execute SELECT RAD2GRAD(PI) using DBD::File +ok 1225 - rad2grad(pi) => near? 200 ~= 200 +ok 1226 - prepare SELECT GRAD2RAD(200) using DBD::File +ok 1227 - execute SELECT GRAD2RAD(200) using DBD::File +ok 1228 - grad2rad(200) => near? 3.14159265358979 ~= 3.14159265358979 +ok 1229 - prepare SELECT DEG2RAD(10000000000) using DBD::File +ok 1230 - execute SELECT DEG2RAD(10000000000) using DBD::File +ok 1231 - lotta radians - deg2rad(10000000000) => near? 4.88692191243172 ~= 4.88692191243172 +ok 1232 - prepare SELECT RAD2DEG(-10000000000) using DBD::File +ok 1233 - execute SELECT RAD2DEG(-10000000000) using DBD::File +ok 1234 - negative degrees - rad2deg(-10000000000) => near? -330.8232421875 ~= -330.8232421875 +ok 1235 - prepare SELECT RAD2DEG(10000) using DBD::File +ok 1236 - execute SELECT RAD2DEG(10000) using DBD::File +ok 1237 - positive degrees - rad2deg(10000) => near? 197.795130823273 ~= 197.795130823273 +ok 1238 - prepare SELECT TANH(100) using DBD::File +ok 1239 - execute SELECT TANH(100) using DBD::File +ok 1240 - tanh 100 => near? 1 ~= 1 +ok 1241 - prepare SELECT COTH(100) using DBD::File +ok 1242 - execute SELECT COTH(100) using DBD::File +ok 1243 - coth 100 => near? 1 ~= 1 +ok 1244 - prepare SELECT TANH(-100) using DBD::File +ok 1245 - execute SELECT TANH(-100) using DBD::File +ok 1246 - tanh -100 => near? -1 ~= -1 +ok 1247 - prepare SELECT COTH(-100) using DBD::File +ok 1248 - execute SELECT COTH(-100) using DBD::File +ok 1249 - coth -100 => near? -1 ~= -1 +ok 1250 - prepare SELECT SECH(100000) using DBD::File +ok 1251 - execute SELECT SECH(100000) using DBD::File +ok 1252 - sech 1e5 => near? 0 ~= 0 +ok 1253 - prepare SELECT CSCH(100000) using DBD::File +ok 1254 - execute SELECT CSCH(100000) using DBD::File +ok 1255 - csch 1e5 => near? 0 ~= 0 +ok 1256 - prepare SELECT TANH(100000) using DBD::File +ok 1257 - execute SELECT TANH(100000) using DBD::File +ok 1258 - tanh 1e5 => near? 1 ~= 1 +ok 1259 - prepare SELECT COTH(100000) using DBD::File +ok 1260 - execute SELECT COTH(100000) using DBD::File +ok 1261 - coth 1e5 => near? 1 ~= 1 +ok 1262 - prepare SELECT SECH(-100000) using DBD::File +ok 1263 - execute SELECT SECH(-100000) using DBD::File +ok 1264 - sech -1e5 => near? 0 ~= 0 +ok 1265 - prepare SELECT CSCH(-100000) using DBD::File +ok 1266 - execute SELECT CSCH(-100000) using DBD::File +ok 1267 - csch -1e5 => near? 0 ~= 0 +ok 1268 - prepare SELECT TANH(-100000) using DBD::File +ok 1269 - execute SELECT TANH(-100000) using DBD::File +ok 1270 - tanh -1e5 => near? -1 ~= -1 +ok 1271 - prepare SELECT COTH(-100000) using DBD::File +ok 1272 - execute SELECT COTH(-100000) using DBD::File +ok 1273 - coth -1e5 => near? -1 ~= -1 +ok 1274 - prepare SELECT DBNAME() using DBD::File +ok 1275 - execute SELECT DBNAME() using DBD::File +ok 1276 - dbname +ok 1277 - prepare SELECT USERNAME() using DBD::File +ok 1278 - execute SELECT USERNAME() using DBD::File +ok 1279 - username +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 < (1623518462 - ( 4 * 60 )) using DBD::File +ok 1284 - execute SELECT id,host,signature,message FROM log WHERE time_stamp < (1623518462 - ( 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 > (1623518462 - 5)) AND (time_stamp < (1623518462 + 5)) using DBD::File +ok 1287 - execute SELECT id,host,signature,message FROM log WHERE (time_stamp > (1623518462 - 5)) AND (time_stamp < (1623518462 + 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 ( 1623518462 - 5, 1623518462 + 5) using DBD::File +ok 1290 - execute SELECT id,host,signature,message FROM log WHERE time_stamp BETWEEN ( 1623518462 - 5, 1623518462 + 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 (1623518462 - (2*3600), 1623518462 - (4*3600)) using DBD::File +ok 1293 - execute SELECT MAX(time_stamp) FROM log WHERE time_stamp IN (1623518462 - (2*3600), 1623518462 - (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 +ok 1297 - calculation in MAX() +ok 1298 - prepare SELECT MAX(time_stamp) - 3*3600 FROM log using DBD::File +not ok 1299 - execute SELECT MAX(time_stamp) - 3*3600 FROM log using DBD::File # TODO Known limitation. Parser/Engine can not handle properly +# Failed (TODO) test 'execute SELECT MAX(time_stamp) - 3*3600 FROM log using DBD::File' +# at t/06virtual.t line 1468. +# Can't find table containing column named 'max' at /build/libsql-statement-perl-1.412/blib/lib/SQL/Statement/Function.pm line 222. +not ok 1300 - Caclulation outside aggregation # TODO Known limitation. Parser/Engine can not handle properly +# Failed (TODO) test 'Caclulation outside aggregation' +# at t/06virtual.t line 1499. +# Structures begin differing at: +# $got->[0] = Does not exist +# $expected->[0] = ARRAY(0x578f9c6c) +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() +ok 1304 - prepare SELECT 1+0 from log using DBD::File +ok 1305 - execute SELECT 1+0 from log using DBD::File +ok 1306 - select simple calculated constant from table +ok 1307 - prepare SELECT 1+1*2 using DBD::File +ok 1308 - execute SELECT 1+1*2 using DBD::File +ok 1309 - select calculated constant with preceedence rules +ok 1310 - prepare SELECT 1 using DBD::File +ok 1311 - execute SELECT 1 using DBD::File +ok 1312 - SELECT not calculated constant # Running tests for DBD::DBM -ok 656 # skip DBD::DBM test runs without MLDBM -1..656 +ok 1313 # skip DBD::DBM test runs without MLDBM +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/i386-linux-gnu/perl/5.28.1 /usr/local/share/perl/5.28.1 /usr/lib/i386-linux-gnu/perl5/5.28 /usr/share/perl5 /usr/lib/i386-linux-gnu/perl/5.28 /usr/share/perl/5.28 /usr/local/lib/site_perl /usr/lib/i386-linux-gnu/perl-base .) at t/TestLib.pm line 42. @@ -3134,7 +3821,7 @@ # at t/08join.t line 675. # Structures begin differing at: # $got->[2] = Does not exist -# $expected->[2] = ARRAY(0x291f978) +# $expected->[2] = ARRAY(0x58ba7e44) ok 297 - prepare SELECT applname, appluniq, version, nodename # FROM APPL, PREC, NODE # WHERE appl_type LIKE '%DB' @@ -3254,9 +3941,443 @@ # 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(0x58be80c8) +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 322 # skip DBD::DBM test runs without MLDBM -1..322 +ok 643 # skip DBD::DBM test runs without MLDBM +1..643 ok t/09ops.t ....... 1..18 @@ -3418,83 +4539,84 @@ 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::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 +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 1..99 ok All tests successful. Test Summary Report ------------------- -t/06virtual.t (Wstat: 0 Tests: 656 Failed: 0) - TODO passed: 565-567 -t/08join.t (Wstat: 0 Tests: 322 Failed: 0) - TODO passed: 289-291, 293-295, 312-321 -Files=17, Tests=2721, 9 wallclock secs ( 0.46 usr 0.05 sys + 7.83 cusr 0.57 csys = 8.91 CPU) +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, 5 wallclock secs ( 0.40 usr 0.02 sys + 4.16 cusr 0.26 csys = 4.84 CPU) Result: PASS make[1]: Leaving directory '/build/libsql-statement-perl-1.412' fakeroot debian/rules binary @@ -3510,43 +4632,43 @@ 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/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/Dialects/CSV.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/Dialects/Role.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/Term.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/perl5/SQL/Statement/RAM.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/Placeholder.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/Embed.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/Operation.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/perl5/SQL/Statement/Syntax.pod 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/Structure.pod 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/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/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/Dialects/ANSI.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/man/man3/SQL::Statement::Structure.3pm -Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/man/man3/SQL::Statement::Embed.3pm +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/TermFactory.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::Operation.3pm +Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/man/man3/SQL::Dialects::Role.3pm Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/man/man3/SQL::Statement::Term.3pm -Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/man/man3/SQL::Statement::Functions.3pm -Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/man/man3/SQL::Statement::Syntax.3pm -Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/man/man3/SQL::Statement::RAM.3pm +Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/man/man3/SQL::Statement::Structure.3pm +Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/man/man3/SQL::Dialects::ANSI.3pm +Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/man/man3/SQL::Dialects::CSV.3pm +Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/man/man3/SQL::Statement::Function.3pm Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/man/man3/SQL::Parser.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::Dialects::AnyData.3pm -Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/man/man3/SQL::Dialects::ANSI.3pm -Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/man/man3/SQL::Statement::Operation.3pm +Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/man/man3/SQL::Statement::GetInfo.3pm +Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/man/man3/SQL::Statement::RAM.3pm Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/man/man3/SQL::Statement::Placeholder.3pm -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::Roadmap.3pm -Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/man/man3/SQL::Dialects::CSV.3pm Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/man/man3/SQL::Eval.3pm -Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/man/man3/SQL::Statement::GetInfo.3pm -Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/man/man3/SQL::Dialects::Role.3pm +Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/man/man3/SQL::Statement::Syntax.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::Functions.3pm +Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/man/man3/SQL::Statement::Embed.3pm Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/man/man3/SQL::Statement.3pm -Installing /build/libsql-statement-perl-1.412/debian/libsql-statement-perl/usr/share/man/man3/SQL::Statement::Function.3pm make[2]: Leaving directory '/build/libsql-statement-perl-1.412' # Remove files not part of the public interface, which are also # missing any whatis entries @@ -3577,12 +4699,14 @@ dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) I: copying local configuration +I: user script /srv/workspace/pbuilder/63670/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/63670/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/3731 and its subdirectories -I: Current time: Sat May 9 22:57:42 -12 2020 -I: pbuilder-time-stamp: 1589108262 +I: removing directory /srv/workspace/pbuilder/63670 and its subdirectories +I: Current time: Sun Jun 13 07:21:06 +14 2021 +I: pbuilder-time-stamp: 1623518466