PATH=C:\PlatSDK\Bin\Win64\x86\AMD64;C:\PlatSDK\Bin;C:\PlatSDK\Bin\WinNT;C:\Perl64-5.12\site\bin;C:\Perl64-5.12\bin;C:\cygwin\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WindowsPowerShell\v1.0;C:\Program Files (x86)\Perforce;C:\instantclient_11_2;C:\cygwin\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WindowsPowerShell\v1.0;C:\Program Files (x86)\Perforce;C:\mysql\bin Start 2012-10-29T21:22:00 ActivePerl-1200 CPAN-1.9402 LIB=C:\PlatSDK\Lib\AMD64;C:\PlatSDK\Lib\AMD64\atlmfc INCLUDE=C:\PlatSDK\Include;C:\PlatSDK\Include\crt;C:\PlatSDK\Include\crt\sys;C:\PlatSDK\Include\mfc;C:\PlatSDK\Include\atl PATH=C:/CPANFL~1.12/var/libs/bin;C:\PlatSDK\Bin\Win64\x86\AMD64;C:\PlatSDK\Bin;C:\PlatSDK\Bin\WinNT;C:\Perl64-5.12\site\bin;C:\Perl64-5.12\bin;C:\cygwin\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WINDOW~1\v1.0;C:\PROGRA~2\Perforce;C:\INSTAN~1;C:\cygwin\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WINDOW~1\v1.0;C:\PROGRA~2\Perforce;C:\mysql\bin Going to read 'C:\cpanfly-5.12\var\cpan\Metadata' Database was generated on Tue, 30 Oct 2012 02:55:04 GMT Running make for R/RE/REHSACK/SQL-Statement-1.401.tar.gz Fetching with LWP: http://cpan.nas.activestate.com/authors/id/R/RE/REHSACK/SQL-Statement-1.401.tar.gz Fetching with LWP: http://cpan.nas.activestate.com/authors/id/R/RE/REHSACK/CHECKSUMS Checksum for C:\cpanfly-5.12\var\cpan\sources\authors\id\R\RE\REHSACK\SQL-Statement-1.401.tar.gz ok SQL-Statement-1.401/ SQL-Statement-1.401/t/ SQL-Statement-1.401/t/04idents.t SQL-Statement-1.401/t/03import.t SQL-Statement-1.401/t/SQLtest.pm SQL-Statement-1.401/t/17quoting.t SQL-Statement-1.401/t/02execute.t SQL-Statement-1.401/t/00error.t SQL-Statement-1.401/t/01prepare.t SQL-Statement-1.401/t/09ops.t SQL-Statement-1.401/t/08join.t SQL-Statement-1.401/t/TestLib.pm SQL-Statement-1.401/t/06virtual.t SQL-Statement-1.401/t/12eval.t SQL-Statement-1.401/t/23dialects.t SQL-Statement-1.401/t/10limit.t SQL-Statement-1.401/t/05simple.t SQL-Statement-1.401/lib/ SQL-Statement-1.401/lib/SQL/ SQL-Statement-1.401/lib/SQL/Dialects/ SQL-Statement-1.401/lib/SQL/Dialects/ANSI.pm SQL-Statement-1.401/lib/SQL/Dialects/Role.pm SQL-Statement-1.401/lib/SQL/Dialects/AnyData.pm SQL-Statement-1.401/lib/SQL/Dialects/CSV.pm SQL-Statement-1.401/lib/SQL/Statement/ SQL-Statement-1.401/lib/SQL/Statement/TermFactory.pm SQL-Statement-1.401/lib/SQL/Statement/Structure.pod SQL-Statement-1.401/lib/SQL/Statement/GetInfo.pm SQL-Statement-1.401/lib/SQL/Statement/Term.pm SQL-Statement-1.401/lib/SQL/Statement/Syntax.pod SQL-Statement-1.401/lib/SQL/Statement/RAM.pm SQL-Statement-1.401/lib/SQL/Statement/Placeholder.pm SQL-Statement-1.401/lib/SQL/Statement/Roadmap.pod SQL-Statement-1.401/lib/SQL/Statement/Function.pm SQL-Statement-1.401/lib/SQL/Statement/Util.pm SQL-Statement-1.401/lib/SQL/Statement/Embed.pod SQL-Statement-1.401/lib/SQL/Statement/Operation.pm SQL-Statement-1.401/lib/SQL/Statement/Functions.pm SQL-Statement-1.401/lib/SQL/Statement.pm SQL-Statement-1.401/lib/SQL/Parser.pm SQL-Statement-1.401/lib/SQL/Eval.pm SQL-Statement-1.401/Changes SQL-Statement-1.401/MANIFEST SQL-Statement-1.401/META.yml SQL-Statement-1.401/xt/ SQL-Statement-1.401/xt/pod_coverage.t SQL-Statement-1.401/xt/pod.t SQL-Statement-1.401/xt/pod-cm.t SQL-Statement-1.401/.aspell.local.pws SQL-Statement-1.401/MANIFEST.SKIP SQL-Statement-1.401/Makefile.PL SQL-Statement-1.401/README SQL-Statement-1.401/META.json CPAN.pm: Going to build R/RE/REHSACK/SQL-Statement-1.401.tar.gz >>> C:\Perl64-5.12\bin\perl.exe Makefile.PL *** This version of SQL::Statement conflicts with the version of module DBD::AnyData (0.09) you have installed. It's strongly recommended that you update it after installing this version of SQL::Statement. *** *** This version of SQL::Statement conflicts with the version of module DBI (1.609) you have installed. It's strongly recommended that you update it after installing this version of SQL::Statement. *** Checking if your kit is complete... Looks good Writing Makefile for SQL::Statement Writing MYMETA.yml and MYMETA.json >>> nmake Microsoft (R) Program Maintenance Utility Version 7.00.8882 Copyright (C) Microsoft Corp 1988-2000. All rights reserved. cp lib/SQL/Dialects/ANSI.pm blib\lib\SQL\Dialects\ANSI.pm cp lib/SQL/Parser.pm blib\lib\SQL\Parser.pm cp lib/SQL/Statement/TermFactory.pm blib\lib\SQL\Statement\TermFactory.pm cp lib/SQL/Statement/Util.pm blib\lib\SQL\Statement\Util.pm cp lib/SQL/Statement/GetInfo.pm blib\lib\SQL\Statement\GetInfo.pm cp lib/SQL/Statement/Structure.pod blib\lib\SQL\Statement\Structure.pod cp lib/SQL/Statement/Term.pm blib\lib\SQL\Statement\Term.pm cp lib/SQL/Statement/Syntax.pod blib\lib\SQL\Statement\Syntax.pod 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/Statement/RAM.pm blib\lib\SQL\Statement\RAM.pm cp lib/SQL/Statement/Embed.pod blib\lib\SQL\Statement\Embed.pod cp lib/SQL/Statement/Placeholder.pm blib\lib\SQL\Statement\Placeholder.pm cp lib/SQL/Statement.pm blib\lib\SQL\Statement.pm cp lib/SQL/Dialects/CSV.pm blib\lib\SQL\Dialects\CSV.pm cp lib/SQL/Statement/Roadmap.pod blib\lib\SQL\Statement\Roadmap.pod cp lib/SQL/Statement/Operation.pm blib\lib\SQL\Statement\Operation.pm cp lib/SQL/Eval.pm blib\lib\SQL\Eval.pm cp lib/SQL/Statement/Functions.pm blib\lib\SQL\Statement\Functions.pm cp lib/SQL/Statement/Function.pm blib\lib\SQL\Statement\Function.pm REHSACK/SQL-Statement-1.401.tar.gz nmake -- OK Running make test >>> nmake test TEST_VERBOSE=1 Microsoft (R) Program Maintenance Utility Version 7.00.8882 Copyright (C) Microsoft Corp 1988-2000. All rights reserved. C:\Perl64-5.12\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(1, 'blib\lib', 'blib\arch')" t/*.t xt/*.t # # Using required: # # SQL::Statement: 1.401 # # Using recommended: # # DBD::CSV: 0.3 # Running tests for SQL::Statement # Running tests for DBD::CSV t/00error.t ........ ok 1 - Parse "Junk" RaiseError=0 (default) ok 2 - Execute function succeeded ok 3 - Execute function no errstr ok 4 - Execute RaiseError=0 ok 5 - Parse "Junk" RaiseError=1 ok 6 - Execute RaiseError=1 ok 7 - Execute "SELECT * FROM nonexistant" has errstr ok 8 - Parse "Junk" RaiseError=0 (default) ok 9 - Execute function succeeded ok 10 - Execute function no errstr ok 11 - Execute RaiseError=0 ok 12 - Parse "Junk" RaiseError=1 ok 13 - Execute RaiseError=1 ok 14 - Execute "SELECT * FROM nonexistant" has errstr 1..14 ok Can't call method "command" on an undefined value at t/TestLib.pm line 378. # Tests were run but no plan was declared and done_testing() was not seen. t/01prepare.t ...... ok 1 - parse ' /* DROP TABLE */' using SQL::Statement ok 2 - parse 'DROP TABLE foo' using SQL::Statement ok 3 - parse 'DROP TABLE foo CASCADE' using SQL::Statement ok 4 - parse 'DROP TABLE foo RESTRICT' using SQL::Statement ok 5 - parse ' /* DELETE */' using SQL::Statement ok 6 - parse 'DELETE FROM foo' using SQL::Statement ok 7 - parse 'DELETE FROM foo WHERE id < 7' using SQL::Statement ok 8 - parse ' /* UPDATE */' using SQL::Statement ok 9 - parse 'UPDATE foo SET bar = 7' using SQL::Statement ok 10 - parse 'UPDATE foo SET bar = 7 WHERE id > 7' using SQL::Statement ok 11 - parse ' /* INSERT */' using SQL::Statement ok 12 - parse 'INSERT INTO foo VALUES ( 'baz', 7, NULL )' using SQL::Statement ok 13 - parse 'INSERT INTO foo (col1,col2,col7) VALUES ( 'baz', 7, NULL )' using SQL::Statement ok 14 - parse ' /* CREATE TABLE */' using SQL::Statement ok 15 - parse 'CREATE TABLE foo ( id INT )' using SQL::Statement ok 16 - parse 'CREATE LOCAL TEMPORARY TABLE foo (id INT)' using SQL::Statement ok 17 - parse 'CREATE LOCAL TEMPORARY TABLE foo (id INT) ON COMMIT DELETE ROWS' using SQL::Statement ok 18 - parse 'CREATE LOCAL TEMPORARY TABLE foo (id INT) ON COMMIT PRESERVE ROWS' using SQL::Statement ok 19 - parse 'CREATE GLOBAL TEMPORARY TABLE foo (id INT)' using SQL::Statement ok 20 - parse 'CREATE GLOBAL TEMPORARY TABLE foo (id INT) ON COMMIT DELETE ROWS' using SQL::Statement ok 21 - parse 'CREATE GLOBAL TEMPORARY TABLE foo (id INT) ON COMMIT PRESERVE ROWS' using SQL::Statement ok 22 - parse 'CREATE TABLE foo ( id INTEGER, phrase VARCHAR(40) )' using SQL::Statement ok 23 - parse 'CREATE TABLE foo ( id INTEGER UNIQUE, phrase VARCHAR(40) UNIQUE )' using SQL::Statement ok 24 - parse 'CREATE TABLE foo ( id INTEGER PRIMARY KEY, phrase VARCHAR(40) UNIQUE )' using SQL::Statement ok 25 - parse 'CREATE TABLE foo ( id INTEGER PRIMARY KEY, phrase VARCHAR(40) NOT NULL )' using SQL::Statement ok 26 - parse 'CREATE TABLE foo ( id INTEGER NOT NULL, phrase VARCHAR(40) NOT NULL )' using SQL::Statement ok 27 - parse 'CREATE TABLE foo ( id INTEGER UNIQUE NOT NULL, phrase VARCHAR(40) )' using SQL::Statement ok 28 - parse 'CREATE TABLE foo ( phrase CHARACTER VARYING(255) )' using SQL::Statement ok 29 - parse 'CREATE TABLE foo ( phrase NUMERIC(4,6) )' using SQL::Statement ok 30 - 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 SQL::Statement ok 31 - parse 'CREATE TABLE foo ( id INTEGER, phrase VARCHAR(40), PRIMARY KEY ( "id" ), FOREIGN KEY ("id", "phrase") REFERENCES "bar" ("id2", "phrase2"))' using SQL::Statement ok 32 - 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 SQL::Statement ok 33 - parse ' /* JOINS */' using SQL::Statement ok 34 - parse 'SELECT Lnum,Llet,Ulet FROM zLower NATURAL INNER JOIN zUpper' using SQL::Statement ok 35 - parse 'SELECT Lnum,Llet,Ulet FROM zLower NATURAL LEFT JOIN zUpper' using SQL::Statement ok 36 - parse 'SELECT Lnum,Llet,Ulet FROM zLower NATURAL RIGHT JOIN zUpper' using SQL::Statement ok 37 - parse 'SELECT Lnum,Llet,Ulet FROM zLower NATURAL FULL JOIN zUpper' using SQL::Statement ok 38 - parse 'SELECT Lnum,Llet,Ulet FROM zLower INNER JOIN zUpper ON Lnum = Unum' using SQL::Statement ok 39 - parse 'SELECT Lnum,Llet,Ulet FROM zLower LEFT JOIN zUpper ON Lnum = Unum' using SQL::Statement ok 40 - parse 'SELECT Lnum,Llet,Ulet FROM zLower RIGHT JOIN zUpper ON Lnum = Unum' using SQL::Statement ok 41 - parse 'SELECT Lnum,Llet,Ulet FROM zLower FULL JOIN zUpper ON Lnum = Unum' using SQL::Statement ok 42 - parse 'SELECT Lnum,Llet,Ulet FROM zLower INNER JOIN zUpper USING(num)' using SQL::Statement ok 43 - parse 'SELECT Lnum,Llet,Ulet FROM zLower LEFT JOIN zUpper USING(num)' using SQL::Statement ok 44 - parse 'SELECT Lnum,Llet,Ulet FROM zLower RIGHT JOIN zUpper USING(num)' using SQL::Statement ok 45 - parse 'SELECT Lnum,Llet,Ulet FROM zLower FULL JOIN zUpper USING(num)' using SQL::Statement ok 46 - parse 'SELECT Lnum,Llet,Ulet FROM zLower,zUpper WHERE Lnum = Unum' using SQL::Statement ok 47 - parse 'SELECT * FROM zLower NATURAL INNER JOIN zUpper' using SQL::Statement ok 48 - parse 'SELECT * FROM zLower NATURAL LEFT JOIN zUpper' using SQL::Statement ok 49 - parse 'SELECT * FROM zLower NATURAL RIGHT JOIN zUpper' using SQL::Statement ok 50 - parse 'SELECT * FROM zLower NATURAL FULL JOIN zUpper' using SQL::Statement ok 51 - parse 'SELECT * FROM zLower INNER JOIN zUpper ON Lnum = Unum' using SQL::Statement ok 52 - parse 'SELECT * FROM zLower LEFT JOIN zUpper ON Lnum = Unum' using SQL::Statement ok 53 - parse 'SELECT * FROM zLower RIGHT JOIN zUpper ON Lnum = Unum' using SQL::Statement ok 54 - parse 'SELECT * FROM zLower FULL JOIN zUpper ON Lnum = Unum' using SQL::Statement ok 55 - parse 'SELECT * FROM zLower INNER JOIN zUpper USING(num)' using SQL::Statement ok 56 - parse 'SELECT * FROM zLower LEFT JOIN zUpper USING(num)' using SQL::Statement ok 57 - parse 'SELECT * FROM zLower RIGHT JOIN zUpper USING(num)' using SQL::Statement ok 58 - parse 'SELECT * FROM zLower FULL JOIN zUpper USING(num)' using SQL::Statement ok 59 - parse 'SELECT * FROM zLower,zUpper WHERE Lnum = Unum' using SQL::Statement ok 60 - parse ' /* SELECT COLUMNS */' using SQL::Statement ok 61 - parse 'SELECT id, phrase FROM foo' using SQL::Statement ok 62 - parse 'SELECT * FROM foo' using SQL::Statement ok 63 - parse 'SELECT DISTINCT * FROM foo' using SQL::Statement ok 64 - parse 'SELECT ALL * FROM foo' using SQL::Statement ok 65 - parse 'SELECT A.*,B.* FROM A,B WHERE A.id=B.id' using SQL::Statement ok 66 - parse ' /* SET FUNCTIONS */' using SQL::Statement ok 67 - parse 'SELECT MAX(foo) FROM bar' using SQL::Statement ok 68 - parse 'SELECT MIN(foo) FROM bar' using SQL::Statement ok 69 - parse 'SELECT AVG(foo) FROM bar' using SQL::Statement ok 70 - parse 'SELECT SUM(foo) FROM bar' using SQL::Statement ok 71 - parse 'SELECT COUNT(foo) FROM foo' using SQL::Statement ok 72 - parse 'SELECT COUNT(*) FROM foo' using SQL::Statement ok 73 - parse 'SELECT SUM(DISTINCT foo) FROM bar' using SQL::Statement ok 74 - parse 'SELECT SUM(ALL foo) FROM bar' using SQL::Statement ok 75 - parse ' /* ORDER BY */' using SQL::Statement ok 76 - parse 'SELECT * FROM foo ORDER BY bar' using SQL::Statement ok 77 - parse 'SELECT * FROM foo ORDER BY bar, baz' using SQL::Statement ok 78 - parse 'SELECT * FROM foo ORDER BY bar DESC' using SQL::Statement ok 79 - parse 'SELECT * FROM foo ORDER BY bar ASC' using SQL::Statement ok 80 - parse ' /* LIMIT */' using SQL::Statement ok 81 - parse 'SELECT * FROM foo LIMIT 5' using SQL::Statement ok 82 - parse 'SELECT * FROM foo LIMIT 0, 5' using SQL::Statement ok 83 - parse 'SELECT * FROM foo LIMIT 5, 10' using SQL::Statement ok 84 - parse '/* DATE/TIME FUNCTIONS */' using SQL::Statement ok 85 - parse 'SELECT CURRENT_DATE()' using SQL::Statement ok 86 - parse 'SELECT CURRENT_TIME()' using SQL::Statement ok 87 - parse 'SELECT CURRENT_TIMESTAMP()' using SQL::Statement ok 88 - parse 'SELECT CURDATE()' using SQL::Statement ok 89 - parse 'SELECT CURTIME()' using SQL::Statement ok 90 - parse 'SELECT NOW()' using SQL::Statement ok 91 - parse 'SELECT UNIX_TIMESTAMP() ' using SQL::Statement ok 92 - parse 'SELECT CURRENT_TIME(2)' using SQL::Statement ok 93 - parse 'SELECT CURRENT_TIMESTAMP(2)' using SQL::Statement ok 94 - parse 'SELECT CURTIME(2)' using SQL::Statement ok 95 - parse 'SELECT NOW(2)' using SQL::Statement ok 96 - parse 'SELECT UNIX_TIMESTAMP(2)' using SQL::Statement ok 97 - parse ' /* STRING FUNCTIONS */' using SQL::Statement ok 98 - parse 'SELECT * FROM foo WHERE ASCII(status) = 65' using SQL::Statement ok 99 - parse 'SELECT * FROM foo WHERE CHAR(code) = 'A'' using SQL::Statement ok 100 - parse 'SELECT * FROM foo WHERE CHAR(chr1,chr2,chr3) = 'ABC'' using SQL::Statement ok 101 - parse 'SELECT * FROM foo WHERE BIT_LENGTH(str) = 27' using SQL::Statement ok 102 - parse 'SELECT * FROM foo WHERE CHARACTER_LENGTH(str) = 6' using SQL::Statement ok 103 - parse 'SELECT * FROM foo WHERE CHAR_LENGTH(str) = 6' using SQL::Statement ok 104 - parse 'SELECT * FROM foo WHERE COALESCE(NULL, status) = 'bar'' using SQL::Statement ok 105 - parse 'SELECT * FROM foo WHERE NVL(NULL, status) = 'bar'' using SQL::Statement ok 106 - parse 'SELECT * FROM foo WHERE IFNULL(NULL, status) = 'bar'' using SQL::Statement ok 107 - parse 'SELECT * FROM foo WHERE CONCAT(str1, str2) = 'bar'' using SQL::Statement ok 108 - parse 'SELECT * FROM foo WHERE DECODE(color,'White','W','Red','R','B') = 'W'' using SQL::Statement ok 109 - parse 'SELECT * FROM foo WHERE INSERT(str1, 4, 5, str2) = 'foobarland'' using SQL::Statement ok 110 - parse 'SELECT * FROM foo WHERE LEFT(phrase) = 'bar'' using SQL::Statement ok 111 - parse 'SELECT * FROM foo WHERE RIGHT(phrase) = 'bar'' using SQL::Statement ok 112 - parse 'SELECT * FROM foo WHERE LOCATE(str1, str2) = 2' using SQL::Statement ok 113 - parse 'SELECT * FROM foo WHERE LOCATE(str1, str2, 3) = 5' using SQL::Statement ok 114 - parse 'SELECT * FROM foo WHERE POSITION(str1, str2) = 2' using SQL::Statement ok 115 - parse 'SELECT * FROM foo WHERE POSITION(str1, str2, 3) = 5' using SQL::Statement ok 116 - parse 'SELECT * FROM foo WHERE LOWER(phrase) = 'bar'' using SQL::Statement ok 117 - parse 'SELECT * FROM foo WHERE UPPER(phrase) = 'BAR'' using SQL::Statement ok 118 - parse 'SELECT * FROM foo WHERE LCASE(phrase) = 'BAR'' using SQL::Statement ok 119 - parse 'SELECT * FROM foo WHERE UCASE(phrase) = 'bar'' using SQL::Statement ok 120 - parse 'SELECT * FROM foo WHERE LTRIM(str) = 'bar'' using SQL::Statement ok 121 - parse 'SELECT * FROM foo WHERE RTRIM(str) = 'bar'' using SQL::Statement ok 122 - parse 'SELECT * FROM foo WHERE OCTET_LENGTH(str) = 12' using SQL::Statement ok 123 - parse 'SELECT * FROM foo WHERE REGEX(phrase, '/EF/i') = TRUE' using SQL::Statement ok 124 - parse 'SELECT * FROM foo WHERE REPEAT(status, 3) = 'AAA'' using SQL::Statement ok 125 - parse 'SELECT * FROM foo WHERE REPLACE(phrase, 's/z(.+)ky//i') = 'bar'' using SQL::Statement ok 126 - parse 'SELECT * FROM foo WHERE SUBSTITUTE(phrase, 's/z(.+)ky//i') = 'bar'' using SQL::Statement ok 127 - parse 'SELECT * FROM foo WHERE SOUNDEX(name1, name2) = TRUE' using SQL::Statement ok 128 - parse 'SELECT * FROM foo WHERE SPACE(num) = ' '' using SQL::Statement ok 129 - parse 'SELECT * FROM foo WHERE blat = SUBSTRING(bar FROM 3 FOR 6)' using SQL::Statement ok 130 - parse 'SELECT * FROM foo WHERE blat = SUBSTRING(bar FROM 3)' using SQL::Statement ok 131 - parse 'SELECT * FROM foo WHERE blat = SUBSTR(bar, 3, 6)' using SQL::Statement ok 132 - parse 'SELECT * FROM foo WHERE blat = SUBSTR(bar, 3)' using SQL::Statement ok 133 - parse 'SELECT * FROM foo WHERE blat = TRANSLATE(bar, set1, set2)' using SQL::Statement ok 134 - parse 'SELECT * FROM foo WHERE TRIM( str ) = 'bar'' using SQL::Statement ok 135 - parse 'SELECT * FROM foo WHERE TRIM( LEADING FROM str ) = 'bar'' using SQL::Statement ok 136 - parse 'SELECT * FROM foo WHERE TRIM( TRAILING FROM str ) = 'bar'' using SQL::Statement ok 137 - parse 'SELECT * FROM foo WHERE TRIM( BOTH FROM str ) = 'bar'' using SQL::Statement ok 138 - parse 'SELECT * FROM foo WHERE TRIM( LEADING ';' FROM str ) = 'bar'' using SQL::Statement ok 139 - parse 'SELECT * FROM foo WHERE TRIM( UPPER(phrase) ) = 'bar'' using SQL::Statement ok 140 - parse 'SELECT * FROM foo WHERE TRIM( LOWER(phrase) ) = 'bar'' using SQL::Statement ok 141 - parse 'UPDATE foo SET bar='baz', bop=7, bump=bar+8, blat=SUBSTRING(bar FROM 3 FOR 6)' using SQL::Statement ok 142 - parse ' /* NUMERIC FUNCTIONS */' using SQL::Statement ok 143 - parse 'SELECT * FROM bar WHERE ABS(-4) = 4' using SQL::Statement ok 144 - parse 'SELECT * FROM bar WHERE CEILING(-4.5) = -4' using SQL::Statement ok 145 - parse 'SELECT * FROM bar WHERE CEIL(-4.9) = -4' using SQL::Statement ok 146 - parse 'SELECT * FROM bar WHERE FLOOR(4.999999999999) = 4' using SQL::Statement ok 147 - parse 'SELECT * FROM bar WHERE LOG(6) = LOG10(6)' using SQL::Statement ok 148 - parse 'SELECT * FROM bar WHERE LN(1) = EXP(1)' using SQL::Statement ok 149 - parse 'SELECT * FROM bar WHERE MOD(8, 5) = 3' using SQL::Statement ok 150 - parse 'SELECT * FROM bar WHERE POWER(2, 4) = 16' using SQL::Statement ok 151 - parse 'SELECT * FROM bar WHERE POW(2, 4) = 16' using SQL::Statement ok 152 - parse 'SELECT * FROM bar WHERE RAND(2) = 0' using SQL::Statement ok 153 - parse 'SELECT * FROM bar WHERE RAND(2, UNIX_TIMESTAMP()) = 0' using SQL::Statement ok 154 - parse 'SELECT * FROM bar WHERE ROUND(4.999999999999) = 5' using SQL::Statement ok 155 - parse 'SELECT * FROM bar WHERE ROUND(4.542222222222, 1) = 4.5' using SQL::Statement ok 156 - parse 'SELECT * FROM bar WHERE SIGN(-25.5) = -1' using SQL::Statement ok 157 - parse 'SELECT * FROM bar WHERE SIGN(53645) = 1' using SQL::Statement ok 158 - parse 'SELECT * FROM bar WHERE SIGN(0) = 0' using SQL::Statement ok 159 - parse 'SELECT * FROM bar WHERE SIGN(NULL) = NULL' using SQL::Statement ok 160 - parse 'SELECT * FROM bar WHERE SQRT(64) = 8' using SQL::Statement ok 161 - parse 'SELECT * FROM bar WHERE TRUNCATE(4.999999999999) = 4' using SQL::Statement ok 162 - parse 'SELECT * FROM bar WHERE TRUNC(-4.9) = -4' using SQL::Statement ok 163 - parse 'SELECT * FROM bar WHERE TRUNCATE(4.934, 1) = 4.9' using SQL::Statement ok 164 - parse 'SELECT * FROM bar WHERE TRUNC(-4.99999, 1) = -4.9' using SQL::Statement ok 165 - parse ' /* TRIGONOMETRIC FUNCTIONS */' using SQL::Statement ok 166 - parse 'SELECT * FROM test WHERE ACOS(x)' using SQL::Statement ok 167 - parse 'SELECT * FROM test WHERE ACOSEC(x)' using SQL::Statement ok 168 - parse 'SELECT * FROM test WHERE ACOSECH(x)' using SQL::Statement ok 169 - parse 'SELECT * FROM test WHERE ACOSH(x)' using SQL::Statement ok 170 - parse 'SELECT * FROM test WHERE ACOT(x)' using SQL::Statement ok 171 - parse 'SELECT * FROM test WHERE ACOTAN(x)' using SQL::Statement ok 172 - parse 'SELECT * FROM test WHERE ACOTANH(x)' using SQL::Statement ok 173 - parse 'SELECT * FROM test WHERE ACOTH(x)' using SQL::Statement ok 174 - parse 'SELECT * FROM test WHERE ACSC(x)' using SQL::Statement ok 175 - parse 'SELECT * FROM test WHERE ACSCH(x)' using SQL::Statement ok 176 - parse 'SELECT * FROM test WHERE ASEC(x)' using SQL::Statement ok 177 - parse 'SELECT * FROM test WHERE ASECH(x)' using SQL::Statement ok 178 - parse 'SELECT * FROM test WHERE ASIN(x)' using SQL::Statement ok 179 - parse 'SELECT * FROM test WHERE ASINH(x)' using SQL::Statement ok 180 - parse 'SELECT * FROM test WHERE ATAN(x)' using SQL::Statement ok 181 - parse 'SELECT * FROM test WHERE ATAN2(y, x)' using SQL::Statement ok 182 - parse 'SELECT * FROM test WHERE ATANH(x)' using SQL::Statement ok 183 - parse 'SELECT * FROM test WHERE COS(x)' using SQL::Statement ok 184 - parse 'SELECT * FROM test WHERE COSEC(x)' using SQL::Statement ok 185 - parse 'SELECT * FROM test WHERE COSECH(x)' using SQL::Statement ok 186 - parse 'SELECT * FROM test WHERE COSH(x)' using SQL::Statement ok 187 - parse 'SELECT * FROM test WHERE COT(x)' using SQL::Statement ok 188 - parse 'SELECT * FROM test WHERE COTAN(x)' using SQL::Statement ok 189 - parse 'SELECT * FROM test WHERE COTANH(x)' using SQL::Statement ok 190 - parse 'SELECT * FROM test WHERE COTH(x)' using SQL::Statement ok 191 - parse 'SELECT * FROM test WHERE CSC(x)' using SQL::Statement ok 192 - parse 'SELECT * FROM test WHERE CSCH(x)' using SQL::Statement ok 193 - parse 'SELECT * FROM test WHERE DEG2DEG(deg)' using SQL::Statement ok 194 - parse 'SELECT * FROM test WHERE RAD2RAD(rad)' using SQL::Statement ok 195 - parse 'SELECT * FROM test WHERE GRAD2GRAD(grad)' using SQL::Statement ok 196 - parse 'SELECT * FROM test WHERE DEG2GRAD(deg)' using SQL::Statement ok 197 - parse 'SELECT * FROM test WHERE DEG2RAD(deg)' using SQL::Statement ok 198 - parse 'SELECT * FROM test WHERE GRAD2DEG(grad)' using SQL::Statement ok 199 - parse 'SELECT * FROM test WHERE GRAD2RAD(grad)' using SQL::Statement ok 200 - parse 'SELECT * FROM test WHERE RAD2DEG(rad)' using SQL::Statement ok 201 - parse 'SELECT * FROM test WHERE RAD2GRAD(rad)' using SQL::Statement ok 202 - parse 'SELECT * FROM test WHERE DEGREES(rad)' using SQL::Statement ok 203 - parse 'SELECT * FROM test WHERE RADIANS(deg)' using SQL::Statement ok 204 - parse 'SELECT * FROM test WHERE DEG2DEG(deg, TRUE)' using SQL::Statement ok 205 - parse 'SELECT * FROM test WHERE RAD2RAD(rad, TRUE)' using SQL::Statement ok 206 - parse 'SELECT * FROM test WHERE GRAD2GRAD(grad, TRUE)' using SQL::Statement ok 207 - parse 'SELECT * FROM test WHERE DEG2GRAD(deg, TRUE)' using SQL::Statement ok 208 - parse 'SELECT * FROM test WHERE DEG2RAD(deg, TRUE)' using SQL::Statement ok 209 - parse 'SELECT * FROM test WHERE GRAD2DEG(grad, TRUE)' using SQL::Statement ok 210 - parse 'SELECT * FROM test WHERE GRAD2RAD(grad, TRUE)' using SQL::Statement ok 211 - parse 'SELECT * FROM test WHERE RAD2DEG(rad, TRUE)' using SQL::Statement ok 212 - parse 'SELECT * FROM test WHERE RAD2GRAD(rad, TRUE)' using SQL::Statement ok 213 - parse 'SELECT * FROM test WHERE DEGREES(rad, TRUE)' using SQL::Statement ok 214 - parse 'SELECT * FROM test WHERE RADIANS(deg, TRUE)' using SQL::Statement ok 215 - parse 'SELECT * FROM test WHERE PI()' using SQL::Statement ok 216 - parse 'SELECT * FROM test WHERE SEC(x)' using SQL::Statement ok 217 - parse 'SELECT * FROM test WHERE SECH(x)' using SQL::Statement ok 218 - parse 'SELECT * FROM test WHERE SIN(x)' using SQL::Statement ok 219 - parse 'SELECT * FROM test WHERE SINH(x)' using SQL::Statement ok 220 - parse 'SELECT * FROM test WHERE TAN(x)' using SQL::Statement ok 221 - parse 'SELECT * FROM test WHERE TANH(x)' using SQL::Statement ok 222 - parse ' /* SYSTEM FUNCTIONS */' using SQL::Statement ok 223 - parse 'SELECT * FROM ztable WHERE DBNAME() = foobar' using SQL::Statement ok 224 - parse 'SELECT * FROM ztable WHERE USERNAME() = foobar' using SQL::Statement ok 225 - parse 'SELECT * FROM ztable WHERE USER() = foobar' using SQL::Statement ok 226 - parse ' /* TABLE NAME ALIASES */' using SQL::Statement ok 227 - parse 'SELECT * FROM test as T1' using SQL::Statement ok 228 - parse 'SELECT * FROM test T1' using SQL::Statement ok 229 - parse 'SELECT T1.id, T2.num FROM test as T1 JOIN test2 as T2 USING(id)' using SQL::Statement ok 230 - parse 'SELECT id FROM test as T1 WHERE T1.num < 7' using SQL::Statement ok 231 - parse 'SELECT id FROM test as T1 ORDER BY T1.num' using SQL::Statement ok 232 - parse 'SELECT a.x,b.y FROM foo AS a, bar b WHERE a.baz = b.bop ORDER BY a.blat' using SQL::Statement ok 233 - parse ' /* NUMERIC EXPRESSIONS */' using SQL::Statement ok 234 - parse 'SELECT * FROM foo WHERE 1 = 0 AND baz < (6*foo+11-r)' using SQL::Statement ok 235 - parse ' /* CASE OF IDENTIFIERS */' using SQL::Statement ok 236 - parse 'SELECT ID, phRase FROM tEst AS tE WHERE te.id < 3 ORDER BY TE.phrasE' using SQL::Statement ok 237 - parse ' /* PARENS */' using SQL::Statement ok 238 - parse 'SELECT * FROM ztable WHERE NOT data IN ('one','two')' using SQL::Statement ok 239 - parse 'SELECT * from ztable WHERE (aaa > 'AAA')' using SQL::Statement ok 240 - parse 'SELECT * from ztable WHERE sev = 50 OR sev = 60' using SQL::Statement ok 241 - parse 'SELECT * from ztable WHERE (sev = 50 OR sev = 60)' using SQL::Statement ok 242 - parse 'SELECT * from ztable WHERE sev IN (50,60)' using SQL::Statement ok 243 - parse 'SELECT * from ztable WHERE rc > 200 AND ( sev IN(50,60) )' using SQL::Statement ok 244 - parse 'SELECT * FROM ztable WHERE data NOT IN ('one','two')' using SQL::Statement ok 245 - parse 'SELECT * from ztable WHERE (aaa > 'AAA') AND (zzz < 'ZZZ')' using SQL::Statement ok 246 - parse 'SELECT * from ztable WHERE (sev IN(50,60))' using SQL::Statement ok 247 - parse ' /* NOT */' using SQL::Statement ok 248 - parse 'SELECT * FROM foo WHERE NOT bar = 'baz' AND bop = 7 OR NOT blat = bar' using SQL::Statement ok 249 - parse 'SELECT * FROM foo WHERE NOT bar = 'baz' AND NOT bop = 7 OR NOT blat = bar' using SQL::Statement ok 250 - parse 'SELECT * FROM foo WHERE NOT bar = 'baz' AND NOT bop = 7 OR blat IS NOT NULL' using SQL::Statement ok 251 - parse ' /* IN */' using SQL::Statement ok 252 - parse 'SELECT * FROM bar WHERE foo IN ('aa','ab','ba','bb')' using SQL::Statement ok 253 - parse 'SELECT * FROM bar WHERE foo IN (3.14,2.72,1.41,9.81)' using SQL::Statement ok 254 - parse 'SELECT * FROM bar WHERE foo NOT IN ('aa','ab','ba','bb')' using SQL::Statement ok 255 - parse 'SELECT * FROM bar WHERE foo NOT IN (3.14,2.72,1.41,9.81)' using SQL::Statement ok 256 - parse ' /* BETWEEN */' using SQL::Statement ok 257 - parse 'SELECT * FROM bar WHERE foo BETWEEN ('aa','bb')' using SQL::Statement ok 258 - parse 'SELECT * FROM bar WHERE foo BETWEEN (1.41,9.81)' using SQL::Statement ok 259 - parse 'SELECT * FROM bar WHERE foo NOT BETWEEN ('aa','bb')' using SQL::Statement ok 260 - parse 'SELECT * FROM bar WHERE foo NOT BETWEEN (1.41,9.81)' using SQL::Statement not ok 261 - 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 SQL::Statement # 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 SQL::Statement' # at t/01prepare.t line 309. # Incomplete SET clause! not ok 262 - parse 'SELECT * FROM bar WHERE EXP(1) = SINH(1)+COSH(1)' using SQL::Statement # TODO Analyze failures # Failed (TODO) test 'parse 'SELECT * FROM bar WHERE EXP(1) = SINH(1)+COSH(1)' using SQL::Statement' # at t/01prepare.t line 309. # # Execution ERROR: Unknown predicate '{$VAR1 = {}; # }' called from t/TestLib.pm at 190. # not ok 263 - parse 'SELECT * FROM bar WHERE LOG(8, 2) = LOG10(8) / LOG10(2)' using SQL::Statement # TODO Analyze failures # Failed (TODO) test 'parse 'SELECT * FROM bar WHERE LOG(8, 2) = LOG10(8) / LOG10(2)' using SQL::Statement' # at t/01prepare.t line 309. # # Execution ERROR: Unknown predicate '{$VAR1 = {}; # }' called from t/TestLib.pm at 190. # ok 264 - $sth->new ok 265 - $sth->command ok 266 - $sth->params ok 267 - $sth->tables ok 268 - $sth->where()->op ok 269 - $sth->where()->left ok 270 - $sth->where()->left->left ok 271 - $sth->where()->left->right ok 272 - $sth->limit ok 273 - $sth->offset # Command SELECT # Num Pholders 1 # Columns # Tables SQL::Statement::Table=HASH(0x41e6258),SQL::Statement::Table=HASH(0x41e64c8) # Where op AND # Limit 2 # Offset 5 # Order Cols f,g ok 274 - $stmt->row_values() ok 275 - $stmt->row_values(0) ok 276 - $stmt->row_values(0,1) ok 277 - structure ok 278 - command ok 279 - distinct ok 280 - parse ' /* DROP TABLE */' using DBD::CSV ok 281 - parse 'DROP TABLE foo' using DBD::CSV ok 282 - parse 'DROP TABLE foo CASCADE' using DBD::CSV ok 283 - parse 'DROP TABLE foo RESTRICT' using DBD::CSV ok 284 - parse ' /* DELETE */' using DBD::CSV ok 285 - parse 'DELETE FROM foo' using DBD::CSV ok 286 - parse 'DELETE FROM foo WHERE id < 7' using DBD::CSV ok 287 - parse ' /* UPDATE */' using DBD::CSV ok 288 - parse 'UPDATE foo SET bar = 7' using DBD::CSV ok 289 - parse 'UPDATE foo SET bar = 7 WHERE id > 7' using DBD::CSV ok 290 - parse ' /* INSERT */' using DBD::CSV ok 291 - parse 'INSERT INTO foo VALUES ( 'baz', 7, NULL )' using DBD::CSV ok 292 - parse 'INSERT INTO foo (col1,col2,col7) VALUES ( 'baz', 7, NULL )' using DBD::CSV ok 293 - parse ' /* CREATE TABLE */' using DBD::CSV ok 294 - parse 'CREATE TABLE foo ( id INT )' using DBD::CSV ok 295 - parse 'CREATE LOCAL TEMPORARY TABLE foo (id INT)' using DBD::CSV ok 296 - parse 'CREATE LOCAL TEMPORARY TABLE foo (id INT) ON COMMIT DELETE ROWS' using DBD::CSV ok 297 - parse 'CREATE LOCAL TEMPORARY TABLE foo (id INT) ON COMMIT PRESERVE ROWS' using DBD::CSV ok 298 - parse 'CREATE GLOBAL TEMPORARY TABLE foo (id INT)' using DBD::CSV ok 299 - parse 'CREATE GLOBAL TEMPORARY TABLE foo (id INT) ON COMMIT DELETE ROWS' using DBD::CSV ok 300 - parse 'CREATE GLOBAL TEMPORARY TABLE foo (id INT) ON COMMIT PRESERVE ROWS' using DBD::CSV ok 301 - parse 'CREATE TABLE foo ( id INTEGER, phrase VARCHAR(40) )' using DBD::CSV ok 302 - parse 'CREATE TABLE foo ( id INTEGER UNIQUE, phrase VARCHAR(40) UNIQUE )' using DBD::CSV ok 303 - parse 'CREATE TABLE foo ( id INTEGER PRIMARY KEY, phrase VARCHAR(40) UNIQUE )' using DBD::CSV ok 304 - parse 'CREATE TABLE foo ( id INTEGER PRIMARY KEY, phrase VARCHAR(40) NOT NULL )' using DBD::CSV ok 305 - parse 'CREATE TABLE foo ( id INTEGER NOT NULL, phrase VARCHAR(40) NOT NULL )' using DBD::CSV ok 306 - parse 'CREATE TABLE foo ( id INTEGER UNIQUE NOT NULL, phrase VARCHAR(40) )' using DBD::CSV ok 307 - parse 'CREATE TABLE foo ( phrase CHARACTER VARYING(255) )' using DBD::CSV ok 308 - parse 'CREATE TABLE foo ( phrase NUMERIC(4,6) )' using DBD::CSV ok 309 - 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::CSV ok 310 - parse 'CREATE TABLE foo ( id INTEGER, phrase VARCHAR(40), PRIMARY KEY ( "id" ), FOREIGN KEY ("id", "phrase") REFERENCES "bar" ("id2", "phrase2"))' using DBD::CSV ok 311 - 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::CSV ok 312 - parse ' /* JOINS */' using DBD::CSV ok 313 - parse 'SELECT Lnum,Llet,Ulet FROM zLower NATURAL INNER JOIN zUpper' using DBD::CSV ok 314 - parse 'SELECT Lnum,Llet,Ulet FROM zLower NATURAL LEFT JOIN zUpper' using DBD::CSV ok 315 - parse 'SELECT Lnum,Llet,Ulet FROM zLower NATURAL RIGHT JOIN zUpper' using DBD::CSV ok 316 - parse 'SELECT Lnum,Llet,Ulet FROM zLower NATURAL FULL JOIN zUpper' using DBD::CSV ok 317 - parse 'SELECT Lnum,Llet,Ulet FROM zLower INNER JOIN zUpper ON Lnum = Unum' using DBD::CSV ok 318 - parse 'SELECT Lnum,Llet,Ulet FROM zLower LEFT JOIN zUpper ON Lnum = Unum' using DBD::CSV ok 319 - parse 'SELECT Lnum,Llet,Ulet FROM zLower RIGHT JOIN zUpper ON Lnum = Unum' using DBD::CSV ok 320 - parse 'SELECT Lnum,Llet,Ulet FROM zLower FULL JOIN zUpper ON Lnum = Unum' using DBD::CSV ok 321 - parse 'SELECT Lnum,Llet,Ulet FROM zLower INNER JOIN zUpper USING(num)' using DBD::CSV ok 322 - parse 'SELECT Lnum,Llet,Ulet FROM zLower LEFT JOIN zUpper USING(num)' using DBD::CSV ok 323 - parse 'SELECT Lnum,Llet,Ulet FROM zLower RIGHT JOIN zUpper USING(num)' using DBD::CSV ok 324 - parse 'SELECT Lnum,Llet,Ulet FROM zLower FULL JOIN zUpper USING(num)' using DBD::CSV ok 325 - parse 'SELECT Lnum,Llet,Ulet FROM zLower,zUpper WHERE Lnum = Unum' using DBD::CSV ok 326 - parse 'SELECT * FROM zLower NATURAL INNER JOIN zUpper' using DBD::CSV ok 327 - parse 'SELECT * FROM zLower NATURAL LEFT JOIN zUpper' using DBD::CSV ok 328 - parse 'SELECT * FROM zLower NATURAL RIGHT JOIN zUpper' using DBD::CSV ok 329 - parse 'SELECT * FROM zLower NATURAL FULL JOIN zUpper' using DBD::CSV ok 330 - parse 'SELECT * FROM zLower INNER JOIN zUpper ON Lnum = Unum' using DBD::CSV ok 331 - parse 'SELECT * FROM zLower LEFT JOIN zUpper ON Lnum = Unum' using DBD::CSV ok 332 - parse 'SELECT * FROM zLower RIGHT JOIN zUpper ON Lnum = Unum' using DBD::CSV ok 333 - parse 'SELECT * FROM zLower FULL JOIN zUpper ON Lnum = Unum' using DBD::CSV ok 334 - parse 'SELECT * FROM zLower INNER JOIN zUpper USING(num)' using DBD::CSV ok 335 - parse 'SELECT * FROM zLower LEFT JOIN zUpper USING(num)' using DBD::CSV ok 336 - parse 'SELECT * FROM zLower RIGHT JOIN zUpper USING(num)' using DBD::CSV ok 337 - parse 'SELECT * FROM zLower FULL JOIN zUpper USING(num)' using DBD::CSV ok 338 - parse 'SELECT * FROM zLower,zUpper WHERE Lnum = Unum' using DBD::CSV ok 339 - parse ' /* SELECT COLUMNS */' using DBD::CSV ok 340 - parse 'SELECT id, phrase FROM foo' using DBD::CSV ok 341 - parse 'SELECT * FROM foo' using DBD::CSV ok 342 - parse 'SELECT DISTINCT * FROM foo' using DBD::CSV ok 343 - parse 'SELECT ALL * FROM foo' using DBD::CSV ok 344 - parse 'SELECT A.*,B.* FROM A,B WHERE A.id=B.id' using DBD::CSV ok 345 - parse ' /* SET FUNCTIONS */' using DBD::CSV ok 346 - parse 'SELECT MAX(foo) FROM bar' using DBD::CSV ok 347 - parse 'SELECT MIN(foo) FROM bar' using DBD::CSV ok 348 - parse 'SELECT AVG(foo) FROM bar' using DBD::CSV ok 349 - parse 'SELECT SUM(foo) FROM bar' using DBD::CSV ok 350 - parse 'SELECT COUNT(foo) FROM foo' using DBD::CSV ok 351 - parse 'SELECT COUNT(*) FROM foo' using DBD::CSV ok 352 - parse 'SELECT SUM(DISTINCT foo) FROM bar' using DBD::CSV ok 353 - parse 'SELECT SUM(ALL foo) FROM bar' using DBD::CSV ok 354 - parse ' /* ORDER BY */' using DBD::CSV ok 355 - parse 'SELECT * FROM foo ORDER BY bar' using DBD::CSV ok 356 - parse 'SELECT * FROM foo ORDER BY bar, baz' using DBD::CSV ok 357 - parse 'SELECT * FROM foo ORDER BY bar DESC' using DBD::CSV ok 358 - parse 'SELECT * FROM foo ORDER BY bar ASC' using DBD::CSV ok 359 - parse ' /* LIMIT */' using DBD::CSV ok 360 - parse 'SELECT * FROM foo LIMIT 5' using DBD::CSV ok 361 - parse 'SELECT * FROM foo LIMIT 0, 5' using DBD::CSV ok 362 - parse 'SELECT * FROM foo LIMIT 5, 10' using DBD::CSV ok 363 - parse '/* DATE/TIME FUNCTIONS */' using DBD::CSV ok 364 - parse 'SELECT CURRENT_DATE()' using DBD::CSV ok 365 - parse 'SELECT CURRENT_TIME()' using DBD::CSV ok 366 - parse 'SELECT CURRENT_TIMESTAMP()' using DBD::CSV ok 367 - parse 'SELECT CURDATE()' using DBD::CSV ok 368 - parse 'SELECT CURTIME()' using DBD::CSV ok 369 - parse 'SELECT NOW()' using DBD::CSV ok 370 - parse 'SELECT UNIX_TIMESTAMP() ' using DBD::CSV ok 371 - parse 'SELECT CURRENT_TIME(2)' using DBD::CSV ok 372 - parse 'SELECT CURRENT_TIMESTAMP(2)' using DBD::CSV ok 373 - parse 'SELECT CURTIME(2)' using DBD::CSV ok 374 - parse 'SELECT NOW(2)' using DBD::CSV ok 375 - parse 'SELECT UNIX_TIMESTAMP(2)' using DBD::CSV ok 376 - parse ' /* STRING FUNCTIONS */' using DBD::CSV ok 377 - parse 'SELECT * FROM foo WHERE ASCII(status) = 65' using DBD::CSV ok 378 - parse 'SELECT * FROM foo WHERE CHAR(code) = 'A'' using DBD::CSV ok 379 - parse 'SELECT * FROM foo WHERE CHAR(chr1,chr2,chr3) = 'ABC'' using DBD::CSV ok 380 - parse 'SELECT * FROM foo WHERE BIT_LENGTH(str) = 27' using DBD::CSV ok 381 - parse 'SELECT * FROM foo WHERE CHARACTER_LENGTH(str) = 6' using DBD::CSV ok 382 - parse 'SELECT * FROM foo WHERE CHAR_LENGTH(str) = 6' using DBD::CSV ok 383 - parse 'SELECT * FROM foo WHERE COALESCE(NULL, status) = 'bar'' using DBD::CSV ok 384 - parse 'SELECT * FROM foo WHERE NVL(NULL, status) = 'bar'' using DBD::CSV ok 385 - parse 'SELECT * FROM foo WHERE IFNULL(NULL, status) = 'bar'' using DBD::CSV ok 386 - parse 'SELECT * FROM foo WHERE CONCAT(str1, str2) = 'bar'' using DBD::CSV ok 387 - parse 'SELECT * FROM foo WHERE DECODE(color,'White','W','Red','R','B') = 'W'' using DBD::CSV ok 388 - parse 'SELECT * FROM foo WHERE INSERT(str1, 4, 5, str2) = 'foobarland'' using DBD::CSV ok 389 - parse 'SELECT * FROM foo WHERE LEFT(phrase) = 'bar'' using DBD::CSV ok 390 - parse 'SELECT * FROM foo WHERE RIGHT(phrase) = 'bar'' using DBD::CSV ok 391 - parse 'SELECT * FROM foo WHERE LOCATE(str1, str2) = 2' using DBD::CSV ok 392 - parse 'SELECT * FROM foo WHERE LOCATE(str1, str2, 3) = 5' using DBD::CSV ok 393 - parse 'SELECT * FROM foo WHERE POSITION(str1, str2) = 2' using DBD::CSV ok 394 - parse 'SELECT * FROM foo WHERE POSITION(str1, str2, 3) = 5' using DBD::CSV ok 395 - parse 'SELECT * FROM foo WHERE LOWER(phrase) = 'bar'' using DBD::CSV ok 396 - parse 'SELECT * FROM foo WHERE UPPER(phrase) = 'BAR'' using DBD::CSV ok 397 - parse 'SELECT * FROM foo WHERE LCASE(phrase) = 'BAR'' using DBD::CSV ok 398 - parse 'SELECT * FROM foo WHERE UCASE(phrase) = 'bar'' using DBD::CSV ok 399 - parse 'SELECT * FROM foo WHERE LTRIM(str) = 'bar'' using DBD::CSV ok 400 - parse 'SELECT * FROM foo WHERE RTRIM(str) = 'bar'' using DBD::CSV ok 401 - parse 'SELECT * FROM foo WHERE OCTET_LENGTH(str) = 12' using DBD::CSV ok 402 - parse 'SELECT * FROM foo WHERE REGEX(phrase, '/EF/i') = TRUE' using DBD::CSV ok 403 - parse 'SELECT * FROM foo WHERE REPEAT(status, 3) = 'AAA'' using DBD::CSV ok 404 - parse 'SELECT * FROM foo WHERE REPLACE(phrase, 's/z(.+)ky//i') = 'bar'' using DBD::CSV ok 405 - parse 'SELECT * FROM foo WHERE SUBSTITUTE(phrase, 's/z(.+)ky//i') = 'bar'' using DBD::CSV ok 406 - parse 'SELECT * FROM foo WHERE SOUNDEX(name1, name2) = TRUE' using DBD::CSV ok 407 - parse 'SELECT * FROM foo WHERE SPACE(num) = ' '' using DBD::CSV ok 408 - parse 'SELECT * FROM foo WHERE blat = SUBSTRING(bar FROM 3 FOR 6)' using DBD::CSV ok 409 - parse 'SELECT * FROM foo WHERE blat = SUBSTRING(bar FROM 3)' using DBD::CSV ok 410 - parse 'SELECT * FROM foo WHERE blat = SUBSTR(bar, 3, 6)' using DBD::CSV ok 411 - parse 'SELECT * FROM foo WHERE blat = SUBSTR(bar, 3)' using DBD::CSV ok 412 - parse 'SELECT * FROM foo WHERE blat = TRANSLATE(bar, set1, set2)' using DBD::CSV ok 413 - parse 'SELECT * FROM foo WHERE TRIM( str ) = 'bar'' using DBD::CSV ok 414 - parse 'SELECT * FROM foo WHERE TRIM( LEADING FROM str ) = 'bar'' using DBD::CSV ok 415 - parse 'SELECT * FROM foo WHERE TRIM( TRAILING FROM str ) = 'bar'' using DBD::CSV ok 416 - parse 'SELECT * FROM foo WHERE TRIM( BOTH FROM str ) = 'bar'' using DBD::CSV ok 417 - parse 'SELECT * FROM foo WHERE TRIM( LEADING ';' FROM str ) = 'bar'' using DBD::CSV ok 418 - parse 'SELECT * FROM foo WHERE TRIM( UPPER(phrase) ) = 'bar'' using DBD::CSV ok 419 - parse 'SELECT * FROM foo WHERE TRIM( LOWER(phrase) ) = 'bar'' using DBD::CSV ok 420 - parse 'UPDATE foo SET bar='baz', bop=7, bump=bar+8, blat=SUBSTRING(bar FROM 3 FOR 6)' using DBD::CSV ok 421 - parse ' /* NUMERIC FUNCTIONS */' using DBD::CSV ok 422 - parse 'SELECT * FROM bar WHERE ABS(-4) = 4' using DBD::CSV ok 423 - parse 'SELECT * FROM bar WHERE CEILING(-4.5) = -4' using DBD::CSV ok 424 - parse 'SELECT * FROM bar WHERE CEIL(-4.9) = -4' using DBD::CSV ok 425 - parse 'SELECT * FROM bar WHERE FLOOR(4.999999999999) = 4' using DBD::CSV ok 426 - parse 'SELECT * FROM bar WHERE LOG(6) = LOG10(6)' using DBD::CSV ok 427 - parse 'SELECT * FROM bar WHERE LN(1) = EXP(1)' using DBD::CSV ok 428 - parse 'SELECT * FROM bar WHERE MOD(8, 5) = 3' using DBD::CSV ok 429 - parse 'SELECT * FROM bar WHERE POWER(2, 4) = 16' using DBD::CSV ok 430 - parse 'SELECT * FROM bar WHERE POW(2, 4) = 16' using DBD::CSV ok 431 - parse 'SELECT * FROM bar WHERE RAND(2) = 0' using DBD::CSV ok 432 - parse 'SELECT * FROM bar WHERE RAND(2, UNIX_TIMESTAMP()) = 0' using DBD::CSV ok 433 - parse 'SELECT * FROM bar WHERE ROUND(4.999999999999) = 5' using DBD::CSV ok 434 - parse 'SELECT * FROM bar WHERE ROUND(4.542222222222, 1) = 4.5' using DBD::CSV ok 435 - parse 'SELECT * FROM bar WHERE SIGN(-25.5) = -1' using DBD::CSV ok 436 - parse 'SELECT * FROM bar WHERE SIGN(53645) = 1' using DBD::CSV ok 437 - parse 'SELECT * FROM bar WHERE SIGN(0) = 0' using DBD::CSV ok 438 - parse 'SELECT * FROM bar WHERE SIGN(NULL) = NULL' using DBD::CSV ok 439 - parse 'SELECT * FROM bar WHERE SQRT(64) = 8' using DBD::CSV ok 440 - parse 'SELECT * FROM bar WHERE TRUNCATE(4.999999999999) = 4' using DBD::CSV ok 441 - parse 'SELECT * FROM bar WHERE TRUNC(-4.9) = -4' using DBD::CSV ok 442 - parse 'SELECT * FROM bar WHERE TRUNCATE(4.934, 1) = 4.9' using DBD::CSV ok 443 - parse 'SELECT * FROM bar WHERE TRUNC(-4.99999, 1) = -4.9' using DBD::CSV ok 444 - parse ' /* TRIGONOMETRIC FUNCTIONS */' using DBD::CSV ok 445 - parse 'SELECT * FROM test WHERE ACOS(x)' using DBD::CSV ok 446 - parse 'SELECT * FROM test WHERE ACOSEC(x)' using DBD::CSV ok 447 - parse 'SELECT * FROM test WHERE ACOSECH(x)' using DBD::CSV ok 448 - parse 'SELECT * FROM test WHERE ACOSH(x)' using DBD::CSV ok 449 - parse 'SELECT * FROM test WHERE ACOT(x)' using DBD::CSV ok 450 - parse 'SELECT * FROM test WHERE ACOTAN(x)' using DBD::CSV ok 451 - parse 'SELECT * FROM test WHERE ACOTANH(x)' using DBD::CSV ok 452 - parse 'SELECT * FROM test WHERE ACOTH(x)' using DBD::CSV ok 453 - parse 'SELECT * FROM test WHERE ACSC(x)' using DBD::CSV ok 454 - parse 'SELECT * FROM test WHERE ACSCH(x)' using DBD::CSV ok 455 - parse 'SELECT * FROM test WHERE ASEC(x)' using DBD::CSV ok 456 - parse 'SELECT * FROM test WHERE ASECH(x)' using DBD::CSV ok 457 - parse 'SELECT * FROM test WHERE ASIN(x)' using DBD::CSV ok 458 - parse 'SELECT * FROM test WHERE ASINH(x)' using DBD::CSV ok 459 - parse 'SELECT * FROM test WHERE ATAN(x)' using DBD::CSV ok 460 - parse 'SELECT * FROM test WHERE ATAN2(y, x)' using DBD::CSV ok 461 - parse 'SELECT * FROM test WHERE ATANH(x)' using DBD::CSV ok 462 - parse 'SELECT * FROM test WHERE COS(x)' using DBD::CSV ok 463 - parse 'SELECT * FROM test WHERE COSEC(x)' using DBD::CSV ok 464 - parse 'SELECT * FROM test WHERE COSECH(x)' using DBD::CSV ok 465 - parse 'SELECT * FROM test WHERE COSH(x)' using DBD::CSV ok 466 - parse 'SELECT * FROM test WHERE COT(x)' using DBD::CSV ok 467 - parse 'SELECT * FROM test WHERE COTAN(x)' using DBD::CSV ok 468 - parse 'SELECT * FROM test WHERE COTANH(x)' using DBD::CSV ok 469 - parse 'SELECT * FROM test WHERE COTH(x)' using DBD::CSV ok 470 - parse 'SELECT * FROM test WHERE CSC(x)' using DBD::CSV ok 471 - parse 'SELECT * FROM test WHERE CSCH(x)' using DBD::CSV ok 472 - parse 'SELECT * FROM test WHERE DEG2DEG(deg)' using DBD::CSV ok 473 - parse 'SELECT * FROM test WHERE RAD2RAD(rad)' using DBD::CSV ok 474 - parse 'SELECT * FROM test WHERE GRAD2GRAD(grad)' using DBD::CSV ok 475 - parse 'SELECT * FROM test WHERE DEG2GRAD(deg)' using DBD::CSV ok 476 - parse 'SELECT * FROM test WHERE DEG2RAD(deg)' using DBD::CSV ok 477 - parse 'SELECT * FROM test WHERE GRAD2DEG(grad)' using DBD::CSV ok 478 - parse 'SELECT * FROM test WHERE GRAD2RAD(grad)' using DBD::CSV ok 479 - parse 'SELECT * FROM test WHERE RAD2DEG(rad)' using DBD::CSV ok 480 - parse 'SELECT * FROM test WHERE RAD2GRAD(rad)' using DBD::CSV ok 481 - parse 'SELECT * FROM test WHERE DEGREES(rad)' using DBD::CSV ok 482 - parse 'SELECT * FROM test WHERE RADIANS(deg)' using DBD::CSV ok 483 - parse 'SELECT * FROM test WHERE DEG2DEG(deg, TRUE)' using DBD::CSV ok 484 - parse 'SELECT * FROM test WHERE RAD2RAD(rad, TRUE)' using DBD::CSV ok 485 - parse 'SELECT * FROM test WHERE GRAD2GRAD(grad, TRUE)' using DBD::CSV ok 486 - parse 'SELECT * FROM test WHERE DEG2GRAD(deg, TRUE)' using DBD::CSV ok 487 - parse 'SELECT * FROM test WHERE DEG2RAD(deg, TRUE)' using DBD::CSV ok 488 - parse 'SELECT * FROM test WHERE GRAD2DEG(grad, TRUE)' using DBD::CSV ok 489 - parse 'SELECT * FROM test WHERE GRAD2RAD(grad, TRUE)' using DBD::CSV ok 490 - parse 'SELECT * FROM test WHERE RAD2DEG(rad, TRUE)' using DBD::CSV ok 491 - parse 'SELECT * FROM test WHERE RAD2GRAD(rad, TRUE)' using DBD::CSV ok 492 - parse 'SELECT * FROM test WHERE DEGREES(rad, TRUE)' using DBD::CSV ok 493 - parse 'SELECT * FROM test WHERE RADIANS(deg, TRUE)' using DBD::CSV ok 494 - parse 'SELECT * FROM test WHERE PI()' using DBD::CSV ok 495 - parse 'SELECT * FROM test WHERE SEC(x)' using DBD::CSV ok 496 - parse 'SELECT * FROM test WHERE SECH(x)' using DBD::CSV ok 497 - parse 'SELECT * FROM test WHERE SIN(x)' using DBD::CSV ok 498 - parse 'SELECT * FROM test WHERE SINH(x)' using DBD::CSV ok 499 - parse 'SELECT * FROM test WHERE TAN(x)' using DBD::CSV ok 500 - parse 'SELECT * FROM test WHERE TANH(x)' using DBD::CSV ok 501 - parse ' /* SYSTEM FUNCTIONS */' using DBD::CSV ok 502 - parse 'SELECT * FROM ztable WHERE DBNAME() = foobar' using DBD::CSV ok 503 - parse 'SELECT * FROM ztable WHERE USERNAME() = foobar' using DBD::CSV ok 504 - parse 'SELECT * FROM ztable WHERE USER() = foobar' using DBD::CSV ok 505 - parse ' /* TABLE NAME ALIASES */' using DBD::CSV ok 506 - parse 'SELECT * FROM test as T1' using DBD::CSV ok 507 - parse 'SELECT * FROM test T1' using DBD::CSV ok 508 - parse 'SELECT T1.id, T2.num FROM test as T1 JOIN test2 as T2 USING(id)' using DBD::CSV ok 509 - parse 'SELECT id FROM test as T1 WHERE T1.num < 7' using DBD::CSV ok 510 - parse 'SELECT id FROM test as T1 ORDER BY T1.num' using DBD::CSV ok 511 - parse 'SELECT a.x,b.y FROM foo AS a, bar b WHERE a.baz = b.bop ORDER BY a.blat' using DBD::CSV ok 512 - parse ' /* NUMERIC EXPRESSIONS */' using DBD::CSV ok 513 - parse 'SELECT * FROM foo WHERE 1 = 0 AND baz < (6*foo+11-r)' using DBD::CSV ok 514 - parse ' /* CASE OF IDENTIFIERS */' using DBD::CSV ok 515 - parse 'SELECT ID, phRase FROM tEst AS tE WHERE te.id < 3 ORDER BY TE.phrasE' using DBD::CSV ok 516 - parse ' /* PARENS */' using DBD::CSV ok 517 - parse 'SELECT * FROM ztable WHERE NOT data IN ('one','two')' using DBD::CSV ok 518 - parse 'SELECT * from ztable WHERE (aaa > 'AAA')' using DBD::CSV ok 519 - parse 'SELECT * from ztable WHERE sev = 50 OR sev = 60' using DBD::CSV ok 520 - parse 'SELECT * from ztable WHERE (sev = 50 OR sev = 60)' using DBD::CSV ok 521 - parse 'SELECT * from ztable WHERE sev IN (50,60)' using DBD::CSV ok 522 - parse 'SELECT * from ztable WHERE rc > 200 AND ( sev IN(50,60) )' using DBD::CSV ok 523 - parse 'SELECT * FROM ztable WHERE data NOT IN ('one','two')' using DBD::CSV ok 524 - parse 'SELECT * from ztable WHERE (aaa > 'AAA') AND (zzz < 'ZZZ')' using DBD::CSV ok 525 - parse 'SELECT * from ztable WHERE (sev IN(50,60))' using DBD::CSV ok 526 - parse ' /* NOT */' using DBD::CSV ok 527 - parse 'SELECT * FROM foo WHERE NOT bar = 'baz' AND bop = 7 OR NOT blat = bar' using DBD::CSV ok 528 - parse 'SELECT * FROM foo WHERE NOT bar = 'baz' AND NOT bop = 7 OR NOT blat = bar' using DBD::CSV ok 529 - parse 'SELECT * FROM foo WHERE NOT bar = 'baz' AND NOT bop = 7 OR blat IS NOT NULL' using DBD::CSV ok 530 - parse ' /* IN */' using DBD::CSV ok 531 - parse 'SELECT * FROM bar WHERE foo IN ('aa','ab','ba','bb')' using DBD::CSV ok 532 - parse 'SELECT * FROM bar WHERE foo IN (3.14,2.72,1.41,9.81)' using DBD::CSV ok 533 - parse 'SELECT * FROM bar WHERE foo NOT IN ('aa','ab','ba','bb')' using DBD::CSV ok 534 - parse 'SELECT * FROM bar WHERE foo NOT IN (3.14,2.72,1.41,9.81)' using DBD::CSV ok 535 - parse ' /* BETWEEN */' using DBD::CSV ok 536 - parse 'SELECT * FROM bar WHERE foo BETWEEN ('aa','bb')' using DBD::CSV ok 537 - parse 'SELECT * FROM bar WHERE foo BETWEEN (1.41,9.81)' using DBD::CSV ok 538 - parse 'SELECT * FROM bar WHERE foo NOT BETWEEN ('aa','bb')' using DBD::CSV ok 539 - parse 'SELECT * FROM bar WHERE foo NOT BETWEEN (1.41,9.81)' using DBD::CSV ok 540 - 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::CSV # TODO Analyze failures ok 541 - parse 'SELECT * FROM bar WHERE EXP(1) = SINH(1)+COSH(1)' using DBD::CSV # TODO Analyze failures ok 542 - parse 'SELECT * FROM bar WHERE LOG(8, 2) = LOG10(8) / LOG10(2)' using DBD::CSV # TODO Analyze failures ok 543 - $sth->new Dubious, test returned 255 (wstat 65280, 0xff00) All 543 subtests passed (3 TODO tests unexpectedly succeeded) # Running tests for SQL::Statement # Running tests for DBD::CSV Timeout (max run time is 420s) C:\Perl64-5.12\bin\perl.exe exits with 37