PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(1, 'blib/lib', 'blib/arch')" t/*.t xt/*.t
# Using required:
#   SQL::Statement: 1.33
# Using recommended:
#   DBD::CSV: 0.33
#   DBD::DBM: 0.06
#   DBD::File: 0.4
#   DBI: 1.616
# Running tests for SQL::Statement
# Running tests for DBD::CSV
# Running tests for DBD::DBM
# Running tests for DBD::File
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
ok 15 - Parse "Junk" RaiseError=0 (default)
ok 16 - Execute function succeeded
ok 17 - Execute function no errstr
ok 18 - Execute RaiseError=0
ok 19 - Parse "Junk" RaiseError=1
ok 20 - Execute RaiseError=1
ok 21 - Execute "SELECT * FROM nonexistant" has errstr
ok 22 - Parse "Junk" RaiseError=0 (default)
ok 23 - Execute function succeeded
ok 24 - Execute function no errstr
ok 25 - Execute RaiseError=0
ok 26 - Parse "Junk" RaiseError=1
ok 27 - Execute RaiseError=1
ok 28 - Execute "SELECT * FROM nonexistant" has errstr
1..28
ok
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 188.
# 
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 188.
# 
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(0x2973cc8),SQL::Statement::Table=HASH(0x2973f38)
# 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
not 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
#   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::CSV'
#   at t/01prepare.t line 309.
# Incomplete SET clause!
not ok 541 - parse 'SELECT * FROM bar WHERE EXP(1) = SINH(1)+COSH(1)' using DBD::CSV # TODO Analyze failures
#   Failed (TODO) test 'parse 'SELECT * FROM bar WHERE EXP(1) = SINH(1)+COSH(1)' using DBD::CSV'
#   at t/01prepare.t line 309.
# 
# Execution ERROR: Unknown predicate '{$VAR1 = {};
# }' called from /opt/local/lib/perl5/x86_64-linux-gnu-thread-multi/DBI/DBD/SqlEngine.pm at 268.
# 
not ok 542 - parse 'SELECT * FROM bar WHERE LOG(8, 2) = LOG10(8) / LOG10(2)' using DBD::CSV # TODO Analyze failures
#   Failed (TODO) test 'parse 'SELECT * FROM bar WHERE LOG(8, 2) = LOG10(8) / LOG10(2)' using DBD::CSV'
#   at t/01prepare.t line 309.
# 
# Execution ERROR: Unknown predicate '{$VAR1 = {};
# }' called from /opt/local/lib/perl5/x86_64-linux-gnu-thread-multi/DBI/DBD/SqlEngine.pm at 268.
# 
ok 543 - $sth->new
ok 544 - $sth->command
ok 545 - $sth->params
ok 546 - $sth->tables
ok 547 - $sth->where()->op
ok 548 - $sth->where()->left
ok 549 - $sth->where()->left->left
ok 550 - $sth->where()->left->right
ok 551 - $sth->limit
ok 552 - $sth->offset
# Command      SELECT
# Num Pholders 1
# Columns      
# Tables       SQL::Statement::Table=HASH(0x2eb14b8),SQL::Statement::Table=HASH(0x2e25058)
# Where op     AND
# Limit        2
# Offset       5
# Order Cols   f,g
ok 553 - $stmt->row_values()
ok 554 - $stmt->row_values(0)
ok 555 - $stmt->row_values(0,1)
ok 556 - structure
ok 557 - command
ok 558 - distinct
ok 559 - parse '  /* DROP TABLE */' using DBD::DBM
ok 560 - parse 'DROP TABLE foo' using DBD::DBM
ok 561 - parse 'DROP TABLE foo CASCADE' using DBD::DBM
ok 562 - parse 'DROP TABLE foo RESTRICT' using DBD::DBM
ok 563 - parse '  /* DELETE */' using DBD::DBM
ok 564 - parse 'DELETE FROM foo' using DBD::DBM
ok 565 - parse 'DELETE FROM foo WHERE id < 7' using DBD::DBM
ok 566 - parse '  /* UPDATE */' using DBD::DBM
ok 567 - parse 'UPDATE foo SET bar = 7' using DBD::DBM
ok 568 - parse 'UPDATE foo SET bar = 7 WHERE id > 7' using DBD::DBM
ok 569 - parse '  /* INSERT */' using DBD::DBM
ok 570 - parse 'INSERT INTO foo VALUES ( 'baz', 7, NULL )' using DBD::DBM
ok 571 - parse 'INSERT INTO foo (col1,col2,col7) VALUES ( 'baz', 7, NULL )' using DBD::DBM
ok 572 - parse '  /* CREATE TABLE */' using DBD::DBM
ok 573 - parse 'CREATE TABLE foo ( id INT )' using DBD::DBM
ok 574 - parse 'CREATE LOCAL TEMPORARY TABLE foo (id INT)' using DBD::DBM
ok 575 - parse 'CREATE LOCAL TEMPORARY TABLE foo (id INT) ON COMMIT DELETE ROWS' using DBD::DBM
ok 576 - parse 'CREATE LOCAL TEMPORARY TABLE foo (id INT) ON COMMIT PRESERVE ROWS' using DBD::DBM
ok 577 - parse 'CREATE GLOBAL TEMPORARY TABLE foo (id INT)' using DBD::DBM
ok 578 - parse 'CREATE GLOBAL TEMPORARY TABLE foo (id INT) ON COMMIT DELETE ROWS' using DBD::DBM
ok 579 - parse 'CREATE GLOBAL TEMPORARY TABLE foo (id INT) ON COMMIT PRESERVE ROWS' using DBD::DBM
ok 580 - parse 'CREATE TABLE foo ( id INTEGER, phrase VARCHAR(40) )' using DBD::DBM
ok 581 - parse 'CREATE TABLE foo ( id INTEGER UNIQUE, phrase VARCHAR(40) UNIQUE )' using DBD::DBM
ok 582 - parse 'CREATE TABLE foo ( id INTEGER PRIMARY KEY, phrase VARCHAR(40) UNIQUE )' using DBD::DBM
ok 583 - parse 'CREATE TABLE foo ( id INTEGER PRIMARY KEY, phrase VARCHAR(40) NOT NULL )' using DBD::DBM
ok 584 - parse 'CREATE TABLE foo ( id INTEGER NOT NULL, phrase VARCHAR(40) NOT NULL )' using DBD::DBM
ok 585 - parse 'CREATE TABLE foo ( id INTEGER UNIQUE NOT NULL, phrase VARCHAR(40) )' using DBD::DBM
ok 586 - parse 'CREATE TABLE foo ( phrase CHARACTER VARYING(255) )' using DBD::DBM
ok 587 - parse 'CREATE TABLE foo ( phrase NUMERIC(4,6) )' using DBD::DBM
ok 588 - 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 589 - parse 'CREATE TABLE foo ( id INTEGER, phrase VARCHAR(40), PRIMARY KEY ( "id" ), FOREIGN KEY ("id", "phrase") REFERENCES "bar" ("id2", "phrase2"))' using DBD::DBM
ok 590 - 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 591 - parse '  /* JOINS */' using DBD::DBM
ok 592 - parse 'SELECT Lnum,Llet,Ulet FROM zLower NATURAL INNER JOIN zUpper' using DBD::DBM
ok 593 - parse 'SELECT Lnum,Llet,Ulet FROM zLower NATURAL LEFT JOIN zUpper' using DBD::DBM
ok 594 - parse 'SELECT Lnum,Llet,Ulet FROM zLower NATURAL RIGHT JOIN zUpper' using DBD::DBM
ok 595 - parse 'SELECT Lnum,Llet,Ulet FROM zLower NATURAL FULL JOIN zUpper' using DBD::DBM
ok 596 - parse 'SELECT Lnum,Llet,Ulet FROM zLower INNER JOIN zUpper ON Lnum = Unum' using DBD::DBM
ok 597 - parse 'SELECT Lnum,Llet,Ulet FROM zLower LEFT JOIN zUpper ON Lnum = Unum' using DBD::DBM
ok 598 - parse 'SELECT Lnum,Llet,Ulet FROM zLower RIGHT JOIN zUpper ON Lnum = Unum' using DBD::DBM
ok 599 - parse 'SELECT Lnum,Llet,Ulet FROM zLower FULL JOIN zUpper ON Lnum = Unum' using DBD::DBM
ok 600 - parse 'SELECT Lnum,Llet,Ulet FROM zLower INNER JOIN zUpper USING(num)' using DBD::DBM
ok 601 - parse 'SELECT Lnum,Llet,Ulet FROM zLower LEFT JOIN zUpper USING(num)' using DBD::DBM
ok 602 - parse 'SELECT Lnum,Llet,Ulet FROM zLower RIGHT JOIN zUpper USING(num)' using DBD::DBM
ok 603 - parse 'SELECT Lnum,Llet,Ulet FROM zLower FULL JOIN zUpper USING(num)' using DBD::DBM
ok 604 - parse 'SELECT Lnum,Llet,Ulet FROM zLower,zUpper WHERE Lnum = Unum' using DBD::DBM
ok 605 - parse 'SELECT * FROM zLower NATURAL INNER JOIN zUpper' using DBD::DBM
ok 606 - parse 'SELECT * FROM zLower NATURAL LEFT JOIN zUpper' using DBD::DBM
ok 607 - parse 'SELECT * FROM zLower NATURAL RIGHT JOIN zUpper' using DBD::DBM
ok 608 - parse 'SELECT * FROM zLower NATURAL FULL JOIN zUpper' using DBD::DBM
ok 609 - parse 'SELECT * FROM zLower INNER JOIN zUpper ON Lnum = Unum' using DBD::DBM
ok 610 - parse 'SELECT * FROM zLower LEFT JOIN zUpper ON Lnum = Unum' using DBD::DBM
ok 611 - parse 'SELECT * FROM zLower RIGHT JOIN zUpper ON Lnum = Unum' using DBD::DBM
ok 612 - parse 'SELECT * FROM zLower FULL JOIN zUpper ON Lnum = Unum' using DBD::DBM
ok 613 - parse 'SELECT * FROM zLower INNER JOIN zUpper USING(num)' using DBD::DBM
ok 614 - parse 'SELECT * FROM zLower LEFT JOIN zUpper USING(num)' using DBD::DBM
ok 615 - parse 'SELECT * FROM zLower RIGHT JOIN zUpper USING(num)' using DBD::DBM
ok 616 - parse 'SELECT * FROM zLower FULL JOIN zUpper USING(num)' using DBD::DBM
ok 617 - parse 'SELECT * FROM zLower,zUpper WHERE Lnum = Unum' using DBD::DBM
ok 618 - parse '  /* SELECT COLUMNS */' using DBD::DBM
ok 619 - parse 'SELECT id, phrase FROM foo' using DBD::DBM
ok 620 - parse 'SELECT * FROM foo' using DBD::DBM
ok 621 - parse 'SELECT DISTINCT * FROM foo' using DBD::DBM
ok 622 - parse 'SELECT ALL * FROM foo' using DBD::DBM
ok 623 - parse 'SELECT A.*,B.* FROM A,B WHERE A.id=B.id' using DBD::DBM
ok 624 - parse '  /* SET FUNCTIONS */' using DBD::DBM
ok 625 - parse 'SELECT MAX(foo) FROM bar' using DBD::DBM
ok 626 - parse 'SELECT MIN(foo) FROM bar' using DBD::DBM
ok 627 - parse 'SELECT AVG(foo) FROM bar' using DBD::DBM
ok 628 - parse 'SELECT SUM(foo) FROM bar' using DBD::DBM
ok 629 - parse 'SELECT COUNT(foo) FROM foo' using DBD::DBM
ok 630 - parse 'SELECT COUNT(*) FROM foo' using DBD::DBM
ok 631 - parse 'SELECT SUM(DISTINCT foo) FROM bar' using DBD::DBM
ok 632 - parse 'SELECT SUM(ALL foo) FROM bar' using DBD::DBM
ok 633 - parse '  /* ORDER BY */' using DBD::DBM
ok 634 - parse 'SELECT * FROM foo ORDER BY bar' using DBD::DBM
ok 635 - parse 'SELECT * FROM foo ORDER BY bar, baz' using DBD::DBM
ok 636 - parse 'SELECT * FROM foo ORDER BY bar DESC' using DBD::DBM
ok 637 - parse 'SELECT * FROM foo ORDER BY bar ASC' using DBD::DBM
ok 638 - parse '  /* LIMIT */' using DBD::DBM
ok 639 - parse 'SELECT * FROM foo LIMIT 5' using DBD::DBM
ok 640 - parse 'SELECT * FROM foo LIMIT 0, 5' using DBD::DBM
ok 641 - parse 'SELECT * FROM foo LIMIT 5, 10' using DBD::DBM
ok 642 - parse '/* DATE/TIME FUNCTIONS */' using DBD::DBM
ok 643 - parse 'SELECT CURRENT_DATE()' using DBD::DBM
ok 644 - parse 'SELECT CURRENT_TIME()' using DBD::DBM
ok 645 - parse 'SELECT CURRENT_TIMESTAMP()' using DBD::DBM
ok 646 - parse 'SELECT CURDATE()' using DBD::DBM
ok 647 - parse 'SELECT CURTIME()' using DBD::DBM
ok 648 - parse 'SELECT NOW()' using DBD::DBM
ok 649 - parse 'SELECT UNIX_TIMESTAMP()      ' using DBD::DBM
ok 650 - parse 'SELECT CURRENT_TIME(2)' using DBD::DBM
ok 651 - parse 'SELECT CURRENT_TIMESTAMP(2)' using DBD::DBM
ok 652 - parse 'SELECT CURTIME(2)' using DBD::DBM
ok 653 - parse 'SELECT NOW(2)' using DBD::DBM
ok 654 - parse 'SELECT UNIX_TIMESTAMP(2)' using DBD::DBM
ok 655 - parse '  /* STRING FUNCTIONS */' using DBD::DBM
ok 656 - parse 'SELECT * FROM foo WHERE ASCII(status) = 65' using DBD::DBM
ok 657 - parse 'SELECT * FROM foo WHERE CHAR(code) = 'A'' using DBD::DBM
ok 658 - parse 'SELECT * FROM foo WHERE CHAR(chr1,chr2,chr3) = 'ABC'' using DBD::DBM
ok 659 - parse 'SELECT * FROM foo WHERE BIT_LENGTH(str) = 27' using DBD::DBM
ok 660 - parse 'SELECT * FROM foo WHERE CHARACTER_LENGTH(str) = 6' using DBD::DBM
ok 661 - parse 'SELECT * FROM foo WHERE CHAR_LENGTH(str) = 6' using DBD::DBM
ok 662 - parse 'SELECT * FROM foo WHERE COALESCE(NULL, status) = 'bar'' using DBD::DBM
ok 663 - parse 'SELECT * FROM foo WHERE NVL(NULL, status) = 'bar'' using DBD::DBM
ok 664 - parse 'SELECT * FROM foo WHERE IFNULL(NULL, status) = 'bar'' using DBD::DBM
ok 665 - parse 'SELECT * FROM foo WHERE CONCAT(str1, str2) = 'bar'' using DBD::DBM
ok 666 - parse 'SELECT * FROM foo WHERE DECODE(color,'White','W','Red','R','B') = 'W'' using DBD::DBM
ok 667 - parse 'SELECT * FROM foo WHERE INSERT(str1, 4, 5, str2) = 'foobarland'' using DBD::DBM
ok 668 - parse 'SELECT * FROM foo WHERE LEFT(phrase) = 'bar'' using DBD::DBM
ok 669 - parse 'SELECT * FROM foo WHERE RIGHT(phrase) = 'bar'' using DBD::DBM
ok 670 - parse 'SELECT * FROM foo WHERE LOCATE(str1, str2) = 2' using DBD::DBM
ok 671 - parse 'SELECT * FROM foo WHERE LOCATE(str1, str2, 3) = 5' using DBD::DBM
ok 672 - parse 'SELECT * FROM foo WHERE POSITION(str1, str2) = 2' using DBD::DBM
ok 673 - parse 'SELECT * FROM foo WHERE POSITION(str1, str2, 3) = 5' using DBD::DBM
ok 674 - parse 'SELECT * FROM foo WHERE LOWER(phrase) = 'bar'' using DBD::DBM
ok 675 - parse 'SELECT * FROM foo WHERE UPPER(phrase) = 'BAR'' using DBD::DBM
ok 676 - parse 'SELECT * FROM foo WHERE LCASE(phrase) = 'BAR'' using DBD::DBM
ok 677 - parse 'SELECT * FROM foo WHERE UCASE(phrase) = 'bar'' using DBD::DBM
ok 678 - parse 'SELECT * FROM foo WHERE LTRIM(str) = 'bar'' using DBD::DBM
ok 679 - parse 'SELECT * FROM foo WHERE RTRIM(str) = 'bar'' using DBD::DBM
ok 680 - parse 'SELECT * FROM foo WHERE OCTET_LENGTH(str) = 12' using DBD::DBM
ok 681 - parse 'SELECT * FROM foo WHERE REGEX(phrase, '/EF/i') = TRUE' using DBD::DBM
ok 682 - parse 'SELECT * FROM foo WHERE REPEAT(status, 3) = 'AAA'' using DBD::DBM
ok 683 - parse 'SELECT * FROM foo WHERE REPLACE(phrase, 's/z(.+)ky//i') = 'bar'' using DBD::DBM
ok 684 - parse 'SELECT * FROM foo WHERE SUBSTITUTE(phrase, 's/z(.+)ky//i') = 'bar'' using DBD::DBM
ok 685 - parse 'SELECT * FROM foo WHERE SOUNDEX(name1, name2) = TRUE' using DBD::DBM
ok 686 - parse 'SELECT * FROM foo WHERE SPACE(num) = '   '' using DBD::DBM
ok 687 - parse 'SELECT * FROM foo WHERE blat = SUBSTRING(bar FROM 3 FOR 6)' using DBD::DBM
ok 688 - parse 'SELECT * FROM foo WHERE blat = SUBSTRING(bar FROM 3)' using DBD::DBM
ok 689 - parse 'SELECT * FROM foo WHERE blat = SUBSTR(bar, 3, 6)' using DBD::DBM
ok 690 - parse 'SELECT * FROM foo WHERE blat = SUBSTR(bar, 3)' using DBD::DBM
ok 691 - parse 'SELECT * FROM foo WHERE blat = TRANSLATE(bar, set1, set2)' using DBD::DBM
ok 692 - parse 'SELECT * FROM foo WHERE TRIM( str ) = 'bar'' using DBD::DBM
ok 693 - parse 'SELECT * FROM foo WHERE TRIM( LEADING FROM str ) = 'bar'' using DBD::DBM
ok 694 - parse 'SELECT * FROM foo WHERE TRIM( TRAILING FROM str ) = 'bar'' using DBD::DBM
ok 695 - parse 'SELECT * FROM foo WHERE TRIM( BOTH FROM str ) = 'bar'' using DBD::DBM
ok 696 - parse 'SELECT * FROM foo WHERE TRIM( LEADING ';' FROM str ) = 'bar'' using DBD::DBM
ok 697 - parse 'SELECT * FROM foo WHERE TRIM( UPPER(phrase) ) = 'bar'' using DBD::DBM
ok 698 - parse 'SELECT * FROM foo WHERE TRIM( LOWER(phrase) ) = 'bar'' using DBD::DBM
ok 699 - parse 'UPDATE foo SET bar='baz', bop=7, bump=bar+8, blat=SUBSTRING(bar FROM 3 FOR 6)' using DBD::DBM
ok 700 - parse '  /* NUMERIC FUNCTIONS */' using DBD::DBM
ok 701 - parse 'SELECT * FROM bar WHERE ABS(-4) = 4' using DBD::DBM
ok 702 - parse 'SELECT * FROM bar WHERE CEILING(-4.5) = -4' using DBD::DBM
ok 703 - parse 'SELECT * FROM bar WHERE CEIL(-4.9) = -4' using DBD::DBM
ok 704 - parse 'SELECT * FROM bar WHERE FLOOR(4.999999999999) = 4' using DBD::DBM
ok 705 - parse 'SELECT * FROM bar WHERE LOG(6) = LOG10(6)' using DBD::DBM
ok 706 - parse 'SELECT * FROM bar WHERE LN(1) = EXP(1)' using DBD::DBM
ok 707 - parse 'SELECT * FROM bar WHERE MOD(8, 5) = 3' using DBD::DBM
ok 708 - parse 'SELECT * FROM bar WHERE POWER(2, 4) = 16' using DBD::DBM
ok 709 - parse 'SELECT * FROM bar WHERE POW(2, 4) = 16' using DBD::DBM
ok 710 - parse 'SELECT * FROM bar WHERE RAND(2) = 0' using DBD::DBM
ok 711 - parse 'SELECT * FROM bar WHERE RAND(2, UNIX_TIMESTAMP()) = 0' using DBD::DBM
ok 712 - parse 'SELECT * FROM bar WHERE ROUND(4.999999999999) = 5' using DBD::DBM
ok 713 - parse 'SELECT * FROM bar WHERE ROUND(4.542222222222, 1) = 4.5' using DBD::DBM
ok 714 - parse 'SELECT * FROM bar WHERE SIGN(-25.5) = -1' using DBD::DBM
ok 715 - parse 'SELECT * FROM bar WHERE SIGN(53645) = 1' using DBD::DBM
ok 716 - parse 'SELECT * FROM bar WHERE SIGN(0) = 0' using DBD::DBM
ok 717 - parse 'SELECT * FROM bar WHERE SIGN(NULL) = NULL' using DBD::DBM
ok 718 - parse 'SELECT * FROM bar WHERE SQRT(64) = 8' using DBD::DBM
ok 719 - parse 'SELECT * FROM bar WHERE TRUNCATE(4.999999999999) = 4' using DBD::DBM
ok 720 - parse 'SELECT * FROM bar WHERE TRUNC(-4.9) = -4' using DBD::DBM
ok 721 - parse 'SELECT * FROM bar WHERE TRUNCATE(4.934, 1) = 4.9' using DBD::DBM
ok 722 - parse 'SELECT * FROM bar WHERE TRUNC(-4.99999, 1) = -4.9' using DBD::DBM
ok 723 - parse '  /* TRIGONOMETRIC FUNCTIONS */' using DBD::DBM
ok 724 - parse 'SELECT * FROM test WHERE ACOS(x)' using DBD::DBM
ok 725 - parse 'SELECT * FROM test WHERE ACOSEC(x)' using DBD::DBM
ok 726 - parse 'SELECT * FROM test WHERE ACOSECH(x)' using DBD::DBM
ok 727 - parse 'SELECT * FROM test WHERE ACOSH(x)' using DBD::DBM
ok 728 - parse 'SELECT * FROM test WHERE ACOT(x)' using DBD::DBM
ok 729 - parse 'SELECT * FROM test WHERE ACOTAN(x)' using DBD::DBM
ok 730 - parse 'SELECT * FROM test WHERE ACOTANH(x)' using DBD::DBM
ok 731 - parse 'SELECT * FROM test WHERE ACOTH(x)' using DBD::DBM
ok 732 - parse 'SELECT * FROM test WHERE ACSC(x)' using DBD::DBM
ok 733 - parse 'SELECT * FROM test WHERE ACSCH(x)' using DBD::DBM
ok 734 - parse 'SELECT * FROM test WHERE ASEC(x)' using DBD::DBM
ok 735 - parse 'SELECT * FROM test WHERE ASECH(x)' using DBD::DBM
ok 736 - parse 'SELECT * FROM test WHERE ASIN(x)' using DBD::DBM
ok 737 - parse 'SELECT * FROM test WHERE ASINH(x)' using DBD::DBM
ok 738 - parse 'SELECT * FROM test WHERE ATAN(x)' using DBD::DBM
ok 739 - parse 'SELECT * FROM test WHERE ATAN2(y, x)' using DBD::DBM
ok 740 - parse 'SELECT * FROM test WHERE ATANH(x)' using DBD::DBM
ok 741 - parse 'SELECT * FROM test WHERE COS(x)' using DBD::DBM
ok 742 - parse 'SELECT * FROM test WHERE COSEC(x)' using DBD::DBM
ok 743 - parse 'SELECT * FROM test WHERE COSECH(x)' using DBD::DBM
ok 744 - parse 'SELECT * FROM test WHERE COSH(x)' using DBD::DBM
ok 745 - parse 'SELECT * FROM test WHERE COT(x)' using DBD::DBM
ok 746 - parse 'SELECT * FROM test WHERE COTAN(x)' using DBD::DBM
ok 747 - parse 'SELECT * FROM test WHERE COTANH(x)' using DBD::DBM
ok 748 - parse 'SELECT * FROM test WHERE COTH(x)' using DBD::DBM
ok 749 - parse 'SELECT * FROM test WHERE CSC(x)' using DBD::DBM
ok 750 - parse 'SELECT * FROM test WHERE CSCH(x)' using DBD::DBM
ok 751 - parse 'SELECT * FROM test WHERE DEG2DEG(deg)' using DBD::DBM
ok 752 - parse 'SELECT * FROM test WHERE RAD2RAD(rad)' using DBD::DBM
ok 753 - parse 'SELECT * FROM test WHERE GRAD2GRAD(grad)' using DBD::DBM
ok 754 - parse 'SELECT * FROM test WHERE DEG2GRAD(deg)' using DBD::DBM
ok 755 - parse 'SELECT * FROM test WHERE DEG2RAD(deg)' using DBD::DBM
ok 756 - parse 'SELECT * FROM test WHERE GRAD2DEG(grad)' using DBD::DBM
ok 757 - parse 'SELECT * FROM test WHERE GRAD2RAD(grad)' using DBD::DBM
ok 758 - parse 'SELECT * FROM test WHERE RAD2DEG(rad)' using DBD::DBM
ok 759 - parse 'SELECT * FROM test WHERE RAD2GRAD(rad)' using DBD::DBM
ok 760 - parse 'SELECT * FROM test WHERE DEGREES(rad)' using DBD::DBM
ok 761 - parse 'SELECT * FROM test WHERE RADIANS(deg)' using DBD::DBM
ok 762 - parse 'SELECT * FROM test WHERE DEG2DEG(deg, TRUE)' using DBD::DBM
ok 763 - parse 'SELECT * FROM test WHERE RAD2RAD(rad, TRUE)' using DBD::DBM
ok 764 - parse 'SELECT * FROM test WHERE GRAD2GRAD(grad, TRUE)' using DBD::DBM
ok 765 - parse 'SELECT * FROM test WHERE DEG2GRAD(deg, TRUE)' using DBD::DBM
ok 766 - parse 'SELECT * FROM test WHERE DEG2RAD(deg, TRUE)' using DBD::DBM
ok 767 - parse 'SELECT * FROM test WHERE GRAD2DEG(grad, TRUE)' using DBD::DBM
ok 768 - parse 'SELECT * FROM test WHERE GRAD2RAD(grad, TRUE)' using DBD::DBM
ok 769 - parse 'SELECT * FROM test WHERE RAD2DEG(rad, TRUE)' using DBD::DBM
ok 770 - parse 'SELECT * FROM test WHERE RAD2GRAD(rad, TRUE)' using DBD::DBM
ok 771 - parse 'SELECT * FROM test WHERE DEGREES(rad, TRUE)' using DBD::DBM
ok 772 - parse 'SELECT * FROM test WHERE RADIANS(deg, TRUE)' using DBD::DBM
ok 773 - parse 'SELECT * FROM test WHERE PI()' using DBD::DBM
ok 774 - parse 'SELECT * FROM test WHERE SEC(x)' using DBD::DBM
ok 775 - parse 'SELECT * FROM test WHERE SECH(x)' using DBD::DBM
ok 776 - parse 'SELECT * FROM test WHERE SIN(x)' using DBD::DBM
ok 777 - parse 'SELECT * FROM test WHERE SINH(x)' using DBD::DBM
ok 778 - parse 'SELECT * FROM test WHERE TAN(x)' using DBD::DBM
ok 779 - parse 'SELECT * FROM test WHERE TANH(x)' using DBD::DBM
ok 780 - parse '  /* SYSTEM FUNCTIONS */' using DBD::DBM
ok 781 - parse 'SELECT * FROM ztable WHERE DBNAME() = foobar' using DBD::DBM
ok 782 - parse 'SELECT * FROM ztable WHERE USERNAME() = foobar' using DBD::DBM
ok 783 - parse 'SELECT * FROM ztable WHERE USER() = foobar' using DBD::DBM
ok 784 - parse '  /* TABLE NAME ALIASES */' using DBD::DBM
ok 785 - parse 'SELECT * FROM test as T1' using DBD::DBM
ok 786 - parse 'SELECT * FROM test T1' using DBD::DBM
ok 787 - parse 'SELECT T1.id, T2.num FROM test as T1 JOIN test2 as T2 USING(id)' using DBD::DBM
ok 788 - parse 'SELECT id FROM test as T1 WHERE T1.num < 7' using DBD::DBM
ok 789 - parse 'SELECT id FROM test as T1 ORDER BY T1.num' using DBD::DBM
ok 790 - 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 791 - parse '  /* NUMERIC EXPRESSIONS */' using DBD::DBM
ok 792 - parse 'SELECT * FROM foo WHERE 1 = 0 AND baz < (6*foo+11-r)' using DBD::DBM
ok 793 - parse '  /* CASE OF IDENTIFIERS */' using DBD::DBM
ok 794 - parse 'SELECT ID, phRase FROM tEst AS tE WHERE te.id < 3 ORDER BY TE.phrasE' using DBD::DBM
ok 795 - parse '  /* PARENS */' using DBD::DBM
ok 796 - parse 'SELECT * FROM ztable WHERE NOT data IN ('one','two')' using DBD::DBM
ok 797 - parse 'SELECT * from ztable WHERE (aaa > 'AAA')' using DBD::DBM
ok 798 - parse 'SELECT * from ztable WHERE  sev = 50 OR sev = 60' using DBD::DBM
ok 799 - parse 'SELECT * from ztable WHERE (sev = 50 OR sev = 60)' using DBD::DBM
ok 800 - parse 'SELECT * from ztable WHERE sev IN (50,60)' using DBD::DBM
ok 801 - parse 'SELECT * from ztable WHERE rc > 200 AND ( sev IN(50,60) )' using DBD::DBM
ok 802 - parse 'SELECT * FROM ztable WHERE data NOT IN ('one','two')' using DBD::DBM
ok 803 - parse 'SELECT * from ztable WHERE (aaa > 'AAA') AND (zzz < 'ZZZ')' using DBD::DBM
ok 804 - parse 'SELECT * from ztable WHERE (sev IN(50,60))' using DBD::DBM
ok 805 - parse '  /* NOT */' using DBD::DBM
ok 806 - parse 'SELECT * FROM foo WHERE NOT bar = 'baz' AND bop = 7 OR NOT blat = bar' using DBD::DBM
ok 807 - parse 'SELECT * FROM foo WHERE NOT bar = 'baz' AND NOT bop = 7 OR NOT blat = bar' using DBD::DBM
ok 808 - parse 'SELECT * FROM foo WHERE NOT bar = 'baz' AND NOT bop = 7 OR blat IS NOT NULL' using DBD::DBM
ok 809 - parse '  /* IN */' using DBD::DBM
ok 810 - parse 'SELECT * FROM bar WHERE foo IN ('aa','ab','ba','bb')' using DBD::DBM
ok 811 - parse 'SELECT * FROM bar WHERE foo IN (3.14,2.72,1.41,9.81)' using DBD::DBM
ok 812 - parse 'SELECT * FROM bar WHERE foo NOT IN ('aa','ab','ba','bb')' using DBD::DBM
ok 813 - parse 'SELECT * FROM bar WHERE foo NOT IN (3.14,2.72,1.41,9.81)' using DBD::DBM
ok 814 - parse '  /* BETWEEN */' using DBD::DBM
ok 815 - parse 'SELECT * FROM bar WHERE foo BETWEEN ('aa','bb')' using DBD::DBM
ok 816 - parse 'SELECT * FROM bar WHERE foo BETWEEN (1.41,9.81)' using DBD::DBM
ok 817 - parse 'SELECT * FROM bar WHERE foo NOT BETWEEN ('aa','bb')' using DBD::DBM
ok 818 - parse 'SELECT * FROM bar WHERE foo NOT BETWEEN (1.41,9.81)' using DBD::DBM
not ok 819 - 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 309.
# Incomplete SET clause!
not ok 820 - 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 309.
# 
# Execution ERROR: Unknown predicate '{$VAR1 = {};
# }' called from /opt/local/lib/perl5/x86_64-linux-gnu-thread-multi/DBI/DBD/SqlEngine.pm at 268.
# 
not ok 821 - 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 309.
# 
# Execution ERROR: Unknown predicate '{$VAR1 = {};
# }' called from /opt/local/lib/perl5/x86_64-linux-gnu-thread-multi/DBI/DBD/SqlEngine.pm at 268.
# 
ok 822 - $sth->new
ok 823 - $sth->command
ok 824 - $sth->params
ok 825 - $sth->tables
ok 826 - $sth->where()->op
ok 827 - $sth->where()->left
ok 828 - $sth->where()->left->left
ok 829 - $sth->where()->left->right
ok 830 - $sth->limit
ok 831 - $sth->offset
# Command      SELECT
# Num Pholders 1
# Columns      
# Tables       SQL::Statement::Table=HASH(0x2f21ac8),SQL::Statement::Table=HASH(0x2eb74e8)
# Where op     AND
# Limit        2
# Offset       5
# Order Cols   f,g
ok 832 - $stmt->row_values()
ok 833 - $stmt->row_values(0)
ok 834 - $stmt->row_values(0,1)
ok 835 - structure
ok 836 - command
ok 837 - distinct
ok 838 - parse '  /* DROP TABLE */' using DBD::File
ok 839 - parse 'DROP TABLE foo' using DBD::File
ok 840 - parse 'DROP TABLE foo CASCADE' using DBD::File
ok 841 - parse 'DROP TABLE foo RESTRICT' using DBD::File
ok 842 - parse '  /* DELETE */' using DBD::File
ok 843 - parse 'DELETE FROM foo' using DBD::File
ok 844 - parse 'DELETE FROM foo WHERE id < 7' using DBD::File
ok 845 - parse '  /* UPDATE */' using DBD::File
ok 846 - parse 'UPDATE foo SET bar = 7' using DBD::File
ok 847 - parse 'UPDATE foo SET bar = 7 WHERE id > 7' using DBD::File
ok 848 - parse '  /* INSERT */' using DBD::File
ok 849 - parse 'INSERT INTO foo VALUES ( 'baz', 7, NULL )' using DBD::File
ok 850 - parse 'INSERT INTO foo (col1,col2,col7) VALUES ( 'baz', 7, NULL )' using DBD::File
ok 851 - parse '  /* CREATE TABLE */' using DBD::File
ok 852 - parse 'CREATE TABLE foo ( id INT )' using DBD::File
ok 853 - parse 'CREATE LOCAL TEMPORARY TABLE foo (id INT)' using DBD::File
ok 854 - parse 'CREATE LOCAL TEMPORARY TABLE foo (id INT) ON COMMIT DELETE ROWS' using DBD::File
ok 855 - parse 'CREATE LOCAL TEMPORARY TABLE foo (id INT) ON COMMIT PRESERVE ROWS' using DBD::File
ok 856 - parse 'CREATE GLOBAL TEMPORARY TABLE foo (id INT)' using DBD::File
ok 857 - parse 'CREATE GLOBAL TEMPORARY TABLE foo (id INT) ON COMMIT DELETE ROWS' using DBD::File
ok 858 - parse 'CREATE GLOBAL TEMPORARY TABLE foo (id INT) ON COMMIT PRESERVE ROWS' using DBD::File
ok 859 - parse 'CREATE TABLE foo ( id INTEGER, phrase VARCHAR(40) )' using DBD::File
ok 860 - parse 'CREATE TABLE foo ( id INTEGER UNIQUE, phrase VARCHAR(40) UNIQUE )' using DBD::File
ok 861 - parse 'CREATE TABLE foo ( id INTEGER PRIMARY KEY, phrase VARCHAR(40) UNIQUE )' using DBD::File
ok 862 - parse 'CREATE TABLE foo ( id INTEGER PRIMARY KEY, phrase VARCHAR(40) NOT NULL )' using DBD::File
ok 863 - parse 'CREATE TABLE foo ( id INTEGER NOT NULL, phrase VARCHAR(40) NOT NULL )' using DBD::File
ok 864 - parse 'CREATE TABLE foo ( id INTEGER UNIQUE NOT NULL, phrase VARCHAR(40) )' using DBD::File
ok 865 - parse 'CREATE TABLE foo ( phrase CHARACTER VARYING(255) )' using DBD::File
ok 866 - parse 'CREATE TABLE foo ( phrase NUMERIC(4,6) )' using DBD::File
ok 867 - 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 868 - parse 'CREATE TABLE foo ( id INTEGER, phrase VARCHAR(40), PRIMARY KEY ( "id" ), FOREIGN KEY ("id", "phrase") REFERENCES "bar" ("id2", "phrase2"))' using DBD::File
ok 869 - 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 870 - parse '  /* JOINS */' using DBD::File
ok 871 - parse 'SELECT Lnum,Llet,Ulet FROM zLower NATURAL INNER JOIN zUpper' using DBD::File
ok 872 - parse 'SELECT Lnum,Llet,Ulet FROM zLower NATURAL LEFT JOIN zUpper' using DBD::File
ok 873 - parse 'SELECT Lnum,Llet,Ulet FROM zLower NATURAL RIGHT JOIN zUpper' using DBD::File
ok 874 - parse 'SELECT Lnum,Llet,Ulet FROM zLower NATURAL FULL JOIN zUpper' using DBD::File
ok 875 - parse 'SELECT Lnum,Llet,Ulet FROM zLower INNER JOIN zUpper ON Lnum = Unum' using DBD::File
ok 876 - parse 'SELECT Lnum,Llet,Ulet FROM zLower LEFT JOIN zUpper ON Lnum = Unum' using DBD::File
ok 877 - parse 'SELECT Lnum,Llet,Ulet FROM zLower RIGHT JOIN zUpper ON Lnum = Unum' using DBD::File
ok 878 - parse 'SELECT Lnum,Llet,Ulet FROM zLower FULL JOIN zUpper ON Lnum = Unum' using DBD::File
ok 879 - parse 'SELECT Lnum,Llet,Ulet FROM zLower INNER JOIN zUpper USING(num)' using DBD::File
ok 880 - parse 'SELECT Lnum,Llet,Ulet FROM zLower LEFT JOIN zUpper USING(num)' using DBD::File
ok 881 - parse 'SELECT Lnum,Llet,Ulet FROM zLower RIGHT JOIN zUpper USING(num)' using DBD::File
ok 882 - parse 'SELECT Lnum,Llet,Ulet FROM zLower FULL JOIN zUpper USING(num)' using DBD::File
ok 883 - parse 'SELECT Lnum,Llet,Ulet FROM zLower,zUpper WHERE Lnum = Unum' using DBD::File
ok 884 - parse 'SELECT * FROM zLower NATURAL INNER JOIN zUpper' using DBD::File
ok 885 - parse 'SELECT * FROM zLower NATURAL LEFT JOIN zUpper' using DBD::File
ok 886 - parse 'SELECT * FROM zLower NATURAL RIGHT JOIN zUpper' using DBD::File
ok 887 - parse 'SELECT * FROM zLower NATURAL FULL JOIN zUpper' using DBD::File
ok 888 - parse 'SELECT * FROM zLower INNER JOIN zUpper ON Lnum = Unum' using DBD::File
ok 889 - parse 'SELECT * FROM zLower LEFT JOIN zUpper ON Lnum = Unum' using DBD::File
ok 890 - parse 'SELECT * FROM zLower RIGHT JOIN zUpper ON Lnum = Unum' using DBD::File
ok 891 - parse 'SELECT * FROM zLower FULL JOIN zUpper ON Lnum = Unum' using DBD::File
ok 892 - parse 'SELECT * FROM zLower INNER JOIN zUpper USING(num)' using DBD::File
ok 893 - parse 'SELECT * FROM zLower LEFT JOIN zUpper USING(num)' using DBD::File
ok 894 - parse 'SELECT * FROM zLower RIGHT JOIN zUpper USING(num)' using DBD::File
ok 895 - parse 'SELECT * FROM zLower FULL JOIN zUpper USING(num)' using DBD::File
ok 896 - parse 'SELECT * FROM zLower,zUpper WHERE Lnum = Unum' using DBD::File
ok 897 - parse '  /* SELECT COLUMNS */' using DBD::File
ok 898 - parse 'SELECT id, phrase FROM foo' using DBD::File
ok 899 - parse 'SELECT * FROM foo' using DBD::File
ok 900 - parse 'SELECT DISTINCT * FROM foo' using DBD::File
ok 901 - parse 'SELECT ALL * FROM foo' using DBD::File
ok 902 - parse 'SELECT A.*,B.* FROM A,B WHERE A.id=B.id' using DBD::File
ok 903 - parse '  /* SET FUNCTIONS */' using DBD::File
ok 904 - parse 'SELECT MAX(foo) FROM bar' using DBD::File
ok 905 - parse 'SELECT MIN(foo) FROM bar' using DBD::File
ok 906 - parse 'SELECT AVG(foo) FROM bar' using DBD::File
ok 907 - parse 'SELECT SUM(foo) FROM bar' using DBD::File
ok 908 - parse 'SELECT COUNT(foo) FROM foo' using DBD::File
ok 909 - parse 'SELECT COUNT(*) FROM foo' using DBD::File
ok 910 - parse 'SELECT SUM(DISTINCT foo) FROM bar' using DBD::File
ok 911 - parse 'SELECT SUM(ALL foo) FROM bar' using DBD::File
ok 912 - parse '  /* ORDER BY */' using DBD::File
ok 913 - parse 'SELECT * FROM foo ORDER BY bar' using DBD::File
ok 914 - parse 'SELECT * FROM foo ORDER BY bar, baz' using DBD::File
ok 915 - parse 'SELECT * FROM foo ORDER BY bar DESC' using DBD::File
ok 916 - parse 'SELECT * FROM foo ORDER BY bar ASC' using DBD::File
ok 917 - parse '  /* LIMIT */' using DBD::File
ok 918 - parse 'SELECT * FROM foo LIMIT 5' using DBD::File
ok 919 - parse 'SELECT * FROM foo LIMIT 0, 5' using DBD::File
ok 920 - parse 'SELECT * FROM foo LIMIT 5, 10' using DBD::File
ok 921 - parse '/* DATE/TIME FUNCTIONS */' using DBD::File
ok 922 - parse 'SELECT CURRENT_DATE()' using DBD::File
ok 923 - parse 'SELECT CURRENT_TIME()' using DBD::File
ok 924 - parse 'SELECT CURRENT_TIMESTAMP()' using DBD::File
ok 925 - parse 'SELECT CURDATE()' using DBD::File
ok 926 - parse 'SELECT CURTIME()' using DBD::File
ok 927 - parse 'SELECT NOW()' using DBD::File
ok 928 - parse 'SELECT UNIX_TIMESTAMP()      ' using DBD::File
ok 929 - parse 'SELECT CURRENT_TIME(2)' using DBD::File
ok 930 - parse 'SELECT CURRENT_TIMESTAMP(2)' using DBD::File
ok 931 - parse 'SELECT CURTIME(2)' using DBD::File
ok 932 - parse 'SELECT NOW(2)' using DBD::File
ok 933 - parse 'SELECT UNIX_TIMESTAMP(2)' using DBD::File
ok 934 - parse '  /* STRING FUNCTIONS */' using DBD::File
ok 935 - parse 'SELECT * FROM foo WHERE ASCII(status) = 65' using DBD::File
ok 936 - parse 'SELECT * FROM foo WHERE CHAR(code) = 'A'' using DBD::File
ok 937 - parse 'SELECT * FROM foo WHERE CHAR(chr1,chr2,chr3) = 'ABC'' using DBD::File
ok 938 - parse 'SELECT * FROM foo WHERE BIT_LENGTH(str) = 27' using DBD::File
ok 939 - parse 'SELECT * FROM foo WHERE CHARACTER_LENGTH(str) = 6' using DBD::File
ok 940 - parse 'SELECT * FROM foo WHERE CHAR_LENGTH(str) = 6' using DBD::File
ok 941 - parse 'SELECT * FROM foo WHERE COALESCE(NULL, status) = 'bar'' using DBD::File
ok 942 - parse 'SELECT * FROM foo WHERE NVL(NULL, status) = 'bar'' using DBD::File
ok 943 - parse 'SELECT * FROM foo WHERE IFNULL(NULL, status) = 'bar'' using DBD::File
ok 944 - parse 'SELECT * FROM foo WHERE CONCAT(str1, str2) = 'bar'' using DBD::File
ok 945 - parse 'SELECT * FROM foo WHERE DECODE(color,'White','W','Red','R','B') = 'W'' using DBD::File
ok 946 - parse 'SELECT * FROM foo WHERE INSERT(str1, 4, 5, str2) = 'foobarland'' using DBD::File
ok 947 - parse 'SELECT * FROM foo WHERE LEFT(phrase) = 'bar'' using DBD::File
ok 948 - parse 'SELECT * FROM foo WHERE RIGHT(phrase) = 'bar'' using DBD::File
ok 949 - parse 'SELECT * FROM foo WHERE LOCATE(str1, str2) = 2' using DBD::File
ok 950 - parse 'SELECT * FROM foo WHERE LOCATE(str1, str2, 3) = 5' using DBD::File
ok 951 - parse 'SELECT * FROM foo WHERE POSITION(str1, str2) = 2' using DBD::File
ok 952 - parse 'SELECT * FROM foo WHERE POSITION(str1, str2, 3) = 5' using DBD::File
ok 953 - parse 'SELECT * FROM foo WHERE LOWER(phrase) = 'bar'' using DBD::File
ok 954 - parse 'SELECT * FROM foo WHERE UPPER(phrase) = 'BAR'' using DBD::File
ok 955 - parse 'SELECT * FROM foo WHERE LCASE(phrase) = 'BAR'' using DBD::File
ok 956 - parse 'SELECT * FROM foo WHERE UCASE(phrase) = 'bar'' using DBD::File
ok 957 - parse 'SELECT * FROM foo WHERE LTRIM(str) = 'bar'' using DBD::File
ok 958 - parse 'SELECT * FROM foo WHERE RTRIM(str) = 'bar'' using DBD::File
ok 959 - parse 'SELECT * FROM foo WHERE OCTET_LENGTH(str) = 12' using DBD::File
ok 960 - parse 'SELECT * FROM foo WHERE REGEX(phrase, '/EF/i') = TRUE' using DBD::File
ok 961 - parse 'SELECT * FROM foo WHERE REPEAT(status, 3) = 'AAA'' using DBD::File
ok 962 - parse 'SELECT * FROM foo WHERE REPLACE(phrase, 's/z(.+)ky//i') = 'bar'' using DBD::File
ok 963 - parse 'SELECT * FROM foo WHERE SUBSTITUTE(phrase, 's/z(.+)ky//i') = 'bar'' using DBD::File
ok 964 - parse 'SELECT * FROM foo WHERE SOUNDEX(name1, name2) = TRUE' using DBD::File
ok 965 - parse 'SELECT * FROM foo WHERE SPACE(num) = '   '' using DBD::File
ok 966 - parse 'SELECT * FROM foo WHERE blat = SUBSTRING(bar FROM 3 FOR 6)' using DBD::File
ok 967 - parse 'SELECT * FROM foo WHERE blat = SUBSTRING(bar FROM 3)' using DBD::File
ok 968 - parse 'SELECT * FROM foo WHERE blat = SUBSTR(bar, 3, 6)' using DBD::File
ok 969 - parse 'SELECT * FROM foo WHERE blat = SUBSTR(bar, 3)' using DBD::File
ok 970 - parse 'SELECT * FROM foo WHERE blat = TRANSLATE(bar, set1, set2)' using DBD::File
ok 971 - parse 'SELECT * FROM foo WHERE TRIM( str ) = 'bar'' using DBD::File
ok 972 - parse 'SELECT * FROM foo WHERE TRIM( LEADING FROM str ) = 'bar'' using DBD::File
ok 973 - parse 'SELECT * FROM foo WHERE TRIM( TRAILING FROM str ) = 'bar'' using DBD::File
ok 974 - parse 'SELECT * FROM foo WHERE TRIM( BOTH FROM str ) = 'bar'' using DBD::File
ok 975 - parse 'SELECT * FROM foo WHERE TRIM( LEADING ';' FROM str ) = 'bar'' using DBD::File
ok 976 - parse 'SELECT * FROM foo WHERE TRIM( UPPER(phrase) ) = 'bar'' using DBD::File
ok 977 - parse 'SELECT * FROM foo WHERE TRIM( LOWER(phrase) ) = 'bar'' using DBD::File
ok 978 - parse 'UPDATE foo SET bar='baz', bop=7, bump=bar+8, blat=SUBSTRING(bar FROM 3 FOR 6)' using DBD::File
ok 979 - parse '  /* NUMERIC FUNCTIONS */' using DBD::File
ok 980 - parse 'SELECT * FROM bar WHERE ABS(-4) = 4' using DBD::File
ok 981 - parse 'SELECT * FROM bar WHERE CEILING(-4.5) = -4' using DBD::File
ok 982 - parse 'SELECT * FROM bar WHERE CEIL(-4.9) = -4' using DBD::File
ok 983 - parse 'SELECT * FROM bar WHERE FLOOR(4.999999999999) = 4' using DBD::File
ok 984 - parse 'SELECT * FROM bar WHERE LOG(6) = LOG10(6)' using DBD::File
ok 985 - parse 'SELECT * FROM bar WHERE LN(1) = EXP(1)' using DBD::File
ok 986 - parse 'SELECT * FROM bar WHERE MOD(8, 5) = 3' using DBD::File
ok 987 - parse 'SELECT * FROM bar WHERE POWER(2, 4) = 16' using DBD::File
ok 988 - parse 'SELECT * FROM bar WHERE POW(2, 4) = 16' using DBD::File
ok 989 - parse 'SELECT * FROM bar WHERE RAND(2) = 0' using DBD::File
ok 990 - parse 'SELECT * FROM bar WHERE RAND(2, UNIX_TIMESTAMP()) = 0' using DBD::File
ok 991 - parse 'SELECT * FROM bar WHERE ROUND(4.999999999999) = 5' using DBD::File
ok 992 - parse 'SELECT * FROM bar WHERE ROUND(4.542222222222, 1) = 4.5' using DBD::File
ok 993 - parse 'SELECT * FROM bar WHERE SIGN(-25.5) = -1' using DBD::File
ok 994 - parse 'SELECT * FROM bar WHERE SIGN(53645) = 1' using DBD::File
ok 995 - parse 'SELECT * FROM bar WHERE SIGN(0) = 0' using DBD::File
ok 996 - parse 'SELECT * FROM bar WHERE SIGN(NULL) = NULL' using DBD::File
ok 997 - parse 'SELECT * FROM bar WHERE SQRT(64) = 8' using DBD::File
ok 998 - parse 'SELECT * FROM bar WHERE TRUNCATE(4.999999999999) = 4' using DBD::File
ok 999 - parse 'SELECT * FROM bar WHERE TRUNC(-4.9) = -4' using DBD::File
ok 1000 - parse 'SELECT * FROM bar WHERE TRUNCATE(4.934, 1) = 4.9' using DBD::File
ok 1001 - parse 'SELECT * FROM bar WHERE TRUNC(-4.99999, 1) = -4.9' using DBD::File
ok 1002 - parse '  /* TRIGONOMETRIC FUNCTIONS */' using DBD::File
ok 1003 - parse 'SELECT * FROM test WHERE ACOS(x)' using DBD::File
ok 1004 - parse 'SELECT * FROM test WHERE ACOSEC(x)' using DBD::File
ok 1005 - parse 'SELECT * FROM test WHERE ACOSECH(x)' using DBD::File
ok 1006 - parse 'SELECT * FROM test WHERE ACOSH(x)' using DBD::File
ok 1007 - parse 'SELECT * FROM test WHERE ACOT(x)' using DBD::File
ok 1008 - parse 'SELECT * FROM test WHERE ACOTAN(x)' using DBD::File
ok 1009 - parse 'SELECT * FROM test WHERE ACOTANH(x)' using DBD::File
ok 1010 - parse 'SELECT * FROM test WHERE ACOTH(x)' using DBD::File
ok 1011 - parse 'SELECT * FROM test WHERE ACSC(x)' using DBD::File
ok 1012 - parse 'SELECT * FROM test WHERE ACSCH(x)' using DBD::File
ok 1013 - parse 'SELECT * FROM test WHERE ASEC(x)' using DBD::File
ok 1014 - parse 'SELECT * FROM test WHERE ASECH(x)' using DBD::File
ok 1015 - parse 'SELECT * FROM test WHERE ASIN(x)' using DBD::File
ok 1016 - parse 'SELECT * FROM test WHERE ASINH(x)' using DBD::File
ok 1017 - parse 'SELECT * FROM test WHERE ATAN(x)' using DBD::File
ok 1018 - parse 'SELECT * FROM test WHERE ATAN2(y, x)' using DBD::File
ok 1019 - parse 'SELECT * FROM test WHERE ATANH(x)' using DBD::File
ok 1020 - parse 'SELECT * FROM test WHERE COS(x)' using DBD::File
ok 1021 - parse 'SELECT * FROM test WHERE COSEC(x)' using DBD::File
ok 1022 - parse 'SELECT * FROM test WHERE COSECH(x)' using DBD::File
ok 1023 - parse 'SELECT * FROM test WHERE COSH(x)' using DBD::File
ok 1024 - parse 'SELECT * FROM test WHERE COT(x)' using DBD::File
ok 1025 - parse 'SELECT * FROM test WHERE COTAN(x)' using DBD::File
ok 1026 - parse 'SELECT * FROM test WHERE COTANH(x)' using DBD::File
ok 1027 - parse 'SELECT * FROM test WHERE COTH(x)' using DBD::File
ok 1028 - parse 'SELECT * FROM test WHERE CSC(x)' using DBD::File
ok 1029 - parse 'SELECT * FROM test WHERE CSCH(x)' using DBD::File
ok 1030 - parse 'SELECT * FROM test WHERE DEG2DEG(deg)' using DBD::File
ok 1031 - parse 'SELECT * FROM test WHERE RAD2RAD(rad)' using DBD::File
ok 1032 - parse 'SELECT * FROM test WHERE GRAD2GRAD(grad)' using DBD::File
ok 1033 - parse 'SELECT * FROM test WHERE DEG2GRAD(deg)' using DBD::File
ok 1034 - parse 'SELECT * FROM test WHERE DEG2RAD(deg)' using DBD::File
ok 1035 - parse 'SELECT * FROM test WHERE GRAD2DEG(grad)' using DBD::File
ok 1036 - parse 'SELECT * FROM test WHERE GRAD2RAD(grad)' using DBD::File
ok 1037 - parse 'SELECT * FROM test WHERE RAD2DEG(rad)' using DBD::File
ok 1038 - parse 'SELECT * FROM test WHERE RAD2GRAD(rad)' using DBD::File
ok 1039 - parse 'SELECT * FROM test WHERE DEGREES(rad)' using DBD::File
ok 1040 - parse 'SELECT * FROM test WHERE RADIANS(deg)' using DBD::File
ok 1041 - parse 'SELECT * FROM test WHERE DEG2DEG(deg, TRUE)' using DBD::File
ok 1042 - parse 'SELECT * FROM test WHERE RAD2RAD(rad, TRUE)' using DBD::File
ok 1043 - parse 'SELECT * FROM test WHERE GRAD2GRAD(grad, TRUE)' using DBD::File
ok 1044 - parse 'SELECT * FROM test WHERE DEG2GRAD(deg, TRUE)' using DBD::File
ok 1045 - parse 'SELECT * FROM test WHERE DEG2RAD(deg, TRUE)' using DBD::File
ok 1046 - parse 'SELECT * FROM test WHERE GRAD2DEG(grad, TRUE)' using DBD::File
ok 1047 - parse 'SELECT * FROM test WHERE GRAD2RAD(grad, TRUE)' using DBD::File
ok 1048 - parse 'SELECT * FROM test WHERE RAD2DEG(rad, TRUE)' using DBD::File
ok 1049 - parse 'SELECT * FROM test WHERE RAD2GRAD(rad, TRUE)' using DBD::File
ok 1050 - parse 'SELECT * FROM test WHERE DEGREES(rad, TRUE)' using DBD::File
ok 1051 - parse 'SELECT * FROM test WHERE RADIANS(deg, TRUE)' using DBD::File
ok 1052 - parse 'SELECT * FROM test WHERE PI()' using DBD::File
ok 1053 - parse 'SELECT * FROM test WHERE SEC(x)' using DBD::File
ok 1054 - parse 'SELECT * FROM test WHERE SECH(x)' using DBD::File
ok 1055 - parse 'SELECT * FROM test WHERE SIN(x)' using DBD::File
ok 1056 - parse 'SELECT * FROM test WHERE SINH(x)' using DBD::File
ok 1057 - parse 'SELECT * FROM test WHERE TAN(x)' using DBD::File
ok 1058 - parse 'SELECT * FROM test WHERE TANH(x)' using DBD::File
ok 1059 - parse '  /* SYSTEM FUNCTIONS */' using DBD::File
ok 1060 - parse 'SELECT * FROM ztable WHERE DBNAME() = foobar' using DBD::File
ok 1061 - parse 'SELECT * FROM ztable WHERE USERNAME() = foobar' using DBD::File
ok 1062 - parse 'SELECT * FROM ztable WHERE USER() = foobar' using DBD::File
ok 1063 - parse '  /* TABLE NAME ALIASES */' using DBD::File
ok 1064 - parse 'SELECT * FROM test as T1' using DBD::File
ok 1065 - parse 'SELECT * FROM test T1' using DBD::File
ok 1066 - parse 'SELECT T1.id, T2.num FROM test as T1 JOIN test2 as T2 USING(id)' using DBD::File
ok 1067 - parse 'SELECT id FROM test as T1 WHERE T1.num < 7' using DBD::File
ok 1068 - parse 'SELECT id FROM test as T1 ORDER BY T1.num' using DBD::File
ok 1069 - 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 1070 - parse '  /* NUMERIC EXPRESSIONS */' using DBD::File
ok 1071 - parse 'SELECT * FROM foo WHERE 1 = 0 AND baz < (6*foo+11-r)' using DBD::File
ok 1072 - parse '  /* CASE OF IDENTIFIERS */' using DBD::File
ok 1073 - parse 'SELECT ID, phRase FROM tEst AS tE WHERE te.id < 3 ORDER BY TE.phrasE' using DBD::File
ok 1074 - parse '  /* PARENS */' using DBD::File
ok 1075 - parse 'SELECT * FROM ztable WHERE NOT data IN ('one','two')' using DBD::File
ok 1076 - parse 'SELECT * from ztable WHERE (aaa > 'AAA')' using DBD::File
ok 1077 - parse 'SELECT * from ztable WHERE  sev = 50 OR sev = 60' using DBD::File
ok 1078 - parse 'SELECT * from ztable WHERE (sev = 50 OR sev = 60)' using DBD::File
ok 1079 - parse 'SELECT * from ztable WHERE sev IN (50,60)' using DBD::File
ok 1080 - parse 'SELECT * from ztable WHERE rc > 200 AND ( sev IN(50,60) )' using DBD::File
ok 1081 - parse 'SELECT * FROM ztable WHERE data NOT IN ('one','two')' using DBD::File
ok 1082 - parse 'SELECT * from ztable WHERE (aaa > 'AAA') AND (zzz < 'ZZZ')' using DBD::File
ok 1083 - parse 'SELECT * from ztable WHERE (sev IN(50,60))' using DBD::File
ok 1084 - parse '  /* NOT */' using DBD::File
ok 1085 - parse 'SELECT * FROM foo WHERE NOT bar = 'baz' AND bop = 7 OR NOT blat = bar' using DBD::File
ok 1086 - parse 'SELECT * FROM foo WHERE NOT bar = 'baz' AND NOT bop = 7 OR NOT blat = bar' using DBD::File
ok 1087 - parse 'SELECT * FROM foo WHERE NOT bar = 'baz' AND NOT bop = 7 OR blat IS NOT NULL' using DBD::File
ok 1088 - parse '  /* IN */' using DBD::File
ok 1089 - parse 'SELECT * FROM bar WHERE foo IN ('aa','ab','ba','bb')' using DBD::File
ok 1090 - parse 'SELECT * FROM bar WHERE foo IN (3.14,2.72,1.41,9.81)' using DBD::File
ok 1091 - parse 'SELECT * FROM bar WHERE foo NOT IN ('aa','ab','ba','bb')' using DBD::File
ok 1092 - parse 'SELECT * FROM bar WHERE foo NOT IN (3.14,2.72,1.41,9.81)' using DBD::File
ok 1093 - parse '  /* BETWEEN */' using DBD::File
ok 1094 - parse 'SELECT * FROM bar WHERE foo BETWEEN ('aa','bb')' using DBD::File
ok 1095 - parse 'SELECT * FROM bar WHERE foo BETWEEN (1.41,9.81)' using DBD::File
ok 1096 - parse 'SELECT * FROM bar WHERE foo NOT BETWEEN ('aa','bb')' using DBD::File
ok 1097 - parse 'SELECT * FROM bar WHERE foo NOT BETWEEN (1.41,9.81)' using DBD::File
not ok 1098 - 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 309.
# Incomplete SET clause!
not ok 1099 - 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 309.
# 
# Execution ERROR: Unknown predicate '{$VAR1 = {};
# }' called from /opt/local/lib/perl5/x86_64-linux-gnu-thread-multi/DBI/DBD/SqlEngine.pm at 268.
# 
not ok 1100 - 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 309.
# 
# Execution ERROR: Unknown predicate '{$VAR1 = {};
# }' called from /opt/local/lib/perl5/x86_64-linux-gnu-thread-multi/DBI/DBD/SqlEngine.pm at 268.
# 
ok 1101 - $sth->new
ok 1102 - $sth->command
ok 1103 - $sth->params
ok 1104 - $sth->tables
ok 1105 - $sth->where()->op
ok 1106 - $sth->where()->left
ok 1107 - $sth->where()->left->left
ok 1108 - $sth->where()->left->right
ok 1109 - $sth->limit
ok 1110 - $sth->offset
# Command      SELECT
# Num Pholders 1
# Columns      
# Tables       SQL::Statement::Table=HASH(0x2f63590),SQL::Statement::Table=HASH(0x2f219a8)
# Where op     AND
# Limit        2
# Offset       5
# Order Cols   f,g
ok 1111 - $stmt->row_values()
ok 1112 - $stmt->row_values(0)
ok 1113 - $stmt->row_values(0,1)
ok 1114 - structure
ok 1115 - command
ok 1116 - distinct
1..1116
ok
# Using required:
#   SQL::Statement: 1.33
# Using recommended:
#   DBD::CSV: 0.33
#   DBD::DBM: 0.06
#   DBD::File: 0.4
#   DBI: 1.616
#   MLDBM: 2.04
# Running tests for SQL::Statement
# Running tests for DBD::CSV
# Running tests for DBD::File
# Running tests for DBD::DBM
t/02execute.t ...... 
ok 1 - CREATE Tmp
ok 2 - placeholder insert with named cols
ok 3 - placeholder insert without named cols
ok 4 - placeholder delete
ok 5 - placeholder update
ok 6 - placeholder update
ok 7 - multiline insert
ok 8 - verify table contents
ok 9 - DROP TABLE
ok 10 - CREATE
ok 11 - INSERT
ok 12 - INSERT
ok 13 - INSERT
ok 14 - UPDATE
ok 15 - DELETE
ok 16 - SELECT
ok 17 - COUNT *
ok 18 - DROP TEMP TABLE
ok 19 - COMPUTED COLUMNS IN SELECT LIST
ok 20 - CREATE FUNCTION from script
# <	CREATE TEMP TABLE a (b INT, c CHAR)>
ok 21 - $stmt->execute "	CREATE TEMP TABLE a (b INT, c CHAR)" (CREATE)
# <	INSERT INTO a VALUES(1,'abc')>
ok 22 - $stmt->execute "	INSERT INTO a VALUES(1,'abc')" (INSERT)
# <	INSERT INTO a VALUES(2,'efg')>
ok 23 - $stmt->execute "	INSERT INTO a VALUES(2,'efg')" (INSERT)
# <	INSERT INTO a VALUES(3,'hij')>
ok 24 - $stmt->execute "	INSERT INTO a VALUES(3,'hij')" (INSERT)
# <	INSERT INTO a VALUES(4,'klm')>
ok 25 - $stmt->execute "	INSERT INTO a VALUES(4,'klm')" (INSERT)
# <	INSERT INTO a VALUES(5,'nmo')>
ok 26 - $stmt->execute "	INSERT INTO a VALUES(5,'nmo')" (INSERT)
# <	INSERT INTO a VALUES(6,'pqr')>
ok 27 - $stmt->execute "	INSERT INTO a VALUES(6,'pqr')" (INSERT)
# <	INSERT INTO a VALUES(7,'stu')>
ok 28 - $stmt->execute "	INSERT INTO a VALUES(7,'stu')" (INSERT)
# <	INSERT INTO a VALUES(8,'vwx')>
ok 29 - $stmt->execute "	INSERT INTO a VALUES(8,'vwx')" (INSERT)
# <	INSERT INTO a VALUES(9,'yz')>
ok 30 - $stmt->execute "	INSERT INTO a VALUES(9,'yz')" (INSERT)
# <	SELECT b,c FROM a WHERE c LIKE '%b%' ORDER BY c DESC">
ok 31 - $stmt->execute "	SELECT b,c FROM a WHERE c LIKE '%b%' ORDER BY c DESC"" (SELECT)
ok 32 - $stmt->where_hash
ok 33 - $stmt->columns
ok 34 - $stmt->column_names
ok 35 - $stmt->order
ok 36 - $stmt->fetch
ok 37 - $stmt->execute "SELECT b,c FROM a WHERE NOT c IN ('abc','klm','pqr','vwx','yz')" (SELECT)
ok 38 - SELECT b,c FROM a WHERE NOT c IN ('abc','klm','pqr','vwx','yz')
ok 39 - $stmt->execute "SELECT b,c FROM a WHERE NOT b IN (2,3,5,7)" (SELECT)
ok 40 - SELECT b,c FROM a WHERE NOT b IN (2,3,5,7)
ok 41 - $stmt->execute "SELECT b,c FROM a WHERE c BETWEEN ('abc','nmo')" (SELECT)
ok 42 - SELECT b,c FROM a WHERE c BETWEEN ('abc','nmo')
ok 43 - $stmt->execute "SELECT b,c FROM a WHERE c IN ('abc','klm','pqr','vwx','yz')" (SELECT)
ok 44 - SELECT b,c FROM a WHERE c IN ('abc','klm','pqr','vwx','yz')
ok 45 - $stmt->execute "SELECT b,c FROM a WHERE b NOT BETWEEN (5,7)" (SELECT)
ok 46 - SELECT b,c FROM a WHERE b NOT BETWEEN (5,7)
ok 47 - $stmt->execute "SELECT b,c FROM a WHERE c NOT BETWEEN ('abc','nmo')" (SELECT)
ok 48 - SELECT b,c FROM a WHERE c NOT BETWEEN ('abc','nmo')
ok 49 - $stmt->execute "SELECT b,c FROM a WHERE NOT b BETWEEN (5,7)" (SELECT)
ok 50 - SELECT b,c FROM a WHERE NOT b BETWEEN (5,7)
ok 51 - $stmt->execute "SELECT b,c FROM a WHERE b BETWEEN (5,7)" (SELECT)
ok 52 - SELECT b,c FROM a WHERE b BETWEEN (5,7)
ok 53 - $stmt->execute "SELECT b,c FROM a WHERE NOT c BETWEEN ('abc','nmo')" (SELECT)
ok 54 - SELECT b,c FROM a WHERE NOT c BETWEEN ('abc','nmo')
ok 55 - $stmt->execute "SELECT b,c FROM a WHERE b NOT IN (2,3,5,7)" (SELECT)
ok 56 - SELECT b,c FROM a WHERE b NOT IN (2,3,5,7)
ok 57 - $stmt->execute "SELECT b,c FROM a WHERE c NOT IN ('abc','klm','pqr','vwx','yz')" (SELECT)
ok 58 - SELECT b,c FROM a WHERE c NOT IN ('abc','klm','pqr','vwx','yz')
ok 59 - $stmt->execute "SELECT b,c FROM a WHERE b IN (2,3,5,7)" (SELECT)
ok 60 - SELECT b,c FROM a WHERE b IN (2,3,5,7)
ok 61 - CREATE FUNCTION from module
ok 62 - CREATE FUNCTION from module with argument
ok 63 - LOAD FUNCTIONS
ok 64 - CREATE pauli test table
ok 65 - UPDATE with placeholders
ok 66 - UPDATE with placeholder updates correct
ok 67 - CREATE Tmp
ok 68 - placeholder insert with named cols
ok 69 - placeholder insert without named cols
ok 70 - placeholder delete
ok 71 - placeholder update
ok 72 - placeholder update
ok 73 - multiline insert
ok 74 - verify table contents
ok 75 - DROP TABLE
ok 76 - CREATE
ok 77 - INSERT
ok 78 - INSERT
ok 79 - INSERT
ok 80 - UPDATE
ok 81 - DELETE
ok 82 - SELECT
ok 83 - COUNT *
ok 84 - DROP  TABLE
ok 85 - COMPUTED COLUMNS IN SELECT LIST
ok 86 - CREATE FUNCTION from script
# <	CREATE  TABLE a (b INT, c CHAR)>
ok 87 - $stmt->execute "	CREATE  TABLE a (b INT, c CHAR)" (CREATE)
# <	INSERT INTO a VALUES(1,'abc')>
ok 88 - $stmt->execute "	INSERT INTO a VALUES(1,'abc')" (INSERT)
# <	INSERT INTO a VALUES(2,'efg')>
ok 89 - $stmt->execute "	INSERT INTO a VALUES(2,'efg')" (INSERT)
# <	INSERT INTO a VALUES(3,'hij')>
ok 90 - $stmt->execute "	INSERT INTO a VALUES(3,'hij')" (INSERT)
# <	INSERT INTO a VALUES(4,'klm')>
ok 91 - $stmt->execute "	INSERT INTO a VALUES(4,'klm')" (INSERT)
# <	INSERT INTO a VALUES(5,'nmo')>
ok 92 - $stmt->execute "	INSERT INTO a VALUES(5,'nmo')" (INSERT)
# <	INSERT INTO a VALUES(6,'pqr')>
ok 93 - $stmt->execute "	INSERT INTO a VALUES(6,'pqr')" (INSERT)
# <	INSERT INTO a VALUES(7,'stu')>
ok 94 - $stmt->execute "	INSERT INTO a VALUES(7,'stu')" (INSERT)
# <	INSERT INTO a VALUES(8,'vwx')>
ok 95 - $stmt->execute "	INSERT INTO a VALUES(8,'vwx')" (INSERT)
# <	INSERT INTO a VALUES(9,'yz')>
ok 96 - $stmt->execute "	INSERT INTO a VALUES(9,'yz')" (INSERT)
# <	SELECT b,c FROM a WHERE c LIKE '%b%' ORDER BY c DESC">
ok 97 - $stmt->execute "	SELECT b,c FROM a WHERE c LIKE '%b%' ORDER BY c DESC"" (SELECT)
ok 98 - $stmt->where_hash
ok 99 - $stmt->columns
ok 100 - $stmt->column_names
ok 101 - $stmt->order
ok 102 - $stmt->fetch
ok 103 - $stmt->execute "SELECT b,c FROM a WHERE NOT c IN ('abc','klm','pqr','vwx','yz')" (SELECT)
ok 104 - SELECT b,c FROM a WHERE NOT c IN ('abc','klm','pqr','vwx','yz')
ok 105 - $stmt->execute "SELECT b,c FROM a WHERE NOT b IN (2,3,5,7)" (SELECT)
ok 106 - SELECT b,c FROM a WHERE NOT b IN (2,3,5,7)
ok 107 - $stmt->execute "SELECT b,c FROM a WHERE c BETWEEN ('abc','nmo')" (SELECT)
ok 108 - SELECT b,c FROM a WHERE c BETWEEN ('abc','nmo')
ok 109 - $stmt->execute "SELECT b,c FROM a WHERE c IN ('abc','klm','pqr','vwx','yz')" (SELECT)
ok 110 - SELECT b,c FROM a WHERE c IN ('abc','klm','pqr','vwx','yz')
ok 111 - $stmt->execute "SELECT b,c FROM a WHERE b NOT BETWEEN (5,7)" (SELECT)
ok 112 - SELECT b,c FROM a WHERE b NOT BETWEEN (5,7)
ok 113 - $stmt->execute "SELECT b,c FROM a WHERE c NOT BETWEEN ('abc','nmo')" (SELECT)
ok 114 - SELECT b,c FROM a WHERE c NOT BETWEEN ('abc','nmo')
ok 115 - $stmt->execute "SELECT b,c FROM a WHERE NOT b BETWEEN (5,7)" (SELECT)
ok 116 - SELECT b,c FROM a WHERE NOT b BETWEEN (5,7)
ok 117 - $stmt->execute "SELECT b,c FROM a WHERE 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 NOT c BETWEEN ('abc','nmo')" (SELECT)
ok 120 - SELECT b,c FROM a WHERE NOT c 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 c NOT IN ('abc','klm','pqr','vwx','yz')" (SELECT)
ok 124 - SELECT b,c FROM a WHERE c NOT IN ('abc','klm','pqr','vwx','yz')
ok 125 - $stmt->execute "SELECT b,c FROM a WHERE b IN (2,3,5,7)" (SELECT)
ok 126 - SELECT b,c FROM a WHERE b IN (2,3,5,7)
ok 127 - CREATE FUNCTION from module
ok 128 - CREATE FUNCTION from module with argument
ok 129 - LOAD FUNCTIONS
ok 130 - CREATE pauli test table
ok 131 - UPDATE with placeholders
ok 132 - UPDATE with placeholder updates correct
ok 133 - CREATE Tmp
ok 134 - placeholder insert with named cols
ok 135 - placeholder insert without named cols
ok 136 - placeholder delete
ok 137 - placeholder update
ok 138 - placeholder update
ok 139 - multiline insert
ok 140 - verify table contents
ok 141 - DROP TABLE
ok 142 - CREATE
ok 143 - INSERT
ok 144 - INSERT
ok 145 - INSERT
ok 146 - UPDATE
ok 147 - DELETE
ok 148 - SELECT
ok 149 - COUNT *
ok 150 - DROP TEMP TABLE
ok 151 - COMPUTED COLUMNS IN SELECT LIST
ok 152 - CREATE FUNCTION from script
# <	CREATE TEMP TABLE a (b INT, c CHAR)>
ok 153 - $stmt->execute "	CREATE TEMP TABLE a (b INT, c CHAR)" (CREATE)
# <	INSERT INTO a VALUES(1,'abc')>
ok 154 - $stmt->execute "	INSERT INTO a VALUES(1,'abc')" (INSERT)
# <	INSERT INTO a VALUES(2,'efg')>
ok 155 - $stmt->execute "	INSERT INTO a VALUES(2,'efg')" (INSERT)
# <	INSERT INTO a VALUES(3,'hij')>
ok 156 - $stmt->execute "	INSERT INTO a VALUES(3,'hij')" (INSERT)
# <	INSERT INTO a VALUES(4,'klm')>
ok 157 - $stmt->execute "	INSERT INTO a VALUES(4,'klm')" (INSERT)
# <	INSERT INTO a VALUES(5,'nmo')>
ok 158 - $stmt->execute "	INSERT INTO a VALUES(5,'nmo')" (INSERT)
# <	INSERT INTO a VALUES(6,'pqr')>
ok 159 - $stmt->execute "	INSERT INTO a VALUES(6,'pqr')" (INSERT)
# <	INSERT INTO a VALUES(7,'stu')>
ok 160 - $stmt->execute "	INSERT INTO a VALUES(7,'stu')" (INSERT)
# <	INSERT INTO a VALUES(8,'vwx')>
ok 161 - $stmt->execute "	INSERT INTO a VALUES(8,'vwx')" (INSERT)
# <	INSERT INTO a VALUES(9,'yz')>
ok 162 - $stmt->execute "	INSERT INTO a VALUES(9,'yz')" (INSERT)
# <	SELECT b,c FROM a WHERE c LIKE '%b%' ORDER BY c DESC">
ok 163 - $stmt->execute "	SELECT b,c FROM a WHERE c LIKE '%b%' ORDER BY c DESC"" (SELECT)
ok 164 - $stmt->where_hash
ok 165 - $stmt->columns
ok 166 - $stmt->column_names
ok 167 - $stmt->order
ok 168 - $stmt->fetch
ok 169 - $stmt->execute "SELECT b,c FROM a WHERE NOT c IN ('abc','klm','pqr','vwx','yz')" (SELECT)
ok 170 - SELECT b,c FROM a WHERE NOT c IN ('abc','klm','pqr','vwx','yz')
ok 171 - $stmt->execute "SELECT b,c FROM a WHERE NOT b IN (2,3,5,7)" (SELECT)
ok 172 - SELECT b,c FROM a WHERE NOT b IN (2,3,5,7)
ok 173 - $stmt->execute "SELECT b,c FROM a WHERE c BETWEEN ('abc','nmo')" (SELECT)
ok 174 - SELECT b,c FROM a WHERE c BETWEEN ('abc','nmo')
ok 175 - $stmt->execute "SELECT b,c FROM a WHERE c IN ('abc','klm','pqr','vwx','yz')" (SELECT)
ok 176 - SELECT b,c FROM a WHERE c IN ('abc','klm','pqr','vwx','yz')
ok 177 - $stmt->execute "SELECT b,c FROM a WHERE b NOT BETWEEN (5,7)" (SELECT)
ok 178 - SELECT b,c FROM a WHERE b NOT BETWEEN (5,7)
ok 179 - $stmt->execute "SELECT b,c FROM a WHERE c NOT BETWEEN ('abc','nmo')" (SELECT)
ok 180 - SELECT b,c FROM a WHERE c NOT BETWEEN ('abc','nmo')
ok 181 - $stmt->execute "SELECT b,c FROM a WHERE NOT b BETWEEN (5,7)" (SELECT)
ok 182 - SELECT b,c FROM a WHERE NOT b BETWEEN (5,7)
ok 183 - $stmt->execute "SELECT b,c FROM a WHERE b BETWEEN (5,7)" (SELECT)
ok 184 - SELECT b,c FROM a WHERE b BETWEEN (5,7)
ok 185 - $stmt->execute "SELECT b,c FROM a WHERE NOT c BETWEEN ('abc','nmo')" (SELECT)
ok 186 - SELECT b,c FROM a WHERE NOT c BETWEEN ('abc','nmo')
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 c NOT IN ('abc','klm','pqr','vwx','yz')" (SELECT)
ok 190 - SELECT b,c FROM a WHERE c NOT IN ('abc','klm','pqr','vwx','yz')
ok 191 - $stmt->execute "SELECT b,c FROM a WHERE b IN (2,3,5,7)" (SELECT)
ok 192 - SELECT b,c FROM a WHERE b IN (2,3,5,7)
ok 193 - CREATE FUNCTION from module
ok 194 - CREATE FUNCTION from module with argument
ok 195 - LOAD FUNCTIONS
ok 196 - CREATE pauli test table
ok 197 - UPDATE with placeholders
ok 198 - UPDATE with placeholder updates correct
ok 199 - CREATE Tmp
ok 200 - placeholder insert with named cols
ok 201 - placeholder insert without named cols
ok 202 - placeholder delete
ok 203 - placeholder update
ok 204 - placeholder update
ok 205 - multiline insert
ok 206 - verify table contents
ok 207 - DROP TABLE
ok 208 - CREATE
ok 209 - INSERT
ok 210 - INSERT
ok 211 - INSERT
ok 212 - UPDATE
ok 213 - DELETE
ok 214 - SELECT
ok 215 - COUNT *
ok 216 - DROP  TABLE
ok 217 - COMPUTED COLUMNS IN SELECT LIST
ok 218 - CREATE FUNCTION from script
# <	CREATE  TABLE a (b INT, c CHAR)>
ok 219 - $stmt->execute "	CREATE  TABLE a (b INT, c CHAR)" (CREATE)
# <	INSERT INTO a VALUES(1,'abc')>
ok 220 - $stmt->execute "	INSERT INTO a VALUES(1,'abc')" (INSERT)
# <	INSERT INTO a VALUES(2,'efg')>
ok 221 - $stmt->execute "	INSERT INTO a VALUES(2,'efg')" (INSERT)
# <	INSERT INTO a VALUES(3,'hij')>
ok 222 - $stmt->execute "	INSERT INTO a VALUES(3,'hij')" (INSERT)
# <	INSERT INTO a VALUES(4,'klm')>
ok 223 - $stmt->execute "	INSERT INTO a VALUES(4,'klm')" (INSERT)
# <	INSERT INTO a VALUES(5,'nmo')>
ok 224 - $stmt->execute "	INSERT INTO a VALUES(5,'nmo')" (INSERT)
# <	INSERT INTO a VALUES(6,'pqr')>
ok 225 - $stmt->execute "	INSERT INTO a VALUES(6,'pqr')" (INSERT)
# <	INSERT INTO a VALUES(7,'stu')>
ok 226 - $stmt->execute "	INSERT INTO a VALUES(7,'stu')" (INSERT)
# <	INSERT INTO a VALUES(8,'vwx')>
ok 227 - $stmt->execute "	INSERT INTO a VALUES(8,'vwx')" (INSERT)
# <	INSERT INTO a VALUES(9,'yz')>
ok 228 - $stmt->execute "	INSERT INTO a VALUES(9,'yz')" (INSERT)
# <	SELECT b,c FROM a WHERE c LIKE '%b%' ORDER BY c DESC">
ok 229 - $stmt->execute "	SELECT b,c FROM a WHERE c LIKE '%b%' ORDER BY c DESC"" (SELECT)
ok 230 - $stmt->where_hash
ok 231 - $stmt->columns
ok 232 - $stmt->column_names
ok 233 - $stmt->order
ok 234 - $stmt->fetch
ok 235 - $stmt->execute "SELECT b,c FROM a WHERE NOT c IN ('abc','klm','pqr','vwx','yz')" (SELECT)
ok 236 - SELECT b,c FROM a WHERE NOT c IN ('abc','klm','pqr','vwx','yz')
ok 237 - $stmt->execute "SELECT b,c FROM a WHERE NOT b IN (2,3,5,7)" (SELECT)
ok 238 - SELECT b,c FROM a WHERE NOT b IN (2,3,5,7)
ok 239 - $stmt->execute "SELECT b,c FROM a WHERE c BETWEEN ('abc','nmo')" (SELECT)
ok 240 - SELECT b,c FROM a WHERE c BETWEEN ('abc','nmo')
ok 241 - $stmt->execute "SELECT b,c FROM a WHERE c IN ('abc','klm','pqr','vwx','yz')" (SELECT)
ok 242 - SELECT b,c FROM a WHERE c IN ('abc','klm','pqr','vwx','yz')
ok 243 - $stmt->execute "SELECT b,c FROM a WHERE b NOT BETWEEN (5,7)" (SELECT)
ok 244 - SELECT b,c FROM a WHERE b NOT BETWEEN (5,7)
ok 245 - $stmt->execute "SELECT b,c FROM a WHERE c NOT BETWEEN ('abc','nmo')" (SELECT)
ok 246 - SELECT b,c FROM a WHERE c NOT BETWEEN ('abc','nmo')
ok 247 - $stmt->execute "SELECT b,c FROM a WHERE NOT b BETWEEN (5,7)" (SELECT)
ok 248 - SELECT b,c FROM a WHERE NOT b BETWEEN (5,7)
ok 249 - $stmt->execute "SELECT b,c FROM a WHERE b BETWEEN (5,7)" (SELECT)
ok 250 - SELECT b,c FROM a WHERE b BETWEEN (5,7)
ok 251 - $stmt->execute "SELECT b,c FROM a WHERE NOT c BETWEEN ('abc','nmo')" (SELECT)
ok 252 - SELECT b,c FROM a WHERE NOT c BETWEEN ('abc','nmo')
ok 253 - $stmt->execute "SELECT b,c FROM a WHERE b NOT IN (2,3,5,7)" (SELECT)
ok 254 - SELECT b,c FROM a WHERE b NOT IN (2,3,5,7)
ok 255 - $stmt->execute "SELECT b,c FROM a WHERE c NOT IN ('abc','klm','pqr','vwx','yz')" (SELECT)
ok 256 - SELECT b,c FROM a WHERE c NOT IN ('abc','klm','pqr','vwx','yz')
ok 257 - $stmt->execute "SELECT b,c FROM a WHERE b IN (2,3,5,7)" (SELECT)
ok 258 - SELECT b,c FROM a WHERE b IN (2,3,5,7)
ok 259 - CREATE FUNCTION from module
ok 260 - CREATE FUNCTION from module with argument
ok 261 - LOAD FUNCTIONS
ok 262 - CREATE pauli test table
ok 263 - UPDATE with placeholders
ok 264 - UPDATE with placeholder updates correct
1..264
ok
# Using required:
#   SQL::Statement: 1.33
# Using recommended:
#   DBD::CSV: 0.33
#   DBD::DBM: 0.06
#   DBD::File: 0.4
#   DBD::SQLite: 1.35
#   DBI: 1.616
#   MLDBM: 2.04
# Running tests for SQL::Statement
# Running tests for DBD::CSV
# Running tests for DBD::File
# Running tests for DBD::DBM
t/03import.t ....... 
ok 1 - IMPORT($AoA)
ok 2 - IMPORT($AoH)
ok 3 # skip Need DBI statement handle - can't use when executing direct
ok 4 # skip Need DBI statement handle - can't use when executing direct
ok 5 # skip Need DBI statement handle - can't use when executing direct
ok 6 # skip Need DBI statement handle - can't use when executing direct
ok 7 # skip Need DBI statement handle - can't use when executing direct
ok 8 # skip Need DBI statement handle - can't use when executing direct
ok 9 # skip Need DBI statement handle - can't use when executing direct
ok 10 - SELECT IMPORT($external_sth)
ok 11 # skip Need DBI statement handle - can't use when executing direct
ok 12 # skip Need DBI statement handle - can't use when executing direct
ok 13 - IMPORT($AoA)
ok 14 - IMPORT($AoH)
ok 15 - CREATE AS IMPORT($aoh)
ok 16 - SELECT FROM IMPORTED($AoH)
ok 17 - CREATE AS IMPORT($aoa)
ok 18 - SELECT FROM IMPORTED($AoA)
ok 19 - CREATE AS SELECT *
ok 20 - SELECT FROM "SELECTED(*)"
ok 21 - IMPORT($internal_sth)
ok 22 - SELECT IMPORT($external_sth)
ok 23 - CREATE AS IMPORT($sth)
ok 24 - SELECT FROM IMPORTED ($external_sth)
ok 25 - IMPORT($AoA)
ok 26 - IMPORT($AoH)
ok 27 - CREATE AS IMPORT($aoh)
ok 28 - SELECT FROM IMPORTED($AoH)
ok 29 - CREATE AS IMPORT($aoa)
ok 30 - SELECT FROM IMPORTED($AoA)
ok 31 - CREATE AS SELECT *
ok 32 - SELECT FROM "SELECTED(*)"
ok 33 - IMPORT($internal_sth)
ok 34 - SELECT IMPORT($external_sth)
ok 35 - CREATE AS IMPORT($sth)
ok 36 - SELECT FROM IMPORTED ($external_sth)
ok 37 - IMPORT($AoA)
ok 38 - IMPORT($AoH)
ok 39 - CREATE AS IMPORT($aoh)
ok 40 - SELECT FROM IMPORTED($AoH)
ok 41 - CREATE AS IMPORT($aoa)
ok 42 - SELECT FROM IMPORTED($AoA)
ok 43 - CREATE AS SELECT *
ok 44 - SELECT FROM "SELECTED(*)"
ok 45 - IMPORT($internal_sth)
ok 46 - SELECT IMPORT($external_sth)
ok 47 - CREATE AS IMPORT($sth)
ok 48 - SELECT FROM IMPORTED ($external_sth)
1..48
ok
# Using required:
#   SQL::Statement: 1.33
# Using recommended:
#   DBD::CSV: 0.33
#   DBD::DBM: 0.06
#   DBD::File: 0.4
#   DBD::SQLite: 1.35
#   DBI: 1.616
# Running tests for SQL::Statement
# Running tests for DBD::CSV
# Running tests for DBD::DBM
# Running tests for DBD::File
t/04idents.t ....... 
ok 1 - Column Names: select list = *
ok 2 - Column Names: select list = named
ok 3 - Column Names: select list = aliased
ok 4 - Column Names: select list with function
ok 5 - Column Names: select list with function = aliased
ok 6 - Raw SQL hidden absent from column name [rt.cpan.org \#34121] (camelcased)
ok 7 - Raw SQL hidden absent from table name [rt.cpan.org \#34121] (camelcased)
ok 8 - Raw SQL hidden absent from column name [rt.cpan.org \#34121] (reserved names)
ok 9 - Raw SQL hidden absent from table name [rt.cpan.org \#34121] (reserved names)
ok 10 - Raw SQL hidden absent from column name [rt.cpan.org \#34121] (not quoted)
ok 11 - Raw SQL hidden absent from table name [rt.cpan.org \#34121] (not quoted)
ok 12 - ->{all_cols} structure does not grow beyond control
ok 13 - execute for 'lower/lower'
ok 14 - lower/lower
ok 15 - execute for 'lower/upper'
ok 16 - lower/upper
ok 17 - execute for 'lower/mixed'
ok 18 - lower/mixed
ok 19 - execute for 'lower/asterisked'
ok 20 - lower/asterisked
ok 21 - execute for 'upper/lower'
ok 22 - upper/lower
ok 23 - execute for 'upper/upper'
ok 24 - upper/upper
ok 25 - execute for 'upper/mixed'
ok 26 - upper/mixed
ok 27 - execute for 'upper/asterisked'
ok 28 - upper/asterisked
ok 29 - execute for 'mixed/lower'
ok 30 - mixed/lower
ok 31 - execute for 'mixed/upper'
ok 32 - mixed/upper
ok 33 - execute for 'mixed/mixed'
ok 34 - mixed/mixed
ok 35 - execute for 'mixed/asterisked'
ok 36 - mixed/asterisked
ok 37 # skip Need DBI statement handle - can't use when executing direct
ok 38 - Column Names: select list = *
ok 39 - Column Names: select list = named
ok 40 - Column Names: select list = aliased
ok 41 - Column Names: select list with function
ok 42 - Column Names: select list with function = aliased
ok 43 - Raw SQL hidden absent from column name [rt.cpan.org \#34121] (camelcased)
ok 44 - Raw SQL hidden absent from table name [rt.cpan.org \#34121] (camelcased)
ok 45 - Raw SQL hidden absent from column name [rt.cpan.org \#34121] (reserved names)
ok 46 - Raw SQL hidden absent from table name [rt.cpan.org \#34121] (reserved names)
ok 47 - Raw SQL hidden absent from column name [rt.cpan.org \#34121] (not quoted)
ok 48 - Raw SQL hidden absent from table name [rt.cpan.org \#34121] (not quoted)
ok 49 - ->{all_cols} structure does not grow beyond control
ok 50 - execute for 'lower/lower'
ok 51 - lower/lower
ok 52 - execute for 'lower/upper'
ok 53 - lower/upper
ok 54 - execute for 'lower/mixed'
ok 55 - lower/mixed
ok 56 - execute for 'lower/asterisked'
ok 57 - lower/asterisked
ok 58 - execute for 'upper/lower'
ok 59 - upper/lower
ok 60 - execute for 'upper/upper'
ok 61 - upper/upper
ok 62 - execute for 'upper/mixed'
ok 63 - upper/mixed
ok 64 - execute for 'upper/asterisked'
ok 65 - upper/asterisked
ok 66 - execute for 'mixed/lower'
ok 67 - mixed/lower
ok 68 - execute for 'mixed/upper'
ok 69 - mixed/upper
ok 70 - execute for 'mixed/mixed'
ok 71 - mixed/mixed
ok 72 - execute for 'mixed/asterisked'
ok 73 - mixed/asterisked
ok 74 - imported table : lower
ok 75 - imported table : upper
ok 76 - imported table : mixed
ok 77 - imported table : asterisked
ok 78 - Column Names: select list = *
ok 79 - Column Names: select list = named
ok 80 - Column Names: select list = aliased
ok 81 - Column Names: select list with function
ok 82 - Column Names: select list with function = aliased
ok 83 - Raw SQL hidden absent from column name [rt.cpan.org \#34121] (camelcased)
ok 84 - Raw SQL hidden absent from table name [rt.cpan.org \#34121] (camelcased)
ok 85 - Raw SQL hidden absent from column name [rt.cpan.org \#34121] (reserved names)
ok 86 - Raw SQL hidden absent from table name [rt.cpan.org \#34121] (reserved names)
ok 87 - Raw SQL hidden absent from column name [rt.cpan.org \#34121] (not quoted)
ok 88 - Raw SQL hidden absent from table name [rt.cpan.org \#34121] (not quoted)
ok 89 - ->{all_cols} structure does not grow beyond control
ok 90 - execute for 'lower/lower'
ok 91 - lower/lower
ok 92 - execute for 'lower/upper'
ok 93 - lower/upper
ok 94 - execute for 'lower/mixed'
ok 95 - lower/mixed
ok 96 - execute for 'lower/asterisked'
ok 97 - lower/asterisked
ok 98 - execute for 'upper/lower'
ok 99 - upper/lower
ok 100 - execute for 'upper/upper'
ok 101 - upper/upper
ok 102 - execute for 'upper/mixed'
ok 103 - upper/mixed
ok 104 - execute for 'upper/asterisked'
ok 105 - upper/asterisked
ok 106 - execute for 'mixed/lower'
ok 107 - mixed/lower
ok 108 - execute for 'mixed/upper'
ok 109 - mixed/upper
ok 110 - execute for 'mixed/mixed'
ok 111 - mixed/mixed
ok 112 - execute for 'mixed/asterisked'
ok 113 - mixed/asterisked
ok 114 - imported table : lower
ok 115 - imported table : upper
ok 116 - imported table : mixed
ok 117 - imported table : asterisked
ok 118 - Column Names: select list = *
ok 119 - Column Names: select list = named
ok 120 - Column Names: select list = aliased
ok 121 - Column Names: select list with function
ok 122 - Column Names: select list with function = aliased
ok 123 - Raw SQL hidden absent from column name [rt.cpan.org \#34121] (camelcased)
ok 124 - Raw SQL hidden absent from table name [rt.cpan.org \#34121] (camelcased)
ok 125 - Raw SQL hidden absent from column name [rt.cpan.org \#34121] (reserved names)
ok 126 - Raw SQL hidden absent from table name [rt.cpan.org \#34121] (reserved names)
ok 127 - Raw SQL hidden absent from column name [rt.cpan.org \#34121] (not quoted)
ok 128 - Raw SQL hidden absent from table name [rt.cpan.org \#34121] (not quoted)
ok 129 - ->{all_cols} structure does not grow beyond control
ok 130 - execute for 'lower/lower'
ok 131 - lower/lower
ok 132 - execute for 'lower/upper'
ok 133 - lower/upper
ok 134 - execute for 'lower/mixed'
ok 135 - lower/mixed
ok 136 - execute for 'lower/asterisked'
ok 137 - lower/asterisked
ok 138 - execute for 'upper/lower'
ok 139 - upper/lower
ok 140 - execute for 'upper/upper'
ok 141 - upper/upper
ok 142 - execute for 'upper/mixed'
ok 143 - upper/mixed
ok 144 - execute for 'upper/asterisked'
ok 145 - upper/asterisked
ok 146 - execute for 'mixed/lower'
ok 147 - mixed/lower
ok 148 - execute for 'mixed/upper'
ok 149 - mixed/upper
ok 150 - execute for 'mixed/mixed'
ok 151 - mixed/mixed
ok 152 - execute for 'mixed/asterisked'
ok 153 - mixed/asterisked
ok 154 - imported table : lower
ok 155 - imported table : upper
ok 156 - imported table : mixed
ok 157 - imported table : asterisked
1..157
ok
# Using required:
#   SQL::Statement: 1.33
# Using recommended:
#   DBD::CSV: 0.33
#   DBD::DBM: 0.06
#   DBD::File: 0.4
#   DBI: 1.616
#   MLDBM: 2.04
# Running tests for SQL::Statement
# Running tests for DBD::CSV
# Running tests for DBD::File
# Running tests for DBD::DBM
t/05simple.t ....... 
ok 1 - prepare DROP TABLE IF EXISTS multi_fruit using SQL::Statement
ok 2 - execute DROP TABLE IF EXISTS multi_fruit using SQL::Statement
ok 3 - DROP TABLE IF EXISTS multi_fruit
ok 4 - prepare CREATE TEMP TABLE multi_fruit (dKey INT, dVal VARCHAR(10), qux INT) using SQL::Statement
ok 5 - execute CREATE TEMP TABLE multi_fruit (dKey INT, dVal VARCHAR(10), qux INT) using SQL::Statement
ok 6 - CREATE TEMP TABLE multi_fruit (dKey INT, dVal VARCHAR(10), qux INT)
ok 7 - prepare INSERT INTO  multi_fruit VALUES (1,'oranges'  , 11 ) using SQL::Statement
ok 8 - execute INSERT INTO  multi_fruit VALUES (1,'oranges'  , 11 ) using SQL::Statement
ok 9 - INSERT INTO  multi_fruit VALUES (1,'oranges'  , 11 )
ok 10 - prepare INSERT INTO  multi_fruit VALUES (2,'to_change',  0 ) using SQL::Statement
ok 11 - execute INSERT INTO  multi_fruit VALUES (2,'to_change',  0 ) using SQL::Statement
ok 12 - INSERT INTO  multi_fruit VALUES (2,'to_change',  0 )
ok 13 - prepare INSERT INTO  multi_fruit VALUES (3, NULL      , 13 ) using SQL::Statement
ok 14 - execute INSERT INTO  multi_fruit VALUES (3, NULL      , 13 ) using SQL::Statement
ok 15 - INSERT INTO  multi_fruit VALUES (3, NULL      , 13 )
ok 16 - prepare INSERT INTO  multi_fruit VALUES (4,'to_delete', 14 ) using SQL::Statement
ok 17 - execute INSERT INTO  multi_fruit VALUES (4,'to_delete', 14 ) using SQL::Statement
ok 18 - INSERT INTO  multi_fruit VALUES (4,'to_delete', 14 )
ok 19 - prepare INSERT INTO  multi_fruit VALUES (?,?,?) using SQL::Statement
ok 20 - execute INSERT INTO  multi_fruit VALUES (?,?,?) using SQL::Statement
ok 21 - INSERT INTO  multi_fruit VALUES (?,?,?)
ok 22 - prepare INSERT INTO  multi_fruit VALUES (6,'to_delete', 16 ) using SQL::Statement
ok 23 - execute INSERT INTO  multi_fruit VALUES (6,'to_delete', 16 ) using SQL::Statement
ok 24 - INSERT INTO  multi_fruit VALUES (6,'to_delete', 16 )
ok 25 - prepare INSERT INTO  multi_fruit VALUES (7,'to delete', 17 ) using SQL::Statement
ok 26 - execute INSERT INTO  multi_fruit VALUES (7,'to delete', 17 ) using SQL::Statement
ok 27 - INSERT INTO  multi_fruit VALUES (7,'to delete', 17 )
ok 28 - prepare INSERT INTO  multi_fruit VALUES (8,'to remove', 18 ) using SQL::Statement
ok 29 - execute INSERT INTO  multi_fruit VALUES (8,'to remove', 18 ) using SQL::Statement
ok 30 - INSERT INTO  multi_fruit VALUES (8,'to remove', 18 )
ok 31 - prepare UPDATE multi_fruit SET dVal='apples', qux='12' WHERE dKey=2 using SQL::Statement
ok 32 - execute UPDATE multi_fruit SET dVal='apples', qux='12' WHERE dKey=2 using SQL::Statement
ok 33 - UPDATE multi_fruit SET dVal='apples', qux='12' WHERE dKey=2
ok 34 - $sth->execute(UPDATE multi_fruit SET dVal='apples', qux='12' WHERE dKey=2) == $sth->rows using SQL::Statement
ok 35 - prepare DELETE FROM  multi_fruit WHERE dVal='to_delete' using SQL::Statement
ok 36 - execute DELETE FROM  multi_fruit WHERE dVal='to_delete' using SQL::Statement
ok 37 - DELETE FROM  multi_fruit WHERE dVal='to_delete'
ok 38 - $sth->execute(DELETE FROM  multi_fruit WHERE dVal='to_delete') == $sth->rows using SQL::Statement
ok 39 - prepare DELETE FROM  multi_fruit WHERE qux=17 using SQL::Statement
ok 40 - execute DELETE FROM  multi_fruit WHERE qux=17 using SQL::Statement
ok 41 - DELETE FROM  multi_fruit WHERE qux=17
ok 42 - $sth->execute(DELETE FROM  multi_fruit WHERE qux=17) == $sth->rows using SQL::Statement
ok 43 - prepare DELETE FROM  multi_fruit WHERE dKey=8 using SQL::Statement
ok 44 - execute DELETE FROM  multi_fruit WHERE dKey=8 using SQL::Statement
ok 45 - DELETE FROM  multi_fruit WHERE dKey=8
ok 46 - $sth->execute(DELETE FROM  multi_fruit WHERE dKey=8) == $sth->rows using SQL::Statement
ok 47 - prepare SELECT * FROM multi_fruit ORDER BY dKey DESC using SQL::Statement
ok 48 - execute SELECT * FROM multi_fruit ORDER BY dKey DESC using SQL::Statement
ok 49 - SELECT * FROM multi_fruit ORDER BY dKey DESC
ok 50 - SELECT results for SELECT * FROM multi_fruit ORDER BY dKey DESC using SQL::Statement
ok 51 - prepare DELETE FROM multi_fruit using SQL::Statement
ok 52 - execute DELETE FROM multi_fruit using SQL::Statement
ok 53 - DELETE FROM multi_fruit
ok 54 - $sth->execute(DELETE FROM multi_fruit) == $sth->rows using SQL::Statement
ok 55 - prepare SELECT COUNT(*) FROM multi_fruit using SQL::Statement
ok 56 - execute SELECT COUNT(*) FROM multi_fruit using SQL::Statement
ok 57 - SELECT COUNT(*) FROM multi_fruit
ok 58 - SELECT results for SELECT COUNT(*) FROM multi_fruit using SQL::Statement
ok 59 - prepare DROP TABLE multi_fruit using SQL::Statement
ok 60 - execute DROP TABLE multi_fruit using SQL::Statement
ok 61 - DROP TABLE multi_fruit
ok 62 - prepare DROP TABLE IF EXISTS multi_fruit using DBD::CSV
ok 63 - execute DROP TABLE IF EXISTS multi_fruit using DBD::CSV
ok 64 - DROP TABLE IF EXISTS multi_fruit
ok 65 - prepare CREATE  TABLE multi_fruit (dKey INT, dVal VARCHAR(10), qux INT) using DBD::CSV
ok 66 - execute CREATE  TABLE multi_fruit (dKey INT, dVal VARCHAR(10), qux INT) using DBD::CSV
ok 67 - CREATE  TABLE multi_fruit (dKey INT, dVal VARCHAR(10), qux INT)
ok 68 - prepare INSERT INTO  multi_fruit VALUES (1,'oranges'  , 11 ) using DBD::CSV
ok 69 - execute INSERT INTO  multi_fruit VALUES (1,'oranges'  , 11 ) using DBD::CSV
ok 70 - INSERT INTO  multi_fruit VALUES (1,'oranges'  , 11 )
ok 71 - prepare INSERT INTO  multi_fruit VALUES (2,'to_change',  0 ) using DBD::CSV
ok 72 - execute INSERT INTO  multi_fruit VALUES (2,'to_change',  0 ) using DBD::CSV
ok 73 - INSERT INTO  multi_fruit VALUES (2,'to_change',  0 )
ok 74 - prepare INSERT INTO  multi_fruit VALUES (3, NULL      , 13 ) using DBD::CSV
ok 75 - execute INSERT INTO  multi_fruit VALUES (3, NULL      , 13 ) using DBD::CSV
ok 76 - INSERT INTO  multi_fruit VALUES (3, NULL      , 13 )
ok 77 - prepare INSERT INTO  multi_fruit VALUES (4,'to_delete', 14 ) using DBD::CSV
ok 78 - execute INSERT INTO  multi_fruit VALUES (4,'to_delete', 14 ) using DBD::CSV
ok 79 - INSERT INTO  multi_fruit VALUES (4,'to_delete', 14 )
ok 80 - prepare INSERT INTO  multi_fruit VALUES (?,?,?) using DBD::CSV
ok 81 - execute INSERT INTO  multi_fruit VALUES (?,?,?) using DBD::CSV
ok 82 - INSERT INTO  multi_fruit VALUES (?,?,?)
ok 83 - prepare INSERT INTO  multi_fruit VALUES (6,'to_delete', 16 ) using DBD::CSV
ok 84 - execute INSERT INTO  multi_fruit VALUES (6,'to_delete', 16 ) using DBD::CSV
ok 85 - INSERT INTO  multi_fruit VALUES (6,'to_delete', 16 )
ok 86 - prepare INSERT INTO  multi_fruit VALUES (7,'to delete', 17 ) using DBD::CSV
ok 87 - execute INSERT INTO  multi_fruit VALUES (7,'to delete', 17 ) using DBD::CSV
ok 88 - INSERT INTO  multi_fruit VALUES (7,'to delete', 17 )
ok 89 - prepare INSERT INTO  multi_fruit VALUES (8,'to remove', 18 ) using DBD::CSV
ok 90 - execute INSERT INTO  multi_fruit VALUES (8,'to remove', 18 ) using DBD::CSV
ok 91 - INSERT INTO  multi_fruit VALUES (8,'to remove', 18 )
ok 92 - prepare UPDATE multi_fruit SET dVal='apples', qux='12' WHERE dKey=2 using DBD::CSV
ok 93 - execute UPDATE multi_fruit SET dVal='apples', qux='12' WHERE dKey=2 using DBD::CSV
ok 94 - UPDATE multi_fruit SET dVal='apples', qux='12' WHERE dKey=2
ok 95 - $sth->execute(UPDATE multi_fruit SET dVal='apples', qux='12' WHERE dKey=2) == $sth->rows using DBD::CSV
ok 96 - prepare DELETE FROM  multi_fruit WHERE dVal='to_delete' using DBD::CSV
ok 97 - execute DELETE FROM  multi_fruit WHERE dVal='to_delete' using DBD::CSV
ok 98 - DELETE FROM  multi_fruit WHERE dVal='to_delete'
ok 99 - $sth->execute(DELETE FROM  multi_fruit WHERE dVal='to_delete') == $sth->rows using DBD::CSV
ok 100 - prepare DELETE FROM  multi_fruit WHERE qux=17 using DBD::CSV
ok 101 - execute DELETE FROM  multi_fruit WHERE qux=17 using DBD::CSV
ok 102 - DELETE FROM  multi_fruit WHERE qux=17
ok 103 - $sth->execute(DELETE FROM  multi_fruit WHERE qux=17) == $sth->rows using DBD::CSV
ok 104 - prepare DELETE FROM  multi_fruit WHERE dKey=8 using DBD::CSV
ok 105 - execute DELETE FROM  multi_fruit WHERE dKey=8 using DBD::CSV
ok 106 - DELETE FROM  multi_fruit WHERE dKey=8
ok 107 - $sth->execute(DELETE FROM  multi_fruit WHERE dKey=8) == $sth->rows using DBD::CSV
ok 108 - prepare SELECT * FROM multi_fruit ORDER BY dKey DESC using DBD::CSV
ok 109 - execute SELECT * FROM multi_fruit ORDER BY dKey DESC using DBD::CSV
ok 110 - SELECT * FROM multi_fruit ORDER BY dKey DESC
ok 111 - SELECT results for SELECT * FROM multi_fruit ORDER BY dKey DESC using DBD::CSV
ok 112 - prepare DELETE FROM multi_fruit using DBD::CSV
ok 113 - execute DELETE FROM multi_fruit using DBD::CSV
ok 114 - DELETE FROM multi_fruit
ok 115 - $sth->execute(DELETE FROM multi_fruit) == $sth->rows using DBD::CSV
ok 116 - prepare SELECT COUNT(*) FROM multi_fruit using DBD::CSV
ok 117 - execute SELECT COUNT(*) FROM multi_fruit using DBD::CSV
ok 118 - SELECT COUNT(*) FROM multi_fruit
ok 119 - SELECT results for SELECT COUNT(*) FROM multi_fruit using DBD::CSV
ok 120 - prepare DROP TABLE multi_fruit using DBD::CSV
ok 121 - execute DROP TABLE multi_fruit using DBD::CSV
ok 122 - DROP TABLE multi_fruit
ok 123 - prepare DROP TABLE IF EXISTS multi_fruit using DBD::File
ok 124 - execute DROP TABLE IF EXISTS multi_fruit using DBD::File
ok 125 - DROP TABLE IF EXISTS multi_fruit
ok 126 - prepare CREATE TEMP TABLE multi_fruit (dKey INT, dVal VARCHAR(10), qux INT) using DBD::File
ok 127 - execute CREATE TEMP TABLE multi_fruit (dKey INT, dVal VARCHAR(10), qux INT) using DBD::File
ok 128 - CREATE TEMP TABLE multi_fruit (dKey INT, dVal VARCHAR(10), qux INT)
ok 129 - prepare INSERT INTO  multi_fruit VALUES (1,'oranges'  , 11 ) using DBD::File
ok 130 - execute INSERT INTO  multi_fruit VALUES (1,'oranges'  , 11 ) using DBD::File
ok 131 - INSERT INTO  multi_fruit VALUES (1,'oranges'  , 11 )
ok 132 - prepare INSERT INTO  multi_fruit VALUES (2,'to_change',  0 ) using DBD::File
ok 133 - execute INSERT INTO  multi_fruit VALUES (2,'to_change',  0 ) using DBD::File
ok 134 - INSERT INTO  multi_fruit VALUES (2,'to_change',  0 )
ok 135 - prepare INSERT INTO  multi_fruit VALUES (3, NULL      , 13 ) using DBD::File
ok 136 - execute INSERT INTO  multi_fruit VALUES (3, NULL      , 13 ) using DBD::File
ok 137 - INSERT INTO  multi_fruit VALUES (3, NULL      , 13 )
ok 138 - prepare INSERT INTO  multi_fruit VALUES (4,'to_delete', 14 ) using DBD::File
ok 139 - execute INSERT INTO  multi_fruit VALUES (4,'to_delete', 14 ) using DBD::File
ok 140 - INSERT INTO  multi_fruit VALUES (4,'to_delete', 14 )
ok 141 - prepare INSERT INTO  multi_fruit VALUES (?,?,?) using DBD::File
ok 142 - execute INSERT INTO  multi_fruit VALUES (?,?,?) using DBD::File
ok 143 - INSERT INTO  multi_fruit VALUES (?,?,?)
ok 144 - prepare INSERT INTO  multi_fruit VALUES (6,'to_delete', 16 ) using DBD::File
ok 145 - execute INSERT INTO  multi_fruit VALUES (6,'to_delete', 16 ) using DBD::File
ok 146 - INSERT INTO  multi_fruit VALUES (6,'to_delete', 16 )
ok 147 - prepare INSERT INTO  multi_fruit VALUES (7,'to delete', 17 ) using DBD::File
ok 148 - execute INSERT INTO  multi_fruit VALUES (7,'to delete', 17 ) using DBD::File
ok 149 - INSERT INTO  multi_fruit VALUES (7,'to delete', 17 )
ok 150 - prepare INSERT INTO  multi_fruit VALUES (8,'to remove', 18 ) using DBD::File
ok 151 - execute INSERT INTO  multi_fruit VALUES (8,'to remove', 18 ) using DBD::File
ok 152 - INSERT INTO  multi_fruit VALUES (8,'to remove', 18 )
ok 153 - prepare UPDATE multi_fruit SET dVal='apples', qux='12' WHERE dKey=2 using DBD::File
ok 154 - execute UPDATE multi_fruit SET dVal='apples', qux='12' WHERE dKey=2 using DBD::File
ok 155 - UPDATE multi_fruit SET dVal='apples', qux='12' WHERE dKey=2
ok 156 - $sth->execute(UPDATE multi_fruit SET dVal='apples', qux='12' WHERE dKey=2) == $sth->rows using DBD::File
ok 157 - prepare DELETE FROM  multi_fruit WHERE dVal='to_delete' using DBD::File
ok 158 - execute DELETE FROM  multi_fruit WHERE dVal='to_delete' using DBD::File
ok 159 - DELETE FROM  multi_fruit WHERE dVal='to_delete'
ok 160 - $sth->execute(DELETE FROM  multi_fruit WHERE dVal='to_delete') == $sth->rows using DBD::File
ok 161 - prepare DELETE FROM  multi_fruit WHERE qux=17 using DBD::File
ok 162 - execute DELETE FROM  multi_fruit WHERE qux=17 using DBD::File
ok 163 - DELETE FROM  multi_fruit WHERE qux=17
ok 164 - $sth->execute(DELETE FROM  multi_fruit WHERE qux=17) == $sth->rows using DBD::File
ok 165 - prepare DELETE FROM  multi_fruit WHERE dKey=8 using DBD::File
ok 166 - execute DELETE FROM  multi_fruit WHERE dKey=8 using DBD::File
ok 167 - DELETE FROM  multi_fruit WHERE dKey=8
ok 168 - $sth->execute(DELETE FROM  multi_fruit WHERE dKey=8) == $sth->rows using DBD::File
ok 169 - prepare SELECT * FROM multi_fruit ORDER BY dKey DESC using DBD::File
ok 170 - execute SELECT * FROM multi_fruit ORDER BY dKey DESC using DBD::File
ok 171 - SELECT * FROM multi_fruit ORDER BY dKey DESC
ok 172 - SELECT results for SELECT * FROM multi_fruit ORDER BY dKey DESC using DBD::File
ok 173 - prepare DELETE FROM multi_fruit using DBD::File
ok 174 - execute DELETE FROM multi_fruit using DBD::File
ok 175 - DELETE FROM multi_fruit
ok 176 - $sth->execute(DELETE FROM multi_fruit) == $sth->rows using DBD::File
ok 177 - prepare SELECT COUNT(*) FROM multi_fruit using DBD::File
ok 178 - execute SELECT COUNT(*) FROM multi_fruit using DBD::File
ok 179 - SELECT COUNT(*) FROM multi_fruit
ok 180 - SELECT results for SELECT COUNT(*) FROM multi_fruit using DBD::File
ok 181 - prepare DROP TABLE multi_fruit using DBD::File
ok 182 - execute DROP TABLE multi_fruit using DBD::File
ok 183 - DROP TABLE multi_fruit
ok 184 - prepare DROP TABLE IF EXISTS multi_fruit using DBD::DBM
ok 185 - execute DROP TABLE IF EXISTS multi_fruit using DBD::DBM
ok 186 - DROP TABLE IF EXISTS multi_fruit
ok 187 - prepare CREATE  TABLE multi_fruit (dKey INT, dVal VARCHAR(10), qux INT) using DBD::DBM
ok 188 - execute CREATE  TABLE multi_fruit (dKey INT, dVal VARCHAR(10), qux INT) using DBD::DBM
ok 189 - CREATE  TABLE multi_fruit (dKey INT, dVal VARCHAR(10), qux INT)
ok 190 - prepare INSERT INTO  multi_fruit VALUES (1,'oranges'  , 11 ) using DBD::DBM
ok 191 - execute INSERT INTO  multi_fruit VALUES (1,'oranges'  , 11 ) using DBD::DBM
ok 192 - INSERT INTO  multi_fruit VALUES (1,'oranges'  , 11 )
ok 193 - prepare INSERT INTO  multi_fruit VALUES (2,'to_change',  0 ) using DBD::DBM
ok 194 - execute INSERT INTO  multi_fruit VALUES (2,'to_change',  0 ) using DBD::DBM
ok 195 - INSERT INTO  multi_fruit VALUES (2,'to_change',  0 )
ok 196 - prepare INSERT INTO  multi_fruit VALUES (3, NULL      , 13 ) using DBD::DBM
ok 197 - execute INSERT INTO  multi_fruit VALUES (3, NULL      , 13 ) using DBD::DBM
ok 198 - INSERT INTO  multi_fruit VALUES (3, NULL      , 13 )
ok 199 - prepare INSERT INTO  multi_fruit VALUES (4,'to_delete', 14 ) using DBD::DBM
ok 200 - execute INSERT INTO  multi_fruit VALUES (4,'to_delete', 14 ) using DBD::DBM
ok 201 - INSERT INTO  multi_fruit VALUES (4,'to_delete', 14 )
ok 202 - prepare INSERT INTO  multi_fruit VALUES (?,?,?) using DBD::DBM
ok 203 - execute INSERT INTO  multi_fruit VALUES (?,?,?) using DBD::DBM
ok 204 - INSERT INTO  multi_fruit VALUES (?,?,?)
ok 205 - prepare INSERT INTO  multi_fruit VALUES (6,'to_delete', 16 ) using DBD::DBM
ok 206 - execute INSERT INTO  multi_fruit VALUES (6,'to_delete', 16 ) using DBD::DBM
ok 207 - INSERT INTO  multi_fruit VALUES (6,'to_delete', 16 )
ok 208 - prepare INSERT INTO  multi_fruit VALUES (7,'to delete', 17 ) using DBD::DBM
ok 209 - execute INSERT INTO  multi_fruit VALUES (7,'to delete', 17 ) using DBD::DBM
ok 210 - INSERT INTO  multi_fruit VALUES (7,'to delete', 17 )
ok 211 - prepare INSERT INTO  multi_fruit VALUES (8,'to remove', 18 ) using DBD::DBM
ok 212 - execute INSERT INTO  multi_fruit VALUES (8,'to remove', 18 ) using DBD::DBM
ok 213 - INSERT INTO  multi_fruit VALUES (8,'to remove', 18 )
ok 214 - prepare UPDATE multi_fruit SET dVal='apples', qux='12' WHERE dKey=2 using DBD::DBM
ok 215 - execute UPDATE multi_fruit SET dVal='apples', qux='12' WHERE dKey=2 using DBD::DBM
ok 216 - UPDATE multi_fruit SET dVal='apples', qux='12' WHERE dKey=2
ok 217 - $sth->execute(UPDATE multi_fruit SET dVal='apples', qux='12' WHERE dKey=2) == $sth->rows using DBD::DBM
ok 218 - prepare DELETE FROM  multi_fruit WHERE dVal='to_delete' using DBD::DBM
ok 219 - execute DELETE FROM  multi_fruit WHERE dVal='to_delete' using DBD::DBM
ok 220 - DELETE FROM  multi_fruit WHERE dVal='to_delete'
ok 221 - $sth->execute(DELETE FROM  multi_fruit WHERE dVal='to_delete') == $sth->rows using DBD::DBM
ok 222 - prepare DELETE FROM  multi_fruit WHERE qux=17 using DBD::DBM
ok 223 - execute DELETE FROM  multi_fruit WHERE qux=17 using DBD::DBM
ok 224 - DELETE FROM  multi_fruit WHERE qux=17
ok 225 - $sth->execute(DELETE FROM  multi_fruit WHERE qux=17) == $sth->rows using DBD::DBM
ok 226 - prepare DELETE FROM  multi_fruit WHERE dKey=8 using DBD::DBM
ok 227 - execute DELETE FROM  multi_fruit WHERE dKey=8 using DBD::DBM
ok 228 - DELETE FROM  multi_fruit WHERE dKey=8
ok 229 - $sth->execute(DELETE FROM  multi_fruit WHERE dKey=8) == $sth->rows using DBD::DBM
ok 230 - prepare SELECT * FROM multi_fruit ORDER BY dKey DESC using DBD::DBM
ok 231 - execute SELECT * FROM multi_fruit ORDER BY dKey DESC using DBD::DBM
ok 232 - SELECT * FROM multi_fruit ORDER BY dKey DESC
ok 233 - SELECT results for SELECT * FROM multi_fruit ORDER BY dKey DESC using DBD::DBM
ok 234 - prepare DELETE FROM multi_fruit using DBD::DBM
ok 235 - execute DELETE FROM multi_fruit using DBD::DBM
ok 236 - DELETE FROM multi_fruit
ok 237 - $sth->execute(DELETE FROM multi_fruit) == $sth->rows using DBD::DBM
ok 238 - prepare SELECT COUNT(*) FROM multi_fruit using DBD::DBM
ok 239 - execute SELECT COUNT(*) FROM multi_fruit using DBD::DBM
ok 240 - SELECT COUNT(*) FROM multi_fruit
ok 241 - SELECT results for SELECT COUNT(*) FROM multi_fruit using DBD::DBM
ok 242 - prepare DROP TABLE multi_fruit using DBD::DBM
ok 243 - execute DROP TABLE multi_fruit using DBD::DBM
ok 244 - DROP TABLE multi_fruit
1..244
ok
# Using required:
#   SQL::Statement: 1.33
# Using recommended:
#   DBD::CSV: 0.33
#   DBD::DBM: 0.06
#   DBD::File: 0.4
#   DBI: 1.616
#   MLDBM: 2.04
# Running tests for SQL::Statement
# Running tests for DBD::CSV
# Running tests for DBD::File
# Running tests for DBD::DBM
t/06virtual.t ...... 
ok 1 - prepare 	CREATE TEMP TABLE biz (sales INTEGER, class CHAR, color CHAR, BUGNULL CHAR) on SQL::Statement
ok 2 - execute 	CREATE TEMP TABLE biz (sales INTEGER, class CHAR, color CHAR, BUGNULL CHAR) on SQL::Statement
ok 3 - prepare 	INSERT INTO biz VALUES (1000, 'Car',   'White', NULL) on SQL::Statement
ok 4 - execute 	INSERT INTO biz VALUES (1000, 'Car',   'White', NULL) on SQL::Statement
ok 5 - prepare 	INSERT INTO biz VALUES ( 500, 'Car',   'Blue',  NULL ) on SQL::Statement
ok 6 - execute 	INSERT INTO biz VALUES ( 500, 'Car',   'Blue',  NULL ) on SQL::Statement
ok 7 - prepare 	INSERT INTO biz VALUES ( 400, 'Truck', 'White', NULL ) on SQL::Statement
ok 8 - execute 	INSERT INTO biz VALUES ( 400, 'Truck', 'White', NULL ) on SQL::Statement
ok 9 - prepare 	INSERT INTO biz VALUES ( 700, 'Car',   'Red',   NULL ) on SQL::Statement
ok 10 - execute 	INSERT INTO biz VALUES ( 700, 'Car',   'Red',   NULL ) on SQL::Statement
ok 11 - prepare 	INSERT INTO biz VALUES ( 300, 'Truck', 'White', NULL ) on SQL::Statement
ok 12 - execute 	INSERT INTO biz VALUES ( 300, 'Truck', 'White', NULL ) on SQL::Statement
ok 13 - prepare 	CREATE TEMP TABLE baz (ordered INTEGER, class CHAR, color CHAR) on SQL::Statement
ok 14 - execute 	CREATE TEMP TABLE baz (ordered INTEGER, class CHAR, color CHAR) on SQL::Statement
ok 15 - prepare 	INSERT INTO baz VALUES ( 250, 'Car',   'White' ), ( 100, 'Car',   'Blue' ), ( 150, 'Car',   'Red' ) on SQL::Statement
ok 16 - execute 	INSERT INTO baz VALUES ( 250, 'Car',   'White' ), ( 100, 'Car',   'Blue' ), ( 150, 'Car',   'Red' ) on SQL::Statement
ok 17 - prepare 	INSERT INTO baz VALUES (  80, 'Truck', 'White' ), (  60, 'Truck', 'Green' ) -- Yes, we introduce new cars :) on SQL::Statement
ok 18 - execute 	INSERT INTO baz VALUES (  80, 'Truck', 'White' ), (  60, 'Truck', 'Green' ) -- Yes, we introduce new cars :) on SQL::Statement
ok 19 - prepare 	CREATE TEMP TABLE numbers (c_foo INTEGER, foo CHAR, bar INTEGER) on SQL::Statement
ok 20 - execute 	CREATE TEMP TABLE numbers (c_foo INTEGER, foo CHAR, bar INTEGER) on SQL::Statement
ok 21 - prepare 	CREATE TEMP TABLE trick   (id INTEGER, foo CHAR) on SQL::Statement
ok 22 - execute 	CREATE TEMP TABLE trick   (id INTEGER, foo CHAR) on SQL::Statement
ok 23 - prepare 	INSERT INTO trick VALUES (1, '1foo') on SQL::Statement
ok 24 - execute 	INSERT INTO trick VALUES (1, '1foo') on SQL::Statement
ok 25 - prepare 	INSERT INTO trick VALUES (11, 'foo') on SQL::Statement
ok 26 - execute 	INSERT INTO trick VALUES (11, 'foo') on SQL::Statement
ok 27 - prepare 	CREATE TYPE TIMESTAMP on SQL::Statement
ok 28 - execute 	CREATE TYPE TIMESTAMP on SQL::Statement
ok 29 - prepare 	CREATE TEMP TABLE log (id INT, host CHAR, signature CHAR, message CHAR, time_stamp TIMESTAMP) on SQL::Statement
ok 30 - execute 	CREATE TEMP TABLE log (id INT, host CHAR, signature CHAR, message CHAR, time_stamp TIMESTAMP) on SQL::Statement
ok 31 - prepare 	INSERT INTO log VALUES (1, 'bert', '/netbsd', 'Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,', 1324020189) on SQL::Statement
ok 32 - execute 	INSERT INTO log VALUES (1, 'bert', '/netbsd', 'Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,', 1324020189) on SQL::Statement
ok 33 - prepare 	INSERT INTO log VALUES (2, 'bert', '/netbsd', '2006, 2007, 2008, 2009, 2010', 1324020189) on SQL::Statement
ok 34 - execute 	INSERT INTO log VALUES (2, 'bert', '/netbsd', '2006, 2007, 2008, 2009, 2010', 1324020189) on SQL::Statement
ok 35 - prepare 	INSERT INTO log VALUES (3, 'bert', '/netbsd', 'The NetBSD Foundation, Inc.  All rights reserved.', 1324020189) on SQL::Statement
ok 36 - execute 	INSERT INTO log VALUES (3, 'bert', '/netbsd', 'The NetBSD Foundation, Inc.  All rights reserved.', 1324020189) on SQL::Statement
ok 37 - prepare 	INSERT INTO log VALUES (4, 'bert', '/netbsd', 'Copyright (c) 1982, 1986, 1989, 1991, 1993', 1324020189) on SQL::Statement
ok 38 - execute 	INSERT INTO log VALUES (4, 'bert', '/netbsd', 'Copyright (c) 1982, 1986, 1989, 1991, 1993', 1324020189) on SQL::Statement
ok 39 - prepare 	INSERT INTO log VALUES (5, 'bert', '/netbsd', 'The Regents of the University of California.  All rights reserved.', 1324020189) on SQL::Statement
ok 40 - execute 	INSERT INTO log VALUES (5, 'bert', '/netbsd', 'The Regents of the University of California.  All rights reserved.', 1324020189) on SQL::Statement
ok 41 - prepare 	INSERT INTO log VALUES (6, 'bert', '/netbsd', '', 1324020189) on SQL::Statement
ok 42 - execute 	INSERT INTO log VALUES (6, 'bert', '/netbsd', '', 1324020189) on SQL::Statement
ok 43 - prepare 	INSERT INTO log VALUES (7, 'bert', '/netbsd', 'NetBSD 5.99.39 (BERT) \#0: Fri Oct  8 06:23:03 CEST 2010', 1324020189) on SQL::Statement
ok 44 - execute 	INSERT INTO log VALUES (7, 'bert', '/netbsd', 'NetBSD 5.99.39 (BERT) \#0: Fri Oct  8 06:23:03 CEST 2010', 1324020189) on SQL::Statement
ok 45 - prepare 	INSERT INTO log VALUES (8, 'ernie', 'rpc.statd', 'starting', 1324016589) on SQL::Statement
ok 46 - execute 	INSERT INTO log VALUES (8, 'ernie', 'rpc.statd', 'starting', 1324016589) on SQL::Statement
ok 47 - prepare 	INSERT INTO log VALUES (9, 'ernie', 'savecore', 'no core dump', 1324012989) on SQL::Statement
ok 48 - execute 	INSERT INTO log VALUES (9, 'ernie', 'savecore', 'no core dump', 1324012989) on SQL::Statement
ok 49 - prepare 	INSERT INTO log VALUES (10, 'ernie', 'postfix/postfix-script', 'starting the Postfix mail system', 1324009389) on SQL::Statement
ok 50 - execute 	INSERT INTO log VALUES (10, 'ernie', 'postfix/postfix-script', 'starting the Postfix mail system', 1324009389) on SQL::Statement
ok 51 - prepare 	INSERT INTO log VALUES (11, 'ernie', 'rpcbind', 'connect from 127.0.0.1 to dump()', 1324005789) on SQL::Statement
ok 52 - execute 	INSERT INTO log VALUES (11, 'ernie', 'rpcbind', 'connect from 127.0.0.1 to dump()', 1324005789) on SQL::Statement
ok 53 - prepare 	INSERT INTO log VALUES (12, 'ernie', 'sshd', 'last message repeated 2 times', 1324002189) on SQL::Statement
ok 54 - execute 	INSERT INTO log VALUES (12, 'ernie', 'sshd', 'last message repeated 2 times', 1324002189) on SQL::Statement
ok 55 - prepare 	INSERT INTO log VALUES (13, 'ernie', 'shutdown', 'poweroff by root:', 1323998589) on SQL::Statement
ok 56 - execute 	INSERT INTO log VALUES (13, 'ernie', 'shutdown', 'poweroff by root:', 1323998589) on SQL::Statement
ok 57 - prepare 	INSERT INTO log VALUES (14, 'ernie', 'shutdown', 'rebooted by root', 1323994989) on SQL::Statement
ok 58 - execute 	INSERT INTO log VALUES (14, 'ernie', 'shutdown', 'rebooted by root', 1323994989) on SQL::Statement
ok 59 - prepare 	INSERT INTO log VALUES (15, 'ernie', 'sshd', 'Server listening on :: port 22.', 1323991389) on SQL::Statement
ok 60 - execute 	INSERT INTO log VALUES (15, 'ernie', 'sshd', 'Server listening on :: port 22.', 1323991389) on SQL::Statement
ok 61 - prepare 	INSERT INTO log VALUES (16, 'ernie', 'sshd', 'Server listening on 0.0.0.0 port 22.', 1323987789) on SQL::Statement
ok 62 - execute 	INSERT INTO log VALUES (16, 'ernie', 'sshd', 'Server listening on 0.0.0.0 port 22.', 1323987789) on SQL::Statement
ok 63 - prepare 	INSERT INTO log VALUES (17, 'ernie', 'sshd', 'Received SIGHUP; restarting.', 1323984189) on SQL::Statement
ok 64 - execute 	INSERT INTO log VALUES (17, 'ernie', 'sshd', 'Received SIGHUP; restarting.', 1323984189) on SQL::Statement
ok 65 - prepare SELECT class,SUM(sales) as foo, MAX(sales) FROM biz GROUP BY class using SQL::Statement
ok 66 - execute SELECT class,SUM(sales) as foo, MAX(sales) FROM biz GROUP BY class using SQL::Statement
ok 67 - GROUP BY one column
ok 68 - prepare SELECT color,class,SUM(sales), MAX(sales) FROM biz GROUP BY color,class using SQL::Statement
ok 69 - execute SELECT color,class,SUM(sales), MAX(sales) FROM biz GROUP BY color,class using SQL::Statement
ok 70 - GROUP BY several columns
ok 71 - prepare SELECT SUM(sales), MAX(sales) FROM biz using SQL::Statement
ok 72 - execute SELECT SUM(sales), MAX(sales) FROM biz using SQL::Statement
ok 73 - AGGREGATE FUNCTIONS WITHOUT GROUP BY
ok 74 - prepare SELECT distinct class, COUNT(distinct color) FROM biz GROUP BY class using SQL::Statement
ok 75 - execute SELECT distinct class, COUNT(distinct color) FROM biz GROUP BY class using SQL::Statement
ok 76 - COUNT(distinct column) WITH GROUP BY
ok 77 - prepare SELECT class, COUNT(*) FROM biz GROUP BY class using SQL::Statement
ok 78 - execute SELECT class, COUNT(*) FROM biz GROUP BY class using SQL::Statement
ok 79 - COUNT(*) with GROUP BY
ok 80 - prepare SELECT DISTINCT biz.class, baz.color AS foo FROM biz, baz WHERE biz.class = baz.class ORDER BY foo using SQL::Statement
ok 81 - execute SELECT DISTINCT biz.class, baz.color AS foo FROM biz, baz WHERE biz.class = baz.class ORDER BY foo using SQL::Statement
ok 82 - ORDER BY on aliased column
ok 83 - prepare SELECT class, COUNT(distinct *) FROM biz GROUP BY class using SQL::Statement fails
ok 84 - COUNT(DISTINCT *) fails
ok 85 - prepare SELECT class, COUNT(color) FROM biz using SQL::Statement
ok 86 - execute SELECT class, COUNT(color) FROM biz using SQL::Statement fails
ok 87 - GROUP BY required
ok 88 - prepare SELECT SUM(bar) FROM numbers using SQL::Statement
ok 89 - execute SELECT SUM(bar) FROM numbers using SQL::Statement
ok 90 - SUM(bar) of empty table
ok 91 - prepare SELECT COUNT(bar),c_foo FROM numbers GROUP BY c_foo using SQL::Statement
ok 92 - execute SELECT COUNT(bar),c_foo FROM numbers GROUP BY c_foo using SQL::Statement
ok 93 - COUNT(bar) of empty table with GROUP BY
ok 94 - prepare SELECT COUNT(*) FROM numbers using SQL::Statement
ok 95 - execute SELECT COUNT(*) FROM numbers using SQL::Statement
ok 96 - COUNT(*) of empty table
ok 97 - prepare INSERT INTO numbers VALUES (?, ?, ?) using SQL::Statement
ok 98 - 1 .. 3999: execute INSERT INTO numbers VALUES (?, ?, ?) using SQL::Statement
ok 99 - prepare SELECT foo AS boo, COUNT (*) AS counted FROM numbers GROUP BY boo using SQL::Statement
ok 100 - execute SELECT foo AS boo, COUNT (*) AS counted FROM numbers GROUP BY boo using SQL::Statement
ok 101 - Columns in Number of rows in aggregated Table
ok 102 - Number of rows in aggregated Table
ok 103 - SUM(COUNTED)
ok 104 - prepare SELECT MIN(c_foo), MAX(c_foo), AVG(c_foo) FROM numbers using SQL::Statement
ok 105 - execute SELECT MIN(c_foo), MAX(c_foo), AVG(c_foo) FROM numbers using SQL::Statement
ok 106 - Aggregate functions MIN, MAX, AVG
ok 107 - prepare SELECT COUNT(*) FROM trick using SQL::Statement
ok 108 - execute SELECT COUNT(*) FROM trick using SQL::Statement
ok 109 - COUNT(*) internal for nasty table
ok 110 - prepare SELECT CURRENT_DATE() using SQL::Statement
ok 111 - execute SELECT CURRENT_DATE() using SQL::Statement
ok 112 - current_date int
ok 113 - prepare SELECT CURRENT_TIME using SQL::Statement
ok 114 - execute SELECT CURRENT_TIME using SQL::Statement
ok 115 - current_time int
ok 116 - prepare SELECT CURRENT_TIMESTAMP() using SQL::Statement
ok 117 - execute SELECT CURRENT_TIMESTAMP() using SQL::Statement
ok 118 - current_timestamp int
ok 119 - prepare SELECT CURDATE using SQL::Statement
ok 120 - execute SELECT CURDATE using SQL::Statement
ok 121 - curdate int
ok 122 - prepare SELECT CURTIME() using SQL::Statement
ok 123 - execute SELECT CURTIME() using SQL::Statement
ok 124 - curtime int
ok 125 - prepare SELECT NOW using SQL::Statement
ok 126 - execute SELECT NOW using SQL::Statement
ok 127 - now int
ok 128 - prepare SELECT UNIX_TIMESTAMP() using SQL::Statement
ok 129 - execute SELECT UNIX_TIMESTAMP() using SQL::Statement
ok 130 - unix_timestamp int
ok 131 - prepare SELECT CURRENT_TIME (1) using SQL::Statement
ok 132 - execute SELECT CURRENT_TIME (1) using SQL::Statement
ok 133 - current_time precision
ok 134 - prepare SELECT CURRENT_TIMESTAMP  (2) using SQL::Statement
ok 135 - execute SELECT CURRENT_TIMESTAMP  (2) using SQL::Statement
ok 136 - current_timestamp precision
ok 137 - prepare SELECT CURTIME   (3) using SQL::Statement
ok 138 - execute SELECT CURTIME   (3) using SQL::Statement
ok 139 - curtime precision
ok 140 - prepare SELECT NOW(4) using SQL::Statement
ok 141 - execute SELECT NOW(4) using SQL::Statement
ok 142 - now precision
ok 143 - prepare SELECT UNIX_TIMESTAMP(5) using SQL::Statement
ok 144 - execute SELECT UNIX_TIMESTAMP(5) using SQL::Statement
ok 145 - unix_timestamp precision
ok 146 - prepare SELECT ASCII('A') using SQL::Statement
ok 147 - execute SELECT ASCII('A') using SQL::Statement
ok 148 - ascii char
ok 149 - prepare SELECT ASCII('ABC') using SQL::Statement
ok 150 - execute SELECT ASCII('ABC') using SQL::Statement
ok 151 - ascii str
ok 152 - prepare SELECT CHAR() using SQL::Statement
ok 153 - execute SELECT CHAR() using SQL::Statement
ok 154 - char blank
ok 155 - prepare SELECT CHAR(65) using SQL::Statement
ok 156 - execute SELECT CHAR(65) using SQL::Statement
ok 157 - char char
ok 158 - prepare SELECT CHAR(CONV('263A', 16)) using SQL::Statement
ok 159 - execute SELECT CHAR(CONV('263A', 16)) using SQL::Statement
ok 160 - char char unicode
ok 161 - prepare SELECT CHAR(65,66,67) using SQL::Statement
ok 162 - execute SELECT CHAR(65,66,67) using SQL::Statement
ok 163 - char str
ok 164 - prepare SELECT CHAR(CONV('263A', 16), 9787, CONV('10011000111100', 2)) using SQL::Statement
ok 165 - execute SELECT CHAR(CONV('263A', 16), 9787, CONV('10011000111100', 2)) using SQL::Statement
ok 166 - char str unicode
ok 167 - prepare SELECT BIT_LENGTH(' oo') using SQL::Statement
ok 168 - execute SELECT BIT_LENGTH(' oo') using SQL::Statement
ok 169 - bit_length 6bit
ok 170 - prepare SELECT BIT_LENGTH('foo') using SQL::Statement
ok 171 - execute SELECT BIT_LENGTH('foo') using SQL::Statement
ok 172 - bit_length 7bit
ok 173 - prepare SELECT BIT_LENGTH(CHAR(9786, 9787, 9788)) using SQL::Statement
ok 174 - execute SELECT BIT_LENGTH(CHAR(9786, 9787, 9788)) using SQL::Statement
ok 175 - bit_length unicode
ok 176 - prepare SELECT CHARACTER_LENGTH('foo') using SQL::Statement
ok 177 - execute SELECT CHARACTER_LENGTH('foo') using SQL::Statement
ok 178 - character_length
ok 179 - prepare SELECT CHAR_LENGTH('foo') using SQL::Statement
ok 180 - execute SELECT CHAR_LENGTH('foo') using SQL::Statement
ok 181 - char_length
ok 182 - prepare SELECT CHARACTER_LENGTH(CHAR(9786, 9787, 9788)) using SQL::Statement
ok 183 - execute SELECT CHARACTER_LENGTH(CHAR(9786, 9787, 9788)) using SQL::Statement
ok 184 - character_length unicode
ok 185 - prepare SELECT CHAR_LENGTH(CHAR(9786, 9787, 9788)) using SQL::Statement
ok 186 - execute SELECT CHAR_LENGTH(CHAR(9786, 9787, 9788)) using SQL::Statement
ok 187 - char_length unicode
ok 188 - prepare SELECT COALESCE(NULL,'z') using SQL::Statement
ok 189 - execute SELECT COALESCE(NULL,'z') using SQL::Statement
ok 190 - coalesce
ok 191 - prepare SELECT NVL(NULL,'z') using SQL::Statement
ok 192 - execute SELECT NVL(NULL,'z') using SQL::Statement
ok 193 - nvl
ok 194 - prepare SELECT IFNULL(NULL,'z') using SQL::Statement
ok 195 - execute SELECT IFNULL(NULL,'z') using SQL::Statement
ok 196 - ifnull
ok 197 - prepare SELECT CONCAT('A','B') using SQL::Statement
ok 198 - execute SELECT CONCAT('A','B') using SQL::Statement
ok 199 - concat good
ok 200 - prepare SELECT CONCAT('A',NULL) using SQL::Statement
ok 201 - execute SELECT CONCAT('A',NULL) using SQL::Statement
ok 202 - concat bad
ok 203 - prepare SELECT CONV('101 0100 1111 0111 0110 1011',  2, 92) using SQL::Statement
ok 204 - execute SELECT CONV('101 0100 1111 0111 0110 1011',  2, 92) using SQL::Statement
ok 205 - conv 2->92
ok 206 - prepare SELECT CONV('101 0100 1111 0111 0110 1011',  2, 64) using SQL::Statement
ok 207 - execute SELECT CONV('101 0100 1111 0111 0110 1011',  2, 64) using SQL::Statement
ok 208 - conv 2->64
ok 209 - prepare SELECT CONV('101 0100 1111 0111 0110 1011',  2, 36) using SQL::Statement
ok 210 - execute SELECT CONV('101 0100 1111 0111 0110 1011',  2, 36) using SQL::Statement
ok 211 - conv 2->36
ok 212 - prepare SELECT CONV('101 0100 1111 0111 0110 1011',  2, 16) using SQL::Statement
ok 213 - execute SELECT CONV('101 0100 1111 0111 0110 1011',  2, 16) using SQL::Statement
ok 214 - conv 2->16
ok 215 - prepare SELECT CONV('101 0100 1111 0111 0110 1011',  2, 10) using SQL::Statement
ok 216 - execute SELECT CONV('101 0100 1111 0111 0110 1011',  2, 10) using SQL::Statement
ok 217 - conv 2->10
ok 218 - prepare SELECT CONV('101 0100 1111 0111 0110 1011',  2,  8) using SQL::Statement
ok 219 - execute SELECT CONV('101 0100 1111 0111 0110 1011',  2,  8) using SQL::Statement
ok 220 - conv 2->8
ok 221 - prepare SELECT CONV('101 0100 1111 0111 0110 1011',  2,  2) using SQL::Statement
ok 222 - execute SELECT CONV('101 0100 1111 0111 0110 1011',  2,  2) using SQL::Statement
ok 223 - conv 2->2
ok 224 - prepare SELECT CONV(-1, 2, 36) using SQL::Statement
ok 225 - execute SELECT CONV(-1, 2, 36) using SQL::Statement
ok 226 - conv base 36 short-circuit
ok 227 - prepare SELECT CONV(-1, 2, 92) using SQL::Statement
ok 228 - execute SELECT CONV(-1, 2, 92) using SQL::Statement
ok 229 - conv base 92 short-circuit
ok 230 - prepare SELECT CONV('-&23ms98*&a ^.21 hjs ', 92, 36) using SQL::Statement
ok 231 - execute SELECT CONV('-&23ms98*&a ^.21 hjs ', 92, 36) using SQL::Statement
ok 232 - conv 92->36
ok 233 - prepare SELECT CONV('10101001111.011101101011', 2, 92) using SQL::Statement
ok 234 - execute SELECT CONV('10101001111.011101101011', 2, 92) using SQL::Statement
ok 235 - conv 2->92 fractional
ok 236 - prepare SELECT CONV(2517.3553, 8, 64) using SQL::Statement
ok 237 - execute SELECT CONV(2517.3553, 8, 64) using SQL::Statement
ok 238 - conv 8->64 fractional
ok 239 - prepare SELECT CONV('54F . 76B', 16, 32) using SQL::Statement
ok 240 - execute SELECT CONV('54F . 76B', 16, 32) using SQL::Statement
ok 241 - conv 16->32 fractional
ok 242 - prepare SELECT CONV('101 0100 1111.0111 0110 1011', 2, 16) using SQL::Statement
ok 243 - execute SELECT CONV('101 0100 1111.0111 0110 1011', 2, 16) using SQL::Statement
ok 244 - conv 2->16 fractional
ok 245 - prepare SELECT CONV('VP.dr', 64, 10) using SQL::Statement
ok 246 - execute SELECT CONV('VP.dr', 64, 10) using SQL::Statement
ok 247 - conv 64->10 fractional
ok 248 - prepare SELECT CONV(' 1 A F . E Q O ', 32, 8) using SQL::Statement
ok 249 - execute SELECT CONV(' 1 A F . E Q O ', 32, 8) using SQL::Statement
ok 250 - conv 32->8 fractional
ok 251 - prepare SELECT CONV('101 0100 1111.0111 0110 1011', 2, 2) using SQL::Statement
ok 252 - execute SELECT CONV('101 0100 1111.0111 0110 1011', 2, 2) using SQL::Statement
ok 253 - conv 2->2 fractional
ok 254 - prepare SELECT CONV('1AF.EQO0000000000000000000000000000', 32, 8) using SQL::Statement
ok 255 - execute SELECT CONV('1AF.EQO0000000000000000000000000000', 32, 8) using SQL::Statement
ok 256 - conv 32->8 big_number
ok 257 - prepare SELECT DISTINCT DECODE(color,'White','W','Red','R','B') AS cfc FROM biz ORDER BY cfc using SQL::Statement
ok 258 - execute SELECT DISTINCT DECODE(color,'White','W','Red','R','B') AS cfc FROM biz ORDER BY cfc using SQL::Statement
ok 259 - decode
ok 260 - prepare SELECT INSERT('foodieland', 4, 3, 'bar') using SQL::Statement
ok 261 - execute SELECT INSERT('foodieland', 4, 3, 'bar') using SQL::Statement
ok 262 - insert good 1:1
ok 263 - prepare SELECT INSERT('foodland', 4, 1, 'bar') using SQL::Statement
ok 264 - execute SELECT INSERT('foodland', 4, 1, 'bar') using SQL::Statement
ok 265 - insert good non-1:1
ok 266 - prepare SELECT INSERT(NULL, 4, 1, 'bar') using SQL::Statement
ok 267 - execute SELECT INSERT(NULL, 4, 1, 'bar') using SQL::Statement
ok 268 - insert bad 1
ok 269 - prepare SELECT INSERT('foodland', 4, 1, NULL) using SQL::Statement
ok 270 - execute SELECT INSERT('foodland', 4, 1, NULL) using SQL::Statement
ok 271 - insert bad 2
ok 272 - prepare SELECT LEFT('foodland', 4) using SQL::Statement
ok 273 - execute SELECT LEFT('foodland', 4) using SQL::Statement
ok 274 - left good
ok 275 - prepare SELECT LEFT(NULL, 4) using SQL::Statement
ok 276 - execute SELECT LEFT(NULL, 4) using SQL::Statement
ok 277 - left bad 1
ok 278 - prepare SELECT LEFT('foodland', NULL) using SQL::Statement
ok 279 - execute SELECT LEFT('foodland', NULL) using SQL::Statement
ok 280 - left bad 2
ok 281 - prepare SELECT RIGHT('foodland', 4) using SQL::Statement
ok 282 - execute SELECT RIGHT('foodland', 4) using SQL::Statement
ok 283 - right good
ok 284 - prepare SELECT RIGHT(NULL, 4) using SQL::Statement
ok 285 - execute SELECT RIGHT(NULL, 4) using SQL::Statement
ok 286 - right bad 1
ok 287 - prepare SELECT RIGHT('foodland', NULL) using SQL::Statement
ok 288 - execute SELECT RIGHT('foodland', NULL) using SQL::Statement
ok 289 - right bad 2
ok 290 - prepare SELECT LOCATE('a','bar') using SQL::Statement
ok 291 - execute SELECT LOCATE('a','bar') using SQL::Statement
ok 292 - locate 2param
ok 293 - prepare SELECT LOCATE('a','barafa',3) using SQL::Statement
ok 294 - execute SELECT LOCATE('a','barafa',3) using SQL::Statement
ok 295 - locate 3param
ok 296 - prepare SELECT POSITION('a','bar') using SQL::Statement
ok 297 - execute SELECT POSITION('a','bar') using SQL::Statement
ok 298 - position 2param
ok 299 - prepare SELECT POSITION('a','barafa',3) using SQL::Statement
ok 300 - execute SELECT POSITION('a','barafa',3) using SQL::Statement
ok 301 - position 3param
ok 302 - prepare SELECT LOWER('A') using SQL::Statement
ok 303 - execute SELECT LOWER('A') using SQL::Statement
ok 304 - lower
ok 305 - prepare SELECT UPPER('a') using SQL::Statement
ok 306 - execute SELECT UPPER('a') using SQL::Statement
ok 307 - upper
ok 308 - prepare SELECT LCASE('A') using SQL::Statement
ok 309 - execute SELECT LCASE('A') using SQL::Statement
ok 310 - lcase
ok 311 - prepare SELECT UCASE('a') using SQL::Statement
ok 312 - execute SELECT UCASE('a') using SQL::Statement
ok 313 - ucase
ok 314 - prepare SELECT LTRIM(' fun ') using SQL::Statement
ok 315 - execute SELECT LTRIM(' fun ') using SQL::Statement
ok 316 - ltrim
ok 317 - prepare SELECT RTRIM(' fun ') using SQL::Statement
ok 318 - execute SELECT RTRIM(' fun ') using SQL::Statement
ok 319 - rtrim
ok 320 - prepare SELECT OCTET_LENGTH('foo') using SQL::Statement
ok 321 - execute SELECT OCTET_LENGTH('foo') using SQL::Statement
ok 322 - octet_length
ok 323 - prepare SELECT OCTET_LENGTH(CHAR(64, 169, 9786, 65572)) using SQL::Statement
ok 324 - execute SELECT OCTET_LENGTH(CHAR(64, 169, 9786, 65572)) using SQL::Statement
ok 325 - octet_length unicode
ok 326 - prepare SELECT REGEX('jeff','/EF/i') using SQL::Statement
ok 327 - execute SELECT REGEX('jeff','/EF/i') using SQL::Statement
ok 328 - regex match
ok 329 - prepare SELECT REGEX('jeff','/zzz/') using SQL::Statement
ok 330 - execute SELECT REGEX('jeff','/zzz/') using SQL::Statement
ok 331 - regex no match
ok 332 - prepare SELECT REPEAT('zfunkY', 3) using SQL::Statement
ok 333 - execute SELECT REPEAT('zfunkY', 3) using SQL::Statement
ok 334 - repeat
ok 335 - prepare SELECT REPLACE('zfunkY','s/z(.+)ky/$1/i') using SQL::Statement
ok 336 - execute SELECT REPLACE('zfunkY','s/z(.+)ky/$1/i') using SQL::Statement
ok 337 - replace
ok 338 - prepare SELECT SUBSTITUTE('zfunkY','s/z(.+)ky/$1/i') using SQL::Statement
ok 339 - execute SELECT SUBSTITUTE('zfunkY','s/z(.+)ky/$1/i') using SQL::Statement
ok 340 - substitute
ok 341 - prepare SELECT SOUNDEX('jeff','jeph') using SQL::Statement
ok 342 - execute SELECT SOUNDEX('jeff','jeph') using SQL::Statement
ok 343 - soundex match
ok 344 - prepare SELECT SOUNDEX('jeff','quartz') using SQL::Statement
ok 345 - execute SELECT SOUNDEX('jeff','quartz') using SQL::Statement
ok 346 - soundex no match
ok 347 - prepare SELECT SPACE(10) using SQL::Statement
ok 348 - execute SELECT SPACE(10) using SQL::Statement
ok 349 - space
ok 350 - prepare SELECT SUBSTR('zfunkY',2,3) using SQL::Statement
ok 351 - execute SELECT SUBSTR('zfunkY',2,3) using SQL::Statement
ok 352 - substr
ok 353 - prepare SELECT DISTINCT color FROM biz WHERE SUBSTRING(class FROM 1 FOR 1)='T' using SQL::Statement
ok 354 - execute SELECT DISTINCT color FROM biz WHERE SUBSTRING(class FROM 1 FOR 1)='T' using SQL::Statement
ok 355 - substring
ok 356 - prepare SELECT TRANSLATE('foobar forever', 'oae', '0@3') using SQL::Statement
ok 357 - execute SELECT TRANSLATE('foobar forever', 'oae', '0@3') using SQL::Statement
ok 358 - translate
ok 359 - prepare SELECT TRIM(' fun ') using SQL::Statement
ok 360 - execute SELECT TRIM(' fun ') using SQL::Statement
ok 361 - trim simple
not ok 362 - prepare SELECT TRIM(LEADING FROM ' fun ') using SQL::Statement # TODO Analyze why this fails; may be thinking FROM keyword is for table specs
#   Failed (TODO) test 'prepare SELECT TRIM(LEADING FROM ' fun ') using SQL::Statement'
#   at t/06virtual.t line 1422.
# Unbalanced parentheses!
not ok 363 - prepare SELECT TRIM(TRAILING FROM ' fun ') using SQL::Statement # TODO Analyze why this fails; may be thinking FROM keyword is for table specs
#   Failed (TODO) test 'prepare SELECT TRIM(TRAILING FROM ' fun ') using SQL::Statement'
#   at t/06virtual.t line 1422.
# Unbalanced parentheses!
not ok 364 - prepare SELECT TRIM(LEADING ';' FROM ';;; fun ') using SQL::Statement # TODO Analyze why this fails; may be thinking FROM keyword is for table specs
#   Failed (TODO) test 'prepare SELECT TRIM(LEADING ';' FROM ';;; fun ') using SQL::Statement'
#   at t/06virtual.t line 1422.
# Unbalanced parentheses!
ok 365 - prepare SELECT UNHEX('414243') using SQL::Statement
ok 366 - execute SELECT UNHEX('414243') using SQL::Statement
ok 367 - unhex str
ok 368 - prepare SELECT UNHEX('263A' || HEX(9787) || CONV('10011000111100', 2, 16), 'UCS-2') using SQL::Statement
ok 369 - execute SELECT UNHEX('263A' || HEX(9787) || CONV('10011000111100', 2, 16), 'UCS-2') using SQL::Statement
ok 370 - unhex str unicode
ok 371 - prepare SELECT ABS(-4) using SQL::Statement
ok 372 - execute SELECT ABS(-4) using SQL::Statement
ok 373 - abs
ok 374 - prepare SELECT CEILING(5) using SQL::Statement
ok 375 - execute SELECT CEILING(5) using SQL::Statement
ok 376 - ceiling int
ok 377 - prepare SELECT CEILING(4.1) using SQL::Statement
ok 378 - execute SELECT CEILING(4.1) using SQL::Statement
ok 379 - ceiling positive
ok 380 - prepare SELECT CEIL(-4.5) using SQL::Statement
ok 381 - execute SELECT CEIL(-4.5) using SQL::Statement
ok 382 - ceil negative
ok 383 - prepare SELECT FLOOR(-5) using SQL::Statement
ok 384 - execute SELECT FLOOR(-5) using SQL::Statement
ok 385 - floor int
ok 386 - prepare SELECT FLOOR(4.999999999999) using SQL::Statement
ok 387 - execute SELECT FLOOR(4.999999999999) using SQL::Statement
ok 388 - floor positive
ok 389 - prepare SELECT FLOOR(-4.1) using SQL::Statement
ok 390 - execute SELECT FLOOR(-4.1) using SQL::Statement
ok 391 - floor negative
ok 392 - prepare SELECT EXP(1) using SQL::Statement
ok 393 - execute SELECT EXP(1) using SQL::Statement
ok 394 - exp
ok 395 - prepare SELECT LOG(6) using SQL::Statement
ok 396 - execute SELECT LOG(6) using SQL::Statement
ok 397 - log as log10
ok 398 - prepare SELECT LOG(2, 32) using SQL::Statement
ok 399 - execute SELECT LOG(2, 32) using SQL::Statement
ok 400 - log as log2
ok 401 - prepare SELECT LN(3) using SQL::Statement
ok 402 - execute SELECT LN(3) using SQL::Statement
ok 403 - ln
ok 404 - prepare SELECT MOD(8, 5) using SQL::Statement
ok 405 - execute SELECT MOD(8, 5) using SQL::Statement
ok 406 - mod
ok 407 - prepare SELECT POWER(2, 4) using SQL::Statement
ok 408 - execute SELECT POWER(2, 4) using SQL::Statement
ok 409 - power
ok 410 - prepare SELECT POW(2, 4) using SQL::Statement
ok 411 - execute SELECT POW(2, 4) using SQL::Statement
ok 412 - pow
ok 413 - prepare SELECT FLOOR(RAND(4)) using SQL::Statement
ok 414 - execute SELECT FLOOR(RAND(4)) using SQL::Statement
ok 415 - rand
ok 416 - prepare SELECT FLOOR(RAND(4), UNIX_TIMESTAMP()) using SQL::Statement
ok 417 - execute SELECT FLOOR(RAND(4), UNIX_TIMESTAMP()) using SQL::Statement
ok 418 - rand with seed
ok 419 - prepare SELECT ROUND(4.999999999999) using SQL::Statement
ok 420 - execute SELECT ROUND(4.999999999999) using SQL::Statement
ok 421 - round int
ok 422 - prepare SELECT ROUND(4.542222222222, 1) using SQL::Statement
ok 423 - execute SELECT ROUND(4.542222222222, 1) using SQL::Statement
ok 424 - round tenth
ok 425 - prepare SELECT SIGN(-25.5) using SQL::Statement
ok 426 - execute SELECT SIGN(-25.5) using SQL::Statement
ok 427 - sign -1
ok 428 - prepare SELECT SIGN(53645) using SQL::Statement
ok 429 - execute SELECT SIGN(53645) using SQL::Statement
ok 430 - sign 1
ok 431 - prepare SELECT SIGN(0) using SQL::Statement
ok 432 - execute SELECT SIGN(0) using SQL::Statement
ok 433 - sign 0
ok 434 - prepare SELECT SIGN(NULL) using SQL::Statement
ok 435 - execute SELECT SIGN(NULL) using SQL::Statement
ok 436 - sign null
ok 437 - prepare SELECT SQRT(64) using SQL::Statement
ok 438 - execute SELECT SQRT(64) using SQL::Statement
ok 439 - sqrt
ok 440 - prepare SELECT TRUNCATE(4.999999999999) using SQL::Statement
ok 441 - execute SELECT TRUNCATE(4.999999999999) using SQL::Statement
ok 442 - truncate int
ok 443 - prepare SELECT TRUNC(-4.9) using SQL::Statement
ok 444 - execute SELECT TRUNC(-4.9) using SQL::Statement
ok 445 - trunc int
ok 446 - prepare SELECT TRUNCATE(4.934, 1) using SQL::Statement
ok 447 - execute SELECT TRUNCATE(4.934, 1) using SQL::Statement
ok 448 - truncate tenth
ok 449 - prepare SELECT TRUNC(-4.99999, 1) using SQL::Statement
ok 450 - execute SELECT TRUNC(-4.99999, 1) using SQL::Statement
ok 451 - trunc int
ok 452 - prepare SELECT SIN(1) using SQL::Statement
ok 453 - execute SELECT SIN(1) using SQL::Statement
ok 454 - sin
ok 455 - prepare SELECT COS(1) using SQL::Statement
ok 456 - execute SELECT COS(1) using SQL::Statement
ok 457 - cos
ok 458 - prepare SELECT TAN(1) using SQL::Statement
ok 459 - execute SELECT TAN(1) using SQL::Statement
ok 460 - tan
ok 461 - prepare SELECT SEC(1) using SQL::Statement
ok 462 - execute SELECT SEC(1) using SQL::Statement
ok 463 - sec
ok 464 - prepare SELECT CSC(1) using SQL::Statement
ok 465 - execute SELECT CSC(1) using SQL::Statement
ok 466 - csc
ok 467 - prepare SELECT COSEC(1) using SQL::Statement
ok 468 - execute SELECT COSEC(1) using SQL::Statement
ok 469 - cosec
ok 470 - prepare SELECT COT(1) using SQL::Statement
ok 471 - execute SELECT COT(1) using SQL::Statement
ok 472 - cot
ok 473 - prepare SELECT COTAN(1) using SQL::Statement
ok 474 - execute SELECT COTAN(1) using SQL::Statement
ok 475 - cotan
ok 476 - prepare SELECT ASIN(1) using SQL::Statement
ok 477 - execute SELECT ASIN(1) using SQL::Statement
ok 478 - asin
ok 479 - prepare SELECT ACOS(1) using SQL::Statement
ok 480 - execute SELECT ACOS(1) using SQL::Statement
ok 481 - acos
ok 482 - prepare SELECT ATAN(1) using SQL::Statement
ok 483 - execute SELECT ATAN(1) using SQL::Statement
ok 484 - atan
ok 485 - prepare SELECT ASEC(1) using SQL::Statement
ok 486 - execute SELECT ASEC(1) using SQL::Statement
ok 487 - asec
ok 488 - prepare SELECT ACSC(1) using SQL::Statement
ok 489 - execute SELECT ACSC(1) using SQL::Statement
ok 490 - acsc
ok 491 - prepare SELECT ACOSEC(1) using SQL::Statement
ok 492 - execute SELECT ACOSEC(1) using SQL::Statement
ok 493 - acosec
ok 494 - prepare SELECT ACOT(1) using SQL::Statement
ok 495 - execute SELECT ACOT(1) using SQL::Statement
ok 496 - acot
ok 497 - prepare SELECT ACOTAN(1) using SQL::Statement
ok 498 - execute SELECT ACOTAN(1) using SQL::Statement
ok 499 - acotan
ok 500 - prepare SELECT SINH(1) using SQL::Statement
ok 501 - execute SELECT SINH(1) using SQL::Statement
ok 502 - sinh
ok 503 - prepare SELECT COSH(1) using SQL::Statement
ok 504 - execute SELECT COSH(1) using SQL::Statement
ok 505 - cosh
ok 506 - prepare SELECT TANH(1) using SQL::Statement
ok 507 - execute SELECT TANH(1) using SQL::Statement
ok 508 - tanh
ok 509 - prepare SELECT SECH(1) using SQL::Statement
ok 510 - execute SELECT SECH(1) using SQL::Statement
ok 511 - sech
ok 512 - prepare SELECT CSCH(1) using SQL::Statement
ok 513 - execute SELECT CSCH(1) using SQL::Statement
ok 514 - csch
ok 515 - prepare SELECT COSECH(1) using SQL::Statement
ok 516 - execute SELECT COSECH(1) using SQL::Statement
ok 517 - cosech
ok 518 - prepare SELECT COTH(1) using SQL::Statement
ok 519 - execute SELECT COTH(1) using SQL::Statement
ok 520 - coth
ok 521 - prepare SELECT COTANH(1) using SQL::Statement
ok 522 - execute SELECT COTANH(1) using SQL::Statement
ok 523 - cotanh
ok 524 - prepare SELECT ASINH(1) using SQL::Statement
ok 525 - execute SELECT ASINH(1) using SQL::Statement
ok 526 - asinh
ok 527 - prepare SELECT ACOSH(1) using SQL::Statement
ok 528 - execute SELECT ACOSH(1) using SQL::Statement
ok 529 - acosh
ok 530 - prepare SELECT ATANH(0.9) using SQL::Statement
ok 531 - execute SELECT ATANH(0.9) using SQL::Statement
ok 532 - atanh
ok 533 - prepare SELECT ASECH(0.9) using SQL::Statement
ok 534 - execute SELECT ASECH(0.9) using SQL::Statement
ok 535 - asech
ok 536 - prepare SELECT ACSCH(2) using SQL::Statement
ok 537 - execute SELECT ACSCH(2) using SQL::Statement
ok 538 - acsch
ok 539 - prepare SELECT ACOSECH(2) using SQL::Statement
ok 540 - execute SELECT ACOSECH(2) using SQL::Statement
ok 541 - acosech
ok 542 - prepare SELECT ACOTH(2) using SQL::Statement
ok 543 - execute SELECT ACOTH(2) using SQL::Statement
ok 544 - acoth
ok 545 - prepare SELECT ACOTANH(2) using SQL::Statement
ok 546 - execute SELECT ACOTANH(2) using SQL::Statement
ok 547 - acotanh
ok 548 - prepare SELECT PI using SQL::Statement
ok 549 - execute SELECT PI using SQL::Statement
ok 550 - pi
ok 551 - prepare SELECT ATAN2(1, 0) using SQL::Statement
ok 552 - execute SELECT ATAN2(1, 0) using SQL::Statement
ok 553 - atan2 to pi/2
ok 554 - prepare SELECT ATAN2(1, 1) using SQL::Statement
ok 555 - execute SELECT ATAN2(1, 1) using SQL::Statement
ok 556 - atan2 to pi/4
ok 557 - prepare SELECT ATAN2(-1, -1) using SQL::Statement
ok 558 - execute SELECT ATAN2(-1, -1) using SQL::Statement
ok 559 - atan2 to -3pi/4
ok 560 - prepare SELECT TAN(0.9) using SQL::Statement
ok 561 - execute SELECT TAN(0.9) using SQL::Statement
ok 562 - tan as property sin/cos
ok 563 - prepare SELECT SINH(2) using SQL::Statement
ok 564 - execute SELECT SINH(2) using SQL::Statement
ok 565 - sinh 2
ok 566 - prepare SELECT ACSCH(0.1) using SQL::Statement
ok 567 - execute SELECT ACSCH(0.1) using SQL::Statement
ok 568 - acsch 0.1
ok 569 - prepare SELECT DEG2RAD(90) using SQL::Statement
ok 570 - execute SELECT DEG2RAD(90) using SQL::Statement
ok 571 - deg2rad
ok 572 - prepare SELECT RADIANS(90) using SQL::Statement
ok 573 - execute SELECT RADIANS(90) using SQL::Statement
ok 574 - radians
ok 575 - prepare SELECT RAD2DEG(PI) using SQL::Statement
ok 576 - execute SELECT RAD2DEG(PI) using SQL::Statement
ok 577 - rad2deg
ok 578 - prepare SELECT DEGREES(PI()) using SQL::Statement
ok 579 - execute SELECT DEGREES(PI()) using SQL::Statement
ok 580 - degrees
ok 581 - prepare SELECT DEG2GRAD(0.9) using SQL::Statement
ok 582 - execute SELECT DEG2GRAD(0.9) using SQL::Statement
ok 583 - deg2grad
ok 584 - prepare SELECT GRAD2DEG(50) using SQL::Statement
ok 585 - execute SELECT GRAD2DEG(50) using SQL::Statement
ok 586 - grad2deg
ok 587 - prepare SELECT RAD2GRAD(PI / 2) using SQL::Statement
ok 588 - execute SELECT RAD2GRAD(PI / 2) using SQL::Statement
ok 589 - rad2grad
ok 590 - prepare SELECT GRAD2RAD(200) using SQL::Statement
ok 591 - execute SELECT GRAD2RAD(200) using SQL::Statement
ok 592 - grad2rad
ok 593 - prepare SELECT DEG2RAD(10000000000) using SQL::Statement
ok 594 - execute SELECT DEG2RAD(10000000000) using SQL::Statement
ok 595 - lotta radians
ok 596 - prepare SELECT RAD2DEG(-10000000000) using SQL::Statement
ok 597 - execute SELECT RAD2DEG(-10000000000) using SQL::Statement
ok 598 - negative degrees
ok 599 - prepare SELECT RAD2DEG(10000) using SQL::Statement
ok 600 - execute SELECT RAD2DEG(10000) using SQL::Statement
ok 601 - positive degrees
ok 602 - prepare SELECT TANH(100) using SQL::Statement
ok 603 - execute SELECT TANH(100) using SQL::Statement
ok 604 - tanh 100
ok 605 - prepare SELECT COTH(100) using SQL::Statement
ok 606 - execute SELECT COTH(100) using SQL::Statement
ok 607 - coth 100
ok 608 - prepare SELECT TANH(-100) using SQL::Statement
ok 609 - execute SELECT TANH(-100) using SQL::Statement
ok 610 - tanh -100
ok 611 - prepare SELECT COTH(-100) using SQL::Statement
ok 612 - execute SELECT COTH(-100) using SQL::Statement
ok 613 - coth -100
ok 614 - prepare SELECT SECH(100000) using SQL::Statement
ok 615 - execute SELECT SECH(100000) using SQL::Statement
ok 616 - sech 1e5
ok 617 - prepare SELECT CSCH(100000) using SQL::Statement
ok 618 - execute SELECT CSCH(100000) using SQL::Statement
ok 619 - csch 1e5
ok 620 - prepare SELECT TANH(100000) using SQL::Statement
ok 621 - execute SELECT TANH(100000) using SQL::Statement
ok 622 - tanh 1e5
ok 623 - prepare SELECT COTH(100000) using SQL::Statement
ok 624 - execute SELECT COTH(100000) using SQL::Statement
ok 625 - coth 1e5
ok 626 - prepare SELECT SECH(-100000) using SQL::Statement
ok 627 - execute SELECT SECH(-100000) using SQL::Statement
ok 628 - sech -1e5
ok 629 - prepare SELECT CSCH(-100000) using SQL::Statement
ok 630 - execute SELECT CSCH(-100000) using SQL::Statement
ok 631 - csch -1e5
ok 632 - prepare SELECT TANH(-100000) using SQL::Statement
ok 633 - execute SELECT TANH(-100000) using SQL::Statement
ok 634 - tanh -1e5
ok 635 - prepare SELECT COTH(-100000) using SQL::Statement
ok 636 - execute SELECT COTH(-100000) using SQL::Statement
ok 637 - coth -1e5
ok 638 - prepare SELECT DBNAME() using SQL::Statement
ok 639 - execute SELECT DBNAME() using SQL::Statement
ok 640 - dbname
ok 641 - prepare SELECT USERNAME() using SQL::Statement
ok 642 - execute SELECT USERNAME() using SQL::Statement
ok 643 - username
ok 644 - prepare SELECT USER() using SQL::Statement
ok 645 - execute SELECT USER() using SQL::Statement
ok 646 - user
ok 647 - prepare SELECT id,host,signature,message FROM log WHERE time_stamp < (1324020189 - ( 4 * 60 )) using SQL::Statement
ok 648 - execute SELECT id,host,signature,message FROM log WHERE time_stamp < (1324020189 - ( 4 * 60 )) using SQL::Statement
ok 649 - SELECT with calculation in WHERE CLAUSE
ok 650 - prepare SELECT id,host,signature,message FROM log WHERE (time_stamp > (1324020189 - 5)) AND (time_stamp < (1324020189 + 5)) using SQL::Statement
ok 651 - execute SELECT id,host,signature,message FROM log WHERE (time_stamp > (1324020189 - 5)) AND (time_stamp < (1324020189 + 5)) using SQL::Statement
ok 652 - SELECT with calculation and logical expression in WHERE CLAUSE
ok 653 - prepare SELECT id,host,signature,message FROM log WHERE time_stamp BETWEEN ( 1324020189 - 5, 1324020189 + 5) using SQL::Statement
ok 654 - execute SELECT id,host,signature,message FROM log WHERE time_stamp BETWEEN ( 1324020189 - 5, 1324020189 + 5) using SQL::Statement
ok 655 - SELECT with calculated items in BETWEEN in WHERE CLAUSE
ok 656 - prepare SELECT MAX(time_stamp) FROM log WHERE time_stamp IN (1324020189 - (2*3600), 1324020189 - (4*3600)) using SQL::Statement
ok 657 - execute SELECT MAX(time_stamp) FROM log WHERE time_stamp IN (1324020189 - (2*3600), 1324020189 - (4*3600)) using SQL::Statement
ok 658 - MAX() with calculated WHERE clause
ok 659 - prepare SELECT MAX(time_stamp - 3*3600) FROM log using SQL::Statement
ok 660 - execute SELECT MAX(time_stamp - 3*3600) FROM log using SQL::Statement
ok 661 - calculation in MAX()
not ok 662 - prepare SELECT MAX(time_stamp) - 3*3600 FROM log using SQL::Statement # TODO Known limitation. Parser/Engine can not handle properly
#   Failed (TODO) test 'prepare SELECT MAX(time_stamp) - 3*3600 FROM log using SQL::Statement'
#   at t/06virtual.t line 1422.
# Bad table or column name: 'MAX' is a SQL reserved word!
ok 663 - prepare SELECT MAX( CHAR_LENGTH(message) ) FROM log using SQL::Statement
ok 664 - execute SELECT MAX( CHAR_LENGTH(message) ) FROM log using SQL::Statement
ok 665 - function in MAX()
ok 666 - prepare SELECT 1+0 from log using SQL::Statement
ok 667 - execute SELECT 1+0 from log using SQL::Statement
ok 668 - select simple calculated constant from table
ok 669 - prepare SELECT 1+1*2 using SQL::Statement
ok 670 - execute SELECT 1+1*2 using SQL::Statement
ok 671 - select calculated constant with preceedence rules
ok 672 - prepare SELECT 1 using SQL::Statement
ok 673 - execute SELECT 1 using SQL::Statement
ok 674 - SELECT not calculated constant
ok 675 - prepare 	CREATE  TABLE biz (sales INTEGER, class CHAR, color CHAR, BUGNULL CHAR) on DBD::CSV
ok 676 - execute 	CREATE  TABLE biz (sales INTEGER, class CHAR, color CHAR, BUGNULL CHAR) on DBD::CSV
ok 677 - prepare 	INSERT INTO biz VALUES (1000, 'Car',   'White', NULL) on DBD::CSV
ok 678 - execute 	INSERT INTO biz VALUES (1000, 'Car',   'White', NULL) on DBD::CSV
ok 679 - prepare 	INSERT INTO biz VALUES ( 500, 'Car',   'Blue',  NULL ) on DBD::CSV
ok 680 - execute 	INSERT INTO biz VALUES ( 500, 'Car',   'Blue',  NULL ) on DBD::CSV
ok 681 - prepare 	INSERT INTO biz VALUES ( 400, 'Truck', 'White', NULL ) on DBD::CSV
ok 682 - execute 	INSERT INTO biz VALUES ( 400, 'Truck', 'White', NULL ) on DBD::CSV
ok 683 - prepare 	INSERT INTO biz VALUES ( 700, 'Car',   'Red',   NULL ) on DBD::CSV
ok 684 - execute 	INSERT INTO biz VALUES ( 700, 'Car',   'Red',   NULL ) on DBD::CSV
ok 685 - prepare 	INSERT INTO biz VALUES ( 300, 'Truck', 'White', NULL ) on DBD::CSV
ok 686 - execute 	INSERT INTO biz VALUES ( 300, 'Truck', 'White', NULL ) on DBD::CSV
ok 687 - prepare 	CREATE  TABLE baz (ordered INTEGER, class CHAR, color CHAR) on DBD::CSV
ok 688 - execute 	CREATE  TABLE baz (ordered INTEGER, class CHAR, color CHAR) on DBD::CSV
ok 689 - prepare 	INSERT INTO baz VALUES ( 250, 'Car',   'White' ), ( 100, 'Car',   'Blue' ), ( 150, 'Car',   'Red' ) on DBD::CSV
ok 690 - execute 	INSERT INTO baz VALUES ( 250, 'Car',   'White' ), ( 100, 'Car',   'Blue' ), ( 150, 'Car',   'Red' ) on DBD::CSV
ok 691 - prepare 	INSERT INTO baz VALUES (  80, 'Truck', 'White' ), (  60, 'Truck', 'Green' ) -- Yes, we introduce new cars :) on DBD::CSV
ok 692 - execute 	INSERT INTO baz VALUES (  80, 'Truck', 'White' ), (  60, 'Truck', 'Green' ) -- Yes, we introduce new cars :) on DBD::CSV
ok 693 - prepare 	CREATE  TABLE numbers (c_foo INTEGER, foo CHAR, bar INTEGER) on DBD::CSV
ok 694 - execute 	CREATE  TABLE numbers (c_foo INTEGER, foo CHAR, bar INTEGER) on DBD::CSV
ok 695 - prepare 	CREATE  TABLE trick   (id INTEGER, foo CHAR) on DBD::CSV
ok 696 - execute 	CREATE  TABLE trick   (id INTEGER, foo CHAR) on DBD::CSV
ok 697 - prepare 	INSERT INTO trick VALUES (1, '1foo') on DBD::CSV
ok 698 - execute 	INSERT INTO trick VALUES (1, '1foo') on DBD::CSV
ok 699 - prepare 	INSERT INTO trick VALUES (11, 'foo') on DBD::CSV
ok 700 - execute 	INSERT INTO trick VALUES (11, 'foo') on DBD::CSV
ok 701 - prepare 	CREATE TYPE TIMESTAMP on DBD::CSV
ok 702 - execute 	CREATE TYPE TIMESTAMP on DBD::CSV
ok 703 - prepare 	CREATE  TABLE log (id INT, host CHAR, signature CHAR, message CHAR, time_stamp TIMESTAMP) on DBD::CSV
ok 704 - execute 	CREATE  TABLE log (id INT, host CHAR, signature CHAR, message CHAR, time_stamp TIMESTAMP) on DBD::CSV
ok 705 - prepare 	INSERT INTO log VALUES (1, 'bert', '/netbsd', 'Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,', 1324020193) on DBD::CSV
ok 706 - execute 	INSERT INTO log VALUES (1, 'bert', '/netbsd', 'Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,', 1324020193) on DBD::CSV
ok 707 - prepare 	INSERT INTO log VALUES (2, 'bert', '/netbsd', '2006, 2007, 2008, 2009, 2010', 1324020193) on DBD::CSV
ok 708 - execute 	INSERT INTO log VALUES (2, 'bert', '/netbsd', '2006, 2007, 2008, 2009, 2010', 1324020193) on DBD::CSV
ok 709 - prepare 	INSERT INTO log VALUES (3, 'bert', '/netbsd', 'The NetBSD Foundation, Inc.  All rights reserved.', 1324020193) on DBD::CSV
ok 710 - execute 	INSERT INTO log VALUES (3, 'bert', '/netbsd', 'The NetBSD Foundation, Inc.  All rights reserved.', 1324020193) on DBD::CSV
ok 711 - prepare 	INSERT INTO log VALUES (4, 'bert', '/netbsd', 'Copyright (c) 1982, 1986, 1989, 1991, 1993', 1324020193) on DBD::CSV
ok 712 - execute 	INSERT INTO log VALUES (4, 'bert', '/netbsd', 'Copyright (c) 1982, 1986, 1989, 1991, 1993', 1324020193) on DBD::CSV
ok 713 - prepare 	INSERT INTO log VALUES (5, 'bert', '/netbsd', 'The Regents of the University of California.  All rights reserved.', 1324020193) on DBD::CSV
ok 714 - execute 	INSERT INTO log VALUES (5, 'bert', '/netbsd', 'The Regents of the University of California.  All rights reserved.', 1324020193) on DBD::CSV
ok 715 - prepare 	INSERT INTO log VALUES (6, 'bert', '/netbsd', '', 1324020193) on DBD::CSV
ok 716 - execute 	INSERT INTO log VALUES (6, 'bert', '/netbsd', '', 1324020193) on DBD::CSV
ok 717 - prepare 	INSERT INTO log VALUES (7, 'bert', '/netbsd', 'NetBSD 5.99.39 (BERT) \#0: Fri Oct  8 06:23:03 CEST 2010', 1324020193) on DBD::CSV
ok 718 - execute 	INSERT INTO log VALUES (7, 'bert', '/netbsd', 'NetBSD 5.99.39 (BERT) \#0: Fri Oct  8 06:23:03 CEST 2010', 1324020193) on DBD::CSV
ok 719 - prepare 	INSERT INTO log VALUES (8, 'ernie', 'rpc.statd', 'starting', 1324016593) on DBD::CSV
ok 720 - execute 	INSERT INTO log VALUES (8, 'ernie', 'rpc.statd', 'starting', 1324016593) on DBD::CSV
ok 721 - prepare 	INSERT INTO log VALUES (9, 'ernie', 'savecore', 'no core dump', 1324012993) on DBD::CSV
ok 722 - execute 	INSERT INTO log VALUES (9, 'ernie', 'savecore', 'no core dump', 1324012993) on DBD::CSV
ok 723 - prepare 	INSERT INTO log VALUES (10, 'ernie', 'postfix/postfix-script', 'starting the Postfix mail system', 1324009393) on DBD::CSV
ok 724 - execute 	INSERT INTO log VALUES (10, 'ernie', 'postfix/postfix-script', 'starting the Postfix mail system', 1324009393) on DBD::CSV
ok 725 - prepare 	INSERT INTO log VALUES (11, 'ernie', 'rpcbind', 'connect from 127.0.0.1 to dump()', 1324005793) on DBD::CSV
ok 726 - execute 	INSERT INTO log VALUES (11, 'ernie', 'rpcbind', 'connect from 127.0.0.1 to dump()', 1324005793) on DBD::CSV
ok 727 - prepare 	INSERT INTO log VALUES (12, 'ernie', 'sshd', 'last message repeated 2 times', 1324002193) on DBD::CSV
ok 728 - execute 	INSERT INTO log VALUES (12, 'ernie', 'sshd', 'last message repeated 2 times', 1324002193) on DBD::CSV
ok 729 - prepare 	INSERT INTO log VALUES (13, 'ernie', 'shutdown', 'poweroff by root:', 1323998593) on DBD::CSV
ok 730 - execute 	INSERT INTO log VALUES (13, 'ernie', 'shutdown', 'poweroff by root:', 1323998593) on DBD::CSV
ok 731 - prepare 	INSERT INTO log VALUES (14, 'ernie', 'shutdown', 'rebooted by root', 1323994993) on DBD::CSV
ok 732 - execute 	INSERT INTO log VALUES (14, 'ernie', 'shutdown', 'rebooted by root', 1323994993) on DBD::CSV
ok 733 - prepare 	INSERT INTO log VALUES (15, 'ernie', 'sshd', 'Server listening on :: port 22.', 1323991393) on DBD::CSV
ok 734 - execute 	INSERT INTO log VALUES (15, 'ernie', 'sshd', 'Server listening on :: port 22.', 1323991393) on DBD::CSV
ok 735 - prepare 	INSERT INTO log VALUES (16, 'ernie', 'sshd', 'Server listening on 0.0.0.0 port 22.', 1323987793) on DBD::CSV
ok 736 - execute 	INSERT INTO log VALUES (16, 'ernie', 'sshd', 'Server listening on 0.0.0.0 port 22.', 1323987793) on DBD::CSV
ok 737 - prepare 	INSERT INTO log VALUES (17, 'ernie', 'sshd', 'Received SIGHUP; restarting.', 1323984193) on DBD::CSV
ok 738 - execute 	INSERT INTO log VALUES (17, 'ernie', 'sshd', 'Received SIGHUP; restarting.', 1323984193) on DBD::CSV
ok 739 - prepare SELECT class,SUM(sales) as foo, MAX(sales) FROM biz GROUP BY class using DBD::CSV
ok 740 - execute SELECT class,SUM(sales) as foo, MAX(sales) FROM biz GROUP BY class using DBD::CSV
ok 741 - GROUP BY one column
ok 742 - prepare SELECT color,class,SUM(sales), MAX(sales) FROM biz GROUP BY color,class using DBD::CSV
ok 743 - execute SELECT color,class,SUM(sales), MAX(sales) FROM biz GROUP BY color,class using DBD::CSV
ok 744 - GROUP BY several columns
ok 745 - prepare SELECT SUM(sales), MAX(sales) FROM biz using DBD::CSV
ok 746 - execute SELECT SUM(sales), MAX(sales) FROM biz using DBD::CSV
ok 747 - AGGREGATE FUNCTIONS WITHOUT GROUP BY
ok 748 - prepare SELECT distinct class, COUNT(distinct color) FROM biz GROUP BY class using DBD::CSV
ok 749 - execute SELECT distinct class, COUNT(distinct color) FROM biz GROUP BY class using DBD::CSV
ok 750 - COUNT(distinct column) WITH GROUP BY
ok 751 - prepare SELECT class, COUNT(*) FROM biz GROUP BY class using DBD::CSV
ok 752 - execute SELECT class, COUNT(*) FROM biz GROUP BY class using DBD::CSV
ok 753 - COUNT(*) with GROUP BY
ok 754 - prepare SELECT DISTINCT biz.class, baz.color AS foo FROM biz, baz WHERE biz.class = baz.class ORDER BY foo using DBD::CSV
ok 755 - execute SELECT DISTINCT biz.class, baz.color AS foo FROM biz, baz WHERE biz.class = baz.class ORDER BY foo using DBD::CSV
ok 756 - ORDER BY on aliased column
ok 757 - prepare SELECT class, COUNT(distinct *) FROM biz GROUP BY class using DBD::CSV fails
ok 758 - COUNT(DISTINCT *) fails
ok 759 - prepare SELECT class, COUNT(color) FROM biz using DBD::CSV
ok 760 - execute SELECT class, COUNT(color) FROM biz using DBD::CSV fails
ok 761 - GROUP BY required
ok 762 - prepare SELECT SUM(bar) FROM numbers using DBD::CSV
ok 763 - execute SELECT SUM(bar) FROM numbers using DBD::CSV
ok 764 - SUM(bar) of empty table
ok 765 - prepare SELECT COUNT(bar),c_foo FROM numbers GROUP BY c_foo using DBD::CSV
ok 766 - execute SELECT COUNT(bar),c_foo FROM numbers GROUP BY c_foo using DBD::CSV
ok 767 - COUNT(bar) of empty table with GROUP BY
ok 768 - prepare SELECT COUNT(*) FROM numbers using DBD::CSV
ok 769 - execute SELECT COUNT(*) FROM numbers using DBD::CSV
ok 770 - COUNT(*) of empty table
ok 771 - prepare INSERT INTO numbers VALUES (?, ?, ?) using DBD::CSV
ok 772 - 1 .. 3999: execute INSERT INTO numbers VALUES (?, ?, ?) using DBD::CSV
ok 773 - prepare SELECT foo AS boo, COUNT (*) AS counted FROM numbers GROUP BY boo using DBD::CSV
ok 774 - execute SELECT foo AS boo, COUNT (*) AS counted FROM numbers GROUP BY boo using DBD::CSV
ok 775 - Columns in Number of rows in aggregated Table
ok 776 - Number of rows in aggregated Table
ok 777 - SUM(COUNTED)
ok 778 - prepare SELECT MIN(c_foo), MAX(c_foo), AVG(c_foo) FROM numbers using DBD::CSV
ok 779 - execute SELECT MIN(c_foo), MAX(c_foo), AVG(c_foo) FROM numbers using DBD::CSV
ok 780 - Aggregate functions MIN, MAX, AVG
ok 781 - prepare SELECT COUNT(*) FROM trick using DBD::CSV
ok 782 - execute SELECT COUNT(*) FROM trick using DBD::CSV
ok 783 - COUNT(*) internal for nasty table
ok 784 - prepare SELECT CURRENT_DATE() using DBD::CSV
ok 785 - execute SELECT CURRENT_DATE() using DBD::CSV
ok 786 - current_date int
ok 787 - prepare SELECT CURRENT_TIME using DBD::CSV
ok 788 - execute SELECT CURRENT_TIME using DBD::CSV
ok 789 - current_time int
ok 790 - prepare SELECT CURRENT_TIMESTAMP() using DBD::CSV
ok 791 - execute SELECT CURRENT_TIMESTAMP() using DBD::CSV
ok 792 - current_timestamp int
ok 793 - prepare SELECT CURDATE using DBD::CSV
ok 794 - execute SELECT CURDATE using DBD::CSV
ok 795 - curdate int
ok 796 - prepare SELECT CURTIME() using DBD::CSV
ok 797 - execute SELECT CURTIME() using DBD::CSV
ok 798 - curtime int
ok 799 - prepare SELECT NOW using DBD::CSV
ok 800 - execute SELECT NOW using DBD::CSV
ok 801 - now int
ok 802 - prepare SELECT UNIX_TIMESTAMP() using DBD::CSV
ok 803 - execute SELECT UNIX_TIMESTAMP() using DBD::CSV
ok 804 - unix_timestamp int
ok 805 - prepare SELECT CURRENT_TIME (1) using DBD::CSV
ok 806 - execute SELECT CURRENT_TIME (1) using DBD::CSV
ok 807 - current_time precision
ok 808 - prepare SELECT CURRENT_TIMESTAMP  (2) using DBD::CSV
ok 809 - execute SELECT CURRENT_TIMESTAMP  (2) using DBD::CSV
ok 810 - current_timestamp precision
ok 811 - prepare SELECT CURTIME   (3) using DBD::CSV
ok 812 - execute SELECT CURTIME   (3) using DBD::CSV
ok 813 - curtime precision
ok 814 - prepare SELECT NOW(4) using DBD::CSV
ok 815 - execute SELECT NOW(4) using DBD::CSV
ok 816 - now precision
ok 817 - prepare SELECT UNIX_TIMESTAMP(5) using DBD::CSV
ok 818 - execute SELECT UNIX_TIMESTAMP(5) using DBD::CSV
ok 819 - unix_timestamp precision
ok 820 - prepare SELECT ASCII('A') using DBD::CSV
ok 821 - execute SELECT ASCII('A') using DBD::CSV
ok 822 - ascii char
ok 823 - prepare SELECT ASCII('ABC') using DBD::CSV
ok 824 - execute SELECT ASCII('ABC') using DBD::CSV
ok 825 - ascii str
ok 826 - prepare SELECT CHAR() using DBD::CSV
ok 827 - execute SELECT CHAR() using DBD::CSV
ok 828 - char blank
ok 829 - prepare SELECT CHAR(65) using DBD::CSV
ok 830 - execute SELECT CHAR(65) using DBD::CSV
ok 831 - char char
ok 832 - prepare SELECT CHAR(CONV('263A', 16)) using DBD::CSV
ok 833 - execute SELECT CHAR(CONV('263A', 16)) using DBD::CSV
ok 834 - char char unicode
ok 835 - prepare SELECT CHAR(65,66,67) using DBD::CSV
ok 836 - execute SELECT CHAR(65,66,67) using DBD::CSV
ok 837 - char str
ok 838 - prepare SELECT CHAR(CONV('263A', 16), 9787, CONV('10011000111100', 2)) using DBD::CSV
ok 839 - execute SELECT CHAR(CONV('263A', 16), 9787, CONV('10011000111100', 2)) using DBD::CSV
ok 840 - char str unicode
ok 841 - prepare SELECT BIT_LENGTH(' oo') using DBD::CSV
ok 842 - execute SELECT BIT_LENGTH(' oo') using DBD::CSV
ok 843 - bit_length 6bit
ok 844 - prepare SELECT BIT_LENGTH('foo') using DBD::CSV
ok 845 - execute SELECT BIT_LENGTH('foo') using DBD::CSV
ok 846 - bit_length 7bit
ok 847 - prepare SELECT BIT_LENGTH(CHAR(9786, 9787, 9788)) using DBD::CSV
ok 848 - execute SELECT BIT_LENGTH(CHAR(9786, 9787, 9788)) using DBD::CSV
ok 849 - bit_length unicode
ok 850 - prepare SELECT CHARACTER_LENGTH('foo') using DBD::CSV
ok 851 - execute SELECT CHARACTER_LENGTH('foo') using DBD::CSV
ok 852 - character_length
ok 853 - prepare SELECT CHAR_LENGTH('foo') using DBD::CSV
ok 854 - execute SELECT CHAR_LENGTH('foo') using DBD::CSV
ok 855 - char_length
ok 856 - prepare SELECT CHARACTER_LENGTH(CHAR(9786, 9787, 9788)) using DBD::CSV
ok 857 - execute SELECT CHARACTER_LENGTH(CHAR(9786, 9787, 9788)) using DBD::CSV
ok 858 - character_length unicode
ok 859 - prepare SELECT CHAR_LENGTH(CHAR(9786, 9787, 9788)) using DBD::CSV
ok 860 - execute SELECT CHAR_LENGTH(CHAR(9786, 9787, 9788)) using DBD::CSV
ok 861 - char_length unicode
ok 862 - prepare SELECT COALESCE(NULL,'z') using DBD::CSV
ok 863 - execute SELECT COALESCE(NULL,'z') using DBD::CSV
ok 864 - coalesce
ok 865 - prepare SELECT NVL(NULL,'z') using DBD::CSV
ok 866 - execute SELECT NVL(NULL,'z') using DBD::CSV
ok 867 - nvl
ok 868 - prepare SELECT IFNULL(NULL,'z') using DBD::CSV
ok 869 - execute SELECT IFNULL(NULL,'z') using DBD::CSV
ok 870 - ifnull
ok 871 - prepare SELECT CONCAT('A','B') using DBD::CSV
ok 872 - execute SELECT CONCAT('A','B') using DBD::CSV
ok 873 - concat good
ok 874 - prepare SELECT CONCAT('A',NULL) using DBD::CSV
ok 875 - execute SELECT CONCAT('A',NULL) using DBD::CSV
ok 876 - concat bad
ok 877 - prepare SELECT CONV('101 0100 1111 0111 0110 1011',  2, 92) using DBD::CSV
ok 878 - execute SELECT CONV('101 0100 1111 0111 0110 1011',  2, 92) using DBD::CSV
ok 879 - conv 2->92
ok 880 - prepare SELECT CONV('101 0100 1111 0111 0110 1011',  2, 64) using DBD::CSV
ok 881 - execute SELECT CONV('101 0100 1111 0111 0110 1011',  2, 64) using DBD::CSV
ok 882 - conv 2->64
ok 883 - prepare SELECT CONV('101 0100 1111 0111 0110 1011',  2, 36) using DBD::CSV
ok 884 - execute SELECT CONV('101 0100 1111 0111 0110 1011',  2, 36) using DBD::CSV
ok 885 - conv 2->36
ok 886 - prepare SELECT CONV('101 0100 1111 0111 0110 1011',  2, 16) using DBD::CSV
ok 887 - execute SELECT CONV('101 0100 1111 0111 0110 1011',  2, 16) using DBD::CSV
ok 888 - conv 2->16
ok 889 - prepare SELECT CONV('101 0100 1111 0111 0110 1011',  2, 10) using DBD::CSV
ok 890 - execute SELECT CONV('101 0100 1111 0111 0110 1011',  2, 10) using DBD::CSV
ok 891 - conv 2->10
ok 892 - prepare SELECT CONV('101 0100 1111 0111 0110 1011',  2,  8) using DBD::CSV
ok 893 - execute SELECT CONV('101 0100 1111 0111 0110 1011',  2,  8) using DBD::CSV
ok 894 - conv 2->8
ok 895 - prepare SELECT CONV('101 0100 1111 0111 0110 1011',  2,  2) using DBD::CSV
ok 896 - execute SELECT CONV('101 0100 1111 0111 0110 1011',  2,  2) using DBD::CSV
ok 897 - conv 2->2
ok 898 - prepare SELECT CONV(-1, 2, 36) using DBD::CSV
ok 899 - execute SELECT CONV(-1, 2, 36) using DBD::CSV
ok 900 - conv base 36 short-circuit
ok 901 - prepare SELECT CONV(-1, 2, 92) using DBD::CSV
ok 902 - execute SELECT CONV(-1, 2, 92) using DBD::CSV
ok 903 - conv base 92 short-circuit
ok 904 - prepare SELECT CONV('-&23ms98*&a ^.21 hjs ', 92, 36) using DBD::CSV
ok 905 - execute SELECT CONV('-&23ms98*&a ^.21 hjs ', 92, 36) using DBD::CSV
ok 906 - conv 92->36
ok 907 - prepare SELECT CONV('10101001111.011101101011', 2, 92) using DBD::CSV
ok 908 - execute SELECT CONV('10101001111.011101101011', 2, 92) using DBD::CSV
ok 909 - conv 2->92 fractional
ok 910 - prepare SELECT CONV(2517.3553, 8, 64) using DBD::CSV
ok 911 - execute SELECT CONV(2517.3553, 8, 64) using DBD::CSV
ok 912 - conv 8->64 fractional
ok 913 - prepare SELECT CONV('54F . 76B', 16, 32) using DBD::CSV
ok 914 - execute SELECT CONV('54F . 76B', 16, 32) using DBD::CSV
ok 915 - conv 16->32 fractional
ok 916 - prepare SELECT CONV('101 0100 1111.0111 0110 1011', 2, 16) using DBD::CSV
ok 917 - execute SELECT CONV('101 0100 1111.0111 0110 1011', 2, 16) using DBD::CSV
ok 918 - conv 2->16 fractional
ok 919 - prepare SELECT CONV('VP.dr', 64, 10) using DBD::CSV
ok 920 - execute SELECT CONV('VP.dr', 64, 10) using DBD::CSV
ok 921 - conv 64->10 fractional
ok 922 - prepare SELECT CONV(' 1 A F . E Q O ', 32, 8) using DBD::CSV
ok 923 - execute SELECT CONV(' 1 A F . E Q O ', 32, 8) using DBD::CSV
ok 924 - conv 32->8 fractional
ok 925 - prepare SELECT CONV('101 0100 1111.0111 0110 1011', 2, 2) using DBD::CSV
ok 926 - execute SELECT CONV('101 0100 1111.0111 0110 1011', 2, 2) using DBD::CSV
ok 927 - conv 2->2 fractional
ok 928 - prepare SELECT CONV('1AF.EQO0000000000000000000000000000', 32, 8) using DBD::CSV
ok 929 - execute SELECT CONV('1AF.EQO0000000000000000000000000000', 32, 8) using DBD::CSV
ok 930 - conv 32->8 big_number
ok 931 - prepare SELECT DISTINCT DECODE(color,'White','W','Red','R','B') AS cfc FROM biz ORDER BY cfc using DBD::CSV
ok 932 - execute SELECT DISTINCT DECODE(color,'White','W','Red','R','B') AS cfc FROM biz ORDER BY cfc using DBD::CSV
ok 933 - decode
ok 934 - prepare SELECT INSERT('foodieland', 4, 3, 'bar') using DBD::CSV
ok 935 - execute SELECT INSERT('foodieland', 4, 3, 'bar') using DBD::CSV
ok 936 - insert good 1:1
ok 937 - prepare SELECT INSERT('foodland', 4, 1, 'bar') using DBD::CSV
ok 938 - execute SELECT INSERT('foodland', 4, 1, 'bar') using DBD::CSV
ok 939 - insert good non-1:1
ok 940 - prepare SELECT INSERT(NULL, 4, 1, 'bar') using DBD::CSV
ok 941 - execute SELECT INSERT(NULL, 4, 1, 'bar') using DBD::CSV
ok 942 - insert bad 1
ok 943 - prepare SELECT INSERT('foodland', 4, 1, NULL) using DBD::CSV
ok 944 - execute SELECT INSERT('foodland', 4, 1, NULL) using DBD::CSV
ok 945 - insert bad 2
ok 946 - prepare SELECT LEFT('foodland', 4) using DBD::CSV
ok 947 - execute SELECT LEFT('foodland', 4) using DBD::CSV
ok 948 - left good
ok 949 - prepare SELECT LEFT(NULL, 4) using DBD::CSV
ok 950 - execute SELECT LEFT(NULL, 4) using DBD::CSV
ok 951 - left bad 1
ok 952 - prepare SELECT LEFT('foodland', NULL) using DBD::CSV
ok 953 - execute SELECT LEFT('foodland', NULL) using DBD::CSV
ok 954 - left bad 2
ok 955 - prepare SELECT RIGHT('foodland', 4) using DBD::CSV
ok 956 - execute SELECT RIGHT('foodland', 4) using DBD::CSV
ok 957 - right good
ok 958 - prepare SELECT RIGHT(NULL, 4) using DBD::CSV
ok 959 - execute SELECT RIGHT(NULL, 4) using DBD::CSV
ok 960 - right bad 1
ok 961 - prepare SELECT RIGHT('foodland', NULL) using DBD::CSV
ok 962 - execute SELECT RIGHT('foodland', NULL) using DBD::CSV
ok 963 - right bad 2
ok 964 - prepare SELECT LOCATE('a','bar') using DBD::CSV
ok 965 - execute SELECT LOCATE('a','bar') using DBD::CSV
ok 966 - locate 2param
ok 967 - prepare SELECT LOCATE('a','barafa',3) using DBD::CSV
ok 968 - execute SELECT LOCATE('a','barafa',3) using DBD::CSV
ok 969 - locate 3param
ok 970 - prepare SELECT POSITION('a','bar') using DBD::CSV
ok 971 - execute SELECT POSITION('a','bar') using DBD::CSV
ok 972 - position 2param
ok 973 - prepare SELECT POSITION('a','barafa',3) using DBD::CSV
ok 974 - execute SELECT POSITION('a','barafa',3) using DBD::CSV
ok 975 - position 3param
ok 976 - prepare SELECT LOWER('A') using DBD::CSV
ok 977 - execute SELECT LOWER('A') using DBD::CSV
ok 978 - lower
ok 979 - prepare SELECT UPPER('a') using DBD::CSV
ok 980 - execute SELECT UPPER('a') using DBD::CSV
ok 981 - upper
ok 982 - prepare SELECT LCASE('A') using DBD::CSV
ok 983 - execute SELECT LCASE('A') using DBD::CSV
ok 984 - lcase
ok 985 - prepare SELECT UCASE('a') using DBD::CSV
ok 986 - execute SELECT UCASE('a') using DBD::CSV
ok 987 - ucase
ok 988 - prepare SELECT LTRIM(' fun ') using DBD::CSV
ok 989 - execute SELECT LTRIM(' fun ') using DBD::CSV
ok 990 - ltrim
ok 991 - prepare SELECT RTRIM(' fun ') using DBD::CSV
ok 992 - execute SELECT RTRIM(' fun ') using DBD::CSV
ok 993 - rtrim
ok 994 - prepare SELECT OCTET_LENGTH('foo') using DBD::CSV
ok 995 - execute SELECT OCTET_LENGTH('foo') using DBD::CSV
ok 996 - octet_length
ok 997 - prepare SELECT OCTET_LENGTH(CHAR(64, 169, 9786, 65572)) using DBD::CSV
ok 998 - execute SELECT OCTET_LENGTH(CHAR(64, 169, 9786, 65572)) using DBD::CSV
ok 999 - octet_length unicode
ok 1000 - prepare SELECT REGEX('jeff','/EF/i') using DBD::CSV
ok 1001 - execute SELECT REGEX('jeff','/EF/i') using DBD::CSV
ok 1002 - regex match
ok 1003 - prepare SELECT REGEX('jeff','/zzz/') using DBD::CSV
ok 1004 - execute SELECT REGEX('jeff','/zzz/') using DBD::CSV
ok 1005 - regex no match
ok 1006 - prepare SELECT REPEAT('zfunkY', 3) using DBD::CSV
ok 1007 - execute SELECT REPEAT('zfunkY', 3) using DBD::CSV
ok 1008 - repeat
ok 1009 - prepare SELECT REPLACE('zfunkY','s/z(.+)ky/$1/i') using DBD::CSV
ok 1010 - execute SELECT REPLACE('zfunkY','s/z(.+)ky/$1/i') using DBD::CSV
ok 1011 - replace
ok 1012 - prepare SELECT SUBSTITUTE('zfunkY','s/z(.+)ky/$1/i') using DBD::CSV
ok 1013 - execute SELECT SUBSTITUTE('zfunkY','s/z(.+)ky/$1/i') using DBD::CSV
ok 1014 - substitute
ok 1015 - prepare SELECT SOUNDEX('jeff','jeph') using DBD::CSV
ok 1016 - execute SELECT SOUNDEX('jeff','jeph') using DBD::CSV
ok 1017 - soundex match
ok 1018 - prepare SELECT SOUNDEX('jeff','quartz') using DBD::CSV
ok 1019 - execute SELECT SOUNDEX('jeff','quartz') using DBD::CSV
ok 1020 - soundex no match
ok 1021 - prepare SELECT SPACE(10) using DBD::CSV
ok 1022 - execute SELECT SPACE(10) using DBD::CSV
ok 1023 - space
ok 1024 - prepare SELECT SUBSTR('zfunkY',2,3) using DBD::CSV
ok 1025 - execute SELECT SUBSTR('zfunkY',2,3) using DBD::CSV
ok 1026 - substr
ok 1027 - prepare SELECT DISTINCT color FROM biz WHERE SUBSTRING(class FROM 1 FOR 1)='T' using DBD::CSV
ok 1028 - execute SELECT DISTINCT color FROM biz WHERE SUBSTRING(class FROM 1 FOR 1)='T' using DBD::CSV
ok 1029 - substring
ok 1030 - prepare SELECT TRANSLATE('foobar forever', 'oae', '0@3') using DBD::CSV
ok 1031 - execute SELECT TRANSLATE('foobar forever', 'oae', '0@3') using DBD::CSV
ok 1032 - translate
ok 1033 - prepare SELECT TRIM(' fun ') using DBD::CSV
ok 1034 - execute SELECT TRIM(' fun ') using DBD::CSV
ok 1035 - trim simple
not ok 1036 - prepare SELECT TRIM(LEADING FROM ' fun ') using DBD::CSV # 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::CSV'
#   at t/06virtual.t line 1422.
# Unbalanced parentheses!
not ok 1037 - prepare SELECT TRIM(TRAILING FROM ' fun ') using DBD::CSV # 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::CSV'
#   at t/06virtual.t line 1422.
# Unbalanced parentheses!
not ok 1038 - prepare SELECT TRIM(LEADING ';' FROM ';;; fun ') using DBD::CSV # 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::CSV'
#   at t/06virtual.t line 1422.
# Unbalanced parentheses!
ok 1039 - prepare SELECT UNHEX('414243') using DBD::CSV
ok 1040 - execute SELECT UNHEX('414243') using DBD::CSV
ok 1041 - unhex str
ok 1042 - prepare SELECT UNHEX('263A' || HEX(9787) || CONV('10011000111100', 2, 16), 'UCS-2') using DBD::CSV
ok 1043 - execute SELECT UNHEX('263A' || HEX(9787) || CONV('10011000111100', 2, 16), 'UCS-2') using DBD::CSV
ok 1044 - unhex str unicode
ok 1045 - prepare SELECT ABS(-4) using DBD::CSV
ok 1046 - execute SELECT ABS(-4) using DBD::CSV
ok 1047 - abs
ok 1048 - prepare SELECT CEILING(5) using DBD::CSV
ok 1049 - execute SELECT CEILING(5) using DBD::CSV
ok 1050 - ceiling int
ok 1051 - prepare SELECT CEILING(4.1) using DBD::CSV
ok 1052 - execute SELECT CEILING(4.1) using DBD::CSV
ok 1053 - ceiling positive
ok 1054 - prepare SELECT CEIL(-4.5) using DBD::CSV
ok 1055 - execute SELECT CEIL(-4.5) using DBD::CSV
ok 1056 - ceil negative
ok 1057 - prepare SELECT FLOOR(-5) using DBD::CSV
ok 1058 - execute SELECT FLOOR(-5) using DBD::CSV
ok 1059 - floor int
ok 1060 - prepare SELECT FLOOR(4.999999999999) using DBD::CSV
ok 1061 - execute SELECT FLOOR(4.999999999999) using DBD::CSV
ok 1062 - floor positive
ok 1063 - prepare SELECT FLOOR(-4.1) using DBD::CSV
ok 1064 - execute SELECT FLOOR(-4.1) using DBD::CSV
ok 1065 - floor negative
ok 1066 - prepare SELECT EXP(1) using DBD::CSV
ok 1067 - execute SELECT EXP(1) using DBD::CSV
ok 1068 - exp
ok 1069 - prepare SELECT LOG(6) using DBD::CSV
ok 1070 - execute SELECT LOG(6) using DBD::CSV
ok 1071 - log as log10
ok 1072 - prepare SELECT LOG(2, 32) using DBD::CSV
ok 1073 - execute SELECT LOG(2, 32) using DBD::CSV
ok 1074 - log as log2
ok 1075 - prepare SELECT LN(3) using DBD::CSV
ok 1076 - execute SELECT LN(3) using DBD::CSV
ok 1077 - ln
ok 1078 - prepare SELECT MOD(8, 5) using DBD::CSV
ok 1079 - execute SELECT MOD(8, 5) using DBD::CSV
ok 1080 - mod
ok 1081 - prepare SELECT POWER(2, 4) using DBD::CSV
ok 1082 - execute SELECT POWER(2, 4) using DBD::CSV
ok 1083 - power
ok 1084 - prepare SELECT POW(2, 4) using DBD::CSV
ok 1085 - execute SELECT POW(2, 4) using DBD::CSV
ok 1086 - pow
ok 1087 - prepare SELECT FLOOR(RAND(4)) using DBD::CSV
ok 1088 - execute SELECT FLOOR(RAND(4)) using DBD::CSV
ok 1089 - rand
ok 1090 - prepare SELECT FLOOR(RAND(4), UNIX_TIMESTAMP()) using DBD::CSV
ok 1091 - execute SELECT FLOOR(RAND(4), UNIX_TIMESTAMP()) using DBD::CSV
ok 1092 - rand with seed
ok 1093 - prepare SELECT ROUND(4.999999999999) using DBD::CSV
ok 1094 - execute SELECT ROUND(4.999999999999) using DBD::CSV
ok 1095 - round int
ok 1096 - prepare SELECT ROUND(4.542222222222, 1) using DBD::CSV
ok 1097 - execute SELECT ROUND(4.542222222222, 1) using DBD::CSV
ok 1098 - round tenth
ok 1099 - prepare SELECT SIGN(-25.5) using DBD::CSV
ok 1100 - execute SELECT SIGN(-25.5) using DBD::CSV
ok 1101 - sign -1
ok 1102 - prepare SELECT SIGN(53645) using DBD::CSV
ok 1103 - execute SELECT SIGN(53645) using DBD::CSV
ok 1104 - sign 1
ok 1105 - prepare SELECT SIGN(0) using DBD::CSV
ok 1106 - execute SELECT SIGN(0) using DBD::CSV
ok 1107 - sign 0
ok 1108 - prepare SELECT SIGN(NULL) using DBD::CSV
ok 1109 - execute SELECT SIGN(NULL) using DBD::CSV
ok 1110 - sign null
ok 1111 - prepare SELECT SQRT(64) using DBD::CSV
ok 1112 - execute SELECT SQRT(64) using DBD::CSV
ok 1113 - sqrt
ok 1114 - prepare SELECT TRUNCATE(4.999999999999) using DBD::CSV
ok 1115 - execute SELECT TRUNCATE(4.999999999999) using DBD::CSV
ok 1116 - truncate int
ok 1117 - prepare SELECT TRUNC(-4.9) using DBD::CSV
ok 1118 - execute SELECT TRUNC(-4.9) using DBD::CSV
ok 1119 - trunc int
ok 1120 - prepare SELECT TRUNCATE(4.934, 1) using DBD::CSV
ok 1121 - execute SELECT TRUNCATE(4.934, 1) using DBD::CSV
ok 1122 - truncate tenth
ok 1123 - prepare SELECT TRUNC(-4.99999, 1) using DBD::CSV
ok 1124 - execute SELECT TRUNC(-4.99999, 1) using DBD::CSV
ok 1125 - trunc int
ok 1126 - prepare SELECT SIN(1) using DBD::CSV
ok 1127 - execute SELECT SIN(1) using DBD::CSV
ok 1128 - sin
ok 1129 - prepare SELECT COS(1) using DBD::CSV
ok 1130 - execute SELECT COS(1) using DBD::CSV
ok 1131 - cos
ok 1132 - prepare SELECT TAN(1) using DBD::CSV
ok 1133 - execute SELECT TAN(1) using DBD::CSV
ok 1134 - tan
ok 1135 - prepare SELECT SEC(1) using DBD::CSV
ok 1136 - execute SELECT SEC(1) using DBD::CSV
ok 1137 - sec
ok 1138 - prepare SELECT CSC(1) using DBD::CSV
ok 1139 - execute SELECT CSC(1) using DBD::CSV
ok 1140 - csc
ok 1141 - prepare SELECT COSEC(1) using DBD::CSV
ok 1142 - execute SELECT COSEC(1) using DBD::CSV
ok 1143 - cosec
ok 1144 - prepare SELECT COT(1) using DBD::CSV
ok 1145 - execute SELECT COT(1) using DBD::CSV
ok 1146 - cot
ok 1147 - prepare SELECT COTAN(1) using DBD::CSV
ok 1148 - execute SELECT COTAN(1) using DBD::CSV
ok 1149 - cotan
ok 1150 - prepare SELECT ASIN(1) using DBD::CSV
ok 1151 - execute SELECT ASIN(1) using DBD::CSV
ok 1152 - asin
ok 1153 - prepare SELECT ACOS(1) using DBD::CSV
ok 1154 - execute SELECT ACOS(1) using DBD::CSV
ok 1155 - acos
ok 1156 - prepare SELECT ATAN(1) using DBD::CSV
ok 1157 - execute SELECT ATAN(1) using DBD::CSV
ok 1158 - atan
ok 1159 - prepare SELECT ASEC(1) using DBD::CSV
ok 1160 - execute SELECT ASEC(1) using DBD::CSV
ok 1161 - asec
ok 1162 - prepare SELECT ACSC(1) using DBD::CSV
ok 1163 - execute SELECT ACSC(1) using DBD::CSV
ok 1164 - acsc
ok 1165 - prepare SELECT ACOSEC(1) using DBD::CSV
ok 1166 - execute SELECT ACOSEC(1) using DBD::CSV
ok 1167 - acosec
ok 1168 - prepare SELECT ACOT(1) using DBD::CSV
ok 1169 - execute SELECT ACOT(1) using DBD::CSV
ok 1170 - acot
ok 1171 - prepare SELECT ACOTAN(1) using DBD::CSV
ok 1172 - execute SELECT ACOTAN(1) using DBD::CSV
ok 1173 - acotan
ok 1174 - prepare SELECT SINH(1) using DBD::CSV
ok 1175 - execute SELECT SINH(1) using DBD::CSV
ok 1176 - sinh
ok 1177 - prepare SELECT COSH(1) using DBD::CSV
ok 1178 - execute SELECT COSH(1) using DBD::CSV
ok 1179 - cosh
ok 1180 - prepare SELECT TANH(1) using DBD::CSV
ok 1181 - execute SELECT TANH(1) using DBD::CSV
ok 1182 - tanh
ok 1183 - prepare SELECT SECH(1) using DBD::CSV
ok 1184 - execute SELECT SECH(1) using DBD::CSV
ok 1185 - sech
ok 1186 - prepare SELECT CSCH(1) using DBD::CSV
ok 1187 - execute SELECT CSCH(1) using DBD::CSV
ok 1188 - csch
ok 1189 - prepare SELECT COSECH(1) using DBD::CSV
ok 1190 - execute SELECT COSECH(1) using DBD::CSV
ok 1191 - cosech
ok 1192 - prepare SELECT COTH(1) using DBD::CSV
ok 1193 - execute SELECT COTH(1) using DBD::CSV
ok 1194 - coth
ok 1195 - prepare SELECT COTANH(1) using DBD::CSV
ok 1196 - execute SELECT COTANH(1) using DBD::CSV
ok 1197 - cotanh
ok 1198 - prepare SELECT ASINH(1) using DBD::CSV
ok 1199 - execute SELECT ASINH(1) using DBD::CSV
ok 1200 - asinh
ok 1201 - prepare SELECT ACOSH(1) using DBD::CSV
ok 1202 - execute SELECT ACOSH(1) using DBD::CSV
ok 1203 - acosh
ok 1204 - prepare SELECT ATANH(0.9) using DBD::CSV
ok 1205 - execute SELECT ATANH(0.9) using DBD::CSV
ok 1206 - atanh
ok 1207 - prepare SELECT ASECH(0.9) using DBD::CSV
ok 1208 - execute SELECT ASECH(0.9) using DBD::CSV
ok 1209 - asech
ok 1210 - prepare SELECT ACSCH(2) using DBD::CSV
ok 1211 - execute SELECT ACSCH(2) using DBD::CSV
ok 1212 - acsch
ok 1213 - prepare SELECT ACOSECH(2) using DBD::CSV
ok 1214 - execute SELECT ACOSECH(2) using DBD::CSV
ok 1215 - acosech
ok 1216 - prepare SELECT ACOTH(2) using DBD::CSV
ok 1217 - execute SELECT ACOTH(2) using DBD::CSV
ok 1218 - acoth
ok 1219 - prepare SELECT ACOTANH(2) using DBD::CSV
ok 1220 - execute SELECT ACOTANH(2) using DBD::CSV
ok 1221 - acotanh
ok 1222 - prepare SELECT PI using DBD::CSV
ok 1223 - execute SELECT PI using DBD::CSV
ok 1224 - pi
ok 1225 - prepare SELECT ATAN2(1, 0) using DBD::CSV
ok 1226 - execute SELECT ATAN2(1, 0) using DBD::CSV
ok 1227 - atan2 to pi/2
ok 1228 - prepare SELECT ATAN2(1, 1) using DBD::CSV
ok 1229 - execute SELECT ATAN2(1, 1) using DBD::CSV
ok 1230 - atan2 to pi/4
ok 1231 - prepare SELECT ATAN2(-1, -1) using DBD::CSV
ok 1232 - execute SELECT ATAN2(-1, -1) using DBD::CSV
ok 1233 - atan2 to -3pi/4
ok 1234 - prepare SELECT TAN(0.9) using DBD::CSV
ok 1235 - execute SELECT TAN(0.9) using DBD::CSV
ok 1236 - tan as property sin/cos
ok 1237 - prepare SELECT SINH(2) using DBD::CSV
ok 1238 - execute SELECT SINH(2) using DBD::CSV
ok 1239 - sinh 2
ok 1240 - prepare SELECT ACSCH(0.1) using DBD::CSV
ok 1241 - execute SELECT ACSCH(0.1) using DBD::CSV
ok 1242 - acsch 0.1
ok 1243 - prepare SELECT DEG2RAD(90) using DBD::CSV
ok 1244 - execute SELECT DEG2RAD(90) using DBD::CSV
ok 1245 - deg2rad
ok 1246 - prepare SELECT RADIANS(90) using DBD::CSV
ok 1247 - execute SELECT RADIANS(90) using DBD::CSV
ok 1248 - radians
ok 1249 - prepare SELECT RAD2DEG(PI) using DBD::CSV
ok 1250 - execute SELECT RAD2DEG(PI) using DBD::CSV
ok 1251 - rad2deg
ok 1252 - prepare SELECT DEGREES(PI()) using DBD::CSV
ok 1253 - execute SELECT DEGREES(PI()) using DBD::CSV
ok 1254 - degrees
ok 1255 - prepare SELECT DEG2GRAD(0.9) using DBD::CSV
ok 1256 - execute SELECT DEG2GRAD(0.9) using DBD::CSV
ok 1257 - deg2grad
ok 1258 - prepare SELECT GRAD2DEG(50) using DBD::CSV
ok 1259 - execute SELECT GRAD2DEG(50) using DBD::CSV
ok 1260 - grad2deg
ok 1261 - prepare SELECT RAD2GRAD(PI / 2) using DBD::CSV
ok 1262 - execute SELECT RAD2GRAD(PI / 2) using DBD::CSV
ok 1263 - rad2grad
ok 1264 - prepare SELECT GRAD2RAD(200) using DBD::CSV
ok 1265 - execute SELECT GRAD2RAD(200) using DBD::CSV
ok 1266 - grad2rad
ok 1267 - prepare SELECT DEG2RAD(10000000000) using DBD::CSV
ok 1268 - execute SELECT DEG2RAD(10000000000) using DBD::CSV
ok 1269 - lotta radians
ok 1270 - prepare SELECT RAD2DEG(-10000000000) using DBD::CSV
ok 1271 - execute SELECT RAD2DEG(-10000000000) using DBD::CSV
ok 1272 - negative degrees
ok 1273 - prepare SELECT RAD2DEG(10000) using DBD::CSV
ok 1274 - execute SELECT RAD2DEG(10000) using DBD::CSV
ok 1275 - positive degrees
ok 1276 - prepare SELECT TANH(100) using DBD::CSV
ok 1277 - execute SELECT TANH(100) using DBD::CSV
ok 1278 - tanh 100
ok 1279 - prepare SELECT COTH(100) using DBD::CSV
ok 1280 - execute SELECT COTH(100) using DBD::CSV
ok 1281 - coth 100
ok 1282 - prepare SELECT TANH(-100) using DBD::CSV
ok 1283 - execute SELECT TANH(-100) using DBD::CSV
ok 1284 - tanh -100
ok 1285 - prepare SELECT COTH(-100) using DBD::CSV
ok 1286 - execute SELECT COTH(-100) using DBD::CSV
ok 1287 - coth -100
ok 1288 - prepare SELECT SECH(100000) using DBD::CSV
ok 1289 - execute SELECT SECH(100000) using DBD::CSV
ok 1290 - sech 1e5
ok 1291 - prepare SELECT CSCH(100000) using DBD::CSV
ok 1292 - execute SELECT CSCH(100000) using DBD::CSV
ok 1293 - csch 1e5
ok 1294 - prepare SELECT TANH(100000) using DBD::CSV
ok 1295 - execute SELECT TANH(100000) using DBD::CSV
ok 1296 - tanh 1e5
ok 1297 - prepare SELECT COTH(100000) using DBD::CSV
ok 1298 - execute SELECT COTH(100000) using DBD::CSV
ok 1299 - coth 1e5
ok 1300 - prepare SELECT SECH(-100000) using DBD::CSV
ok 1301 - execute SELECT SECH(-100000) using DBD::CSV
ok 1302 - sech -1e5
ok 1303 - prepare SELECT CSCH(-100000) using DBD::CSV
ok 1304 - execute SELECT CSCH(-100000) using DBD::CSV
ok 1305 - csch -1e5
ok 1306 - prepare SELECT TANH(-100000) using DBD::CSV
ok 1307 - execute SELECT TANH(-100000) using DBD::CSV
ok 1308 - tanh -1e5
ok 1309 - prepare SELECT COTH(-100000) using DBD::CSV
ok 1310 - execute SELECT COTH(-100000) using DBD::CSV
ok 1311 - coth -1e5
ok 1312 - prepare SELECT DBNAME() using DBD::CSV
ok 1313 - execute SELECT DBNAME() using DBD::CSV
ok 1314 - dbname
ok 1315 - prepare SELECT USERNAME() using DBD::CSV
ok 1316 - execute SELECT USERNAME() using DBD::CSV
ok 1317 - username
ok 1318 - prepare SELECT USER() using DBD::CSV
ok 1319 - execute SELECT USER() using DBD::CSV
ok 1320 - user
ok 1321 - prepare SELECT id,host,signature,message FROM log WHERE time_stamp < (1324020193 - ( 4 * 60 )) using DBD::CSV
ok 1322 - execute SELECT id,host,signature,message FROM log WHERE time_stamp < (1324020193 - ( 4 * 60 )) using DBD::CSV
ok 1323 - SELECT with calculation in WHERE CLAUSE
ok 1324 - prepare SELECT id,host,signature,message FROM log WHERE (time_stamp > (1324020193 - 5)) AND (time_stamp < (1324020193 + 5)) using DBD::CSV
ok 1325 - execute SELECT id,host,signature,message FROM log WHERE (time_stamp > (1324020193 - 5)) AND (time_stamp < (1324020193 + 5)) using DBD::CSV
ok 1326 - SELECT with calculation and logical expression in WHERE CLAUSE
ok 1327 - prepare SELECT id,host,signature,message FROM log WHERE time_stamp BETWEEN ( 1324020193 - 5, 1324020193 + 5) using DBD::CSV
ok 1328 - execute SELECT id,host,signature,message FROM log WHERE time_stamp BETWEEN ( 1324020193 - 5, 1324020193 + 5) using DBD::CSV
ok 1329 - SELECT with calculated items in BETWEEN in WHERE CLAUSE
ok 1330 - prepare SELECT MAX(time_stamp) FROM log WHERE time_stamp IN (1324020193 - (2*3600), 1324020193 - (4*3600)) using DBD::CSV
ok 1331 - execute SELECT MAX(time_stamp) FROM log WHERE time_stamp IN (1324020193 - (2*3600), 1324020193 - (4*3600)) using DBD::CSV
ok 1332 - MAX() with calculated WHERE clause
ok 1333 - prepare SELECT MAX(time_stamp - 3*3600) FROM log using DBD::CSV
ok 1334 - execute SELECT MAX(time_stamp - 3*3600) FROM log using DBD::CSV
ok 1335 - calculation in MAX()
ok 1336 - prepare SELECT MAX(time_stamp) - 3*3600 FROM log using DBD::CSV
not ok 1337 - execute SELECT MAX(time_stamp) - 3*3600 FROM log using DBD::CSV # TODO Known limitation. Parser/Engine can not handle properly

#   Failed (TODO) test 'execute SELECT MAX(time_stamp) - 3*3600 FROM log using DBD::CSV'
#   at t/06virtual.t line 1471.
# No table specified: 'SELECT MAX(time_stamp) - 3*3600 FROM log' at /home/local/INSIGHT_NT/loubbyrd/src/SQL-Statement-1.33_new/blib/lib/SQL/Statement/Function.pm line 212
not ok 1338 - Caclulation outside aggregation # TODO Known limitation. Parser/Engine can not handle properly

#   Failed (TODO) test 'Caclulation outside aggregation'
#   at t/06virtual.t line 1502.
#     Structures begin differing at:
#          $got->[0] = Does not exist
#     $expected->[0] = ARRAY(0x1f75148)
ok 1339 - prepare SELECT MAX( CHAR_LENGTH(message) ) FROM log using DBD::CSV
ok 1340 - execute SELECT MAX( CHAR_LENGTH(message) ) FROM log using DBD::CSV
ok 1341 - function in MAX()
ok 1342 - prepare SELECT 1+0 from log using DBD::CSV
ok 1343 - execute SELECT 1+0 from log using DBD::CSV
ok 1344 - select simple calculated constant from table
ok 1345 - prepare SELECT 1+1*2 using DBD::CSV
ok 1346 - execute SELECT 1+1*2 using DBD::CSV
ok 1347 - select calculated constant with preceedence rules
ok 1348 - prepare SELECT 1 using DBD::CSV
ok 1349 - execute SELECT 1 using DBD::CSV
ok 1350 - SELECT not calculated constant
ok 1351 - prepare 	CREATE TEMP TABLE biz (sales INTEGER, class CHAR, color CHAR, BUGNULL CHAR) on DBD::File
ok 1352 - execute 	CREATE TEMP TABLE biz (sales INTEGER, class CHAR, color CHAR, BUGNULL CHAR) on DBD::File
ok 1353 - prepare 	INSERT INTO biz VALUES (1000, 'Car',   'White', NULL) on DBD::File
ok 1354 - execute 	INSERT INTO biz VALUES (1000, 'Car',   'White', NULL) on DBD::File
ok 1355 - prepare 	INSERT INTO biz VALUES ( 500, 'Car',   'Blue',  NULL ) on DBD::File
ok 1356 - execute 	INSERT INTO biz VALUES ( 500, 'Car',   'Blue',  NULL ) on DBD::File
ok 1357 - prepare 	INSERT INTO biz VALUES ( 400, 'Truck', 'White', NULL ) on DBD::File
ok 1358 - execute 	INSERT INTO biz VALUES ( 400, 'Truck', 'White', NULL ) on DBD::File
ok 1359 - prepare 	INSERT INTO biz VALUES ( 700, 'Car',   'Red',   NULL ) on DBD::File
ok 1360 - execute 	INSERT INTO biz VALUES ( 700, 'Car',   'Red',   NULL ) on DBD::File
ok 1361 - prepare 	INSERT INTO biz VALUES ( 300, 'Truck', 'White', NULL ) on DBD::File
ok 1362 - execute 	INSERT INTO biz VALUES ( 300, 'Truck', 'White', NULL ) on DBD::File
ok 1363 - prepare 	CREATE TEMP TABLE baz (ordered INTEGER, class CHAR, color CHAR) on DBD::File
ok 1364 - execute 	CREATE TEMP TABLE baz (ordered INTEGER, class CHAR, color CHAR) on DBD::File
ok 1365 - prepare 	INSERT INTO baz VALUES ( 250, 'Car',   'White' ), ( 100, 'Car',   'Blue' ), ( 150, 'Car',   'Red' ) on DBD::File
ok 1366 - execute 	INSERT INTO baz VALUES ( 250, 'Car',   'White' ), ( 100, 'Car',   'Blue' ), ( 150, 'Car',   'Red' ) on DBD::File
ok 1367 - prepare 	INSERT INTO baz VALUES (  80, 'Truck', 'White' ), (  60, 'Truck', 'Green' ) -- Yes, we introduce new cars :) on DBD::File
ok 1368 - execute 	INSERT INTO baz VALUES (  80, 'Truck', 'White' ), (  60, 'Truck', 'Green' ) -- Yes, we introduce new cars :) on DBD::File
ok 1369 - prepare 	CREATE TEMP TABLE numbers (c_foo INTEGER, foo CHAR, bar INTEGER) on DBD::File
ok 1370 - execute 	CREATE TEMP TABLE numbers (c_foo INTEGER, foo CHAR, bar INTEGER) on DBD::File
ok 1371 - prepare 	CREATE TEMP TABLE trick   (id INTEGER, foo CHAR) on DBD::File
ok 1372 - execute 	CREATE TEMP TABLE trick   (id INTEGER, foo CHAR) on DBD::File
ok 1373 - prepare 	INSERT INTO trick VALUES (1, '1foo') on DBD::File
ok 1374 - execute 	INSERT INTO trick VALUES (1, '1foo') on DBD::File
ok 1375 - prepare 	INSERT INTO trick VALUES (11, 'foo') on DBD::File
ok 1376 - execute 	INSERT INTO trick VALUES (11, 'foo') on DBD::File
ok 1377 - prepare 	CREATE TYPE TIMESTAMP on DBD::File
ok 1378 - execute 	CREATE TYPE TIMESTAMP on DBD::File
ok 1379 - prepare 	CREATE TEMP TABLE log (id INT, host CHAR, signature CHAR, message CHAR, time_stamp TIMESTAMP) on DBD::File
ok 1380 - execute 	CREATE TEMP TABLE log (id INT, host CHAR, signature CHAR, message CHAR, time_stamp TIMESTAMP) on DBD::File
ok 1381 - prepare 	INSERT INTO log VALUES (1, 'bert', '/netbsd', 'Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,', 1324020198) on DBD::File
ok 1382 - execute 	INSERT INTO log VALUES (1, 'bert', '/netbsd', 'Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,', 1324020198) on DBD::File
ok 1383 - prepare 	INSERT INTO log VALUES (2, 'bert', '/netbsd', '2006, 2007, 2008, 2009, 2010', 1324020198) on DBD::File
ok 1384 - execute 	INSERT INTO log VALUES (2, 'bert', '/netbsd', '2006, 2007, 2008, 2009, 2010', 1324020198) on DBD::File
ok 1385 - prepare 	INSERT INTO log VALUES (3, 'bert', '/netbsd', 'The NetBSD Foundation, Inc.  All rights reserved.', 1324020198) on DBD::File
ok 1386 - execute 	INSERT INTO log VALUES (3, 'bert', '/netbsd', 'The NetBSD Foundation, Inc.  All rights reserved.', 1324020198) on DBD::File
ok 1387 - prepare 	INSERT INTO log VALUES (4, 'bert', '/netbsd', 'Copyright (c) 1982, 1986, 1989, 1991, 1993', 1324020198) on DBD::File
ok 1388 - execute 	INSERT INTO log VALUES (4, 'bert', '/netbsd', 'Copyright (c) 1982, 1986, 1989, 1991, 1993', 1324020198) on DBD::File
ok 1389 - prepare 	INSERT INTO log VALUES (5, 'bert', '/netbsd', 'The Regents of the University of California.  All rights reserved.', 1324020198) on DBD::File
ok 1390 - execute 	INSERT INTO log VALUES (5, 'bert', '/netbsd', 'The Regents of the University of California.  All rights reserved.', 1324020198) on DBD::File
ok 1391 - prepare 	INSERT INTO log VALUES (6, 'bert', '/netbsd', '', 1324020198) on DBD::File
ok 1392 - execute 	INSERT INTO log VALUES (6, 'bert', '/netbsd', '', 1324020198) on DBD::File
ok 1393 - prepare 	INSERT INTO log VALUES (7, 'bert', '/netbsd', 'NetBSD 5.99.39 (BERT) \#0: Fri Oct  8 06:23:03 CEST 2010', 1324020198) on DBD::File
ok 1394 - execute 	INSERT INTO log VALUES (7, 'bert', '/netbsd', 'NetBSD 5.99.39 (BERT) \#0: Fri Oct  8 06:23:03 CEST 2010', 1324020198) on DBD::File
ok 1395 - prepare 	INSERT INTO log VALUES (8, 'ernie', 'rpc.statd', 'starting', 1324016598) on DBD::File
ok 1396 - execute 	INSERT INTO log VALUES (8, 'ernie', 'rpc.statd', 'starting', 1324016598) on DBD::File
ok 1397 - prepare 	INSERT INTO log VALUES (9, 'ernie', 'savecore', 'no core dump', 1324012998) on DBD::File
ok 1398 - execute 	INSERT INTO log VALUES (9, 'ernie', 'savecore', 'no core dump', 1324012998) on DBD::File
ok 1399 - prepare 	INSERT INTO log VALUES (10, 'ernie', 'postfix/postfix-script', 'starting the Postfix mail system', 1324009398) on DBD::File
ok 1400 - execute 	INSERT INTO log VALUES (10, 'ernie', 'postfix/postfix-script', 'starting the Postfix mail system', 1324009398) on DBD::File
ok 1401 - prepare 	INSERT INTO log VALUES (11, 'ernie', 'rpcbind', 'connect from 127.0.0.1 to dump()', 1324005798) on DBD::File
ok 1402 - execute 	INSERT INTO log VALUES (11, 'ernie', 'rpcbind', 'connect from 127.0.0.1 to dump()', 1324005798) on DBD::File
ok 1403 - prepare 	INSERT INTO log VALUES (12, 'ernie', 'sshd', 'last message repeated 2 times', 1324002198) on DBD::File
ok 1404 - execute 	INSERT INTO log VALUES (12, 'ernie', 'sshd', 'last message repeated 2 times', 1324002198) on DBD::File
ok 1405 - prepare 	INSERT INTO log VALUES (13, 'ernie', 'shutdown', 'poweroff by root:', 1323998598) on DBD::File
ok 1406 - execute 	INSERT INTO log VALUES (13, 'ernie', 'shutdown', 'poweroff by root:', 1323998598) on DBD::File
ok 1407 - prepare 	INSERT INTO log VALUES (14, 'ernie', 'shutdown', 'rebooted by root', 1323994998) on DBD::File
ok 1408 - execute 	INSERT INTO log VALUES (14, 'ernie', 'shutdown', 'rebooted by root', 1323994998) on DBD::File
ok 1409 - prepare 	INSERT INTO log VALUES (15, 'ernie', 'sshd', 'Server listening on :: port 22.', 1323991398) on DBD::File
ok 1410 - execute 	INSERT INTO log VALUES (15, 'ernie', 'sshd', 'Server listening on :: port 22.', 1323991398) on DBD::File
ok 1411 - prepare 	INSERT INTO log VALUES (16, 'ernie', 'sshd', 'Server listening on 0.0.0.0 port 22.', 1323987798) on DBD::File
ok 1412 - execute 	INSERT INTO log VALUES (16, 'ernie', 'sshd', 'Server listening on 0.0.0.0 port 22.', 1323987798) on DBD::File
ok 1413 - prepare 	INSERT INTO log VALUES (17, 'ernie', 'sshd', 'Received SIGHUP; restarting.', 1323984198) on DBD::File
ok 1414 - execute 	INSERT INTO log VALUES (17, 'ernie', 'sshd', 'Received SIGHUP; restarting.', 1323984198) on DBD::File
ok 1415 - prepare SELECT class,SUM(sales) as foo, MAX(sales) FROM biz GROUP BY class using DBD::File
ok 1416 - execute SELECT class,SUM(sales) as foo, MAX(sales) FROM biz GROUP BY class using DBD::File
ok 1417 - GROUP BY one column
ok 1418 - prepare SELECT color,class,SUM(sales), MAX(sales) FROM biz GROUP BY color,class using DBD::File
ok 1419 - execute SELECT color,class,SUM(sales), MAX(sales) FROM biz GROUP BY color,class using DBD::File
ok 1420 - GROUP BY several columns
ok 1421 - prepare SELECT SUM(sales), MAX(sales) FROM biz using DBD::File
ok 1422 - execute SELECT SUM(sales), MAX(sales) FROM biz using DBD::File
ok 1423 - AGGREGATE FUNCTIONS WITHOUT GROUP BY
ok 1424 - prepare SELECT distinct class, COUNT(distinct color) FROM biz GROUP BY class using DBD::File
ok 1425 - execute SELECT distinct class, COUNT(distinct color) FROM biz GROUP BY class using DBD::File
ok 1426 - COUNT(distinct column) WITH GROUP BY
ok 1427 - prepare SELECT class, COUNT(*) FROM biz GROUP BY class using DBD::File
ok 1428 - execute SELECT class, COUNT(*) FROM biz GROUP BY class using DBD::File
ok 1429 - COUNT(*) with GROUP BY
ok 1430 - prepare SELECT DISTINCT biz.class, baz.color AS foo FROM biz, baz WHERE biz.class = baz.class ORDER BY foo using DBD::File
ok 1431 - execute SELECT DISTINCT biz.class, baz.color AS foo FROM biz, baz WHERE biz.class = baz.class ORDER BY foo using DBD::File
ok 1432 - ORDER BY on aliased column
ok 1433 - prepare SELECT class, COUNT(distinct *) FROM biz GROUP BY class using DBD::File fails
ok 1434 - COUNT(DISTINCT *) fails
ok 1435 - prepare SELECT class, COUNT(color) FROM biz using DBD::File
ok 1436 - execute SELECT class, COUNT(color) FROM biz using DBD::File fails
ok 1437 - GROUP BY required
ok 1438 - prepare SELECT SUM(bar) FROM numbers using DBD::File
ok 1439 - execute SELECT SUM(bar) FROM numbers using DBD::File
ok 1440 - SUM(bar) of empty table
ok 1441 - prepare SELECT COUNT(bar),c_foo FROM numbers GROUP BY c_foo using DBD::File
ok 1442 - execute SELECT COUNT(bar),c_foo FROM numbers GROUP BY c_foo using DBD::File
ok 1443 - COUNT(bar) of empty table with GROUP BY
ok 1444 - prepare SELECT COUNT(*) FROM numbers using DBD::File
ok 1445 - execute SELECT COUNT(*) FROM numbers using DBD::File
ok 1446 - COUNT(*) of empty table
ok 1447 - prepare INSERT INTO numbers VALUES (?, ?, ?) using DBD::File
ok 1448 - 1 .. 3999: execute INSERT INTO numbers VALUES (?, ?, ?) using DBD::File
ok 1449 - prepare SELECT foo AS boo, COUNT (*) AS counted FROM numbers GROUP BY boo using DBD::File
ok 1450 - execute SELECT foo AS boo, COUNT (*) AS counted FROM numbers GROUP BY boo using DBD::File
ok 1451 - Columns in Number of rows in aggregated Table
ok 1452 - Number of rows in aggregated Table
ok 1453 - SUM(COUNTED)
ok 1454 - prepare SELECT MIN(c_foo), MAX(c_foo), AVG(c_foo) FROM numbers using DBD::File
ok 1455 - execute SELECT MIN(c_foo), MAX(c_foo), AVG(c_foo) FROM numbers using DBD::File
ok 1456 - Aggregate functions MIN, MAX, AVG
ok 1457 - prepare SELECT COUNT(*) FROM trick using DBD::File
ok 1458 - execute SELECT COUNT(*) FROM trick using DBD::File
ok 1459 - COUNT(*) internal for nasty table
ok 1460 - prepare SELECT CURRENT_DATE() using DBD::File
ok 1461 - execute SELECT CURRENT_DATE() using DBD::File
ok 1462 - current_date int
ok 1463 - prepare SELECT CURRENT_TIME using DBD::File
ok 1464 - execute SELECT CURRENT_TIME using DBD::File
ok 1465 - current_time int
ok 1466 - prepare SELECT CURRENT_TIMESTAMP() using DBD::File
ok 1467 - execute SELECT CURRENT_TIMESTAMP() using DBD::File
ok 1468 - current_timestamp int
ok 1469 - prepare SELECT CURDATE using DBD::File
ok 1470 - execute SELECT CURDATE using DBD::File
ok 1471 - curdate int
ok 1472 - prepare SELECT CURTIME() using DBD::File
ok 1473 - execute SELECT CURTIME() using DBD::File
ok 1474 - curtime int
ok 1475 - prepare SELECT NOW using DBD::File
ok 1476 - execute SELECT NOW using DBD::File
ok 1477 - now int
ok 1478 - prepare SELECT UNIX_TIMESTAMP() using DBD::File
ok 1479 - execute SELECT UNIX_TIMESTAMP() using DBD::File
ok 1480 - unix_timestamp int
ok 1481 - prepare SELECT CURRENT_TIME (1) using DBD::File
ok 1482 - execute SELECT CURRENT_TIME (1) using DBD::File
ok 1483 - current_time precision
ok 1484 - prepare SELECT CURRENT_TIMESTAMP  (2) using DBD::File
ok 1485 - execute SELECT CURRENT_TIMESTAMP  (2) using DBD::File
ok 1486 - current_timestamp precision
ok 1487 - prepare SELECT CURTIME   (3) using DBD::File
ok 1488 - execute SELECT CURTIME   (3) using DBD::File
ok 1489 - curtime precision
ok 1490 - prepare SELECT NOW(4) using DBD::File
ok 1491 - execute SELECT NOW(4) using DBD::File
ok 1492 - now precision
ok 1493 - prepare SELECT UNIX_TIMESTAMP(5) using DBD::File
ok 1494 - execute SELECT UNIX_TIMESTAMP(5) using DBD::File
ok 1495 - unix_timestamp precision
ok 1496 - prepare SELECT ASCII('A') using DBD::File
ok 1497 - execute SELECT ASCII('A') using DBD::File
ok 1498 - ascii char
ok 1499 - prepare SELECT ASCII('ABC') using DBD::File
ok 1500 - execute SELECT ASCII('ABC') using DBD::File
ok 1501 - ascii str
ok 1502 - prepare SELECT CHAR() using DBD::File
ok 1503 - execute SELECT CHAR() using DBD::File
ok 1504 - char blank
ok 1505 - prepare SELECT CHAR(65) using DBD::File
ok 1506 - execute SELECT CHAR(65) using DBD::File
ok 1507 - char char
ok 1508 - prepare SELECT CHAR(CONV('263A', 16)) using DBD::File
ok 1509 - execute SELECT CHAR(CONV('263A', 16)) using DBD::File
ok 1510 - char char unicode
ok 1511 - prepare SELECT CHAR(65,66,67) using DBD::File
ok 1512 - execute SELECT CHAR(65,66,67) using DBD::File
ok 1513 - char str
ok 1514 - prepare SELECT CHAR(CONV('263A', 16), 9787, CONV('10011000111100', 2)) using DBD::File
ok 1515 - execute SELECT CHAR(CONV('263A', 16), 9787, CONV('10011000111100', 2)) using DBD::File
ok 1516 - char str unicode
ok 1517 - prepare SELECT BIT_LENGTH(' oo') using DBD::File
ok 1518 - execute SELECT BIT_LENGTH(' oo') using DBD::File
ok 1519 - bit_length 6bit
ok 1520 - prepare SELECT BIT_LENGTH('foo') using DBD::File
ok 1521 - execute SELECT BIT_LENGTH('foo') using DBD::File
ok 1522 - bit_length 7bit
ok 1523 - prepare SELECT BIT_LENGTH(CHAR(9786, 9787, 9788)) using DBD::File
ok 1524 - execute SELECT BIT_LENGTH(CHAR(9786, 9787, 9788)) using DBD::File
ok 1525 - bit_length unicode
ok 1526 - prepare SELECT CHARACTER_LENGTH('foo') using DBD::File
ok 1527 - execute SELECT CHARACTER_LENGTH('foo') using DBD::File
ok 1528 - character_length
ok 1529 - prepare SELECT CHAR_LENGTH('foo') using DBD::File
ok 1530 - execute SELECT CHAR_LENGTH('foo') using DBD::File
ok 1531 - char_length
ok 1532 - prepare SELECT CHARACTER_LENGTH(CHAR(9786, 9787, 9788)) using DBD::File
ok 1533 - execute SELECT CHARACTER_LENGTH(CHAR(9786, 9787, 9788)) using DBD::File
ok 1534 - character_length unicode
ok 1535 - prepare SELECT CHAR_LENGTH(CHAR(9786, 9787, 9788)) using DBD::File
ok 1536 - execute SELECT CHAR_LENGTH(CHAR(9786, 9787, 9788)) using DBD::File
ok 1537 - char_length unicode
ok 1538 - prepare SELECT COALESCE(NULL,'z') using DBD::File
ok 1539 - execute SELECT COALESCE(NULL,'z') using DBD::File
ok 1540 - coalesce
ok 1541 - prepare SELECT NVL(NULL,'z') using DBD::File
ok 1542 - execute SELECT NVL(NULL,'z') using DBD::File
ok 1543 - nvl
ok 1544 - prepare SELECT IFNULL(NULL,'z') using DBD::File
ok 1545 - execute SELECT IFNULL(NULL,'z') using DBD::File
ok 1546 - ifnull
ok 1547 - prepare SELECT CONCAT('A','B') using DBD::File
ok 1548 - execute SELECT CONCAT('A','B') using DBD::File
ok 1549 - concat good
ok 1550 - prepare SELECT CONCAT('A',NULL) using DBD::File
ok 1551 - execute SELECT CONCAT('A',NULL) using DBD::File
ok 1552 - concat bad
ok 1553 - prepare SELECT CONV('101 0100 1111 0111 0110 1011',  2, 92) using DBD::File
ok 1554 - execute SELECT CONV('101 0100 1111 0111 0110 1011',  2, 92) using DBD::File
ok 1555 - conv 2->92
ok 1556 - prepare SELECT CONV('101 0100 1111 0111 0110 1011',  2, 64) using DBD::File
ok 1557 - execute SELECT CONV('101 0100 1111 0111 0110 1011',  2, 64) using DBD::File
ok 1558 - conv 2->64
ok 1559 - prepare SELECT CONV('101 0100 1111 0111 0110 1011',  2, 36) using DBD::File
ok 1560 - execute SELECT CONV('101 0100 1111 0111 0110 1011',  2, 36) using DBD::File
ok 1561 - conv 2->36
ok 1562 - prepare SELECT CONV('101 0100 1111 0111 0110 1011',  2, 16) using DBD::File
ok 1563 - execute SELECT CONV('101 0100 1111 0111 0110 1011',  2, 16) using DBD::File
ok 1564 - conv 2->16
ok 1565 - prepare SELECT CONV('101 0100 1111 0111 0110 1011',  2, 10) using DBD::File
ok 1566 - execute SELECT CONV('101 0100 1111 0111 0110 1011',  2, 10) using DBD::File
ok 1567 - conv 2->10
ok 1568 - prepare SELECT CONV('101 0100 1111 0111 0110 1011',  2,  8) using DBD::File
ok 1569 - execute SELECT CONV('101 0100 1111 0111 0110 1011',  2,  8) using DBD::File
ok 1570 - conv 2->8
ok 1571 - prepare SELECT CONV('101 0100 1111 0111 0110 1011',  2,  2) using DBD::File
ok 1572 - execute SELECT CONV('101 0100 1111 0111 0110 1011',  2,  2) using DBD::File
ok 1573 - conv 2->2
ok 1574 - prepare SELECT CONV(-1, 2, 36) using DBD::File
ok 1575 - execute SELECT CONV(-1, 2, 36) using DBD::File
ok 1576 - conv base 36 short-circuit
ok 1577 - prepare SELECT CONV(-1, 2, 92) using DBD::File
ok 1578 - execute SELECT CONV(-1, 2, 92) using DBD::File
ok 1579 - conv base 92 short-circuit
ok 1580 - prepare SELECT CONV('-&23ms98*&a ^.21 hjs ', 92, 36) using DBD::File
ok 1581 - execute SELECT CONV('-&23ms98*&a ^.21 hjs ', 92, 36) using DBD::File
ok 1582 - conv 92->36
ok 1583 - prepare SELECT CONV('10101001111.011101101011', 2, 92) using DBD::File
ok 1584 - execute SELECT CONV('10101001111.011101101011', 2, 92) using DBD::File
ok 1585 - conv 2->92 fractional
ok 1586 - prepare SELECT CONV(2517.3553, 8, 64) using DBD::File
ok 1587 - execute SELECT CONV(2517.3553, 8, 64) using DBD::File
ok 1588 - conv 8->64 fractional
ok 1589 - prepare SELECT CONV('54F . 76B', 16, 32) using DBD::File
ok 1590 - execute SELECT CONV('54F . 76B', 16, 32) using DBD::File
ok 1591 - conv 16->32 fractional
ok 1592 - prepare SELECT CONV('101 0100 1111.0111 0110 1011', 2, 16) using DBD::File
ok 1593 - execute SELECT CONV('101 0100 1111.0111 0110 1011', 2, 16) using DBD::File
ok 1594 - conv 2->16 fractional
ok 1595 - prepare SELECT CONV('VP.dr', 64, 10) using DBD::File
ok 1596 - execute SELECT CONV('VP.dr', 64, 10) using DBD::File
ok 1597 - conv 64->10 fractional
ok 1598 - prepare SELECT CONV(' 1 A F . E Q O ', 32, 8) using DBD::File
ok 1599 - execute SELECT CONV(' 1 A F . E Q O ', 32, 8) using DBD::File
ok 1600 - conv 32->8 fractional
ok 1601 - prepare SELECT CONV('101 0100 1111.0111 0110 1011', 2, 2) using DBD::File
ok 1602 - execute SELECT CONV('101 0100 1111.0111 0110 1011', 2, 2) using DBD::File
ok 1603 - conv 2->2 fractional
ok 1604 - prepare SELECT CONV('1AF.EQO0000000000000000000000000000', 32, 8) using DBD::File
ok 1605 - execute SELECT CONV('1AF.EQO0000000000000000000000000000', 32, 8) using DBD::File
ok 1606 - conv 32->8 big_number
ok 1607 - prepare SELECT DISTINCT DECODE(color,'White','W','Red','R','B') AS cfc FROM biz ORDER BY cfc using DBD::File
ok 1608 - execute SELECT DISTINCT DECODE(color,'White','W','Red','R','B') AS cfc FROM biz ORDER BY cfc using DBD::File
ok 1609 - decode
ok 1610 - prepare SELECT INSERT('foodieland', 4, 3, 'bar') using DBD::File
ok 1611 - execute SELECT INSERT('foodieland', 4, 3, 'bar') using DBD::File
ok 1612 - insert good 1:1
ok 1613 - prepare SELECT INSERT('foodland', 4, 1, 'bar') using DBD::File
ok 1614 - execute SELECT INSERT('foodland', 4, 1, 'bar') using DBD::File
ok 1615 - insert good non-1:1
ok 1616 - prepare SELECT INSERT(NULL, 4, 1, 'bar') using DBD::File
ok 1617 - execute SELECT INSERT(NULL, 4, 1, 'bar') using DBD::File
ok 1618 - insert bad 1
ok 1619 - prepare SELECT INSERT('foodland', 4, 1, NULL) using DBD::File
ok 1620 - execute SELECT INSERT('foodland', 4, 1, NULL) using DBD::File
ok 1621 - insert bad 2
ok 1622 - prepare SELECT LEFT('foodland', 4) using DBD::File
ok 1623 - execute SELECT LEFT('foodland', 4) using DBD::File
ok 1624 - left good
ok 1625 - prepare SELECT LEFT(NULL, 4) using DBD::File
ok 1626 - execute SELECT LEFT(NULL, 4) using DBD::File
ok 1627 - left bad 1
ok 1628 - prepare SELECT LEFT('foodland', NULL) using DBD::File
ok 1629 - execute SELECT LEFT('foodland', NULL) using DBD::File
ok 1630 - left bad 2
ok 1631 - prepare SELECT RIGHT('foodland', 4) using DBD::File
ok 1632 - execute SELECT RIGHT('foodland', 4) using DBD::File
ok 1633 - right good
ok 1634 - prepare SELECT RIGHT(NULL, 4) using DBD::File
ok 1635 - execute SELECT RIGHT(NULL, 4) using DBD::File
ok 1636 - right bad 1
ok 1637 - prepare SELECT RIGHT('foodland', NULL) using DBD::File
ok 1638 - execute SELECT RIGHT('foodland', NULL) using DBD::File
ok 1639 - right bad 2
ok 1640 - prepare SELECT LOCATE('a','bar') using DBD::File
ok 1641 - execute SELECT LOCATE('a','bar') using DBD::File
ok 1642 - locate 2param
ok 1643 - prepare SELECT LOCATE('a','barafa',3) using DBD::File
ok 1644 - execute SELECT LOCATE('a','barafa',3) using DBD::File
ok 1645 - locate 3param
ok 1646 - prepare SELECT POSITION('a','bar') using DBD::File
ok 1647 - execute SELECT POSITION('a','bar') using DBD::File
ok 1648 - position 2param
ok 1649 - prepare SELECT POSITION('a','barafa',3) using DBD::File
ok 1650 - execute SELECT POSITION('a','barafa',3) using DBD::File
ok 1651 - position 3param
ok 1652 - prepare SELECT LOWER('A') using DBD::File
ok 1653 - execute SELECT LOWER('A') using DBD::File
ok 1654 - lower
ok 1655 - prepare SELECT UPPER('a') using DBD::File
ok 1656 - execute SELECT UPPER('a') using DBD::File
ok 1657 - upper
ok 1658 - prepare SELECT LCASE('A') using DBD::File
ok 1659 - execute SELECT LCASE('A') using DBD::File
ok 1660 - lcase
ok 1661 - prepare SELECT UCASE('a') using DBD::File
ok 1662 - execute SELECT UCASE('a') using DBD::File
ok 1663 - ucase
ok 1664 - prepare SELECT LTRIM(' fun ') using DBD::File
ok 1665 - execute SELECT LTRIM(' fun ') using DBD::File
ok 1666 - ltrim
ok 1667 - prepare SELECT RTRIM(' fun ') using DBD::File
ok 1668 - execute SELECT RTRIM(' fun ') using DBD::File
ok 1669 - rtrim
ok 1670 - prepare SELECT OCTET_LENGTH('foo') using DBD::File
ok 1671 - execute SELECT OCTET_LENGTH('foo') using DBD::File
ok 1672 - octet_length
ok 1673 - prepare SELECT OCTET_LENGTH(CHAR(64, 169, 9786, 65572)) using DBD::File
ok 1674 - execute SELECT OCTET_LENGTH(CHAR(64, 169, 9786, 65572)) using DBD::File
ok 1675 - octet_length unicode
ok 1676 - prepare SELECT REGEX('jeff','/EF/i') using DBD::File
ok 1677 - execute SELECT REGEX('jeff','/EF/i') using DBD::File
ok 1678 - regex match
ok 1679 - prepare SELECT REGEX('jeff','/zzz/') using DBD::File
ok 1680 - execute SELECT REGEX('jeff','/zzz/') using DBD::File
ok 1681 - regex no match
ok 1682 - prepare SELECT REPEAT('zfunkY', 3) using DBD::File
ok 1683 - execute SELECT REPEAT('zfunkY', 3) using DBD::File
ok 1684 - repeat
ok 1685 - prepare SELECT REPLACE('zfunkY','s/z(.+)ky/$1/i') using DBD::File
ok 1686 - execute SELECT REPLACE('zfunkY','s/z(.+)ky/$1/i') using DBD::File
ok 1687 - replace
ok 1688 - prepare SELECT SUBSTITUTE('zfunkY','s/z(.+)ky/$1/i') using DBD::File
ok 1689 - execute SELECT SUBSTITUTE('zfunkY','s/z(.+)ky/$1/i') using DBD::File
ok 1690 - substitute
ok 1691 - prepare SELECT SOUNDEX('jeff','jeph') using DBD::File
ok 1692 - execute SELECT SOUNDEX('jeff','jeph') using DBD::File
ok 1693 - soundex match
ok 1694 - prepare SELECT SOUNDEX('jeff','quartz') using DBD::File
ok 1695 - execute SELECT SOUNDEX('jeff','quartz') using DBD::File
ok 1696 - soundex no match
ok 1697 - prepare SELECT SPACE(10) using DBD::File
ok 1698 - execute SELECT SPACE(10) using DBD::File
ok 1699 - space
ok 1700 - prepare SELECT SUBSTR('zfunkY',2,3) using DBD::File
ok 1701 - execute SELECT SUBSTR('zfunkY',2,3) using DBD::File
ok 1702 - substr
ok 1703 - prepare SELECT DISTINCT color FROM biz WHERE SUBSTRING(class FROM 1 FOR 1)='T' using DBD::File
ok 1704 - execute SELECT DISTINCT color FROM biz WHERE SUBSTRING(class FROM 1 FOR 1)='T' using DBD::File
ok 1705 - substring
ok 1706 - prepare SELECT TRANSLATE('foobar forever', 'oae', '0@3') using DBD::File
ok 1707 - execute SELECT TRANSLATE('foobar forever', 'oae', '0@3') using DBD::File
ok 1708 - translate
ok 1709 - prepare SELECT TRIM(' fun ') using DBD::File
ok 1710 - execute SELECT TRIM(' fun ') using DBD::File
ok 1711 - trim simple
not ok 1712 - 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 1422.
# Unbalanced parentheses!
not ok 1713 - 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 1422.
# Unbalanced parentheses!
not ok 1714 - 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 1422.
# Unbalanced parentheses!
ok 1715 - prepare SELECT UNHEX('414243') using DBD::File
ok 1716 - execute SELECT UNHEX('414243') using DBD::File
ok 1717 - unhex str
ok 1718 - prepare SELECT UNHEX('263A' || HEX(9787) || CONV('10011000111100', 2, 16), 'UCS-2') using DBD::File
ok 1719 - execute SELECT UNHEX('263A' || HEX(9787) || CONV('10011000111100', 2, 16), 'UCS-2') using DBD::File
ok 1720 - unhex str unicode
ok 1721 - prepare SELECT ABS(-4) using DBD::File
ok 1722 - execute SELECT ABS(-4) using DBD::File
ok 1723 - abs
ok 1724 - prepare SELECT CEILING(5) using DBD::File
ok 1725 - execute SELECT CEILING(5) using DBD::File
ok 1726 - ceiling int
ok 1727 - prepare SELECT CEILING(4.1) using DBD::File
ok 1728 - execute SELECT CEILING(4.1) using DBD::File
ok 1729 - ceiling positive
ok 1730 - prepare SELECT CEIL(-4.5) using DBD::File
ok 1731 - execute SELECT CEIL(-4.5) using DBD::File
ok 1732 - ceil negative
ok 1733 - prepare SELECT FLOOR(-5) using DBD::File
ok 1734 - execute SELECT FLOOR(-5) using DBD::File
ok 1735 - floor int
ok 1736 - prepare SELECT FLOOR(4.999999999999) using DBD::File
ok 1737 - execute SELECT FLOOR(4.999999999999) using DBD::File
ok 1738 - floor positive
ok 1739 - prepare SELECT FLOOR(-4.1) using DBD::File
ok 1740 - execute SELECT FLOOR(-4.1) using DBD::File
ok 1741 - floor negative
ok 1742 - prepare SELECT EXP(1) using DBD::File
ok 1743 - execute SELECT EXP(1) using DBD::File
ok 1744 - exp
ok 1745 - prepare SELECT LOG(6) using DBD::File
ok 1746 - execute SELECT LOG(6) using DBD::File
ok 1747 - log as log10
ok 1748 - prepare SELECT LOG(2, 32) using DBD::File
ok 1749 - execute SELECT LOG(2, 32) using DBD::File
ok 1750 - log as log2
ok 1751 - prepare SELECT LN(3) using DBD::File
ok 1752 - execute SELECT LN(3) using DBD::File
ok 1753 - ln
ok 1754 - prepare SELECT MOD(8, 5) using DBD::File
ok 1755 - execute SELECT MOD(8, 5) using DBD::File
ok 1756 - mod
ok 1757 - prepare SELECT POWER(2, 4) using DBD::File
ok 1758 - execute SELECT POWER(2, 4) using DBD::File
ok 1759 - power
ok 1760 - prepare SELECT POW(2, 4) using DBD::File
ok 1761 - execute SELECT POW(2, 4) using DBD::File
ok 1762 - pow
ok 1763 - prepare SELECT FLOOR(RAND(4)) using DBD::File
ok 1764 - execute SELECT FLOOR(RAND(4)) using DBD::File
ok 1765 - rand
ok 1766 - prepare SELECT FLOOR(RAND(4), UNIX_TIMESTAMP()) using DBD::File
ok 1767 - execute SELECT FLOOR(RAND(4), UNIX_TIMESTAMP()) using DBD::File
ok 1768 - rand with seed
ok 1769 - prepare SELECT ROUND(4.999999999999) using DBD::File
ok 1770 - execute SELECT ROUND(4.999999999999) using DBD::File
ok 1771 - round int
ok 1772 - prepare SELECT ROUND(4.542222222222, 1) using DBD::File
ok 1773 - execute SELECT ROUND(4.542222222222, 1) using DBD::File
ok 1774 - round tenth
ok 1775 - prepare SELECT SIGN(-25.5) using DBD::File
ok 1776 - execute SELECT SIGN(-25.5) using DBD::File
ok 1777 - sign -1
ok 1778 - prepare SELECT SIGN(53645) using DBD::File
ok 1779 - execute SELECT SIGN(53645) using DBD::File
ok 1780 - sign 1
ok 1781 - prepare SELECT SIGN(0) using DBD::File
ok 1782 - execute SELECT SIGN(0) using DBD::File
ok 1783 - sign 0
ok 1784 - prepare SELECT SIGN(NULL) using DBD::File
ok 1785 - execute SELECT SIGN(NULL) using DBD::File
ok 1786 - sign null
ok 1787 - prepare SELECT SQRT(64) using DBD::File
ok 1788 - execute SELECT SQRT(64) using DBD::File
ok 1789 - sqrt
ok 1790 - prepare SELECT TRUNCATE(4.999999999999) using DBD::File
ok 1791 - execute SELECT TRUNCATE(4.999999999999) using DBD::File
ok 1792 - truncate int
ok 1793 - prepare SELECT TRUNC(-4.9) using DBD::File
ok 1794 - execute SELECT TRUNC(-4.9) using DBD::File
ok 1795 - trunc int
ok 1796 - prepare SELECT TRUNCATE(4.934, 1) using DBD::File
ok 1797 - execute SELECT TRUNCATE(4.934, 1) using DBD::File
ok 1798 - truncate tenth
ok 1799 - prepare SELECT TRUNC(-4.99999, 1) using DBD::File
ok 1800 - execute SELECT TRUNC(-4.99999, 1) using DBD::File
ok 1801 - trunc int
ok 1802 - prepare SELECT SIN(1) using DBD::File
ok 1803 - execute SELECT SIN(1) using DBD::File
ok 1804 - sin
ok 1805 - prepare SELECT COS(1) using DBD::File
ok 1806 - execute SELECT COS(1) using DBD::File
ok 1807 - cos
ok 1808 - prepare SELECT TAN(1) using DBD::File
ok 1809 - execute SELECT TAN(1) using DBD::File
ok 1810 - tan
ok 1811 - prepare SELECT SEC(1) using DBD::File
ok 1812 - execute SELECT SEC(1) using DBD::File
ok 1813 - sec
ok 1814 - prepare SELECT CSC(1) using DBD::File
ok 1815 - execute SELECT CSC(1) using DBD::File
ok 1816 - csc
ok 1817 - prepare SELECT COSEC(1) using DBD::File
ok 1818 - execute SELECT COSEC(1) using DBD::File
ok 1819 - cosec
ok 1820 - prepare SELECT COT(1) using DBD::File
ok 1821 - execute SELECT COT(1) using DBD::File
ok 1822 - cot
ok 1823 - prepare SELECT COTAN(1) using DBD::File
ok 1824 - execute SELECT COTAN(1) using DBD::File
ok 1825 - cotan
ok 1826 - prepare SELECT ASIN(1) using DBD::File
ok 1827 - execute SELECT ASIN(1) using DBD::File
ok 1828 - asin
ok 1829 - prepare SELECT ACOS(1) using DBD::File
ok 1830 - execute SELECT ACOS(1) using DBD::File
ok 1831 - acos
ok 1832 - prepare SELECT ATAN(1) using DBD::File
ok 1833 - execute SELECT ATAN(1) using DBD::File
ok 1834 - atan
ok 1835 - prepare SELECT ASEC(1) using DBD::File
ok 1836 - execute SELECT ASEC(1) using DBD::File
ok 1837 - asec
ok 1838 - prepare SELECT ACSC(1) using DBD::File
ok 1839 - execute SELECT ACSC(1) using DBD::File
ok 1840 - acsc
ok 1841 - prepare SELECT ACOSEC(1) using DBD::File
ok 1842 - execute SELECT ACOSEC(1) using DBD::File
ok 1843 - acosec
ok 1844 - prepare SELECT ACOT(1) using DBD::File
ok 1845 - execute SELECT ACOT(1) using DBD::File
ok 1846 - acot
ok 1847 - prepare SELECT ACOTAN(1) using DBD::File
ok 1848 - execute SELECT ACOTAN(1) using DBD::File
ok 1849 - acotan
ok 1850 - prepare SELECT SINH(1) using DBD::File
ok 1851 - execute SELECT SINH(1) using DBD::File
ok 1852 - sinh
ok 1853 - prepare SELECT COSH(1) using DBD::File
ok 1854 - execute SELECT COSH(1) using DBD::File
ok 1855 - cosh
ok 1856 - prepare SELECT TANH(1) using DBD::File
ok 1857 - execute SELECT TANH(1) using DBD::File
ok 1858 - tanh
ok 1859 - prepare SELECT SECH(1) using DBD::File
ok 1860 - execute SELECT SECH(1) using DBD::File
ok 1861 - sech
ok 1862 - prepare SELECT CSCH(1) using DBD::File
ok 1863 - execute SELECT CSCH(1) using DBD::File
ok 1864 - csch
ok 1865 - prepare SELECT COSECH(1) using DBD::File
ok 1866 - execute SELECT COSECH(1) using DBD::File
ok 1867 - cosech
ok 1868 - prepare SELECT COTH(1) using DBD::File
ok 1869 - execute SELECT COTH(1) using DBD::File
ok 1870 - coth
ok 1871 - prepare SELECT COTANH(1) using DBD::File
ok 1872 - execute SELECT COTANH(1) using DBD::File
ok 1873 - cotanh
ok 1874 - prepare SELECT ASINH(1) using DBD::File
ok 1875 - execute SELECT ASINH(1) using DBD::File
ok 1876 - asinh
ok 1877 - prepare SELECT ACOSH(1) using DBD::File
ok 1878 - execute SELECT ACOSH(1) using DBD::File
ok 1879 - acosh
ok 1880 - prepare SELECT ATANH(0.9) using DBD::File
ok 1881 - execute SELECT ATANH(0.9) using DBD::File
ok 1882 - atanh
ok 1883 - prepare SELECT ASECH(0.9) using DBD::File
ok 1884 - execute SELECT ASECH(0.9) using DBD::File
ok 1885 - asech
ok 1886 - prepare SELECT ACSCH(2) using DBD::File
ok 1887 - execute SELECT ACSCH(2) using DBD::File
ok 1888 - acsch
ok 1889 - prepare SELECT ACOSECH(2) using DBD::File
ok 1890 - execute SELECT ACOSECH(2) using DBD::File
ok 1891 - acosech
ok 1892 - prepare SELECT ACOTH(2) using DBD::File
ok 1893 - execute SELECT ACOTH(2) using DBD::File
ok 1894 - acoth
ok 1895 - prepare SELECT ACOTANH(2) using DBD::File
ok 1896 - execute SELECT ACOTANH(2) using DBD::File
ok 1897 - acotanh
ok 1898 - prepare SELECT PI using DBD::File
ok 1899 - execute SELECT PI using DBD::File
ok 1900 - pi
ok 1901 - prepare SELECT ATAN2(1, 0) using DBD::File
ok 1902 - execute SELECT ATAN2(1, 0) using DBD::File
ok 1903 - atan2 to pi/2
ok 1904 - prepare SELECT ATAN2(1, 1) using DBD::File
ok 1905 - execute SELECT ATAN2(1, 1) using DBD::File
ok 1906 - atan2 to pi/4
ok 1907 - prepare SELECT ATAN2(-1, -1) using DBD::File
ok 1908 - execute SELECT ATAN2(-1, -1) using DBD::File
ok 1909 - atan2 to -3pi/4
ok 1910 - prepare SELECT TAN(0.9) using DBD::File
ok 1911 - execute SELECT TAN(0.9) using DBD::File
ok 1912 - tan as property sin/cos
ok 1913 - prepare SELECT SINH(2) using DBD::File
ok 1914 - execute SELECT SINH(2) using DBD::File
ok 1915 - sinh 2
ok 1916 - prepare SELECT ACSCH(0.1) using DBD::File
ok 1917 - execute SELECT ACSCH(0.1) using DBD::File
ok 1918 - acsch 0.1
ok 1919 - prepare SELECT DEG2RAD(90) using DBD::File
ok 1920 - execute SELECT DEG2RAD(90) using DBD::File
ok 1921 - deg2rad
ok 1922 - prepare SELECT RADIANS(90) using DBD::File
ok 1923 - execute SELECT RADIANS(90) using DBD::File
ok 1924 - radians
ok 1925 - prepare SELECT RAD2DEG(PI) using DBD::File
ok 1926 - execute SELECT RAD2DEG(PI) using DBD::File
ok 1927 - rad2deg
ok 1928 - prepare SELECT DEGREES(PI()) using DBD::File
ok 1929 - execute SELECT DEGREES(PI()) using DBD::File
ok 1930 - degrees
ok 1931 - prepare SELECT DEG2GRAD(0.9) using DBD::File
ok 1932 - execute SELECT DEG2GRAD(0.9) using DBD::File
ok 1933 - deg2grad
ok 1934 - prepare SELECT GRAD2DEG(50) using DBD::File
ok 1935 - execute SELECT GRAD2DEG(50) using DBD::File
ok 1936 - grad2deg
ok 1937 - prepare SELECT RAD2GRAD(PI / 2) using DBD::File
ok 1938 - execute SELECT RAD2GRAD(PI / 2) using DBD::File
ok 1939 - rad2grad
ok 1940 - prepare SELECT GRAD2RAD(200) using DBD::File
ok 1941 - execute SELECT GRAD2RAD(200) using DBD::File
ok 1942 - grad2rad
ok 1943 - prepare SELECT DEG2RAD(10000000000) using DBD::File
ok 1944 - execute SELECT DEG2RAD(10000000000) using DBD::File
ok 1945 - lotta radians
ok 1946 - prepare SELECT RAD2DEG(-10000000000) using DBD::File
ok 1947 - execute SELECT RAD2DEG(-10000000000) using DBD::File
ok 1948 - negative degrees
ok 1949 - prepare SELECT RAD2DEG(10000) using DBD::File
ok 1950 - execute SELECT RAD2DEG(10000) using DBD::File
ok 1951 - positive degrees
ok 1952 - prepare SELECT TANH(100) using DBD::File
ok 1953 - execute SELECT TANH(100) using DBD::File
ok 1954 - tanh 100
ok 1955 - prepare SELECT COTH(100) using DBD::File
ok 1956 - execute SELECT COTH(100) using DBD::File
ok 1957 - coth 100
ok 1958 - prepare SELECT TANH(-100) using DBD::File
ok 1959 - execute SELECT TANH(-100) using DBD::File
ok 1960 - tanh -100
ok 1961 - prepare SELECT COTH(-100) using DBD::File
ok 1962 - execute SELECT COTH(-100) using DBD::File
ok 1963 - coth -100
ok 1964 - prepare SELECT SECH(100000) using DBD::File
ok 1965 - execute SELECT SECH(100000) using DBD::File
ok 1966 - sech 1e5
ok 1967 - prepare SELECT CSCH(100000) using DBD::File
ok 1968 - execute SELECT CSCH(100000) using DBD::File
ok 1969 - csch 1e5
ok 1970 - prepare SELECT TANH(100000) using DBD::File
ok 1971 - execute SELECT TANH(100000) using DBD::File
ok 1972 - tanh 1e5
ok 1973 - prepare SELECT COTH(100000) using DBD::File
ok 1974 - execute SELECT COTH(100000) using DBD::File
ok 1975 - coth 1e5
ok 1976 - prepare SELECT SECH(-100000) using DBD::File
ok 1977 - execute SELECT SECH(-100000) using DBD::File
ok 1978 - sech -1e5
ok 1979 - prepare SELECT CSCH(-100000) using DBD::File
ok 1980 - execute SELECT CSCH(-100000) using DBD::File
ok 1981 - csch -1e5
ok 1982 - prepare SELECT TANH(-100000) using DBD::File
ok 1983 - execute SELECT TANH(-100000) using DBD::File
ok 1984 - tanh -1e5
ok 1985 - prepare SELECT COTH(-100000) using DBD::File
ok 1986 - execute SELECT COTH(-100000) using DBD::File
ok 1987 - coth -1e5
ok 1988 - prepare SELECT DBNAME() using DBD::File
ok 1989 - execute SELECT DBNAME() using DBD::File
ok 1990 - dbname
ok 1991 - prepare SELECT USERNAME() using DBD::File
ok 1992 - execute SELECT USERNAME() using DBD::File
ok 1993 - username
ok 1994 - prepare SELECT USER() using DBD::File
ok 1995 - execute SELECT USER() using DBD::File
ok 1996 - user
ok 1997 - prepare SELECT id,host,signature,message FROM log WHERE time_stamp < (1324020198 - ( 4 * 60 )) using DBD::File
ok 1998 - execute SELECT id,host,signature,message FROM log WHERE time_stamp < (1324020198 - ( 4 * 60 )) using DBD::File
ok 1999 - SELECT with calculation in WHERE CLAUSE
ok 2000 - prepare SELECT id,host,signature,message FROM log WHERE (time_stamp > (1324020198 - 5)) AND (time_stamp < (1324020198 + 5)) using DBD::File
ok 2001 - execute SELECT id,host,signature,message FROM log WHERE (time_stamp > (1324020198 - 5)) AND (time_stamp < (1324020198 + 5)) using DBD::File
ok 2002 - SELECT with calculation and logical expression in WHERE CLAUSE
ok 2003 - prepare SELECT id,host,signature,message FROM log WHERE time_stamp BETWEEN ( 1324020198 - 5, 1324020198 + 5) using DBD::File
ok 2004 - execute SELECT id,host,signature,message FROM log WHERE time_stamp BETWEEN ( 1324020198 - 5, 1324020198 + 5) using DBD::File
ok 2005 - SELECT with calculated items in BETWEEN in WHERE CLAUSE
ok 2006 - prepare SELECT MAX(time_stamp) FROM log WHERE time_stamp IN (1324020198 - (2*3600), 1324020198 - (4*3600)) using DBD::File
ok 2007 - execute SELECT MAX(time_stamp) FROM log WHERE time_stamp IN (1324020198 - (2*3600), 1324020198 - (4*3600)) using DBD::File
ok 2008 - MAX() with calculated WHERE clause
ok 2009 - prepare SELECT MAX(time_stamp - 3*3600) FROM log using DBD::File
ok 2010 - execute SELECT MAX(time_stamp - 3*3600) FROM log using DBD::File
ok 2011 - calculation in MAX()
ok 2012 - prepare SELECT MAX(time_stamp) - 3*3600 FROM log using DBD::File
not ok 2013 - 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 1471.
# No table specified: 'SELECT MAX(time_stamp) - 3*3600 FROM log' at /home/local/INSIGHT_NT/loubbyrd/src/SQL-Statement-1.33_new/blib/lib/SQL/Statement/Function.pm line 212
not ok 2014 - Caclulation outside aggregation # TODO Known limitation. Parser/Engine can not handle properly
#   Failed (TODO) test 'Caclulation outside aggregation'
#   at t/06virtual.t line 1502.
#     Structures begin differing at:
#          $got->[0] = Does not exist
#     $expected->[0] = ARRAY(0x21b64b0)
ok 2015 - prepare SELECT MAX( CHAR_LENGTH(message) ) FROM log using DBD::File
ok 2016 - execute SELECT MAX( CHAR_LENGTH(message) ) FROM log using DBD::File
ok 2017 - function in MAX()
ok 2018 - prepare SELECT 1+0 from log using DBD::File
ok 2019 - execute SELECT 1+0 from log using DBD::File
ok 2020 - select simple calculated constant from table
ok 2021 - prepare SELECT 1+1*2 using DBD::File
ok 2022 - execute SELECT 1+1*2 using DBD::File
ok 2023 - select calculated constant with preceedence rules
ok 2024 - prepare SELECT 1 using DBD::File
ok 2025 - execute SELECT 1 using DBD::File
ok 2026 - SELECT not calculated constant
ok 2027 - prepare 	CREATE  TABLE biz (sales INTEGER, class CHAR, color CHAR, BUGNULL CHAR) on DBD::DBM
ok 2028 - execute 	CREATE  TABLE biz (sales INTEGER, class CHAR, color CHAR, BUGNULL CHAR) on DBD::DBM
ok 2029 - prepare 	INSERT INTO biz VALUES (1000, 'Car',   'White', NULL) on DBD::DBM
ok 2030 - execute 	INSERT INTO biz VALUES (1000, 'Car',   'White', NULL) on DBD::DBM
ok 2031 - prepare 	INSERT INTO biz VALUES ( 500, 'Car',   'Blue',  NULL ) on DBD::DBM
ok 2032 - execute 	INSERT INTO biz VALUES ( 500, 'Car',   'Blue',  NULL ) on DBD::DBM
ok 2033 - prepare 	INSERT INTO biz VALUES ( 400, 'Truck', 'White', NULL ) on DBD::DBM
ok 2034 - execute 	INSERT INTO biz VALUES ( 400, 'Truck', 'White', NULL ) on DBD::DBM
ok 2035 - prepare 	INSERT INTO biz VALUES ( 700, 'Car',   'Red',   NULL ) on DBD::DBM
ok 2036 - execute 	INSERT INTO biz VALUES ( 700, 'Car',   'Red',   NULL ) on DBD::DBM
ok 2037 - prepare 	INSERT INTO biz VALUES ( 300, 'Truck', 'White', NULL ) on DBD::DBM
ok 2038 - execute 	INSERT INTO biz VALUES ( 300, 'Truck', 'White', NULL ) on DBD::DBM
ok 2039 - prepare 	CREATE  TABLE baz (ordered INTEGER, class CHAR, color CHAR) on DBD::DBM
ok 2040 - execute 	CREATE  TABLE baz (ordered INTEGER, class CHAR, color CHAR) on DBD::DBM
ok 2041 - prepare 	INSERT INTO baz VALUES ( 250, 'Car',   'White' ), ( 100, 'Car',   'Blue' ), ( 150, 'Car',   'Red' ) on DBD::DBM
ok 2042 - execute 	INSERT INTO baz VALUES ( 250, 'Car',   'White' ), ( 100, 'Car',   'Blue' ), ( 150, 'Car',   'Red' ) on DBD::DBM
ok 2043 - prepare 	INSERT INTO baz VALUES (  80, 'Truck', 'White' ), (  60, 'Truck', 'Green' ) -- Yes, we introduce new cars :) on DBD::DBM
ok 2044 - execute 	INSERT INTO baz VALUES (  80, 'Truck', 'White' ), (  60, 'Truck', 'Green' ) -- Yes, we introduce new cars :) on DBD::DBM
ok 2045 - prepare 	CREATE  TABLE numbers (c_foo INTEGER, foo CHAR, bar INTEGER) on DBD::DBM
ok 2046 - execute 	CREATE  TABLE numbers (c_foo INTEGER, foo CHAR, bar INTEGER) on DBD::DBM
ok 2047 - prepare 	CREATE  TABLE trick   (id INTEGER, foo CHAR) on DBD::DBM
ok 2048 - execute 	CREATE  TABLE trick   (id INTEGER, foo CHAR) on DBD::DBM
ok 2049 - prepare 	INSERT INTO trick VALUES (1, '1foo') on DBD::DBM
ok 2050 - execute 	INSERT INTO trick VALUES (1, '1foo') on DBD::DBM
ok 2051 - prepare 	INSERT INTO trick VALUES (11, 'foo') on DBD::DBM
ok 2052 - execute 	INSERT INTO trick VALUES (11, 'foo') on DBD::DBM
ok 2053 - prepare 	CREATE TYPE TIMESTAMP on DBD::DBM
ok 2054 - execute 	CREATE TYPE TIMESTAMP on DBD::DBM
ok 2055 - prepare 	CREATE  TABLE log (id INT, host CHAR, signature CHAR, message CHAR, time_stamp TIMESTAMP) on DBD::DBM
ok 2056 - execute 	CREATE  TABLE log (id INT, host CHAR, signature CHAR, message CHAR, time_stamp TIMESTAMP) on DBD::DBM
ok 2057 - prepare 	INSERT INTO log VALUES (1, 'bert', '/netbsd', 'Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,', 1324020203) on DBD::DBM
ok 2058 - execute 	INSERT INTO log VALUES (1, 'bert', '/netbsd', 'Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,', 1324020203) on DBD::DBM
ok 2059 - prepare 	INSERT INTO log VALUES (2, 'bert', '/netbsd', '2006, 2007, 2008, 2009, 2010', 1324020203) on DBD::DBM
ok 2060 - execute 	INSERT INTO log VALUES (2, 'bert', '/netbsd', '2006, 2007, 2008, 2009, 2010', 1324020203) on DBD::DBM
ok 2061 - prepare 	INSERT INTO log VALUES (3, 'bert', '/netbsd', 'The NetBSD Foundation, Inc.  All rights reserved.', 1324020203) on DBD::DBM
ok 2062 - execute 	INSERT INTO log VALUES (3, 'bert', '/netbsd', 'The NetBSD Foundation, Inc.  All rights reserved.', 1324020203) on DBD::DBM
ok 2063 - prepare 	INSERT INTO log VALUES (4, 'bert', '/netbsd', 'Copyright (c) 1982, 1986, 1989, 1991, 1993', 1324020203) on DBD::DBM
ok 2064 - execute 	INSERT INTO log VALUES (4, 'bert', '/netbsd', 'Copyright (c) 1982, 1986, 1989, 1991, 1993', 1324020203) on DBD::DBM
ok 2065 - prepare 	INSERT INTO log VALUES (5, 'bert', '/netbsd', 'The Regents of the University of California.  All rights reserved.', 1324020203) on DBD::DBM
ok 2066 - execute 	INSERT INTO log VALUES (5, 'bert', '/netbsd', 'The Regents of the University of California.  All rights reserved.', 1324020203) on DBD::DBM
ok 2067 - prepare 	INSERT INTO log VALUES (6, 'bert', '/netbsd', '', 1324020203) on DBD::DBM
ok 2068 - execute 	INSERT INTO log VALUES (6, 'bert', '/netbsd', '', 1324020203) on DBD::DBM
ok 2069 - prepare 	INSERT INTO log VALUES (7, 'bert', '/netbsd', 'NetBSD 5.99.39 (BERT) \#0: Fri Oct  8 06:23:03 CEST 2010', 1324020203) on DBD::DBM
ok 2070 - execute 	INSERT INTO log VALUES (7, 'bert', '/netbsd', 'NetBSD 5.99.39 (BERT) \#0: Fri Oct  8 06:23:03 CEST 2010', 1324020203) on DBD::DBM
ok 2071 - prepare 	INSERT INTO log VALUES (8, 'ernie', 'rpc.statd', 'starting', 1324016603) on DBD::DBM
ok 2072 - execute 	INSERT INTO log VALUES (8, 'ernie', 'rpc.statd', 'starting', 1324016603) on DBD::DBM
ok 2073 - prepare 	INSERT INTO log VALUES (9, 'ernie', 'savecore', 'no core dump', 1324013003) on DBD::DBM
ok 2074 - execute 	INSERT INTO log VALUES (9, 'ernie', 'savecore', 'no core dump', 1324013003) on DBD::DBM
ok 2075 - prepare 	INSERT INTO log VALUES (10, 'ernie', 'postfix/postfix-script', 'starting the Postfix mail system', 1324009403) on DBD::DBM
ok 2076 - execute 	INSERT INTO log VALUES (10, 'ernie', 'postfix/postfix-script', 'starting the Postfix mail system', 1324009403) on DBD::DBM
ok 2077 - prepare 	INSERT INTO log VALUES (11, 'ernie', 'rpcbind', 'connect from 127.0.0.1 to dump()', 1324005803) on DBD::DBM
ok 2078 - execute 	INSERT INTO log VALUES (11, 'ernie', 'rpcbind', 'connect from 127.0.0.1 to dump()', 1324005803) on DBD::DBM
ok 2079 - prepare 	INSERT INTO log VALUES (12, 'ernie', 'sshd', 'last message repeated 2 times', 1324002203) on DBD::DBM
ok 2080 - execute 	INSERT INTO log VALUES (12, 'ernie', 'sshd', 'last message repeated 2 times', 1324002203) on DBD::DBM
ok 2081 - prepare 	INSERT INTO log VALUES (13, 'ernie', 'shutdown', 'poweroff by root:', 1323998603) on DBD::DBM
ok 2082 - execute 	INSERT INTO log VALUES (13, 'ernie', 'shutdown', 'poweroff by root:', 1323998603) on DBD::DBM
ok 2083 - prepare 	INSERT INTO log VALUES (14, 'ernie', 'shutdown', 'rebooted by root', 1323995003) on DBD::DBM
ok 2084 - execute 	INSERT INTO log VALUES (14, 'ernie', 'shutdown', 'rebooted by root', 1323995003) on DBD::DBM
ok 2085 - prepare 	INSERT INTO log VALUES (15, 'ernie', 'sshd', 'Server listening on :: port 22.', 1323991403) on DBD::DBM
ok 2086 - execute 	INSERT INTO log VALUES (15, 'ernie', 'sshd', 'Server listening on :: port 22.', 1323991403) on DBD::DBM
ok 2087 - prepare 	INSERT INTO log VALUES (16, 'ernie', 'sshd', 'Server listening on 0.0.0.0 port 22.', 1323987803) on DBD::DBM
ok 2088 - execute 	INSERT INTO log VALUES (16, 'ernie', 'sshd', 'Server listening on 0.0.0.0 port 22.', 1323987803) on DBD::DBM
ok 2089 - prepare 	INSERT INTO log VALUES (17, 'ernie', 'sshd', 'Received SIGHUP; restarting.', 1323984203) on DBD::DBM
ok 2090 - execute 	INSERT INTO log VALUES (17, 'ernie', 'sshd', 'Received SIGHUP; restarting.', 1323984203) on DBD::DBM
ok 2091 - prepare SELECT class,SUM(sales) as foo, MAX(sales) FROM biz GROUP BY class using DBD::DBM
ok 2092 - execute SELECT class,SUM(sales) as foo, MAX(sales) FROM biz GROUP BY class using DBD::DBM
ok 2093 - GROUP BY one column
ok 2094 - prepare SELECT color,class,SUM(sales), MAX(sales) FROM biz GROUP BY color,class using DBD::DBM
ok 2095 - execute SELECT color,class,SUM(sales), MAX(sales) FROM biz GROUP BY color,class using DBD::DBM
ok 2096 - GROUP BY several columns
ok 2097 - prepare SELECT SUM(sales), MAX(sales) FROM biz using DBD::DBM
ok 2098 - execute SELECT SUM(sales), MAX(sales) FROM biz using DBD::DBM
ok 2099 - AGGREGATE FUNCTIONS WITHOUT GROUP BY
ok 2100 - prepare SELECT distinct class, COUNT(distinct color) FROM biz GROUP BY class using DBD::DBM
ok 2101 - execute SELECT distinct class, COUNT(distinct color) FROM biz GROUP BY class using DBD::DBM
ok 2102 - COUNT(distinct column) WITH GROUP BY
ok 2103 - prepare SELECT class, COUNT(*) FROM biz GROUP BY class using DBD::DBM
ok 2104 - execute SELECT class, COUNT(*) FROM biz GROUP BY class using DBD::DBM
ok 2105 - COUNT(*) with GROUP BY
ok 2106 - prepare SELECT DISTINCT biz.class, baz.color AS foo FROM biz, baz WHERE biz.class = baz.class ORDER BY foo using DBD::DBM
ok 2107 - execute SELECT DISTINCT biz.class, baz.color AS foo FROM biz, baz WHERE biz.class = baz.class ORDER BY foo using DBD::DBM
ok 2108 - ORDER BY on aliased column
ok 2109 - prepare SELECT class, COUNT(distinct *) FROM biz GROUP BY class using DBD::DBM fails
ok 2110 - COUNT(DISTINCT *) fails
ok 2111 - prepare SELECT class, COUNT(color) FROM biz using DBD::DBM
ok 2112 - execute SELECT class, COUNT(color) FROM biz using DBD::DBM fails
ok 2113 - GROUP BY required
ok 2114 - prepare SELECT SUM(bar) FROM numbers using DBD::DBM
ok 2115 - execute SELECT SUM(bar) FROM numbers using DBD::DBM
ok 2116 - SUM(bar) of empty table
ok 2117 - prepare SELECT COUNT(bar),c_foo FROM numbers GROUP BY c_foo using DBD::DBM
ok 2118 - execute SELECT COUNT(bar),c_foo FROM numbers GROUP BY c_foo using DBD::DBM
ok 2119 - COUNT(bar) of empty table with GROUP BY
ok 2120 - prepare SELECT COUNT(*) FROM numbers using DBD::DBM
ok 2121 - execute SELECT COUNT(*) FROM numbers using DBD::DBM
ok 2122 - COUNT(*) of empty table
ok 2123 - prepare INSERT INTO numbers VALUES (?, ?, ?) using DBD::DBM
ok 2124 - 1 .. 3999: execute INSERT INTO numbers VALUES (?, ?, ?) using DBD::DBM
ok 2125 - prepare SELECT foo AS boo, COUNT (*) AS counted FROM numbers GROUP BY boo using DBD::DBM
ok 2126 - execute SELECT foo AS boo, COUNT (*) AS counted FROM numbers GROUP BY boo using DBD::DBM
ok 2127 - Columns in Number of rows in aggregated Table
ok 2128 - Number of rows in aggregated Table
ok 2129 - SUM(COUNTED)
ok 2130 - prepare SELECT MIN(c_foo), MAX(c_foo), AVG(c_foo) FROM numbers using DBD::DBM
ok 2131 - execute SELECT MIN(c_foo), MAX(c_foo), AVG(c_foo) FROM numbers using DBD::DBM
ok 2132 - Aggregate functions MIN, MAX, AVG
ok 2133 - prepare SELECT COUNT(*) FROM trick using DBD::DBM
ok 2134 - execute SELECT COUNT(*) FROM trick using DBD::DBM
ok 2135 - COUNT(*) internal for nasty table
ok 2136 - prepare SELECT CURRENT_DATE() using DBD::DBM
ok 2137 - execute SELECT CURRENT_DATE() using DBD::DBM
ok 2138 - current_date int
ok 2139 - prepare SELECT CURRENT_TIME using DBD::DBM
ok 2140 - execute SELECT CURRENT_TIME using DBD::DBM
ok 2141 - current_time int
ok 2142 - prepare SELECT CURRENT_TIMESTAMP() using DBD::DBM
ok 2143 - execute SELECT CURRENT_TIMESTAMP() using DBD::DBM
ok 2144 - current_timestamp int
ok 2145 - prepare SELECT CURDATE using DBD::DBM
ok 2146 - execute SELECT CURDATE using DBD::DBM
ok 2147 - curdate int
ok 2148 - prepare SELECT CURTIME() using DBD::DBM
ok 2149 - execute SELECT CURTIME() using DBD::DBM
ok 2150 - curtime int
ok 2151 - prepare SELECT NOW using DBD::DBM
ok 2152 - execute SELECT NOW using DBD::DBM
ok 2153 - now int
ok 2154 - prepare SELECT UNIX_TIMESTAMP() using DBD::DBM
ok 2155 - execute SELECT UNIX_TIMESTAMP() using DBD::DBM
ok 2156 - unix_timestamp int
ok 2157 - prepare SELECT CURRENT_TIME (1) using DBD::DBM
ok 2158 - execute SELECT CURRENT_TIME (1) using DBD::DBM
ok 2159 - current_time precision
ok 2160 - prepare SELECT CURRENT_TIMESTAMP  (2) using DBD::DBM
ok 2161 - execute SELECT CURRENT_TIMESTAMP  (2) using DBD::DBM
ok 2162 - current_timestamp precision
ok 2163 - prepare SELECT CURTIME   (3) using DBD::DBM
ok 2164 - execute SELECT CURTIME   (3) using DBD::DBM
ok 2165 - curtime precision
ok 2166 - prepare SELECT NOW(4) using DBD::DBM
ok 2167 - execute SELECT NOW(4) using DBD::DBM
ok 2168 - now precision
ok 2169 - prepare SELECT UNIX_TIMESTAMP(5) using DBD::DBM
ok 2170 - execute SELECT UNIX_TIMESTAMP(5) using DBD::DBM
ok 2171 - unix_timestamp precision
ok 2172 - prepare SELECT ASCII('A') using DBD::DBM
ok 2173 - execute SELECT ASCII('A') using DBD::DBM
ok 2174 - ascii char
ok 2175 - prepare SELECT ASCII('ABC') using DBD::DBM
ok 2176 - execute SELECT ASCII('ABC') using DBD::DBM
ok 2177 - ascii str
ok 2178 - prepare SELECT CHAR() using DBD::DBM
ok 2179 - execute SELECT CHAR() using DBD::DBM
ok 2180 - char blank
ok 2181 - prepare SELECT CHAR(65) using DBD::DBM
ok 2182 - execute SELECT CHAR(65) using DBD::DBM
ok 2183 - char char
ok 2184 - prepare SELECT CHAR(CONV('263A', 16)) using DBD::DBM
ok 2185 - execute SELECT CHAR(CONV('263A', 16)) using DBD::DBM
ok 2186 - char char unicode
ok 2187 - prepare SELECT CHAR(65,66,67) using DBD::DBM
ok 2188 - execute SELECT CHAR(65,66,67) using DBD::DBM
ok 2189 - char str
ok 2190 - prepare SELECT CHAR(CONV('263A', 16), 9787, CONV('10011000111100', 2)) using DBD::DBM
ok 2191 - execute SELECT CHAR(CONV('263A', 16), 9787, CONV('10011000111100', 2)) using DBD::DBM
ok 2192 - char str unicode
ok 2193 - prepare SELECT BIT_LENGTH(' oo') using DBD::DBM
ok 2194 - execute SELECT BIT_LENGTH(' oo') using DBD::DBM
ok 2195 - bit_length 6bit
ok 2196 - prepare SELECT BIT_LENGTH('foo') using DBD::DBM
ok 2197 - execute SELECT BIT_LENGTH('foo') using DBD::DBM
ok 2198 - bit_length 7bit
ok 2199 - prepare SELECT BIT_LENGTH(CHAR(9786, 9787, 9788)) using DBD::DBM
ok 2200 - execute SELECT BIT_LENGTH(CHAR(9786, 9787, 9788)) using DBD::DBM
ok 2201 - bit_length unicode
ok 2202 - prepare SELECT CHARACTER_LENGTH('foo') using DBD::DBM
ok 2203 - execute SELECT CHARACTER_LENGTH('foo') using DBD::DBM
ok 2204 - character_length
ok 2205 - prepare SELECT CHAR_LENGTH('foo') using DBD::DBM
ok 2206 - execute SELECT CHAR_LENGTH('foo') using DBD::DBM
ok 2207 - char_length
ok 2208 - prepare SELECT CHARACTER_LENGTH(CHAR(9786, 9787, 9788)) using DBD::DBM
ok 2209 - execute SELECT CHARACTER_LENGTH(CHAR(9786, 9787, 9788)) using DBD::DBM
ok 2210 - character_length unicode
ok 2211 - prepare SELECT CHAR_LENGTH(CHAR(9786, 9787, 9788)) using DBD::DBM
ok 2212 - execute SELECT CHAR_LENGTH(CHAR(9786, 9787, 9788)) using DBD::DBM
ok 2213 - char_length unicode
ok 2214 - prepare SELECT COALESCE(NULL,'z') using DBD::DBM
ok 2215 - execute SELECT COALESCE(NULL,'z') using DBD::DBM
ok 2216 - coalesce
ok 2217 - prepare SELECT NVL(NULL,'z') using DBD::DBM
ok 2218 - execute SELECT NVL(NULL,'z') using DBD::DBM
ok 2219 - nvl
ok 2220 - prepare SELECT IFNULL(NULL,'z') using DBD::DBM
ok 2221 - execute SELECT IFNULL(NULL,'z') using DBD::DBM
ok 2222 - ifnull
ok 2223 - prepare SELECT CONCAT('A','B') using DBD::DBM
ok 2224 - execute SELECT CONCAT('A','B') using DBD::DBM
ok 2225 - concat good
ok 2226 - prepare SELECT CONCAT('A',NULL) using DBD::DBM
ok 2227 - execute SELECT CONCAT('A',NULL) using DBD::DBM
ok 2228 - concat bad
ok 2229 - prepare SELECT CONV('101 0100 1111 0111 0110 1011',  2, 92) using DBD::DBM
ok 2230 - execute SELECT CONV('101 0100 1111 0111 0110 1011',  2, 92) using DBD::DBM
ok 2231 - conv 2->92
ok 2232 - prepare SELECT CONV('101 0100 1111 0111 0110 1011',  2, 64) using DBD::DBM
ok 2233 - execute SELECT CONV('101 0100 1111 0111 0110 1011',  2, 64) using DBD::DBM
ok 2234 - conv 2->64
ok 2235 - prepare SELECT CONV('101 0100 1111 0111 0110 1011',  2, 36) using DBD::DBM
ok 2236 - execute SELECT CONV('101 0100 1111 0111 0110 1011',  2, 36) using DBD::DBM
ok 2237 - conv 2->36
ok 2238 - prepare SELECT CONV('101 0100 1111 0111 0110 1011',  2, 16) using DBD::DBM
ok 2239 - execute SELECT CONV('101 0100 1111 0111 0110 1011',  2, 16) using DBD::DBM
ok 2240 - conv 2->16
ok 2241 - prepare SELECT CONV('101 0100 1111 0111 0110 1011',  2, 10) using DBD::DBM
ok 2242 - execute SELECT CONV('101 0100 1111 0111 0110 1011',  2, 10) using DBD::DBM
ok 2243 - conv 2->10
ok 2244 - prepare SELECT CONV('101 0100 1111 0111 0110 1011',  2,  8) using DBD::DBM
ok 2245 - execute SELECT CONV('101 0100 1111 0111 0110 1011',  2,  8) using DBD::DBM
ok 2246 - conv 2->8
ok 2247 - prepare SELECT CONV('101 0100 1111 0111 0110 1011',  2,  2) using DBD::DBM
ok 2248 - execute SELECT CONV('101 0100 1111 0111 0110 1011',  2,  2) using DBD::DBM
ok 2249 - conv 2->2
ok 2250 - prepare SELECT CONV(-1, 2, 36) using DBD::DBM
ok 2251 - execute SELECT CONV(-1, 2, 36) using DBD::DBM
ok 2252 - conv base 36 short-circuit
ok 2253 - prepare SELECT CONV(-1, 2, 92) using DBD::DBM
ok 2254 - execute SELECT CONV(-1, 2, 92) using DBD::DBM
ok 2255 - conv base 92 short-circuit
ok 2256 - prepare SELECT CONV('-&23ms98*&a ^.21 hjs ', 92, 36) using DBD::DBM
ok 2257 - execute SELECT CONV('-&23ms98*&a ^.21 hjs ', 92, 36) using DBD::DBM
ok 2258 - conv 92->36
ok 2259 - prepare SELECT CONV('10101001111.011101101011', 2, 92) using DBD::DBM
ok 2260 - execute SELECT CONV('10101001111.011101101011', 2, 92) using DBD::DBM
ok 2261 - conv 2->92 fractional
ok 2262 - prepare SELECT CONV(2517.3553, 8, 64) using DBD::DBM
ok 2263 - execute SELECT CONV(2517.3553, 8, 64) using DBD::DBM
ok 2264 - conv 8->64 fractional
ok 2265 - prepare SELECT CONV('54F . 76B', 16, 32) using DBD::DBM
ok 2266 - execute SELECT CONV('54F . 76B', 16, 32) using DBD::DBM
ok 2267 - conv 16->32 fractional
ok 2268 - prepare SELECT CONV('101 0100 1111.0111 0110 1011', 2, 16) using DBD::DBM
ok 2269 - execute SELECT CONV('101 0100 1111.0111 0110 1011', 2, 16) using DBD::DBM
ok 2270 - conv 2->16 fractional
ok 2271 - prepare SELECT CONV('VP.dr', 64, 10) using DBD::DBM
ok 2272 - execute SELECT CONV('VP.dr', 64, 10) using DBD::DBM
ok 2273 - conv 64->10 fractional
ok 2274 - prepare SELECT CONV(' 1 A F . E Q O ', 32, 8) using DBD::DBM
ok 2275 - execute SELECT CONV(' 1 A F . E Q O ', 32, 8) using DBD::DBM
ok 2276 - conv 32->8 fractional
ok 2277 - prepare SELECT CONV('101 0100 1111.0111 0110 1011', 2, 2) using DBD::DBM
ok 2278 - execute SELECT CONV('101 0100 1111.0111 0110 1011', 2, 2) using DBD::DBM
ok 2279 - conv 2->2 fractional
ok 2280 - prepare SELECT CONV('1AF.EQO0000000000000000000000000000', 32, 8) using DBD::DBM
ok 2281 - execute SELECT CONV('1AF.EQO0000000000000000000000000000', 32, 8) using DBD::DBM
ok 2282 - conv 32->8 big_number
ok 2283 - prepare SELECT DISTINCT DECODE(color,'White','W','Red','R','B') AS cfc FROM biz ORDER BY cfc using DBD::DBM
ok 2284 - execute SELECT DISTINCT DECODE(color,'White','W','Red','R','B') AS cfc FROM biz ORDER BY cfc using DBD::DBM
ok 2285 - decode
ok 2286 - prepare SELECT INSERT('foodieland', 4, 3, 'bar') using DBD::DBM
ok 2287 - execute SELECT INSERT('foodieland', 4, 3, 'bar') using DBD::DBM
ok 2288 - insert good 1:1
ok 2289 - prepare SELECT INSERT('foodland', 4, 1, 'bar') using DBD::DBM
ok 2290 - execute SELECT INSERT('foodland', 4, 1, 'bar') using DBD::DBM
ok 2291 - insert good non-1:1
ok 2292 - prepare SELECT INSERT(NULL, 4, 1, 'bar') using DBD::DBM
ok 2293 - execute SELECT INSERT(NULL, 4, 1, 'bar') using DBD::DBM
ok 2294 - insert bad 1
ok 2295 - prepare SELECT INSERT('foodland', 4, 1, NULL) using DBD::DBM
ok 2296 - execute SELECT INSERT('foodland', 4, 1, NULL) using DBD::DBM
ok 2297 - insert bad 2
ok 2298 - prepare SELECT LEFT('foodland', 4) using DBD::DBM
ok 2299 - execute SELECT LEFT('foodland', 4) using DBD::DBM
ok 2300 - left good
ok 2301 - prepare SELECT LEFT(NULL, 4) using DBD::DBM
ok 2302 - execute SELECT LEFT(NULL, 4) using DBD::DBM
ok 2303 - left bad 1
ok 2304 - prepare SELECT LEFT('foodland', NULL) using DBD::DBM
ok 2305 - execute SELECT LEFT('foodland', NULL) using DBD::DBM
ok 2306 - left bad 2
ok 2307 - prepare SELECT RIGHT('foodland', 4) using DBD::DBM
ok 2308 - execute SELECT RIGHT('foodland', 4) using DBD::DBM
ok 2309 - right good
ok 2310 - prepare SELECT RIGHT(NULL, 4) using DBD::DBM
ok 2311 - execute SELECT RIGHT(NULL, 4) using DBD::DBM
ok 2312 - right bad 1
ok 2313 - prepare SELECT RIGHT('foodland', NULL) using DBD::DBM
ok 2314 - execute SELECT RIGHT('foodland', NULL) using DBD::DBM
ok 2315 - right bad 2
ok 2316 - prepare SELECT LOCATE('a','bar') using DBD::DBM
ok 2317 - execute SELECT LOCATE('a','bar') using DBD::DBM
ok 2318 - locate 2param
ok 2319 - prepare SELECT LOCATE('a','barafa',3) using DBD::DBM
ok 2320 - execute SELECT LOCATE('a','barafa',3) using DBD::DBM
ok 2321 - locate 3param
ok 2322 - prepare SELECT POSITION('a','bar') using DBD::DBM
ok 2323 - execute SELECT POSITION('a','bar') using DBD::DBM
ok 2324 - position 2param
ok 2325 - prepare SELECT POSITION('a','barafa',3) using DBD::DBM
ok 2326 - execute SELECT POSITION('a','barafa',3) using DBD::DBM
ok 2327 - position 3param
ok 2328 - prepare SELECT LOWER('A') using DBD::DBM
ok 2329 - execute SELECT LOWER('A') using DBD::DBM
ok 2330 - lower
ok 2331 - prepare SELECT UPPER('a') using DBD::DBM
ok 2332 - execute SELECT UPPER('a') using DBD::DBM
ok 2333 - upper
ok 2334 - prepare SELECT LCASE('A') using DBD::DBM
ok 2335 - execute SELECT LCASE('A') using DBD::DBM
ok 2336 - lcase
ok 2337 - prepare SELECT UCASE('a') using DBD::DBM
ok 2338 - execute SELECT UCASE('a') using DBD::DBM
ok 2339 - ucase
ok 2340 - prepare SELECT LTRIM(' fun ') using DBD::DBM
ok 2341 - execute SELECT LTRIM(' fun ') using DBD::DBM
ok 2342 - ltrim
ok 2343 - prepare SELECT RTRIM(' fun ') using DBD::DBM
ok 2344 - execute SELECT RTRIM(' fun ') using DBD::DBM
ok 2345 - rtrim
ok 2346 - prepare SELECT OCTET_LENGTH('foo') using DBD::DBM
ok 2347 - execute SELECT OCTET_LENGTH('foo') using DBD::DBM
ok 2348 - octet_length
ok 2349 - prepare SELECT OCTET_LENGTH(CHAR(64, 169, 9786, 65572)) using DBD::DBM
ok 2350 - execute SELECT OCTET_LENGTH(CHAR(64, 169, 9786, 65572)) using DBD::DBM
ok 2351 - octet_length unicode
ok 2352 - prepare SELECT REGEX('jeff','/EF/i') using DBD::DBM
ok 2353 - execute SELECT REGEX('jeff','/EF/i') using DBD::DBM
ok 2354 - regex match
ok 2355 - prepare SELECT REGEX('jeff','/zzz/') using DBD::DBM
ok 2356 - execute SELECT REGEX('jeff','/zzz/') using DBD::DBM
ok 2357 - regex no match
ok 2358 - prepare SELECT REPEAT('zfunkY', 3) using DBD::DBM
ok 2359 - execute SELECT REPEAT('zfunkY', 3) using DBD::DBM
ok 2360 - repeat
ok 2361 - prepare SELECT REPLACE('zfunkY','s/z(.+)ky/$1/i') using DBD::DBM
ok 2362 - execute SELECT REPLACE('zfunkY','s/z(.+)ky/$1/i') using DBD::DBM
ok 2363 - replace
ok 2364 - prepare SELECT SUBSTITUTE('zfunkY','s/z(.+)ky/$1/i') using DBD::DBM
ok 2365 - execute SELECT SUBSTITUTE('zfunkY','s/z(.+)ky/$1/i') using DBD::DBM
ok 2366 - substitute
ok 2367 - prepare SELECT SOUNDEX('jeff','jeph') using DBD::DBM
ok 2368 - execute SELECT SOUNDEX('jeff','jeph') using DBD::DBM
ok 2369 - soundex match
ok 2370 - prepare SELECT SOUNDEX('jeff','quartz') using DBD::DBM
ok 2371 - execute SELECT SOUNDEX('jeff','quartz') using DBD::DBM
ok 2372 - soundex no match
ok 2373 - prepare SELECT SPACE(10) using DBD::DBM
ok 2374 - execute SELECT SPACE(10) using DBD::DBM
ok 2375 - space
ok 2376 - prepare SELECT SUBSTR('zfunkY',2,3) using DBD::DBM
ok 2377 - execute SELECT SUBSTR('zfunkY',2,3) using DBD::DBM
ok 2378 - substr
ok 2379 - prepare SELECT DISTINCT color FROM biz WHERE SUBSTRING(class FROM 1 FOR 1)='T' using DBD::DBM
ok 2380 - execute SELECT DISTINCT color FROM biz WHERE SUBSTRING(class FROM 1 FOR 1)='T' using DBD::DBM
ok 2381 - substring
ok 2382 - prepare SELECT TRANSLATE('foobar forever', 'oae', '0@3') using DBD::DBM
ok 2383 - execute SELECT TRANSLATE('foobar forever', 'oae', '0@3') using DBD::DBM
ok 2384 - translate
ok 2385 - prepare SELECT TRIM(' fun ') using DBD::DBM
ok 2386 - execute SELECT TRIM(' fun ') using DBD::DBM
ok 2387 - trim simple
not ok 2388 - prepare SELECT TRIM(LEADING FROM ' fun ') using DBD::DBM # 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::DBM'
#   at t/06virtual.t line 1422.
# Unbalanced parentheses!
not ok 2389 - prepare SELECT TRIM(TRAILING FROM ' fun ') using DBD::DBM # 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::DBM'
#   at t/06virtual.t line 1422.
# Unbalanced parentheses!
not ok 2390 - prepare SELECT TRIM(LEADING ';' FROM ';;; fun ') using DBD::DBM # 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::DBM'
#   at t/06virtual.t line 1422.
# Unbalanced parentheses!
ok 2391 - prepare SELECT UNHEX('414243') using DBD::DBM
ok 2392 - execute SELECT UNHEX('414243') using DBD::DBM
ok 2393 - unhex str
ok 2394 - prepare SELECT UNHEX('263A' || HEX(9787) || CONV('10011000111100', 2, 16), 'UCS-2') using DBD::DBM
ok 2395 - execute SELECT UNHEX('263A' || HEX(9787) || CONV('10011000111100', 2, 16), 'UCS-2') using DBD::DBM
ok 2396 - unhex str unicode
ok 2397 - prepare SELECT ABS(-4) using DBD::DBM
ok 2398 - execute SELECT ABS(-4) using DBD::DBM
ok 2399 - abs
ok 2400 - prepare SELECT CEILING(5) using DBD::DBM
ok 2401 - execute SELECT CEILING(5) using DBD::DBM
ok 2402 - ceiling int
ok 2403 - prepare SELECT CEILING(4.1) using DBD::DBM
ok 2404 - execute SELECT CEILING(4.1) using DBD::DBM
ok 2405 - ceiling positive
ok 2406 - prepare SELECT CEIL(-4.5) using DBD::DBM
ok 2407 - execute SELECT CEIL(-4.5) using DBD::DBM
ok 2408 - ceil negative
ok 2409 - prepare SELECT FLOOR(-5) using DBD::DBM
ok 2410 - execute SELECT FLOOR(-5) using DBD::DBM
ok 2411 - floor int
ok 2412 - prepare SELECT FLOOR(4.999999999999) using DBD::DBM
ok 2413 - execute SELECT FLOOR(4.999999999999) using DBD::DBM
ok 2414 - floor positive
ok 2415 - prepare SELECT FLOOR(-4.1) using DBD::DBM
ok 2416 - execute SELECT FLOOR(-4.1) using DBD::DBM
ok 2417 - floor negative
ok 2418 - prepare SELECT EXP(1) using DBD::DBM
ok 2419 - execute SELECT EXP(1) using DBD::DBM
ok 2420 - exp
ok 2421 - prepare SELECT LOG(6) using DBD::DBM
ok 2422 - execute SELECT LOG(6) using DBD::DBM
ok 2423 - log as log10
ok 2424 - prepare SELECT LOG(2, 32) using DBD::DBM
ok 2425 - execute SELECT LOG(2, 32) using DBD::DBM
ok 2426 - log as log2
ok 2427 - prepare SELECT LN(3) using DBD::DBM
ok 2428 - execute SELECT LN(3) using DBD::DBM
ok 2429 - ln
ok 2430 - prepare SELECT MOD(8, 5) using DBD::DBM
ok 2431 - execute SELECT MOD(8, 5) using DBD::DBM
ok 2432 - mod
ok 2433 - prepare SELECT POWER(2, 4) using DBD::DBM
ok 2434 - execute SELECT POWER(2, 4) using DBD::DBM
ok 2435 - power
ok 2436 - prepare SELECT POW(2, 4) using DBD::DBM
ok 2437 - execute SELECT POW(2, 4) using DBD::DBM
ok 2438 - pow
ok 2439 - prepare SELECT FLOOR(RAND(4)) using DBD::DBM
ok 2440 - execute SELECT FLOOR(RAND(4)) using DBD::DBM
ok 2441 - rand
ok 2442 - prepare SELECT FLOOR(RAND(4), UNIX_TIMESTAMP()) using DBD::DBM
ok 2443 - execute SELECT FLOOR(RAND(4), UNIX_TIMESTAMP()) using DBD::DBM
ok 2444 - rand with seed
ok 2445 - prepare SELECT ROUND(4.999999999999) using DBD::DBM
ok 2446 - execute SELECT ROUND(4.999999999999) using DBD::DBM
ok 2447 - round int
ok 2448 - prepare SELECT ROUND(4.542222222222, 1) using DBD::DBM
ok 2449 - execute SELECT ROUND(4.542222222222, 1) using DBD::DBM
ok 2450 - round tenth
ok 2451 - prepare SELECT SIGN(-25.5) using DBD::DBM
ok 2452 - execute SELECT SIGN(-25.5) using DBD::DBM
ok 2453 - sign -1
ok 2454 - prepare SELECT SIGN(53645) using DBD::DBM
ok 2455 - execute SELECT SIGN(53645) using DBD::DBM
ok 2456 - sign 1
ok 2457 - prepare SELECT SIGN(0) using DBD::DBM
ok 2458 - execute SELECT SIGN(0) using DBD::DBM
ok 2459 - sign 0
ok 2460 - prepare SELECT SIGN(NULL) using DBD::DBM
ok 2461 - execute SELECT SIGN(NULL) using DBD::DBM
ok 2462 - sign null
ok 2463 - prepare SELECT SQRT(64) using DBD::DBM
ok 2464 - execute SELECT SQRT(64) using DBD::DBM
ok 2465 - sqrt
ok 2466 - prepare SELECT TRUNCATE(4.999999999999) using DBD::DBM
ok 2467 - execute SELECT TRUNCATE(4.999999999999) using DBD::DBM
ok 2468 - truncate int
ok 2469 - prepare SELECT TRUNC(-4.9) using DBD::DBM
ok 2470 - execute SELECT TRUNC(-4.9) using DBD::DBM
ok 2471 - trunc int
ok 2472 - prepare SELECT TRUNCATE(4.934, 1) using DBD::DBM
ok 2473 - execute SELECT TRUNCATE(4.934, 1) using DBD::DBM
ok 2474 - truncate tenth
ok 2475 - prepare SELECT TRUNC(-4.99999, 1) using DBD::DBM
ok 2476 - execute SELECT TRUNC(-4.99999, 1) using DBD::DBM
ok 2477 - trunc int
ok 2478 - prepare SELECT SIN(1) using DBD::DBM
ok 2479 - execute SELECT SIN(1) using DBD::DBM
ok 2480 - sin
ok 2481 - prepare SELECT COS(1) using DBD::DBM
ok 2482 - execute SELECT COS(1) using DBD::DBM
ok 2483 - cos
ok 2484 - prepare SELECT TAN(1) using DBD::DBM
ok 2485 - execute SELECT TAN(1) using DBD::DBM
ok 2486 - tan
ok 2487 - prepare SELECT SEC(1) using DBD::DBM
ok 2488 - execute SELECT SEC(1) using DBD::DBM
ok 2489 - sec
ok 2490 - prepare SELECT CSC(1) using DBD::DBM
ok 2491 - execute SELECT CSC(1) using DBD::DBM
ok 2492 - csc
ok 2493 - prepare SELECT COSEC(1) using DBD::DBM
ok 2494 - execute SELECT COSEC(1) using DBD::DBM
ok 2495 - cosec
ok 2496 - prepare SELECT COT(1) using DBD::DBM
ok 2497 - execute SELECT COT(1) using DBD::DBM
ok 2498 - cot
ok 2499 - prepare SELECT COTAN(1) using DBD::DBM
ok 2500 - execute SELECT COTAN(1) using DBD::DBM
ok 2501 - cotan
ok 2502 - prepare SELECT ASIN(1) using DBD::DBM
ok 2503 - execute SELECT ASIN(1) using DBD::DBM
ok 2504 - asin
ok 2505 - prepare SELECT ACOS(1) using DBD::DBM
ok 2506 - execute SELECT ACOS(1) using DBD::DBM
ok 2507 - acos
ok 2508 - prepare SELECT ATAN(1) using DBD::DBM
ok 2509 - execute SELECT ATAN(1) using DBD::DBM
ok 2510 - atan
ok 2511 - prepare SELECT ASEC(1) using DBD::DBM
ok 2512 - execute SELECT ASEC(1) using DBD::DBM
ok 2513 - asec
ok 2514 - prepare SELECT ACSC(1) using DBD::DBM
ok 2515 - execute SELECT ACSC(1) using DBD::DBM
ok 2516 - acsc
ok 2517 - prepare SELECT ACOSEC(1) using DBD::DBM
ok 2518 - execute SELECT ACOSEC(1) using DBD::DBM
ok 2519 - acosec
ok 2520 - prepare SELECT ACOT(1) using DBD::DBM
ok 2521 - execute SELECT ACOT(1) using DBD::DBM
ok 2522 - acot
ok 2523 - prepare SELECT ACOTAN(1) using DBD::DBM
ok 2524 - execute SELECT ACOTAN(1) using DBD::DBM
ok 2525 - acotan
ok 2526 - prepare SELECT SINH(1) using DBD::DBM
ok 2527 - execute SELECT SINH(1) using DBD::DBM
ok 2528 - sinh
ok 2529 - prepare SELECT COSH(1) using DBD::DBM
ok 2530 - execute SELECT COSH(1) using DBD::DBM
ok 2531 - cosh
ok 2532 - prepare SELECT TANH(1) using DBD::DBM
ok 2533 - execute SELECT TANH(1) using DBD::DBM
ok 2534 - tanh
ok 2535 - prepare SELECT SECH(1) using DBD::DBM
ok 2536 - execute SELECT SECH(1) using DBD::DBM
ok 2537 - sech
ok 2538 - prepare SELECT CSCH(1) using DBD::DBM
ok 2539 - execute SELECT CSCH(1) using DBD::DBM
ok 2540 - csch
ok 2541 - prepare SELECT COSECH(1) using DBD::DBM
ok 2542 - execute SELECT COSECH(1) using DBD::DBM
ok 2543 - cosech
ok 2544 - prepare SELECT COTH(1) using DBD::DBM
ok 2545 - execute SELECT COTH(1) using DBD::DBM
ok 2546 - coth
ok 2547 - prepare SELECT COTANH(1) using DBD::DBM
ok 2548 - execute SELECT COTANH(1) using DBD::DBM
ok 2549 - cotanh
ok 2550 - prepare SELECT ASINH(1) using DBD::DBM
ok 2551 - execute SELECT ASINH(1) using DBD::DBM
ok 2552 - asinh
ok 2553 - prepare SELECT ACOSH(1) using DBD::DBM
ok 2554 - execute SELECT ACOSH(1) using DBD::DBM
ok 2555 - acosh
ok 2556 - prepare SELECT ATANH(0.9) using DBD::DBM
ok 2557 - execute SELECT ATANH(0.9) using DBD::DBM
ok 2558 - atanh
ok 2559 - prepare SELECT ASECH(0.9) using DBD::DBM
ok 2560 - execute SELECT ASECH(0.9) using DBD::DBM
ok 2561 - asech
ok 2562 - prepare SELECT ACSCH(2) using DBD::DBM
ok 2563 - execute SELECT ACSCH(2) using DBD::DBM
ok 2564 - acsch
ok 2565 - prepare SELECT ACOSECH(2) using DBD::DBM
ok 2566 - execute SELECT ACOSECH(2) using DBD::DBM
ok 2567 - acosech
ok 2568 - prepare SELECT ACOTH(2) using DBD::DBM
ok 2569 - execute SELECT ACOTH(2) using DBD::DBM
ok 2570 - acoth
ok 2571 - prepare SELECT ACOTANH(2) using DBD::DBM
ok 2572 - execute SELECT ACOTANH(2) using DBD::DBM
ok 2573 - acotanh
ok 2574 - prepare SELECT PI using DBD::DBM
ok 2575 - execute SELECT PI using DBD::DBM
ok 2576 - pi
ok 2577 - prepare SELECT ATAN2(1, 0) using DBD::DBM
ok 2578 - execute SELECT ATAN2(1, 0) using DBD::DBM
ok 2579 - atan2 to pi/2
ok 2580 - prepare SELECT ATAN2(1, 1) using DBD::DBM
ok 2581 - execute SELECT ATAN2(1, 1) using DBD::DBM
ok 2582 - atan2 to pi/4
ok 2583 - prepare SELECT ATAN2(-1, -1) using DBD::DBM
ok 2584 - execute SELECT ATAN2(-1, -1) using DBD::DBM
ok 2585 - atan2 to -3pi/4
ok 2586 - prepare SELECT TAN(0.9) using DBD::DBM
ok 2587 - execute SELECT TAN(0.9) using DBD::DBM
ok 2588 - tan as property sin/cos
ok 2589 - prepare SELECT SINH(2) using DBD::DBM
ok 2590 - execute SELECT SINH(2) using DBD::DBM
ok 2591 - sinh 2
ok 2592 - prepare SELECT ACSCH(0.1) using DBD::DBM
ok 2593 - execute SELECT ACSCH(0.1) using DBD::DBM
ok 2594 - acsch 0.1
ok 2595 - prepare SELECT DEG2RAD(90) using DBD::DBM
ok 2596 - execute SELECT DEG2RAD(90) using DBD::DBM
ok 2597 - deg2rad
ok 2598 - prepare SELECT RADIANS(90) using DBD::DBM
ok 2599 - execute SELECT RADIANS(90) using DBD::DBM
ok 2600 - radians
ok 2601 - prepare SELECT RAD2DEG(PI) using DBD::DBM
ok 2602 - execute SELECT RAD2DEG(PI) using DBD::DBM
ok 2603 - rad2deg
ok 2604 - prepare SELECT DEGREES(PI()) using DBD::DBM
ok 2605 - execute SELECT DEGREES(PI()) using DBD::DBM
ok 2606 - degrees
ok 2607 - prepare SELECT DEG2GRAD(0.9) using DBD::DBM
ok 2608 - execute SELECT DEG2GRAD(0.9) using DBD::DBM
ok 2609 - deg2grad
ok 2610 - prepare SELECT GRAD2DEG(50) using DBD::DBM
ok 2611 - execute SELECT GRAD2DEG(50) using DBD::DBM
ok 2612 - grad2deg
ok 2613 - prepare SELECT RAD2GRAD(PI / 2) using DBD::DBM
ok 2614 - execute SELECT RAD2GRAD(PI / 2) using DBD::DBM
ok 2615 - rad2grad
ok 2616 - prepare SELECT GRAD2RAD(200) using DBD::DBM
ok 2617 - execute SELECT GRAD2RAD(200) using DBD::DBM
ok 2618 - grad2rad
ok 2619 - prepare SELECT DEG2RAD(10000000000) using DBD::DBM
ok 2620 - execute SELECT DEG2RAD(10000000000) using DBD::DBM
ok 2621 - lotta radians
ok 2622 - prepare SELECT RAD2DEG(-10000000000) using DBD::DBM
ok 2623 - execute SELECT RAD2DEG(-10000000000) using DBD::DBM
ok 2624 - negative degrees
ok 2625 - prepare SELECT RAD2DEG(10000) using DBD::DBM
ok 2626 - execute SELECT RAD2DEG(10000) using DBD::DBM
ok 2627 - positive degrees
ok 2628 - prepare SELECT TANH(100) using DBD::DBM
ok 2629 - execute SELECT TANH(100) using DBD::DBM
ok 2630 - tanh 100
ok 2631 - prepare SELECT COTH(100) using DBD::DBM
ok 2632 - execute SELECT COTH(100) using DBD::DBM
ok 2633 - coth 100
ok 2634 - prepare SELECT TANH(-100) using DBD::DBM
ok 2635 - execute SELECT TANH(-100) using DBD::DBM
ok 2636 - tanh -100
ok 2637 - prepare SELECT COTH(-100) using DBD::DBM
ok 2638 - execute SELECT COTH(-100) using DBD::DBM
ok 2639 - coth -100
ok 2640 - prepare SELECT SECH(100000) using DBD::DBM
ok 2641 - execute SELECT SECH(100000) using DBD::DBM
ok 2642 - sech 1e5
ok 2643 - prepare SELECT CSCH(100000) using DBD::DBM
ok 2644 - execute SELECT CSCH(100000) using DBD::DBM
ok 2645 - csch 1e5
ok 2646 - prepare SELECT TANH(100000) using DBD::DBM
ok 2647 - execute SELECT TANH(100000) using DBD::DBM
ok 2648 - tanh 1e5
ok 2649 - prepare SELECT COTH(100000) using DBD::DBM
ok 2650 - execute SELECT COTH(100000) using DBD::DBM
ok 2651 - coth 1e5
ok 2652 - prepare SELECT SECH(-100000) using DBD::DBM
ok 2653 - execute SELECT SECH(-100000) using DBD::DBM
ok 2654 - sech -1e5
ok 2655 - prepare SELECT CSCH(-100000) using DBD::DBM
ok 2656 - execute SELECT CSCH(-100000) using DBD::DBM
ok 2657 - csch -1e5
ok 2658 - prepare SELECT TANH(-100000) using DBD::DBM
ok 2659 - execute SELECT TANH(-100000) using DBD::DBM
ok 2660 - tanh -1e5
ok 2661 - prepare SELECT COTH(-100000) using DBD::DBM
ok 2662 - execute SELECT COTH(-100000) using DBD::DBM
ok 2663 - coth -1e5
ok 2664 - prepare SELECT DBNAME() using DBD::DBM
ok 2665 - execute SELECT DBNAME() using DBD::DBM
ok 2666 - dbname
ok 2667 - prepare SELECT USERNAME() using DBD::DBM
ok 2668 - execute SELECT USERNAME() using DBD::DBM
ok 2669 - username
ok 2670 - prepare SELECT USER() using DBD::DBM
ok 2671 - execute SELECT USER() using DBD::DBM
ok 2672 - user
ok 2673 - prepare SELECT id,host,signature,message FROM log WHERE time_stamp < (1324020203 - ( 4 * 60 )) using DBD::DBM
ok 2674 - execute SELECT id,host,signature,message FROM log WHERE time_stamp < (1324020203 - ( 4 * 60 )) using DBD::DBM
ok 2675 - SELECT with calculation in WHERE CLAUSE
ok 2676 - prepare SELECT id,host,signature,message FROM log WHERE (time_stamp > (1324020203 - 5)) AND (time_stamp < (1324020203 + 5)) using DBD::DBM
ok 2677 - execute SELECT id,host,signature,message FROM log WHERE (time_stamp > (1324020203 - 5)) AND (time_stamp < (1324020203 + 5)) using DBD::DBM
ok 2678 - SELECT with calculation and logical expression in WHERE CLAUSE
ok 2679 - prepare SELECT id,host,signature,message FROM log WHERE time_stamp BETWEEN ( 1324020203 - 5, 1324020203 + 5) using DBD::DBM
ok 2680 - execute SELECT id,host,signature,message FROM log WHERE time_stamp BETWEEN ( 1324020203 - 5, 1324020203 + 5) using DBD::DBM
ok 2681 - SELECT with calculated items in BETWEEN in WHERE CLAUSE
ok 2682 - prepare SELECT MAX(time_stamp) FROM log WHERE time_stamp IN (1324020203 - (2*3600), 1324020203 - (4*3600)) using DBD::DBM
ok 2683 - execute SELECT MAX(time_stamp) FROM log WHERE time_stamp IN (1324020203 - (2*3600), 1324020203 - (4*3600)) using DBD::DBM
ok 2684 - MAX() with calculated WHERE clause
ok 2685 - prepare SELECT MAX(time_stamp - 3*3600) FROM log using DBD::DBM
ok 2686 - execute SELECT MAX(time_stamp - 3*3600) FROM log using DBD::DBM
ok 2687 - calculation in MAX()
ok 2688 - prepare SELECT MAX(time_stamp) - 3*3600 FROM log using DBD::DBM
not ok 2689 - execute SELECT MAX(time_stamp) - 3*3600 FROM log using DBD::DBM # TODO Known limitation. Parser/Engine can not handle properly
#   Failed (TODO) test 'execute SELECT MAX(time_stamp) - 3*3600 FROM log using DBD::DBM'
#   at t/06virtual.t line 1471.
# No table specified: 'SELECT MAX(time_stamp) - 3*3600 FROM log' at /home/local/INSIGHT_NT/loubbyrd/src/SQL-Statement-1.33_new/blib/lib/SQL/Statement/Function.pm line 212
not ok 2690 - Caclulation outside aggregation # TODO Known limitation. Parser/Engine can not handle properly

#   Failed (TODO) test 'Caclulation outside aggregation'
#   at t/06virtual.t line 1502.
#     Structures begin differing at:
#          $got->[0] = Does not exist
#     $expected->[0] = ARRAY(0x26e82f0)
ok 2691 - prepare SELECT MAX( CHAR_LENGTH(message) ) FROM log using DBD::DBM
ok 2692 - execute SELECT MAX( CHAR_LENGTH(message) ) FROM log using DBD::DBM
ok 2693 - function in MAX()
ok 2694 - prepare SELECT 1+0 from log using DBD::DBM
ok 2695 - execute SELECT 1+0 from log using DBD::DBM
ok 2696 - select simple calculated constant from table
ok 2697 - prepare SELECT 1+1*2 using DBD::DBM
ok 2698 - execute SELECT 1+1*2 using DBD::DBM
ok 2699 - select calculated constant with preceedence rules
ok 2700 - prepare SELECT 1 using DBD::DBM
ok 2701 - execute SELECT 1 using DBD::DBM
ok 2702 - SELECT not calculated constant
1..2702
ok
# Using required:
#   SQL::Statement: 1.33
# Using recommended:
#   DBD::CSV: 0.33
#   DBD::DBM: 0.06
#   DBD::File: 0.4
#   DBI: 1.616
#   MLDBM: 2.04
# Running tests for SQL::Statement
# Running tests for DBD::CSV
# Running tests for DBD::File
# Running tests for DBD::DBM
t/08join.t ......... 
ok 1 - prepare 	CREATE TEMP TABLE Prof (pname CHAR, pid INT) on SQL::Statement
ok 2 - execute 	CREATE TEMP TABLE Prof (pname CHAR, pid INT) on SQL::Statement
ok 3 - prepare 	INSERT INTO Prof VALUES ('Sue', 1) on SQL::Statement
ok 4 - execute 	INSERT INTO Prof VALUES ('Sue', 1) on SQL::Statement
ok 5 - prepare 	INSERT INTO Prof VALUES ('Bob', 2) on SQL::Statement
ok 6 - execute 	INSERT INTO Prof VALUES ('Bob', 2) on SQL::Statement
ok 7 - prepare 	INSERT INTO Prof VALUES ('Tom', 3) on SQL::Statement
ok 8 - execute 	INSERT INTO Prof VALUES ('Tom', 3) on SQL::Statement
ok 9 - prepare 	CREATE TEMP TABLE Subject (sname CHAR, pid INT) on SQL::Statement
ok 10 - execute 	CREATE TEMP TABLE Subject (sname CHAR, pid INT) on SQL::Statement
ok 11 - prepare 	INSERT INTO Subject VALUES ('Chem', 1) on SQL::Statement
ok 12 - execute 	INSERT INTO Subject VALUES ('Chem', 1) on SQL::Statement
ok 13 - prepare 	INSERT INTO Subject VALUES ('Bio', 2) on SQL::Statement
ok 14 - execute 	INSERT INTO Subject VALUES ('Bio', 2) on SQL::Statement
ok 15 - prepare 	INSERT INTO Subject VALUES ('Math', 2) on SQL::Statement
ok 16 - execute 	INSERT INTO Subject VALUES ('Math', 2) on SQL::Statement
ok 17 - prepare 	INSERT INTO Subject VALUES ('English', 4) on SQL::Statement
ok 18 - execute 	INSERT INTO Subject VALUES ('English', 4) on SQL::Statement
ok 19 - prepare 	CREATE TEMP TABLE Room (rname CHAR, pid INT) on SQL::Statement
ok 20 - execute 	CREATE TEMP TABLE Room (rname CHAR, pid INT) on SQL::Statement
ok 21 - prepare 	INSERT INTO Room VALUES ('1C', 1) on SQL::Statement
ok 22 - execute 	INSERT INTO Room VALUES ('1C', 1) on SQL::Statement
ok 23 - prepare 	INSERT INTO Room VALUES ('2B', 2) on SQL::Statement
ok 24 - execute 	INSERT INTO Room VALUES ('2B', 2) on SQL::Statement
ok 25 - prepare 	CREATE TEMP TABLE author (author_name CHAR, author_id INT) on SQL::Statement
ok 26 - execute 	CREATE TEMP TABLE author (author_name CHAR, author_id INT) on SQL::Statement
ok 27 - prepare 	INSERT INTO author VALUES ('Neal Stephenson',1) on SQL::Statement
ok 28 - execute 	INSERT INTO author VALUES ('Neal Stephenson',1) on SQL::Statement
ok 29 - prepare 	INSERT INTO author VALUES ('Vernor Vinge',2) on SQL::Statement
ok 30 - execute 	INSERT INTO author VALUES ('Vernor Vinge',2) on SQL::Statement
ok 31 - prepare 	CREATE TEMP TABLE book (book_title CHAR, author_id INT) on SQL::Statement
ok 32 - execute 	CREATE TEMP TABLE book (book_title CHAR, author_id INT) on SQL::Statement
ok 33 - prepare 	INSERT INTO book VALUES ('Cryptonomicon',1) on SQL::Statement
ok 34 - execute 	INSERT INTO book VALUES ('Cryptonomicon',1) on SQL::Statement
ok 35 - prepare 	INSERT INTO book VALUES ('Dahlgren',3) on SQL::Statement
ok 36 - execute 	INSERT INTO book VALUES ('Dahlgren',3) on SQL::Statement
ok 37 - prepare 	CREATE TEMP TABLE t1 (num INT, name CHAR) on SQL::Statement
ok 38 - execute 	CREATE TEMP TABLE t1 (num INT, name CHAR) on SQL::Statement
ok 39 - prepare 	INSERT INTO t1 VALUES (1,'a') on SQL::Statement
ok 40 - execute 	INSERT INTO t1 VALUES (1,'a') on SQL::Statement
ok 41 - prepare 	INSERT INTO t1 VALUES (2,'b') on SQL::Statement
ok 42 - execute 	INSERT INTO t1 VALUES (2,'b') on SQL::Statement
ok 43 - prepare 	INSERT INTO t1 VALUES (3,'c') on SQL::Statement
ok 44 - execute 	INSERT INTO t1 VALUES (3,'c') on SQL::Statement
ok 45 - prepare 	CREATE TEMP TABLE t2 (num INT, wert CHAR) on SQL::Statement
ok 46 - execute 	CREATE TEMP TABLE t2 (num INT, wert CHAR) on SQL::Statement
ok 47 - prepare 	INSERT INTO t2 VALUES (1,'xxx') on SQL::Statement
ok 48 - execute 	INSERT INTO t2 VALUES (1,'xxx') on SQL::Statement
ok 49 - prepare 	INSERT INTO t2 VALUES (3,'yyy') on SQL::Statement
ok 50 - execute 	INSERT INTO t2 VALUES (3,'yyy') on SQL::Statement
ok 51 - prepare 	INSERT INTO t2 VALUES (5,'zzz') on SQL::Statement
ok 52 - execute 	INSERT INTO t2 VALUES (5,'zzz') on SQL::Statement
ok 53 - prepare 	CREATE TEMP TABLE APPL (id INT, applname CHAR, appluniq CHAR, version CHAR, appl_type CHAR) on SQL::Statement
ok 54 - execute 	CREATE TEMP TABLE APPL (id INT, applname CHAR, appluniq CHAR, version CHAR, appl_type CHAR) on SQL::Statement
ok 55 - prepare 	INSERT INTO APPL VALUES ( 1, 'ZQF', 'ZFQLIN', '10.2.0.4', 'Oracle DB') on SQL::Statement
ok 56 - execute 	INSERT INTO APPL VALUES ( 1, 'ZQF', 'ZFQLIN', '10.2.0.4', 'Oracle DB') on SQL::Statement
ok 57 - prepare 	INSERT INTO APPL VALUES ( 2, 'YRA', 'YRA-UX', '10.2.0.2', 'Oracle DB') on SQL::Statement
ok 58 - execute 	INSERT INTO APPL VALUES ( 2, 'YRA', 'YRA-UX', '10.2.0.2', 'Oracle DB') on SQL::Statement
ok 59 - prepare 	INSERT INTO APPL VALUES ( 3, 'PRN1', 'PRN1-4.B2', '1.1.22', 'CUPS' ) on SQL::Statement
ok 60 - execute 	INSERT INTO APPL VALUES ( 3, 'PRN1', 'PRN1-4.B2', '1.1.22', 'CUPS' ) on SQL::Statement
ok 61 - prepare 	INSERT INTO APPL VALUES ( 4, 'PRN2', 'PRN2-4.B2', '1.1.22', 'CUPS' ) on SQL::Statement
ok 62 - execute 	INSERT INTO APPL VALUES ( 4, 'PRN2', 'PRN2-4.B2', '1.1.22', 'CUPS' ) on SQL::Statement
ok 63 - prepare 	INSERT INTO APPL VALUES ( 5, 'PRN1', 'PRN1-4.B1', '1.1.22', 'CUPS' ) on SQL::Statement
ok 64 - execute 	INSERT INTO APPL VALUES ( 5, 'PRN1', 'PRN1-4.B1', '1.1.22', 'CUPS' ) on SQL::Statement
ok 65 - prepare 	INSERT INTO APPL VALUES ( 7, 'PRN2', 'PRN2-4.B1', '1.1.22', 'CUPS' ) on SQL::Statement
ok 66 - execute 	INSERT INTO APPL VALUES ( 7, 'PRN2', 'PRN2-4.B1', '1.1.22', 'CUPS' ) on SQL::Statement
ok 67 - prepare 	INSERT INTO APPL VALUES ( 8, 'sql-stmt', 'SQL::Statement', '1.21', 'Project Web-Site') on SQL::Statement
ok 68 - execute 	INSERT INTO APPL VALUES ( 8, 'sql-stmt', 'SQL::Statement', '1.21', 'Project Web-Site') on SQL::Statement
ok 69 - prepare 	INSERT INTO APPL VALUES ( 9, 'cpan.org', 'http://www.cpan.org/', '1.0', 'Web-Site') on SQL::Statement
ok 70 - execute 	INSERT INTO APPL VALUES ( 9, 'cpan.org', 'http://www.cpan.org/', '1.0', 'Web-Site') on SQL::Statement
ok 71 - prepare 	INSERT INTO APPL VALUES (10, 'httpd', 'cpan-apache', '2.2.13', 'Web-Server') on SQL::Statement
ok 72 - execute 	INSERT INTO APPL VALUES (10, 'httpd', 'cpan-apache', '2.2.13', 'Web-Server') on SQL::Statement
ok 73 - prepare 	INSERT INTO APPL VALUES (11, 'cpan-mods', 'cpan-mods', '8.4.1', 'PostgreSQL DB') on SQL::Statement
ok 74 - execute 	INSERT INTO APPL VALUES (11, 'cpan-mods', 'cpan-mods', '8.4.1', 'PostgreSQL DB') on SQL::Statement
ok 75 - prepare 	INSERT INTO APPL VALUES (12, 'cpan-authors', 'cpan-authors', '8.4.1', 'PostgreSQL DB') on SQL::Statement
ok 76 - execute 	INSERT INTO APPL VALUES (12, 'cpan-authors', 'cpan-authors', '8.4.1', 'PostgreSQL DB') on SQL::Statement
ok 77 - prepare 	CREATE TEMP TABLE NODE (id INT, nodename CHAR, os CHAR, version CHAR) on SQL::Statement
ok 78 - execute 	CREATE TEMP TABLE NODE (id INT, nodename CHAR, os CHAR, version CHAR) on SQL::Statement
ok 79 - prepare 	INSERT INTO NODE VALUES ( 1, 'ernie', 'RHEL', '5.2') on SQL::Statement
ok 80 - execute 	INSERT INTO NODE VALUES ( 1, 'ernie', 'RHEL', '5.2') on SQL::Statement
ok 81 - prepare 	INSERT INTO NODE VALUES ( 2, 'bert', 'RHEL', '5.2') on SQL::Statement
ok 82 - execute 	INSERT INTO NODE VALUES ( 2, 'bert', 'RHEL', '5.2') on SQL::Statement
ok 83 - prepare 	INSERT INTO NODE VALUES ( 3, 'statler', 'FreeBSD', '7.2') on SQL::Statement
ok 84 - execute 	INSERT INTO NODE VALUES ( 3, 'statler', 'FreeBSD', '7.2') on SQL::Statement
ok 85 - prepare 	INSERT INTO NODE VALUES ( 4, 'waldorf', 'FreeBSD', '7.2') on SQL::Statement
ok 86 - execute 	INSERT INTO NODE VALUES ( 4, 'waldorf', 'FreeBSD', '7.2') on SQL::Statement
ok 87 - prepare 	INSERT INTO NODE VALUES ( 5, 'piggy', 'NetBSD', '5.0.2') on SQL::Statement
ok 88 - execute 	INSERT INTO NODE VALUES ( 5, 'piggy', 'NetBSD', '5.0.2') on SQL::Statement
ok 89 - prepare 	INSERT INTO NODE VALUES ( 6, 'kermit', 'NetBSD', '5.0.2') on SQL::Statement
ok 90 - execute 	INSERT INTO NODE VALUES ( 6, 'kermit', 'NetBSD', '5.0.2') on SQL::Statement
ok 91 - prepare 	INSERT INTO NODE VALUES ( 7, 'samson', 'NetBSD', '5.0.2') on SQL::Statement
ok 92 - execute 	INSERT INTO NODE VALUES ( 7, 'samson', 'NetBSD', '5.0.2') on SQL::Statement
ok 93 - prepare 	INSERT INTO NODE VALUES ( 8, 'tiffy', 'NetBSD', '5.0.2') on SQL::Statement
ok 94 - execute 	INSERT INTO NODE VALUES ( 8, 'tiffy', 'NetBSD', '5.0.2') on SQL::Statement
ok 95 - prepare 	INSERT INTO NODE VALUES ( 9, 'rowlf', 'Debian Lenny', '5.0') on SQL::Statement
ok 96 - execute 	INSERT INTO NODE VALUES ( 9, 'rowlf', 'Debian Lenny', '5.0') on SQL::Statement
ok 97 - prepare 	INSERT INTO NODE VALUES (10, 'fozzy', 'Debian Lenny', '5.0') on SQL::Statement
ok 98 - execute 	INSERT INTO NODE VALUES (10, 'fozzy', 'Debian Lenny', '5.0') on SQL::Statement
ok 99 - prepare 	CREATE TEMP TABLE PREC (id INT, appl_id INT, node_id INT, precedence INT) on SQL::Statement
ok 100 - execute 	CREATE TEMP TABLE PREC (id INT, appl_id INT, node_id INT, precedence INT) on SQL::Statement
ok 101 - prepare 	INSERT INTO PREC VALUES ( 1,  1,  1, 1) on SQL::Statement
ok 102 - execute 	INSERT INTO PREC VALUES ( 1,  1,  1, 1) on SQL::Statement
ok 103 - prepare 	INSERT INTO PREC VALUES ( 2,  1,  2, 2) on SQL::Statement
ok 104 - execute 	INSERT INTO PREC VALUES ( 2,  1,  2, 2) on SQL::Statement
ok 105 - prepare 	INSERT INTO PREC VALUES ( 3,  2,  2, 1) on SQL::Statement
ok 106 - execute 	INSERT INTO PREC VALUES ( 3,  2,  2, 1) on SQL::Statement
ok 107 - prepare 	INSERT INTO PREC VALUES ( 4,  2,  1, 2) on SQL::Statement
ok 108 - execute 	INSERT INTO PREC VALUES ( 4,  2,  1, 2) on SQL::Statement
ok 109 - prepare 	INSERT INTO PREC VALUES ( 5,  3,  5, 1) on SQL::Statement
ok 110 - execute 	INSERT INTO PREC VALUES ( 5,  3,  5, 1) on SQL::Statement
ok 111 - prepare 	INSERT INTO PREC VALUES ( 6,  3,  7, 2) on SQL::Statement
ok 112 - execute 	INSERT INTO PREC VALUES ( 6,  3,  7, 2) on SQL::Statement
ok 113 - prepare 	INSERT INTO PREC VALUES ( 7,  4,  6, 1) on SQL::Statement
ok 114 - execute 	INSERT INTO PREC VALUES ( 7,  4,  6, 1) on SQL::Statement
ok 115 - prepare 	INSERT INTO PREC VALUES ( 8,  4,  8, 2) on SQL::Statement
ok 116 - execute 	INSERT INTO PREC VALUES ( 8,  4,  8, 2) on SQL::Statement
ok 117 - prepare 	INSERT INTO PREC VALUES ( 9,  5,  7, 1) on SQL::Statement
ok 118 - execute 	INSERT INTO PREC VALUES ( 9,  5,  7, 1) on SQL::Statement
ok 119 - prepare 	INSERT INTO PREC VALUES (10,  5,  5, 2) on SQL::Statement
ok 120 - execute 	INSERT INTO PREC VALUES (10,  5,  5, 2) on SQL::Statement
ok 121 - prepare 	INSERT INTO PREC VALUES (11,  6,  8, 1) on SQL::Statement
ok 122 - execute 	INSERT INTO PREC VALUES (11,  6,  8, 1) on SQL::Statement
ok 123 - prepare 	INSERT INTO PREC VALUES (12,  7,  6, 2) on SQL::Statement
ok 124 - execute 	INSERT INTO PREC VALUES (12,  7,  6, 2) on SQL::Statement
ok 125 - prepare 	INSERT INTO PREC VALUES (13, 10,  9, 1) on SQL::Statement
ok 126 - execute 	INSERT INTO PREC VALUES (13, 10,  9, 1) on SQL::Statement
ok 127 - prepare 	INSERT INTO PREC VALUES (14, 10, 10, 1) on SQL::Statement
ok 128 - execute 	INSERT INTO PREC VALUES (14, 10, 10, 1) on SQL::Statement
ok 129 - prepare 	INSERT INTO PREC VALUES (15,  8,  9, 1) on SQL::Statement
ok 130 - execute 	INSERT INTO PREC VALUES (15,  8,  9, 1) on SQL::Statement
ok 131 - prepare 	INSERT INTO PREC VALUES (16,  8, 10, 1) on SQL::Statement
ok 132 - execute 	INSERT INTO PREC VALUES (16,  8, 10, 1) on SQL::Statement
ok 133 - prepare 	INSERT INTO PREC VALUES (17,  9,  9, 1) on SQL::Statement
ok 134 - execute 	INSERT INTO PREC VALUES (17,  9,  9, 1) on SQL::Statement
ok 135 - prepare 	INSERT INTO PREC VALUES (18,  9, 10, 1) on SQL::Statement
ok 136 - execute 	INSERT INTO PREC VALUES (18,  9, 10, 1) on SQL::Statement
ok 137 - prepare 	INSERT INTO PREC VALUES (19, 11,  3, 1) on SQL::Statement
ok 138 - execute 	INSERT INTO PREC VALUES (19, 11,  3, 1) on SQL::Statement
ok 139 - prepare 	INSERT INTO PREC VALUES (20, 11,  4, 2) on SQL::Statement
ok 140 - execute 	INSERT INTO PREC VALUES (20, 11,  4, 2) on SQL::Statement
ok 141 - prepare 	INSERT INTO PREC VALUES (21, 12,  4, 1) on SQL::Statement
ok 142 - execute 	INSERT INTO PREC VALUES (21, 12,  4, 1) on SQL::Statement
ok 143 - prepare 	INSERT INTO PREC VALUES (22, 12,  3, 2) on SQL::Statement
ok 144 - execute 	INSERT INTO PREC VALUES (22, 12,  3, 2) on SQL::Statement
ok 145 - prepare 	CREATE TEMP TABLE LANDSCAPE (id INT, landscapename CHAR) on SQL::Statement
ok 146 - execute 	CREATE TEMP TABLE LANDSCAPE (id INT, landscapename CHAR) on SQL::Statement
ok 147 - prepare 	INSERT INTO LANDSCAPE VALUES (1, 'Logistic') on SQL::Statement
ok 148 - execute 	INSERT INTO LANDSCAPE VALUES (1, 'Logistic') on SQL::Statement
ok 149 - prepare 	INSERT INTO LANDSCAPE VALUES (2, 'Infrastructure') on SQL::Statement
ok 150 - execute 	INSERT INTO LANDSCAPE VALUES (2, 'Infrastructure') on SQL::Statement
ok 151 - prepare 	INSERT INTO LANDSCAPE VALUES (3, 'CPAN') on SQL::Statement
ok 152 - execute 	INSERT INTO LANDSCAPE VALUES (3, 'CPAN') on SQL::Statement
ok 153 - prepare 	CREATE TEMP TABLE CONTACT (id INT, surname CHAR, familyname CHAR, phone CHAR, userid CHAR, mailaddr CHAR) on SQL::Statement
ok 154 - execute 	CREATE TEMP TABLE CONTACT (id INT, surname CHAR, familyname CHAR, phone CHAR, userid CHAR, mailaddr CHAR) on SQL::Statement
ok 155 - prepare 	INSERT INTO CONTACT VALUES ( 1, 'Hans Peter', 'Mueller', '12345', 'HPMUE', 'hp-mueller@here.com') on SQL::Statement
ok 156 - execute 	INSERT INTO CONTACT VALUES ( 1, 'Hans Peter', 'Mueller', '12345', 'HPMUE', 'hp-mueller@here.com') on SQL::Statement
ok 157 - prepare 	INSERT INTO CONTACT VALUES ( 2, 'Knut', 'Inge', '54321', 'KINGE', 'k-inge@here.com') on SQL::Statement
ok 158 - execute 	INSERT INTO CONTACT VALUES ( 2, 'Knut', 'Inge', '54321', 'KINGE', 'k-inge@here.com') on SQL::Statement
ok 159 - prepare 	INSERT INTO CONTACT VALUES ( 3, 'Lola', 'Nguyen', '+1-123-45678-90', 'LNYUG', 'lola.ngyuen@customer.com') on SQL::Statement
ok 160 - execute 	INSERT INTO CONTACT VALUES ( 3, 'Lola', 'Nguyen', '+1-123-45678-90', 'LNYUG', 'lola.ngyuen@customer.com') on SQL::Statement
ok 161 - prepare 	INSERT INTO CONTACT VALUES ( 4, 'Helge', 'Brunft', '+41-123-45678-09', 'HBRUN', 'helge.brunft@external-dc.at') on SQL::Statement
ok 162 - execute 	INSERT INTO CONTACT VALUES ( 4, 'Helge', 'Brunft', '+41-123-45678-09', 'HBRUN', 'helge.brunft@external-dc.at') on SQL::Statement
ok 163 - prepare 	CREATE TEMP TABLE NM_LANDSCAPE (id INT, ls_id INT, obj_id INT, obj_type INT) on SQL::Statement
ok 164 - execute 	CREATE TEMP TABLE NM_LANDSCAPE (id INT, ls_id INT, obj_id INT, obj_type INT) on SQL::Statement
ok 165 - prepare 	INSERT INTO NM_LANDSCAPE VALUES ( 1, 1, 1, 2) on SQL::Statement
ok 166 - execute 	INSERT INTO NM_LANDSCAPE VALUES ( 1, 1, 1, 2) on SQL::Statement
ok 167 - prepare 	INSERT INTO NM_LANDSCAPE VALUES ( 2, 1, 2, 2) on SQL::Statement
ok 168 - execute 	INSERT INTO NM_LANDSCAPE VALUES ( 2, 1, 2, 2) on SQL::Statement
ok 169 - prepare 	INSERT INTO NM_LANDSCAPE VALUES ( 3, 3, 3, 2) on SQL::Statement
ok 170 - execute 	INSERT INTO NM_LANDSCAPE VALUES ( 3, 3, 3, 2) on SQL::Statement
ok 171 - prepare 	INSERT INTO NM_LANDSCAPE VALUES ( 4, 3, 4, 2) on SQL::Statement
ok 172 - execute 	INSERT INTO NM_LANDSCAPE VALUES ( 4, 3, 4, 2) on SQL::Statement
ok 173 - prepare 	INSERT INTO NM_LANDSCAPE VALUES ( 5, 2, 5, 2) on SQL::Statement
ok 174 - execute 	INSERT INTO NM_LANDSCAPE VALUES ( 5, 2, 5, 2) on SQL::Statement
ok 175 - prepare 	INSERT INTO NM_LANDSCAPE VALUES ( 6, 2, 6, 2) on SQL::Statement
ok 176 - execute 	INSERT INTO NM_LANDSCAPE VALUES ( 6, 2, 6, 2) on SQL::Statement
ok 177 - prepare 	INSERT INTO NM_LANDSCAPE VALUES ( 7, 2, 7, 2) on SQL::Statement
ok 178 - execute 	INSERT INTO NM_LANDSCAPE VALUES ( 7, 2, 7, 2) on SQL::Statement
ok 179 - prepare 	INSERT INTO NM_LANDSCAPE VALUES ( 8, 2, 8, 2) on SQL::Statement
ok 180 - execute 	INSERT INTO NM_LANDSCAPE VALUES ( 8, 2, 8, 2) on SQL::Statement
ok 181 - prepare 	INSERT INTO NM_LANDSCAPE VALUES ( 9, 3, 9, 2) on SQL::Statement
ok 182 - execute 	INSERT INTO NM_LANDSCAPE VALUES ( 9, 3, 9, 2) on SQL::Statement
ok 183 - prepare 	INSERT INTO NM_LANDSCAPE VALUES (10, 3,10, 2) on SQL::Statement
ok 184 - execute 	INSERT INTO NM_LANDSCAPE VALUES (10, 3,10, 2) on SQL::Statement
ok 185 - prepare 	INSERT INTO NM_LANDSCAPE VALUES (11, 1, 1, 1) on SQL::Statement
ok 186 - execute 	INSERT INTO NM_LANDSCAPE VALUES (11, 1, 1, 1) on SQL::Statement
ok 187 - prepare 	INSERT INTO NM_LANDSCAPE VALUES (12, 2, 2, 1) on SQL::Statement
ok 188 - execute 	INSERT INTO NM_LANDSCAPE VALUES (12, 2, 2, 1) on SQL::Statement
ok 189 - prepare 	INSERT INTO NM_LANDSCAPE VALUES (13, 2, 2, 3) on SQL::Statement
ok 190 - execute 	INSERT INTO NM_LANDSCAPE VALUES (13, 2, 2, 3) on SQL::Statement
ok 191 - prepare 	INSERT INTO NM_LANDSCAPE VALUES (14, 3, 1, 3) on SQL::Statement
ok 192 - execute 	INSERT INTO NM_LANDSCAPE VALUES (14, 3, 1, 3) on SQL::Statement
ok 193 - prepare 	CREATE TEMP TABLE APPL_CONTACT (id INT, contact_id INT, appl_id INT, contact_type CHAR) on SQL::Statement
ok 194 - execute 	CREATE TEMP TABLE APPL_CONTACT (id INT, contact_id INT, appl_id INT, contact_type CHAR) on SQL::Statement
ok 195 - prepare 	INSERT INTO APPL_CONTACT VALUES (1, 3, 1, 'OWNER') on SQL::Statement
ok 196 - execute 	INSERT INTO APPL_CONTACT VALUES (1, 3, 1, 'OWNER') on SQL::Statement
ok 197 - prepare 	INSERT INTO APPL_CONTACT VALUES (2, 3, 2, 'OWNER') on SQL::Statement
ok 198 - execute 	INSERT INTO APPL_CONTACT VALUES (2, 3, 2, 'OWNER') on SQL::Statement
ok 199 - prepare 	INSERT INTO APPL_CONTACT VALUES (3, 4, 3, 'ADMIN') on SQL::Statement
ok 200 - execute 	INSERT INTO APPL_CONTACT VALUES (3, 4, 3, 'ADMIN') on SQL::Statement
ok 201 - prepare 	INSERT INTO APPL_CONTACT VALUES (4, 4, 4, 'ADMIN') on SQL::Statement
ok 202 - execute 	INSERT INTO APPL_CONTACT VALUES (4, 4, 4, 'ADMIN') on SQL::Statement
ok 203 - prepare 	INSERT INTO APPL_CONTACT VALUES (5, 4, 5, 'ADMIN') on SQL::Statement
ok 204 - execute 	INSERT INTO APPL_CONTACT VALUES (5, 4, 5, 'ADMIN') on SQL::Statement
ok 205 - prepare 	INSERT INTO APPL_CONTACT VALUES (6, 4, 6, 'ADMIN') on SQL::Statement
ok 206 - execute 	INSERT INTO APPL_CONTACT VALUES (6, 4, 6, 'ADMIN') on SQL::Statement
ok 207 - prepare SELECT pname,sname FROM Prof NATURAL JOIN Subject using SQL::Statement
ok 208 - execute SELECT pname,sname FROM Prof NATURAL JOIN Subject using SQL::Statement
ok 209 - NATURAL JOIN - with named columns in select list
ok 210 - prepare SELECT * FROM Prof NATURAL JOIN Subject using SQL::Statement
ok 211 - execute SELECT * FROM Prof NATURAL JOIN Subject using SQL::Statement
ok 212 - NATURAL JOIN - with select list = *
ok 213 - prepare SELECT UPPER(pname) AS P,Prof.pid,pname,sname FROM Prof NATURAL JOIN Subject using SQL::Statement
ok 214 - execute SELECT UPPER(pname) AS P,Prof.pid,pname,sname FROM Prof NATURAL JOIN Subject using SQL::Statement
ok 215 - NATURAL JOIN - with computed columns
ok 216 - prepare SELECT UPPER(pname) AS P,pid,pname,sname FROM Prof NATURAL JOIN Subject using SQL::Statement
ok 217 - execute SELECT UPPER(pname) AS P,pid,pname,sname FROM Prof NATURAL JOIN Subject using SQL::Statement
ok 218 - NATURAL JOIN - with no specifier on join column
ok 219 - prepare SELECT UPPER(pname) AS P,pid,pname,sname FROM Prof JOIN Subject using (pid) using SQL::Statement
ok 220 - execute SELECT UPPER(pname) AS P,pid,pname,sname FROM Prof JOIN Subject using (pid) using SQL::Statement
ok 221 - INNER JOIN - with no specifier on join column
ok 222 - prepare SELECT * FROM Prof LEFT JOIN Subject USING(pid) using SQL::Statement
ok 223 - execute SELECT * FROM Prof LEFT JOIN Subject USING(pid) using SQL::Statement
ok 224 - LEFT JOIN
ok 225 - prepare SELECT pid,pname,sname FROM Prof LEFT JOIN Subject USING(pid) using SQL::Statement
ok 226 - execute SELECT pid,pname,sname FROM Prof LEFT JOIN Subject USING(pid) using SQL::Statement
ok 227 - LEFT JOIN - enumerated columns
ok 228 - prepare SELECT subject.pid,pname,sname FROM Prof LEFT JOIN Subject USING(pid) using SQL::Statement
ok 229 - execute SELECT subject.pid,pname,sname FROM Prof LEFT JOIN Subject USING(pid) using SQL::Statement
ok 230 - LEFT JOIN - perversely intentionally mis-enumerated columns
ok 231 - prepare SELECT subject.pid, pname, sname FROM prof LEFT JOIN subject USING(pid) using SQL::Statement
ok 232 - execute SELECT subject.pid, pname, sname FROM prof LEFT JOIN subject USING(pid) using SQL::Statement
ok 233 - LEFT JOIN - lower case keywords
ok 234 - prepare SELECT * FROM Prof RIGHT JOIN Subject USING(pid) using SQL::Statement
ok 235 - execute SELECT * FROM Prof RIGHT JOIN Subject USING(pid) using SQL::Statement
ok 236 - RIGHT JOIN
ok 237 - prepare SELECT pid,sname,pname FROM Prof RIGHT JOIN Subject USING(pid) using SQL::Statement
ok 238 - execute SELECT pid,sname,pname FROM Prof RIGHT JOIN Subject USING(pid) using SQL::Statement
ok 239 - RIGHT JOIN - enumerated columns
ok 240 - prepare SELECT * FROM Prof FULL JOIN Subject USING(pid) using SQL::Statement
ok 241 - execute SELECT * FROM Prof FULL JOIN Subject USING(pid) using SQL::Statement
ok 242 - FULL JOIN
ok 243 - prepare SELECT * FROM Prof AS P,Subject AS S WHERE P.pid=S.pid using SQL::Statement
ok 244 - execute SELECT * FROM Prof AS P,Subject AS S WHERE P.pid=S.pid using SQL::Statement
ok 245 - IMPLICIT JOIN - two tables
ok 246 - prepare SELECT *
# 		    FROM Prof AS P,Subject AS S,Room AS R
# 		   WHERE P.pid=S.pid
# 		     AND P.pid=R.pid using SQL::Statement
ok 247 - execute SELECT *
# 		    FROM Prof AS P,Subject AS S,Room AS R
# 		   WHERE P.pid=S.pid
# 		     AND P.pid=R.pid using SQL::Statement
ok 248 - IMPLICIT JOIN - three tables
ok 249 - prepare SELECT * FROM author NATURAL JOIN book using SQL::Statement
ok 250 - execute SELECT * FROM author NATURAL JOIN book using SQL::Statement
ok 251 - Columns in NATURAL JOIN - on unique id's with select list = *
ok 252 - NATURAL JOIN - on unique id's with select list = *
ok 253 - prepare SELECT * FROM t1 CROSS JOIN t2 using SQL::Statement
ok 254 - execute SELECT * FROM t1 CROSS JOIN t2 using SQL::Statement
ok 255 - Columns in CROSS JOIN with select list = *
ok 256 - CROSS JOIN with select list = *
ok 257 - prepare SELECT * FROM t1 INNER JOIN t2 ON t1.num = t2.num using SQL::Statement
ok 258 - execute SELECT * FROM t1 INNER JOIN t2 ON t1.num = t2.num using SQL::Statement
ok 259 - Columns in INNER JOIN with select list = *
ok 260 - INNER JOIN with select list = *
ok 261 - prepare SELECT * FROM t1 INNER JOIN t2 USING (num) using SQL::Statement
ok 262 - execute SELECT * FROM t1 INNER JOIN t2 USING (num) using SQL::Statement
ok 263 - Columns in INNER JOINS (USING) with select list = *
ok 264 - INNER JOINS (USING) with select list = *
ok 265 - prepare SELECT * FROM t1 NATURAL INNER JOIN t2 using SQL::Statement
ok 266 - execute SELECT * FROM t1 NATURAL INNER JOIN t2 using SQL::Statement
ok 267 - Columns in INNER JOINS (NATURAL) with select list = *
ok 268 - INNER JOINS (NATURAL) with select list = *
ok 269 - prepare SELECT * FROM t1 LEFT JOIN t2 ON t1.num = t2.num using SQL::Statement
ok 270 - execute SELECT * FROM t1 LEFT JOIN t2 ON t1.num = t2.num using SQL::Statement
ok 271 - Columns in LEFT JOINS (using ON condition) with select list = *
ok 272 - LEFT JOINS (using ON condition) with select list = *
ok 273 - prepare SELECT * FROM t1 LEFT JOIN t2 USING (num) using SQL::Statement
ok 274 - execute SELECT * FROM t1 LEFT JOIN t2 USING (num) using SQL::Statement
ok 275 - Columns in LEFT JOINS (USING (num) condition) with select list = *
ok 276 - LEFT JOINS (USING (num) condition) with select list = *
ok 277 - prepare SELECT * FROM t1 RIGHT JOIN t2 ON t1.num = t2.num using SQL::Statement
ok 278 - execute SELECT * FROM t1 RIGHT JOIN t2 ON t1.num = t2.num using SQL::Statement
ok 279 - Columns in Right Joins (using ON condition) with select list = *
ok 280 - Right Joins (using ON condition) with select list = *
ok 281 - prepare SELECT * FROM t2 LEFT JOIN t1 ON t1.num = t2.num using SQL::Statement
ok 282 - execute SELECT * FROM t2 LEFT JOIN t1 ON t1.num = t2.num using SQL::Statement
ok 283 - Columns in Left Joins (reverse former Right Join) with select list = *
ok 284 - Left Joins (reverse former Right Join) with select list = *
ok 285 - prepare SELECT * FROM t1 FULL JOIN t2 ON t1.num = t2.num using SQL::Statement
ok 286 - execute SELECT * FROM t1 FULL JOIN t2 ON t1.num = t2.num using SQL::Statement
ok 287 - Columns in Full Joins (using ON condition) with select list = *
ok 288 - Full Joins (using ON condition) with select list = *
ok 289 - prepare SELECT * FROM t1 LEFT JOIN t2 ON t1.num = t2.num AND t2.wert = 'xxx' using SQL::Statement
ok 290 - execute SELECT * FROM t1 LEFT JOIN t2 ON t1.num = t2.num AND t2.wert = 'xxx' using SQL::Statement
ok 291 - Columns in Left Joins (using ON t1.num = t2.num AND t2.wert = "xxx") with select list = *
not ok 292 - 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 635.
#     Structures begin differing at:
#          $got->[2][2] = '3'
#     $expected->[2][2] = undef
ok 293 - prepare SELECT * FROM t1 LEFT JOIN t2 ON t1.num = t2.num WHERE (t2.wert = 'xxx' OR t2.wert IS NULL) using SQL::Statement
ok 294 - execute SELECT * FROM t1 LEFT JOIN t2 ON t1.num = t2.num WHERE (t2.wert = 'xxx' OR t2.wert IS NULL) using SQL::Statement
ok 295 - Columns in Left Joins (using ON t1.num = t2.num WHERE (t2.wert = "xxx" OR t2.wert IS NULL)) with select list = *
not ok 296 - 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 635.
#     Structures begin differing at:
#          $got->[2] = Does not exist
#     $expected->[2] = ARRAY(0x1bd0a48)
ok 297 - 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 SQL::Statement
ok 298 - 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 SQL::Statement
ok 299 - DEFAULT INNER (1) with named columns
ok 300 - 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 SQL::Statement
ok 301 - 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 SQL::Statement
ok 302 - DEFAULT INNER (2) with named columns
ok 303 - 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 SQL::Statement
ok 304 - 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 SQL::Statement
ok 305 - DEFAULT INNER (3) with named columns
ok 306 - 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 SQL::Statement
ok 307 - 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 SQL::Statement
ok 308 - DEFAULT INNER (4) with named columns
ok 309 - 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 SQL::Statement
ok 310 - 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 SQL::Statement
ok 311 - DEFAULT INNER (5) with named columns
ok 312 - prepare 	CREATE  TABLE Prof (pname CHAR, pid INT) on DBD::CSV
ok 313 - execute 	CREATE  TABLE Prof (pname CHAR, pid INT) on DBD::CSV
ok 314 - prepare 	INSERT INTO Prof VALUES ('Sue', 1) on DBD::CSV
ok 315 - execute 	INSERT INTO Prof VALUES ('Sue', 1) on DBD::CSV
ok 316 - prepare 	INSERT INTO Prof VALUES ('Bob', 2) on DBD::CSV
ok 317 - execute 	INSERT INTO Prof VALUES ('Bob', 2) on DBD::CSV
ok 318 - prepare 	INSERT INTO Prof VALUES ('Tom', 3) on DBD::CSV
ok 319 - execute 	INSERT INTO Prof VALUES ('Tom', 3) on DBD::CSV
ok 320 - prepare 	CREATE  TABLE Subject (sname CHAR, pid INT) on DBD::CSV
ok 321 - execute 	CREATE  TABLE Subject (sname CHAR, pid INT) on DBD::CSV
ok 322 - prepare 	INSERT INTO Subject VALUES ('Chem', 1) on DBD::CSV
ok 323 - execute 	INSERT INTO Subject VALUES ('Chem', 1) on DBD::CSV
ok 324 - prepare 	INSERT INTO Subject VALUES ('Bio', 2) on DBD::CSV
ok 325 - execute 	INSERT INTO Subject VALUES ('Bio', 2) on DBD::CSV
ok 326 - prepare 	INSERT INTO Subject VALUES ('Math', 2) on DBD::CSV
ok 327 - execute 	INSERT INTO Subject VALUES ('Math', 2) on DBD::CSV
ok 328 - prepare 	INSERT INTO Subject VALUES ('English', 4) on DBD::CSV
ok 329 - execute 	INSERT INTO Subject VALUES ('English', 4) on DBD::CSV
ok 330 - prepare 	CREATE  TABLE Room (rname CHAR, pid INT) on DBD::CSV
ok 331 - execute 	CREATE  TABLE Room (rname CHAR, pid INT) on DBD::CSV
ok 332 - prepare 	INSERT INTO Room VALUES ('1C', 1) on DBD::CSV
ok 333 - execute 	INSERT INTO Room VALUES ('1C', 1) on DBD::CSV
ok 334 - prepare 	INSERT INTO Room VALUES ('2B', 2) on DBD::CSV
ok 335 - execute 	INSERT INTO Room VALUES ('2B', 2) on DBD::CSV
ok 336 - prepare 	CREATE  TABLE author (author_name CHAR, author_id INT) on DBD::CSV
ok 337 - execute 	CREATE  TABLE author (author_name CHAR, author_id INT) on DBD::CSV
ok 338 - prepare 	INSERT INTO author VALUES ('Neal Stephenson',1) on DBD::CSV
ok 339 - execute 	INSERT INTO author VALUES ('Neal Stephenson',1) on DBD::CSV
ok 340 - prepare 	INSERT INTO author VALUES ('Vernor Vinge',2) on DBD::CSV
ok 341 - execute 	INSERT INTO author VALUES ('Vernor Vinge',2) on DBD::CSV
ok 342 - prepare 	CREATE  TABLE book (book_title CHAR, author_id INT) on DBD::CSV
ok 343 - execute 	CREATE  TABLE book (book_title CHAR, author_id INT) on DBD::CSV
ok 344 - prepare 	INSERT INTO book VALUES ('Cryptonomicon',1) on DBD::CSV
ok 345 - execute 	INSERT INTO book VALUES ('Cryptonomicon',1) on DBD::CSV
ok 346 - prepare 	INSERT INTO book VALUES ('Dahlgren',3) on DBD::CSV
ok 347 - execute 	INSERT INTO book VALUES ('Dahlgren',3) on DBD::CSV
ok 348 - prepare 	CREATE  TABLE t1 (num INT, name CHAR) on DBD::CSV
ok 349 - execute 	CREATE  TABLE t1 (num INT, name CHAR) on DBD::CSV
ok 350 - prepare 	INSERT INTO t1 VALUES (1,'a') on DBD::CSV
ok 351 - execute 	INSERT INTO t1 VALUES (1,'a') on DBD::CSV
ok 352 - prepare 	INSERT INTO t1 VALUES (2,'b') on DBD::CSV
ok 353 - execute 	INSERT INTO t1 VALUES (2,'b') on DBD::CSV
ok 354 - prepare 	INSERT INTO t1 VALUES (3,'c') on DBD::CSV
ok 355 - execute 	INSERT INTO t1 VALUES (3,'c') on DBD::CSV
ok 356 - prepare 	CREATE  TABLE t2 (num INT, wert CHAR) on DBD::CSV
ok 357 - execute 	CREATE  TABLE t2 (num INT, wert CHAR) on DBD::CSV
ok 358 - prepare 	INSERT INTO t2 VALUES (1,'xxx') on DBD::CSV
ok 359 - execute 	INSERT INTO t2 VALUES (1,'xxx') on DBD::CSV
ok 360 - prepare 	INSERT INTO t2 VALUES (3,'yyy') on DBD::CSV
ok 361 - execute 	INSERT INTO t2 VALUES (3,'yyy') on DBD::CSV
ok 362 - prepare 	INSERT INTO t2 VALUES (5,'zzz') on DBD::CSV
ok 363 - execute 	INSERT INTO t2 VALUES (5,'zzz') on DBD::CSV
ok 364 - prepare 	CREATE  TABLE APPL (id INT, applname CHAR, appluniq CHAR, version CHAR, appl_type CHAR) on DBD::CSV
ok 365 - execute 	CREATE  TABLE APPL (id INT, applname CHAR, appluniq CHAR, version CHAR, appl_type CHAR) on DBD::CSV
ok 366 - prepare 	INSERT INTO APPL VALUES ( 1, 'ZQF', 'ZFQLIN', '10.2.0.4', 'Oracle DB') on DBD::CSV
ok 367 - execute 	INSERT INTO APPL VALUES ( 1, 'ZQF', 'ZFQLIN', '10.2.0.4', 'Oracle DB') on DBD::CSV
ok 368 - prepare 	INSERT INTO APPL VALUES ( 2, 'YRA', 'YRA-UX', '10.2.0.2', 'Oracle DB') on DBD::CSV
ok 369 - execute 	INSERT INTO APPL VALUES ( 2, 'YRA', 'YRA-UX', '10.2.0.2', 'Oracle DB') on DBD::CSV
ok 370 - prepare 	INSERT INTO APPL VALUES ( 3, 'PRN1', 'PRN1-4.B2', '1.1.22', 'CUPS' ) on DBD::CSV
ok 371 - execute 	INSERT INTO APPL VALUES ( 3, 'PRN1', 'PRN1-4.B2', '1.1.22', 'CUPS' ) on DBD::CSV
ok 372 - prepare 	INSERT INTO APPL VALUES ( 4, 'PRN2', 'PRN2-4.B2', '1.1.22', 'CUPS' ) on DBD::CSV
ok 373 - execute 	INSERT INTO APPL VALUES ( 4, 'PRN2', 'PRN2-4.B2', '1.1.22', 'CUPS' ) on DBD::CSV
ok 374 - prepare 	INSERT INTO APPL VALUES ( 5, 'PRN1', 'PRN1-4.B1', '1.1.22', 'CUPS' ) on DBD::CSV
ok 375 - execute 	INSERT INTO APPL VALUES ( 5, 'PRN1', 'PRN1-4.B1', '1.1.22', 'CUPS' ) on DBD::CSV
ok 376 - prepare 	INSERT INTO APPL VALUES ( 7, 'PRN2', 'PRN2-4.B1', '1.1.22', 'CUPS' ) on DBD::CSV
ok 377 - execute 	INSERT INTO APPL VALUES ( 7, 'PRN2', 'PRN2-4.B1', '1.1.22', 'CUPS' ) on DBD::CSV
ok 378 - prepare 	INSERT INTO APPL VALUES ( 8, 'sql-stmt', 'SQL::Statement', '1.21', 'Project Web-Site') on DBD::CSV
ok 379 - execute 	INSERT INTO APPL VALUES ( 8, 'sql-stmt', 'SQL::Statement', '1.21', 'Project Web-Site') on DBD::CSV
ok 380 - prepare 	INSERT INTO APPL VALUES ( 9, 'cpan.org', 'http://www.cpan.org/', '1.0', 'Web-Site') on DBD::CSV
ok 381 - execute 	INSERT INTO APPL VALUES ( 9, 'cpan.org', 'http://www.cpan.org/', '1.0', 'Web-Site') on DBD::CSV
ok 382 - prepare 	INSERT INTO APPL VALUES (10, 'httpd', 'cpan-apache', '2.2.13', 'Web-Server') on DBD::CSV
ok 383 - execute 	INSERT INTO APPL VALUES (10, 'httpd', 'cpan-apache', '2.2.13', 'Web-Server') on DBD::CSV
ok 384 - prepare 	INSERT INTO APPL VALUES (11, 'cpan-mods', 'cpan-mods', '8.4.1', 'PostgreSQL DB') on DBD::CSV
ok 385 - execute 	INSERT INTO APPL VALUES (11, 'cpan-mods', 'cpan-mods', '8.4.1', 'PostgreSQL DB') on DBD::CSV
ok 386 - prepare 	INSERT INTO APPL VALUES (12, 'cpan-authors', 'cpan-authors', '8.4.1', 'PostgreSQL DB') on DBD::CSV
ok 387 - execute 	INSERT INTO APPL VALUES (12, 'cpan-authors', 'cpan-authors', '8.4.1', 'PostgreSQL DB') on DBD::CSV
ok 388 - prepare 	CREATE  TABLE NODE (id INT, nodename CHAR, os CHAR, version CHAR) on DBD::CSV
ok 389 - execute 	CREATE  TABLE NODE (id INT, nodename CHAR, os CHAR, version CHAR) on DBD::CSV
ok 390 - prepare 	INSERT INTO NODE VALUES ( 1, 'ernie', 'RHEL', '5.2') on DBD::CSV
ok 391 - execute 	INSERT INTO NODE VALUES ( 1, 'ernie', 'RHEL', '5.2') on DBD::CSV
ok 392 - prepare 	INSERT INTO NODE VALUES ( 2, 'bert', 'RHEL', '5.2') on DBD::CSV
ok 393 - execute 	INSERT INTO NODE VALUES ( 2, 'bert', 'RHEL', '5.2') on DBD::CSV
ok 394 - prepare 	INSERT INTO NODE VALUES ( 3, 'statler', 'FreeBSD', '7.2') on DBD::CSV
ok 395 - execute 	INSERT INTO NODE VALUES ( 3, 'statler', 'FreeBSD', '7.2') on DBD::CSV
ok 396 - prepare 	INSERT INTO NODE VALUES ( 4, 'waldorf', 'FreeBSD', '7.2') on DBD::CSV
ok 397 - execute 	INSERT INTO NODE VALUES ( 4, 'waldorf', 'FreeBSD', '7.2') on DBD::CSV
ok 398 - prepare 	INSERT INTO NODE VALUES ( 5, 'piggy', 'NetBSD', '5.0.2') on DBD::CSV
ok 399 - execute 	INSERT INTO NODE VALUES ( 5, 'piggy', 'NetBSD', '5.0.2') on DBD::CSV
ok 400 - prepare 	INSERT INTO NODE VALUES ( 6, 'kermit', 'NetBSD', '5.0.2') on DBD::CSV
ok 401 - execute 	INSERT INTO NODE VALUES ( 6, 'kermit', 'NetBSD', '5.0.2') on DBD::CSV
ok 402 - prepare 	INSERT INTO NODE VALUES ( 7, 'samson', 'NetBSD', '5.0.2') on DBD::CSV
ok 403 - execute 	INSERT INTO NODE VALUES ( 7, 'samson', 'NetBSD', '5.0.2') on DBD::CSV
ok 404 - prepare 	INSERT INTO NODE VALUES ( 8, 'tiffy', 'NetBSD', '5.0.2') on DBD::CSV
ok 405 - execute 	INSERT INTO NODE VALUES ( 8, 'tiffy', 'NetBSD', '5.0.2') on DBD::CSV
ok 406 - prepare 	INSERT INTO NODE VALUES ( 9, 'rowlf', 'Debian Lenny', '5.0') on DBD::CSV
ok 407 - execute 	INSERT INTO NODE VALUES ( 9, 'rowlf', 'Debian Lenny', '5.0') on DBD::CSV
ok 408 - prepare 	INSERT INTO NODE VALUES (10, 'fozzy', 'Debian Lenny', '5.0') on DBD::CSV
ok 409 - execute 	INSERT INTO NODE VALUES (10, 'fozzy', 'Debian Lenny', '5.0') on DBD::CSV
ok 410 - prepare 	CREATE  TABLE PREC (id INT, appl_id INT, node_id INT, precedence INT) on DBD::CSV
ok 411 - execute 	CREATE  TABLE PREC (id INT, appl_id INT, node_id INT, precedence INT) on DBD::CSV
ok 412 - prepare 	INSERT INTO PREC VALUES ( 1,  1,  1, 1) on DBD::CSV
ok 413 - execute 	INSERT INTO PREC VALUES ( 1,  1,  1, 1) on DBD::CSV
ok 414 - prepare 	INSERT INTO PREC VALUES ( 2,  1,  2, 2) on DBD::CSV
ok 415 - execute 	INSERT INTO PREC VALUES ( 2,  1,  2, 2) on DBD::CSV
ok 416 - prepare 	INSERT INTO PREC VALUES ( 3,  2,  2, 1) on DBD::CSV
ok 417 - execute 	INSERT INTO PREC VALUES ( 3,  2,  2, 1) on DBD::CSV
ok 418 - prepare 	INSERT INTO PREC VALUES ( 4,  2,  1, 2) on DBD::CSV
ok 419 - execute 	INSERT INTO PREC VALUES ( 4,  2,  1, 2) on DBD::CSV
ok 420 - prepare 	INSERT INTO PREC VALUES ( 5,  3,  5, 1) on DBD::CSV
ok 421 - execute 	INSERT INTO PREC VALUES ( 5,  3,  5, 1) on DBD::CSV
ok 422 - prepare 	INSERT INTO PREC VALUES ( 6,  3,  7, 2) on DBD::CSV
ok 423 - execute 	INSERT INTO PREC VALUES ( 6,  3,  7, 2) on DBD::CSV
ok 424 - prepare 	INSERT INTO PREC VALUES ( 7,  4,  6, 1) on DBD::CSV
ok 425 - execute 	INSERT INTO PREC VALUES ( 7,  4,  6, 1) on DBD::CSV
ok 426 - prepare 	INSERT INTO PREC VALUES ( 8,  4,  8, 2) on DBD::CSV
ok 427 - execute 	INSERT INTO PREC VALUES ( 8,  4,  8, 2) on DBD::CSV
ok 428 - prepare 	INSERT INTO PREC VALUES ( 9,  5,  7, 1) on DBD::CSV
ok 429 - execute 	INSERT INTO PREC VALUES ( 9,  5,  7, 1) on DBD::CSV
ok 430 - prepare 	INSERT INTO PREC VALUES (10,  5,  5, 2) on DBD::CSV
ok 431 - execute 	INSERT INTO PREC VALUES (10,  5,  5, 2) on DBD::CSV
ok 432 - prepare 	INSERT INTO PREC VALUES (11,  6,  8, 1) on DBD::CSV
ok 433 - execute 	INSERT INTO PREC VALUES (11,  6,  8, 1) on DBD::CSV
ok 434 - prepare 	INSERT INTO PREC VALUES (12,  7,  6, 2) on DBD::CSV
ok 435 - execute 	INSERT INTO PREC VALUES (12,  7,  6, 2) on DBD::CSV
ok 436 - prepare 	INSERT INTO PREC VALUES (13, 10,  9, 1) on DBD::CSV
ok 437 - execute 	INSERT INTO PREC VALUES (13, 10,  9, 1) on DBD::CSV
ok 438 - prepare 	INSERT INTO PREC VALUES (14, 10, 10, 1) on DBD::CSV
ok 439 - execute 	INSERT INTO PREC VALUES (14, 10, 10, 1) on DBD::CSV
ok 440 - prepare 	INSERT INTO PREC VALUES (15,  8,  9, 1) on DBD::CSV
ok 441 - execute 	INSERT INTO PREC VALUES (15,  8,  9, 1) on DBD::CSV
ok 442 - prepare 	INSERT INTO PREC VALUES (16,  8, 10, 1) on DBD::CSV
ok 443 - execute 	INSERT INTO PREC VALUES (16,  8, 10, 1) on DBD::CSV
ok 444 - prepare 	INSERT INTO PREC VALUES (17,  9,  9, 1) on DBD::CSV
ok 445 - execute 	INSERT INTO PREC VALUES (17,  9,  9, 1) on DBD::CSV
ok 446 - prepare 	INSERT INTO PREC VALUES (18,  9, 10, 1) on DBD::CSV
ok 447 - execute 	INSERT INTO PREC VALUES (18,  9, 10, 1) on DBD::CSV
ok 448 - prepare 	INSERT INTO PREC VALUES (19, 11,  3, 1) on DBD::CSV
ok 449 - execute 	INSERT INTO PREC VALUES (19, 11,  3, 1) on DBD::CSV
ok 450 - prepare 	INSERT INTO PREC VALUES (20, 11,  4, 2) on DBD::CSV
ok 451 - execute 	INSERT INTO PREC VALUES (20, 11,  4, 2) on DBD::CSV
ok 452 - prepare 	INSERT INTO PREC VALUES (21, 12,  4, 1) on DBD::CSV
ok 453 - execute 	INSERT INTO PREC VALUES (21, 12,  4, 1) on DBD::CSV
ok 454 - prepare 	INSERT INTO PREC VALUES (22, 12,  3, 2) on DBD::CSV
ok 455 - execute 	INSERT INTO PREC VALUES (22, 12,  3, 2) on DBD::CSV
ok 456 - prepare 	CREATE  TABLE LANDSCAPE (id INT, landscapename CHAR) on DBD::CSV
ok 457 - execute 	CREATE  TABLE LANDSCAPE (id INT, landscapename CHAR) on DBD::CSV
ok 458 - prepare 	INSERT INTO LANDSCAPE VALUES (1, 'Logistic') on DBD::CSV
ok 459 - execute 	INSERT INTO LANDSCAPE VALUES (1, 'Logistic') on DBD::CSV
ok 460 - prepare 	INSERT INTO LANDSCAPE VALUES (2, 'Infrastructure') on DBD::CSV
ok 461 - execute 	INSERT INTO LANDSCAPE VALUES (2, 'Infrastructure') on DBD::CSV
ok 462 - prepare 	INSERT INTO LANDSCAPE VALUES (3, 'CPAN') on DBD::CSV
ok 463 - execute 	INSERT INTO LANDSCAPE VALUES (3, 'CPAN') on DBD::CSV
ok 464 - prepare 	CREATE  TABLE CONTACT (id INT, surname CHAR, familyname CHAR, phone CHAR, userid CHAR, mailaddr CHAR) on DBD::CSV
ok 465 - execute 	CREATE  TABLE CONTACT (id INT, surname CHAR, familyname CHAR, phone CHAR, userid CHAR, mailaddr CHAR) on DBD::CSV
ok 466 - prepare 	INSERT INTO CONTACT VALUES ( 1, 'Hans Peter', 'Mueller', '12345', 'HPMUE', 'hp-mueller@here.com') on DBD::CSV
ok 467 - execute 	INSERT INTO CONTACT VALUES ( 1, 'Hans Peter', 'Mueller', '12345', 'HPMUE', 'hp-mueller@here.com') on DBD::CSV
ok 468 - prepare 	INSERT INTO CONTACT VALUES ( 2, 'Knut', 'Inge', '54321', 'KINGE', 'k-inge@here.com') on DBD::CSV
ok 469 - execute 	INSERT INTO CONTACT VALUES ( 2, 'Knut', 'Inge', '54321', 'KINGE', 'k-inge@here.com') on DBD::CSV
ok 470 - prepare 	INSERT INTO CONTACT VALUES ( 3, 'Lola', 'Nguyen', '+1-123-45678-90', 'LNYUG', 'lola.ngyuen@customer.com') on DBD::CSV
ok 471 - execute 	INSERT INTO CONTACT VALUES ( 3, 'Lola', 'Nguyen', '+1-123-45678-90', 'LNYUG', 'lola.ngyuen@customer.com') on DBD::CSV
ok 472 - prepare 	INSERT INTO CONTACT VALUES ( 4, 'Helge', 'Brunft', '+41-123-45678-09', 'HBRUN', 'helge.brunft@external-dc.at') on DBD::CSV
ok 473 - execute 	INSERT INTO CONTACT VALUES ( 4, 'Helge', 'Brunft', '+41-123-45678-09', 'HBRUN', 'helge.brunft@external-dc.at') on DBD::CSV
ok 474 - prepare 	CREATE  TABLE NM_LANDSCAPE (id INT, ls_id INT, obj_id INT, obj_type INT) on DBD::CSV
ok 475 - execute 	CREATE  TABLE NM_LANDSCAPE (id INT, ls_id INT, obj_id INT, obj_type INT) on DBD::CSV
ok 476 - prepare 	INSERT INTO NM_LANDSCAPE VALUES ( 1, 1, 1, 2) on DBD::CSV
ok 477 - execute 	INSERT INTO NM_LANDSCAPE VALUES ( 1, 1, 1, 2) on DBD::CSV
ok 478 - prepare 	INSERT INTO NM_LANDSCAPE VALUES ( 2, 1, 2, 2) on DBD::CSV
ok 479 - execute 	INSERT INTO NM_LANDSCAPE VALUES ( 2, 1, 2, 2) on DBD::CSV
ok 480 - prepare 	INSERT INTO NM_LANDSCAPE VALUES ( 3, 3, 3, 2) on DBD::CSV
ok 481 - execute 	INSERT INTO NM_LANDSCAPE VALUES ( 3, 3, 3, 2) on DBD::CSV
ok 482 - prepare 	INSERT INTO NM_LANDSCAPE VALUES ( 4, 3, 4, 2) on DBD::CSV
ok 483 - execute 	INSERT INTO NM_LANDSCAPE VALUES ( 4, 3, 4, 2) on DBD::CSV
ok 484 - prepare 	INSERT INTO NM_LANDSCAPE VALUES ( 5, 2, 5, 2) on DBD::CSV
ok 485 - execute 	INSERT INTO NM_LANDSCAPE VALUES ( 5, 2, 5, 2) on DBD::CSV
ok 486 - prepare 	INSERT INTO NM_LANDSCAPE VALUES ( 6, 2, 6, 2) on DBD::CSV
ok 487 - execute 	INSERT INTO NM_LANDSCAPE VALUES ( 6, 2, 6, 2) on DBD::CSV
ok 488 - prepare 	INSERT INTO NM_LANDSCAPE VALUES ( 7, 2, 7, 2) on DBD::CSV
ok 489 - execute 	INSERT INTO NM_LANDSCAPE VALUES ( 7, 2, 7, 2) on DBD::CSV
ok 490 - prepare 	INSERT INTO NM_LANDSCAPE VALUES ( 8, 2, 8, 2) on DBD::CSV
ok 491 - execute 	INSERT INTO NM_LANDSCAPE VALUES ( 8, 2, 8, 2) on DBD::CSV
ok 492 - prepare 	INSERT INTO NM_LANDSCAPE VALUES ( 9, 3, 9, 2) on DBD::CSV
ok 493 - execute 	INSERT INTO NM_LANDSCAPE VALUES ( 9, 3, 9, 2) on DBD::CSV
ok 494 - prepare 	INSERT INTO NM_LANDSCAPE VALUES (10, 3,10, 2) on DBD::CSV
ok 495 - execute 	INSERT INTO NM_LANDSCAPE VALUES (10, 3,10, 2) on DBD::CSV
ok 496 - prepare 	INSERT INTO NM_LANDSCAPE VALUES (11, 1, 1, 1) on DBD::CSV
ok 497 - execute 	INSERT INTO NM_LANDSCAPE VALUES (11, 1, 1, 1) on DBD::CSV
ok 498 - prepare 	INSERT INTO NM_LANDSCAPE VALUES (12, 2, 2, 1) on DBD::CSV
ok 499 - execute 	INSERT INTO NM_LANDSCAPE VALUES (12, 2, 2, 1) on DBD::CSV
ok 500 - prepare 	INSERT INTO NM_LANDSCAPE VALUES (13, 2, 2, 3) on DBD::CSV
ok 501 - execute 	INSERT INTO NM_LANDSCAPE VALUES (13, 2, 2, 3) on DBD::CSV
ok 502 - prepare 	INSERT INTO NM_LANDSCAPE VALUES (14, 3, 1, 3) on DBD::CSV
ok 503 - execute 	INSERT INTO NM_LANDSCAPE VALUES (14, 3, 1, 3) on DBD::CSV
ok 504 - prepare 	CREATE  TABLE APPL_CONTACT (id INT, contact_id INT, appl_id INT, contact_type CHAR) on DBD::CSV
ok 505 - execute 	CREATE  TABLE APPL_CONTACT (id INT, contact_id INT, appl_id INT, contact_type CHAR) on DBD::CSV
ok 506 - prepare 	INSERT INTO APPL_CONTACT VALUES (1, 3, 1, 'OWNER') on DBD::CSV
ok 507 - execute 	INSERT INTO APPL_CONTACT VALUES (1, 3, 1, 'OWNER') on DBD::CSV
ok 508 - prepare 	INSERT INTO APPL_CONTACT VALUES (2, 3, 2, 'OWNER') on DBD::CSV
ok 509 - execute 	INSERT INTO APPL_CONTACT VALUES (2, 3, 2, 'OWNER') on DBD::CSV
ok 510 - prepare 	INSERT INTO APPL_CONTACT VALUES (3, 4, 3, 'ADMIN') on DBD::CSV
ok 511 - execute 	INSERT INTO APPL_CONTACT VALUES (3, 4, 3, 'ADMIN') on DBD::CSV
ok 512 - prepare 	INSERT INTO APPL_CONTACT VALUES (4, 4, 4, 'ADMIN') on DBD::CSV
ok 513 - execute 	INSERT INTO APPL_CONTACT VALUES (4, 4, 4, 'ADMIN') on DBD::CSV
ok 514 - prepare 	INSERT INTO APPL_CONTACT VALUES (5, 4, 5, 'ADMIN') on DBD::CSV
ok 515 - execute 	INSERT INTO APPL_CONTACT VALUES (5, 4, 5, 'ADMIN') on DBD::CSV
ok 516 - prepare 	INSERT INTO APPL_CONTACT VALUES (6, 4, 6, 'ADMIN') on DBD::CSV
ok 517 - execute 	INSERT INTO APPL_CONTACT VALUES (6, 4, 6, 'ADMIN') on DBD::CSV
ok 518 - prepare SELECT pname,sname FROM Prof NATURAL JOIN Subject using DBD::CSV
ok 519 - execute SELECT pname,sname FROM Prof NATURAL JOIN Subject using DBD::CSV
ok 520 - NATURAL JOIN - with named columns in select list
ok 521 - prepare SELECT * FROM Prof NATURAL JOIN Subject using DBD::CSV
ok 522 - execute SELECT * FROM Prof NATURAL JOIN Subject using DBD::CSV
ok 523 - NATURAL JOIN - with select list = *
ok 524 - prepare SELECT UPPER(pname) AS P,Prof.pid,pname,sname FROM Prof NATURAL JOIN Subject using DBD::CSV
ok 525 - execute SELECT UPPER(pname) AS P,Prof.pid,pname,sname FROM Prof NATURAL JOIN Subject using DBD::CSV
ok 526 - NATURAL JOIN - with computed columns
ok 527 - prepare SELECT UPPER(pname) AS P,pid,pname,sname FROM Prof NATURAL JOIN Subject using DBD::CSV
ok 528 - execute SELECT UPPER(pname) AS P,pid,pname,sname FROM Prof NATURAL JOIN Subject using DBD::CSV
ok 529 - NATURAL JOIN - with no specifier on join column
ok 530 - prepare SELECT UPPER(pname) AS P,pid,pname,sname FROM Prof JOIN Subject using (pid) using DBD::CSV
ok 531 - execute SELECT UPPER(pname) AS P,pid,pname,sname FROM Prof JOIN Subject using (pid) using DBD::CSV
ok 532 - INNER JOIN - with no specifier on join column
ok 533 - prepare SELECT * FROM Prof LEFT JOIN Subject USING(pid) using DBD::CSV
ok 534 - execute SELECT * FROM Prof LEFT JOIN Subject USING(pid) using DBD::CSV
ok 535 - LEFT JOIN
ok 536 - prepare SELECT pid,pname,sname FROM Prof LEFT JOIN Subject USING(pid) using DBD::CSV
ok 537 - execute SELECT pid,pname,sname FROM Prof LEFT JOIN Subject USING(pid) using DBD::CSV
ok 538 - LEFT JOIN - enumerated columns
ok 539 - prepare SELECT subject.pid,pname,sname FROM Prof LEFT JOIN Subject USING(pid) using DBD::CSV
ok 540 - execute SELECT subject.pid,pname,sname FROM Prof LEFT JOIN Subject USING(pid) using DBD::CSV
ok 541 - LEFT JOIN - perversely intentionally mis-enumerated columns
ok 542 - prepare SELECT subject.pid, pname, sname FROM prof LEFT JOIN subject USING(pid) using DBD::CSV
ok 543 - execute SELECT subject.pid, pname, sname FROM prof LEFT JOIN subject USING(pid) using DBD::CSV
ok 544 - LEFT JOIN - lower case keywords
ok 545 - prepare SELECT * FROM Prof RIGHT JOIN Subject USING(pid) using DBD::CSV
ok 546 - execute SELECT * FROM Prof RIGHT JOIN Subject USING(pid) using DBD::CSV
ok 547 - RIGHT JOIN
ok 548 - prepare SELECT pid,sname,pname FROM Prof RIGHT JOIN Subject USING(pid) using DBD::CSV
ok 549 - execute SELECT pid,sname,pname FROM Prof RIGHT JOIN Subject USING(pid) using DBD::CSV
ok 550 - RIGHT JOIN - enumerated columns
ok 551 - prepare SELECT * FROM Prof FULL JOIN Subject USING(pid) using DBD::CSV
ok 552 - execute SELECT * FROM Prof FULL JOIN Subject USING(pid) using DBD::CSV
ok 553 - FULL JOIN
ok 554 - prepare SELECT * FROM Prof AS P,Subject AS S WHERE P.pid=S.pid using DBD::CSV
ok 555 - execute SELECT * FROM Prof AS P,Subject AS S WHERE P.pid=S.pid using DBD::CSV
ok 556 - IMPLICIT JOIN - two tables
ok 557 - prepare SELECT *
# 		    FROM Prof AS P,Subject AS S,Room AS R
# 		   WHERE P.pid=S.pid
# 		     AND P.pid=R.pid using DBD::CSV
ok 558 - execute SELECT *
# 		    FROM Prof AS P,Subject AS S,Room AS R
# 		   WHERE P.pid=S.pid
# 		     AND P.pid=R.pid using DBD::CSV
ok 559 - IMPLICIT JOIN - three tables
ok 560 - prepare SELECT * FROM author NATURAL JOIN book using DBD::CSV
ok 561 - execute SELECT * FROM author NATURAL JOIN book using DBD::CSV
ok 562 - Columns in NATURAL JOIN - on unique id's with select list = *
ok 563 - NATURAL JOIN - on unique id's with select list = *
ok 564 - prepare SELECT * FROM t1 CROSS JOIN t2 using DBD::CSV
ok 565 - execute SELECT * FROM t1 CROSS JOIN t2 using DBD::CSV
ok 566 - Columns in CROSS JOIN with select list = *
ok 567 - CROSS JOIN with select list = *
ok 568 - prepare SELECT * FROM t1 INNER JOIN t2 ON t1.num = t2.num using DBD::CSV
ok 569 - execute SELECT * FROM t1 INNER JOIN t2 ON t1.num = t2.num using DBD::CSV
ok 570 - Columns in INNER JOIN with select list = *
ok 571 - INNER JOIN with select list = *
ok 572 - prepare SELECT * FROM t1 INNER JOIN t2 USING (num) using DBD::CSV
ok 573 - execute SELECT * FROM t1 INNER JOIN t2 USING (num) using DBD::CSV
ok 574 - Columns in INNER JOINS (USING) with select list = *
ok 575 - INNER JOINS (USING) with select list = *
ok 576 - prepare SELECT * FROM t1 NATURAL INNER JOIN t2 using DBD::CSV
ok 577 - execute SELECT * FROM t1 NATURAL INNER JOIN t2 using DBD::CSV
ok 578 - Columns in INNER JOINS (NATURAL) with select list = *
ok 579 - INNER JOINS (NATURAL) with select list = *
ok 580 - prepare SELECT * FROM t1 LEFT JOIN t2 ON t1.num = t2.num using DBD::CSV
ok 581 - execute SELECT * FROM t1 LEFT JOIN t2 ON t1.num = t2.num using DBD::CSV
ok 582 - Columns in LEFT JOINS (using ON condition) with select list = *
ok 583 - LEFT JOINS (using ON condition) with select list = *
ok 584 - prepare SELECT * FROM t1 LEFT JOIN t2 USING (num) using DBD::CSV
ok 585 - execute SELECT * FROM t1 LEFT JOIN t2 USING (num) using DBD::CSV
ok 586 - Columns in LEFT JOINS (USING (num) condition) with select list = *
ok 587 - LEFT JOINS (USING (num) condition) with select list = *
ok 588 - prepare SELECT * FROM t1 RIGHT JOIN t2 ON t1.num = t2.num using DBD::CSV
ok 589 - execute SELECT * FROM t1 RIGHT JOIN t2 ON t1.num = t2.num using DBD::CSV
ok 590 - Columns in Right Joins (using ON condition) with select list = *
ok 591 - Right Joins (using ON condition) with select list = *
ok 592 - prepare SELECT * FROM t2 LEFT JOIN t1 ON t1.num = t2.num using DBD::CSV
ok 593 - execute SELECT * FROM t2 LEFT JOIN t1 ON t1.num = t2.num using DBD::CSV
ok 594 - Columns in Left Joins (reverse former Right Join) with select list = *
ok 595 - Left Joins (reverse former Right Join) with select list = *
ok 596 - prepare SELECT * FROM t1 FULL JOIN t2 ON t1.num = t2.num using DBD::CSV
ok 597 - execute SELECT * FROM t1 FULL JOIN t2 ON t1.num = t2.num using DBD::CSV
ok 598 - Columns in Full Joins (using ON condition) with select list = *
ok 599 - Full Joins (using ON condition) with select list = *
ok 600 - prepare SELECT * FROM t1 LEFT JOIN t2 ON t1.num = t2.num AND t2.wert = 'xxx' using DBD::CSV
ok 601 - execute SELECT * FROM t1 LEFT JOIN t2 ON t1.num = t2.num AND t2.wert = 'xxx' using DBD::CSV
ok 602 - Columns in Left Joins (using ON t1.num = t2.num AND t2.wert = "xxx") with select list = *
not ok 603 - 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 635.
#     Structures begin differing at:
#          $got->[2][2] = '3'
#     $expected->[2][2] = undef
ok 604 - prepare SELECT * FROM t1 LEFT JOIN t2 ON t1.num = t2.num WHERE (t2.wert = 'xxx' OR t2.wert IS NULL) using DBD::CSV
ok 605 - execute SELECT * FROM t1 LEFT JOIN t2 ON t1.num = t2.num WHERE (t2.wert = 'xxx' OR t2.wert IS NULL) using DBD::CSV
ok 606 - Columns in Left Joins (using ON t1.num = t2.num WHERE (t2.wert = "xxx" OR t2.wert IS NULL)) with select list = *
not ok 607 - 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 635.
#     Structures begin differing at:
#          $got->[2] = Does not exist
#     $expected->[2] = ARRAY(0x1ce7c80)
ok 608 - 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::CSV
ok 609 - 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::CSV
ok 610 - DEFAULT INNER (1) with named columns
ok 611 - 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::CSV
ok 612 - 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::CSV
ok 613 - DEFAULT INNER (2) with named columns
ok 614 - 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::CSV
ok 615 - 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::CSV
ok 616 - DEFAULT INNER (3) with named columns
ok 617 - 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::CSV
ok 618 - 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::CSV
ok 619 - DEFAULT INNER (4) with named columns
ok 620 - 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::CSV
ok 621 - 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::CSV
ok 622 - DEFAULT INNER (5) with named columns
ok 623 - prepare 	CREATE TEMP TABLE Prof (pname CHAR, pid INT) on DBD::File
ok 624 - execute 	CREATE TEMP TABLE Prof (pname CHAR, pid INT) on DBD::File
ok 625 - prepare 	INSERT INTO Prof VALUES ('Sue', 1) on DBD::File
ok 626 - execute 	INSERT INTO Prof VALUES ('Sue', 1) on DBD::File
ok 627 - prepare 	INSERT INTO Prof VALUES ('Bob', 2) on DBD::File
ok 628 - execute 	INSERT INTO Prof VALUES ('Bob', 2) on DBD::File
ok 629 - prepare 	INSERT INTO Prof VALUES ('Tom', 3) on DBD::File
ok 630 - execute 	INSERT INTO Prof VALUES ('Tom', 3) on DBD::File
ok 631 - prepare 	CREATE TEMP TABLE Subject (sname CHAR, pid INT) on DBD::File
ok 632 - execute 	CREATE TEMP TABLE Subject (sname CHAR, pid INT) on DBD::File
ok 633 - prepare 	INSERT INTO Subject VALUES ('Chem', 1) on DBD::File
ok 634 - execute 	INSERT INTO Subject VALUES ('Chem', 1) on DBD::File
ok 635 - prepare 	INSERT INTO Subject VALUES ('Bio', 2) on DBD::File
ok 636 - execute 	INSERT INTO Subject VALUES ('Bio', 2) on DBD::File
ok 637 - prepare 	INSERT INTO Subject VALUES ('Math', 2) on DBD::File
ok 638 - execute 	INSERT INTO Subject VALUES ('Math', 2) on DBD::File
ok 639 - prepare 	INSERT INTO Subject VALUES ('English', 4) on DBD::File
ok 640 - execute 	INSERT INTO Subject VALUES ('English', 4) on DBD::File
ok 641 - prepare 	CREATE TEMP TABLE Room (rname CHAR, pid INT) on DBD::File
ok 642 - execute 	CREATE TEMP TABLE Room (rname CHAR, pid INT) on DBD::File
ok 643 - prepare 	INSERT INTO Room VALUES ('1C', 1) on DBD::File
ok 644 - execute 	INSERT INTO Room VALUES ('1C', 1) on DBD::File
ok 645 - prepare 	INSERT INTO Room VALUES ('2B', 2) on DBD::File
ok 646 - execute 	INSERT INTO Room VALUES ('2B', 2) on DBD::File
ok 647 - prepare 	CREATE TEMP TABLE author (author_name CHAR, author_id INT) on DBD::File
ok 648 - execute 	CREATE TEMP TABLE author (author_name CHAR, author_id INT) on DBD::File
ok 649 - prepare 	INSERT INTO author VALUES ('Neal Stephenson',1) on DBD::File
ok 650 - execute 	INSERT INTO author VALUES ('Neal Stephenson',1) on DBD::File
ok 651 - prepare 	INSERT INTO author VALUES ('Vernor Vinge',2) on DBD::File
ok 652 - execute 	INSERT INTO author VALUES ('Vernor Vinge',2) on DBD::File
ok 653 - prepare 	CREATE TEMP TABLE book (book_title CHAR, author_id INT) on DBD::File
ok 654 - execute 	CREATE TEMP TABLE book (book_title CHAR, author_id INT) on DBD::File
ok 655 - prepare 	INSERT INTO book VALUES ('Cryptonomicon',1) on DBD::File
ok 656 - execute 	INSERT INTO book VALUES ('Cryptonomicon',1) on DBD::File
ok 657 - prepare 	INSERT INTO book VALUES ('Dahlgren',3) on DBD::File
ok 658 - execute 	INSERT INTO book VALUES ('Dahlgren',3) on DBD::File
ok 659 - prepare 	CREATE TEMP TABLE t1 (num INT, name CHAR) on DBD::File
ok 660 - execute 	CREATE TEMP TABLE t1 (num INT, name CHAR) on DBD::File
ok 661 - prepare 	INSERT INTO t1 VALUES (1,'a') on DBD::File
ok 662 - execute 	INSERT INTO t1 VALUES (1,'a') on DBD::File
ok 663 - prepare 	INSERT INTO t1 VALUES (2,'b') on DBD::File
ok 664 - execute 	INSERT INTO t1 VALUES (2,'b') on DBD::File
ok 665 - prepare 	INSERT INTO t1 VALUES (3,'c') on DBD::File
ok 666 - execute 	INSERT INTO t1 VALUES (3,'c') on DBD::File
ok 667 - prepare 	CREATE TEMP TABLE t2 (num INT, wert CHAR) on DBD::File
ok 668 - execute 	CREATE TEMP TABLE t2 (num INT, wert CHAR) on DBD::File
ok 669 - prepare 	INSERT INTO t2 VALUES (1,'xxx') on DBD::File
ok 670 - execute 	INSERT INTO t2 VALUES (1,'xxx') on DBD::File
ok 671 - prepare 	INSERT INTO t2 VALUES (3,'yyy') on DBD::File
ok 672 - execute 	INSERT INTO t2 VALUES (3,'yyy') on DBD::File
ok 673 - prepare 	INSERT INTO t2 VALUES (5,'zzz') on DBD::File
ok 674 - execute 	INSERT INTO t2 VALUES (5,'zzz') on DBD::File
ok 675 - prepare 	CREATE TEMP TABLE APPL (id INT, applname CHAR, appluniq CHAR, version CHAR, appl_type CHAR) on DBD::File
ok 676 - execute 	CREATE TEMP TABLE APPL (id INT, applname CHAR, appluniq CHAR, version CHAR, appl_type CHAR) on DBD::File
ok 677 - prepare 	INSERT INTO APPL VALUES ( 1, 'ZQF', 'ZFQLIN', '10.2.0.4', 'Oracle DB') on DBD::File
ok 678 - execute 	INSERT INTO APPL VALUES ( 1, 'ZQF', 'ZFQLIN', '10.2.0.4', 'Oracle DB') on DBD::File
ok 679 - prepare 	INSERT INTO APPL VALUES ( 2, 'YRA', 'YRA-UX', '10.2.0.2', 'Oracle DB') on DBD::File
ok 680 - execute 	INSERT INTO APPL VALUES ( 2, 'YRA', 'YRA-UX', '10.2.0.2', 'Oracle DB') on DBD::File
ok 681 - prepare 	INSERT INTO APPL VALUES ( 3, 'PRN1', 'PRN1-4.B2', '1.1.22', 'CUPS' ) on DBD::File
ok 682 - execute 	INSERT INTO APPL VALUES ( 3, 'PRN1', 'PRN1-4.B2', '1.1.22', 'CUPS' ) on DBD::File
ok 683 - prepare 	INSERT INTO APPL VALUES ( 4, 'PRN2', 'PRN2-4.B2', '1.1.22', 'CUPS' ) on DBD::File
ok 684 - execute 	INSERT INTO APPL VALUES ( 4, 'PRN2', 'PRN2-4.B2', '1.1.22', 'CUPS' ) on DBD::File
ok 685 - prepare 	INSERT INTO APPL VALUES ( 5, 'PRN1', 'PRN1-4.B1', '1.1.22', 'CUPS' ) on DBD::File
ok 686 - execute 	INSERT INTO APPL VALUES ( 5, 'PRN1', 'PRN1-4.B1', '1.1.22', 'CUPS' ) on DBD::File
ok 687 - prepare 	INSERT INTO APPL VALUES ( 7, 'PRN2', 'PRN2-4.B1', '1.1.22', 'CUPS' ) on DBD::File
ok 688 - execute 	INSERT INTO APPL VALUES ( 7, 'PRN2', 'PRN2-4.B1', '1.1.22', 'CUPS' ) on DBD::File
ok 689 - prepare 	INSERT INTO APPL VALUES ( 8, 'sql-stmt', 'SQL::Statement', '1.21', 'Project Web-Site') on DBD::File
ok 690 - execute 	INSERT INTO APPL VALUES ( 8, 'sql-stmt', 'SQL::Statement', '1.21', 'Project Web-Site') on DBD::File
ok 691 - prepare 	INSERT INTO APPL VALUES ( 9, 'cpan.org', 'http://www.cpan.org/', '1.0', 'Web-Site') on DBD::File
ok 692 - execute 	INSERT INTO APPL VALUES ( 9, 'cpan.org', 'http://www.cpan.org/', '1.0', 'Web-Site') on DBD::File
ok 693 - prepare 	INSERT INTO APPL VALUES (10, 'httpd', 'cpan-apache', '2.2.13', 'Web-Server') on DBD::File
ok 694 - execute 	INSERT INTO APPL VALUES (10, 'httpd', 'cpan-apache', '2.2.13', 'Web-Server') on DBD::File
ok 695 - prepare 	INSERT INTO APPL VALUES (11, 'cpan-mods', 'cpan-mods', '8.4.1', 'PostgreSQL DB') on DBD::File
ok 696 - execute 	INSERT INTO APPL VALUES (11, 'cpan-mods', 'cpan-mods', '8.4.1', 'PostgreSQL DB') on DBD::File
ok 697 - prepare 	INSERT INTO APPL VALUES (12, 'cpan-authors', 'cpan-authors', '8.4.1', 'PostgreSQL DB') on DBD::File
ok 698 - execute 	INSERT INTO APPL VALUES (12, 'cpan-authors', 'cpan-authors', '8.4.1', 'PostgreSQL DB') on DBD::File
ok 699 - prepare 	CREATE TEMP TABLE NODE (id INT, nodename CHAR, os CHAR, version CHAR) on DBD::File
ok 700 - execute 	CREATE TEMP TABLE NODE (id INT, nodename CHAR, os CHAR, version CHAR) on DBD::File
ok 701 - prepare 	INSERT INTO NODE VALUES ( 1, 'ernie', 'RHEL', '5.2') on DBD::File
ok 702 - execute 	INSERT INTO NODE VALUES ( 1, 'ernie', 'RHEL', '5.2') on DBD::File
ok 703 - prepare 	INSERT INTO NODE VALUES ( 2, 'bert', 'RHEL', '5.2') on DBD::File
ok 704 - execute 	INSERT INTO NODE VALUES ( 2, 'bert', 'RHEL', '5.2') on DBD::File
ok 705 - prepare 	INSERT INTO NODE VALUES ( 3, 'statler', 'FreeBSD', '7.2') on DBD::File
ok 706 - execute 	INSERT INTO NODE VALUES ( 3, 'statler', 'FreeBSD', '7.2') on DBD::File
ok 707 - prepare 	INSERT INTO NODE VALUES ( 4, 'waldorf', 'FreeBSD', '7.2') on DBD::File
ok 708 - execute 	INSERT INTO NODE VALUES ( 4, 'waldorf', 'FreeBSD', '7.2') on DBD::File
ok 709 - prepare 	INSERT INTO NODE VALUES ( 5, 'piggy', 'NetBSD', '5.0.2') on DBD::File
ok 710 - execute 	INSERT INTO NODE VALUES ( 5, 'piggy', 'NetBSD', '5.0.2') on DBD::File
ok 711 - prepare 	INSERT INTO NODE VALUES ( 6, 'kermit', 'NetBSD', '5.0.2') on DBD::File
ok 712 - execute 	INSERT INTO NODE VALUES ( 6, 'kermit', 'NetBSD', '5.0.2') on DBD::File
ok 713 - prepare 	INSERT INTO NODE VALUES ( 7, 'samson', 'NetBSD', '5.0.2') on DBD::File
ok 714 - execute 	INSERT INTO NODE VALUES ( 7, 'samson', 'NetBSD', '5.0.2') on DBD::File
ok 715 - prepare 	INSERT INTO NODE VALUES ( 8, 'tiffy', 'NetBSD', '5.0.2') on DBD::File
ok 716 - execute 	INSERT INTO NODE VALUES ( 8, 'tiffy', 'NetBSD', '5.0.2') on DBD::File
ok 717 - prepare 	INSERT INTO NODE VALUES ( 9, 'rowlf', 'Debian Lenny', '5.0') on DBD::File
ok 718 - execute 	INSERT INTO NODE VALUES ( 9, 'rowlf', 'Debian Lenny', '5.0') on DBD::File
ok 719 - prepare 	INSERT INTO NODE VALUES (10, 'fozzy', 'Debian Lenny', '5.0') on DBD::File
ok 720 - execute 	INSERT INTO NODE VALUES (10, 'fozzy', 'Debian Lenny', '5.0') on DBD::File
ok 721 - prepare 	CREATE TEMP TABLE PREC (id INT, appl_id INT, node_id INT, precedence INT) on DBD::File
ok 722 - execute 	CREATE TEMP TABLE PREC (id INT, appl_id INT, node_id INT, precedence INT) on DBD::File
ok 723 - prepare 	INSERT INTO PREC VALUES ( 1,  1,  1, 1) on DBD::File
ok 724 - execute 	INSERT INTO PREC VALUES ( 1,  1,  1, 1) on DBD::File
ok 725 - prepare 	INSERT INTO PREC VALUES ( 2,  1,  2, 2) on DBD::File
ok 726 - execute 	INSERT INTO PREC VALUES ( 2,  1,  2, 2) on DBD::File
ok 727 - prepare 	INSERT INTO PREC VALUES ( 3,  2,  2, 1) on DBD::File
ok 728 - execute 	INSERT INTO PREC VALUES ( 3,  2,  2, 1) on DBD::File
ok 729 - prepare 	INSERT INTO PREC VALUES ( 4,  2,  1, 2) on DBD::File
ok 730 - execute 	INSERT INTO PREC VALUES ( 4,  2,  1, 2) on DBD::File
ok 731 - prepare 	INSERT INTO PREC VALUES ( 5,  3,  5, 1) on DBD::File
ok 732 - execute 	INSERT INTO PREC VALUES ( 5,  3,  5, 1) on DBD::File
ok 733 - prepare 	INSERT INTO PREC VALUES ( 6,  3,  7, 2) on DBD::File
ok 734 - execute 	INSERT INTO PREC VALUES ( 6,  3,  7, 2) on DBD::File
ok 735 - prepare 	INSERT INTO PREC VALUES ( 7,  4,  6, 1) on DBD::File
ok 736 - execute 	INSERT INTO PREC VALUES ( 7,  4,  6, 1) on DBD::File
ok 737 - prepare 	INSERT INTO PREC VALUES ( 8,  4,  8, 2) on DBD::File
ok 738 - execute 	INSERT INTO PREC VALUES ( 8,  4,  8, 2) on DBD::File
ok 739 - prepare 	INSERT INTO PREC VALUES ( 9,  5,  7, 1) on DBD::File
ok 740 - execute 	INSERT INTO PREC VALUES ( 9,  5,  7, 1) on DBD::File
ok 741 - prepare 	INSERT INTO PREC VALUES (10,  5,  5, 2) on DBD::File
ok 742 - execute 	INSERT INTO PREC VALUES (10,  5,  5, 2) on DBD::File
ok 743 - prepare 	INSERT INTO PREC VALUES (11,  6,  8, 1) on DBD::File
ok 744 - execute 	INSERT INTO PREC VALUES (11,  6,  8, 1) on DBD::File
ok 745 - prepare 	INSERT INTO PREC VALUES (12,  7,  6, 2) on DBD::File
ok 746 - execute 	INSERT INTO PREC VALUES (12,  7,  6, 2) on DBD::File
ok 747 - prepare 	INSERT INTO PREC VALUES (13, 10,  9, 1) on DBD::File
ok 748 - execute 	INSERT INTO PREC VALUES (13, 10,  9, 1) on DBD::File
ok 749 - prepare 	INSERT INTO PREC VALUES (14, 10, 10, 1) on DBD::File
ok 750 - execute 	INSERT INTO PREC VALUES (14, 10, 10, 1) on DBD::File
ok 751 - prepare 	INSERT INTO PREC VALUES (15,  8,  9, 1) on DBD::File
ok 752 - execute 	INSERT INTO PREC VALUES (15,  8,  9, 1) on DBD::File
ok 753 - prepare 	INSERT INTO PREC VALUES (16,  8, 10, 1) on DBD::File
ok 754 - execute 	INSERT INTO PREC VALUES (16,  8, 10, 1) on DBD::File
ok 755 - prepare 	INSERT INTO PREC VALUES (17,  9,  9, 1) on DBD::File
ok 756 - execute 	INSERT INTO PREC VALUES (17,  9,  9, 1) on DBD::File
ok 757 - prepare 	INSERT INTO PREC VALUES (18,  9, 10, 1) on DBD::File
ok 758 - execute 	INSERT INTO PREC VALUES (18,  9, 10, 1) on DBD::File
ok 759 - prepare 	INSERT INTO PREC VALUES (19, 11,  3, 1) on DBD::File
ok 760 - execute 	INSERT INTO PREC VALUES (19, 11,  3, 1) on DBD::File
ok 761 - prepare 	INSERT INTO PREC VALUES (20, 11,  4, 2) on DBD::File
ok 762 - execute 	INSERT INTO PREC VALUES (20, 11,  4, 2) on DBD::File
ok 763 - prepare 	INSERT INTO PREC VALUES (21, 12,  4, 1) on DBD::File
ok 764 - execute 	INSERT INTO PREC VALUES (21, 12,  4, 1) on DBD::File
ok 765 - prepare 	INSERT INTO PREC VALUES (22, 12,  3, 2) on DBD::File
ok 766 - execute 	INSERT INTO PREC VALUES (22, 12,  3, 2) on DBD::File
ok 767 - prepare 	CREATE TEMP TABLE LANDSCAPE (id INT, landscapename CHAR) on DBD::File
ok 768 - execute 	CREATE TEMP TABLE LANDSCAPE (id INT, landscapename CHAR) on DBD::File
ok 769 - prepare 	INSERT INTO LANDSCAPE VALUES (1, 'Logistic') on DBD::File
ok 770 - execute 	INSERT INTO LANDSCAPE VALUES (1, 'Logistic') on DBD::File
ok 771 - prepare 	INSERT INTO LANDSCAPE VALUES (2, 'Infrastructure') on DBD::File
ok 772 - execute 	INSERT INTO LANDSCAPE VALUES (2, 'Infrastructure') on DBD::File
ok 773 - prepare 	INSERT INTO LANDSCAPE VALUES (3, 'CPAN') on DBD::File
ok 774 - execute 	INSERT INTO LANDSCAPE VALUES (3, 'CPAN') on DBD::File
ok 775 - prepare 	CREATE TEMP TABLE CONTACT (id INT, surname CHAR, familyname CHAR, phone CHAR, userid CHAR, mailaddr CHAR) on DBD::File
ok 776 - execute 	CREATE TEMP TABLE CONTACT (id INT, surname CHAR, familyname CHAR, phone CHAR, userid CHAR, mailaddr CHAR) on DBD::File
ok 777 - prepare 	INSERT INTO CONTACT VALUES ( 1, 'Hans Peter', 'Mueller', '12345', 'HPMUE', 'hp-mueller@here.com') on DBD::File
ok 778 - execute 	INSERT INTO CONTACT VALUES ( 1, 'Hans Peter', 'Mueller', '12345', 'HPMUE', 'hp-mueller@here.com') on DBD::File
ok 779 - prepare 	INSERT INTO CONTACT VALUES ( 2, 'Knut', 'Inge', '54321', 'KINGE', 'k-inge@here.com') on DBD::File
ok 780 - execute 	INSERT INTO CONTACT VALUES ( 2, 'Knut', 'Inge', '54321', 'KINGE', 'k-inge@here.com') on DBD::File
ok 781 - prepare 	INSERT INTO CONTACT VALUES ( 3, 'Lola', 'Nguyen', '+1-123-45678-90', 'LNYUG', 'lola.ngyuen@customer.com') on DBD::File
ok 782 - execute 	INSERT INTO CONTACT VALUES ( 3, 'Lola', 'Nguyen', '+1-123-45678-90', 'LNYUG', 'lola.ngyuen@customer.com') on DBD::File
ok 783 - prepare 	INSERT INTO CONTACT VALUES ( 4, 'Helge', 'Brunft', '+41-123-45678-09', 'HBRUN', 'helge.brunft@external-dc.at') on DBD::File
ok 784 - execute 	INSERT INTO CONTACT VALUES ( 4, 'Helge', 'Brunft', '+41-123-45678-09', 'HBRUN', 'helge.brunft@external-dc.at') on DBD::File
ok 785 - prepare 	CREATE TEMP TABLE NM_LANDSCAPE (id INT, ls_id INT, obj_id INT, obj_type INT) on DBD::File
ok 786 - execute 	CREATE TEMP TABLE NM_LANDSCAPE (id INT, ls_id INT, obj_id INT, obj_type INT) on DBD::File
ok 787 - prepare 	INSERT INTO NM_LANDSCAPE VALUES ( 1, 1, 1, 2) on DBD::File
ok 788 - execute 	INSERT INTO NM_LANDSCAPE VALUES ( 1, 1, 1, 2) on DBD::File
ok 789 - prepare 	INSERT INTO NM_LANDSCAPE VALUES ( 2, 1, 2, 2) on DBD::File
ok 790 - execute 	INSERT INTO NM_LANDSCAPE VALUES ( 2, 1, 2, 2) on DBD::File
ok 791 - prepare 	INSERT INTO NM_LANDSCAPE VALUES ( 3, 3, 3, 2) on DBD::File
ok 792 - execute 	INSERT INTO NM_LANDSCAPE VALUES ( 3, 3, 3, 2) on DBD::File
ok 793 - prepare 	INSERT INTO NM_LANDSCAPE VALUES ( 4, 3, 4, 2) on DBD::File
ok 794 - execute 	INSERT INTO NM_LANDSCAPE VALUES ( 4, 3, 4, 2) on DBD::File
ok 795 - prepare 	INSERT INTO NM_LANDSCAPE VALUES ( 5, 2, 5, 2) on DBD::File
ok 796 - execute 	INSERT INTO NM_LANDSCAPE VALUES ( 5, 2, 5, 2) on DBD::File
ok 797 - prepare 	INSERT INTO NM_LANDSCAPE VALUES ( 6, 2, 6, 2) on DBD::File
ok 798 - execute 	INSERT INTO NM_LANDSCAPE VALUES ( 6, 2, 6, 2) on DBD::File
ok 799 - prepare 	INSERT INTO NM_LANDSCAPE VALUES ( 7, 2, 7, 2) on DBD::File
ok 800 - execute 	INSERT INTO NM_LANDSCAPE VALUES ( 7, 2, 7, 2) on DBD::File
ok 801 - prepare 	INSERT INTO NM_LANDSCAPE VALUES ( 8, 2, 8, 2) on DBD::File
ok 802 - execute 	INSERT INTO NM_LANDSCAPE VALUES ( 8, 2, 8, 2) on DBD::File
ok 803 - prepare 	INSERT INTO NM_LANDSCAPE VALUES ( 9, 3, 9, 2) on DBD::File
ok 804 - execute 	INSERT INTO NM_LANDSCAPE VALUES ( 9, 3, 9, 2) on DBD::File
ok 805 - prepare 	INSERT INTO NM_LANDSCAPE VALUES (10, 3,10, 2) on DBD::File
ok 806 - execute 	INSERT INTO NM_LANDSCAPE VALUES (10, 3,10, 2) on DBD::File
ok 807 - prepare 	INSERT INTO NM_LANDSCAPE VALUES (11, 1, 1, 1) on DBD::File
ok 808 - execute 	INSERT INTO NM_LANDSCAPE VALUES (11, 1, 1, 1) on DBD::File
ok 809 - prepare 	INSERT INTO NM_LANDSCAPE VALUES (12, 2, 2, 1) on DBD::File
ok 810 - execute 	INSERT INTO NM_LANDSCAPE VALUES (12, 2, 2, 1) on DBD::File
ok 811 - prepare 	INSERT INTO NM_LANDSCAPE VALUES (13, 2, 2, 3) on DBD::File
ok 812 - execute 	INSERT INTO NM_LANDSCAPE VALUES (13, 2, 2, 3) on DBD::File
ok 813 - prepare 	INSERT INTO NM_LANDSCAPE VALUES (14, 3, 1, 3) on DBD::File
ok 814 - execute 	INSERT INTO NM_LANDSCAPE VALUES (14, 3, 1, 3) on DBD::File
ok 815 - prepare 	CREATE TEMP TABLE APPL_CONTACT (id INT, contact_id INT, appl_id INT, contact_type CHAR) on DBD::File
ok 816 - execute 	CREATE TEMP TABLE APPL_CONTACT (id INT, contact_id INT, appl_id INT, contact_type CHAR) on DBD::File
ok 817 - prepare 	INSERT INTO APPL_CONTACT VALUES (1, 3, 1, 'OWNER') on DBD::File
ok 818 - execute 	INSERT INTO APPL_CONTACT VALUES (1, 3, 1, 'OWNER') on DBD::File
ok 819 - prepare 	INSERT INTO APPL_CONTACT VALUES (2, 3, 2, 'OWNER') on DBD::File
ok 820 - execute 	INSERT INTO APPL_CONTACT VALUES (2, 3, 2, 'OWNER') on DBD::File
ok 821 - prepare 	INSERT INTO APPL_CONTACT VALUES (3, 4, 3, 'ADMIN') on DBD::File
ok 822 - execute 	INSERT INTO APPL_CONTACT VALUES (3, 4, 3, 'ADMIN') on DBD::File
ok 823 - prepare 	INSERT INTO APPL_CONTACT VALUES (4, 4, 4, 'ADMIN') on DBD::File
ok 824 - execute 	INSERT INTO APPL_CONTACT VALUES (4, 4, 4, 'ADMIN') on DBD::File
ok 825 - prepare 	INSERT INTO APPL_CONTACT VALUES (5, 4, 5, 'ADMIN') on DBD::File
ok 826 - execute 	INSERT INTO APPL_CONTACT VALUES (5, 4, 5, 'ADMIN') on DBD::File
ok 827 - prepare 	INSERT INTO APPL_CONTACT VALUES (6, 4, 6, 'ADMIN') on DBD::File
ok 828 - execute 	INSERT INTO APPL_CONTACT VALUES (6, 4, 6, 'ADMIN') on DBD::File
ok 829 - prepare SELECT pname,sname FROM Prof NATURAL JOIN Subject using DBD::File
ok 830 - execute SELECT pname,sname FROM Prof NATURAL JOIN Subject using DBD::File
ok 831 - NATURAL JOIN - with named columns in select list
ok 832 - prepare SELECT * FROM Prof NATURAL JOIN Subject using DBD::File
ok 833 - execute SELECT * FROM Prof NATURAL JOIN Subject using DBD::File
ok 834 - NATURAL JOIN - with select list = *
ok 835 - prepare SELECT UPPER(pname) AS P,Prof.pid,pname,sname FROM Prof NATURAL JOIN Subject using DBD::File
ok 836 - execute SELECT UPPER(pname) AS P,Prof.pid,pname,sname FROM Prof NATURAL JOIN Subject using DBD::File
ok 837 - NATURAL JOIN - with computed columns
ok 838 - prepare SELECT UPPER(pname) AS P,pid,pname,sname FROM Prof NATURAL JOIN Subject using DBD::File
ok 839 - execute SELECT UPPER(pname) AS P,pid,pname,sname FROM Prof NATURAL JOIN Subject using DBD::File
ok 840 - NATURAL JOIN - with no specifier on join column
ok 841 - prepare SELECT UPPER(pname) AS P,pid,pname,sname FROM Prof JOIN Subject using (pid) using DBD::File
ok 842 - execute SELECT UPPER(pname) AS P,pid,pname,sname FROM Prof JOIN Subject using (pid) using DBD::File
ok 843 - INNER JOIN - with no specifier on join column
ok 844 - prepare SELECT * FROM Prof LEFT JOIN Subject USING(pid) using DBD::File
ok 845 - execute SELECT * FROM Prof LEFT JOIN Subject USING(pid) using DBD::File
ok 846 - LEFT JOIN
ok 847 - prepare SELECT pid,pname,sname FROM Prof LEFT JOIN Subject USING(pid) using DBD::File
ok 848 - execute SELECT pid,pname,sname FROM Prof LEFT JOIN Subject USING(pid) using DBD::File
ok 849 - LEFT JOIN - enumerated columns
ok 850 - prepare SELECT subject.pid,pname,sname FROM Prof LEFT JOIN Subject USING(pid) using DBD::File
ok 851 - execute SELECT subject.pid,pname,sname FROM Prof LEFT JOIN Subject USING(pid) using DBD::File
ok 852 - LEFT JOIN - perversely intentionally mis-enumerated columns
ok 853 - prepare SELECT subject.pid, pname, sname FROM prof LEFT JOIN subject USING(pid) using DBD::File
ok 854 - execute SELECT subject.pid, pname, sname FROM prof LEFT JOIN subject USING(pid) using DBD::File
ok 855 - LEFT JOIN - lower case keywords
ok 856 - prepare SELECT * FROM Prof RIGHT JOIN Subject USING(pid) using DBD::File
ok 857 - execute SELECT * FROM Prof RIGHT JOIN Subject USING(pid) using DBD::File
ok 858 - RIGHT JOIN
ok 859 - prepare SELECT pid,sname,pname FROM Prof RIGHT JOIN Subject USING(pid) using DBD::File
ok 860 - execute SELECT pid,sname,pname FROM Prof RIGHT JOIN Subject USING(pid) using DBD::File
ok 861 - RIGHT JOIN - enumerated columns
ok 862 - prepare SELECT * FROM Prof FULL JOIN Subject USING(pid) using DBD::File
ok 863 - execute SELECT * FROM Prof FULL JOIN Subject USING(pid) using DBD::File
ok 864 - FULL JOIN
ok 865 - prepare SELECT * FROM Prof AS P,Subject AS S WHERE P.pid=S.pid using DBD::File
ok 866 - execute SELECT * FROM Prof AS P,Subject AS S WHERE P.pid=S.pid using DBD::File
ok 867 - IMPLICIT JOIN - two tables
ok 868 - 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 869 - 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 870 - IMPLICIT JOIN - three tables
ok 871 - prepare SELECT * FROM author NATURAL JOIN book using DBD::File
ok 872 - execute SELECT * FROM author NATURAL JOIN book using DBD::File
ok 873 - Columns in NATURAL JOIN - on unique id's with select list = *
ok 874 - NATURAL JOIN - on unique id's with select list = *
ok 875 - prepare SELECT * FROM t1 CROSS JOIN t2 using DBD::File
ok 876 - execute SELECT * FROM t1 CROSS JOIN t2 using DBD::File
ok 877 - Columns in CROSS JOIN with select list = *
ok 878 - CROSS JOIN with select list = *
ok 879 - prepare SELECT * FROM t1 INNER JOIN t2 ON t1.num = t2.num using DBD::File
ok 880 - execute SELECT * FROM t1 INNER JOIN t2 ON t1.num = t2.num using DBD::File
ok 881 - Columns in INNER JOIN with select list = *
ok 882 - INNER JOIN with select list = *
ok 883 - prepare SELECT * FROM t1 INNER JOIN t2 USING (num) using DBD::File
ok 884 - execute SELECT * FROM t1 INNER JOIN t2 USING (num) using DBD::File
ok 885 - Columns in INNER JOINS (USING) with select list = *
ok 886 - INNER JOINS (USING) with select list = *
ok 887 - prepare SELECT * FROM t1 NATURAL INNER JOIN t2 using DBD::File
ok 888 - execute SELECT * FROM t1 NATURAL INNER JOIN t2 using DBD::File
ok 889 - Columns in INNER JOINS (NATURAL) with select list = *
ok 890 - INNER JOINS (NATURAL) with select list = *
ok 891 - prepare SELECT * FROM t1 LEFT JOIN t2 ON t1.num = t2.num using DBD::File
ok 892 - execute SELECT * FROM t1 LEFT JOIN t2 ON t1.num = t2.num using DBD::File
ok 893 - Columns in LEFT JOINS (using ON condition) with select list = *
ok 894 - LEFT JOINS (using ON condition) with select list = *
ok 895 - prepare SELECT * FROM t1 LEFT JOIN t2 USING (num) using DBD::File
ok 896 - execute SELECT * FROM t1 LEFT JOIN t2 USING (num) using DBD::File
ok 897 - Columns in LEFT JOINS (USING (num) condition) with select list = *
ok 898 - LEFT JOINS (USING (num) condition) with select list = *
ok 899 - prepare SELECT * FROM t1 RIGHT JOIN t2 ON t1.num = t2.num using DBD::File
ok 900 - execute SELECT * FROM t1 RIGHT JOIN t2 ON t1.num = t2.num using DBD::File
ok 901 - Columns in Right Joins (using ON condition) with select list = *
ok 902 - Right Joins (using ON condition) with select list = *
ok 903 - prepare SELECT * FROM t2 LEFT JOIN t1 ON t1.num = t2.num using DBD::File
ok 904 - execute SELECT * FROM t2 LEFT JOIN t1 ON t1.num = t2.num using DBD::File
ok 905 - Columns in Left Joins (reverse former Right Join) with select list = *
ok 906 - Left Joins (reverse former Right Join) with select list = *
ok 907 - prepare SELECT * FROM t1 FULL JOIN t2 ON t1.num = t2.num using DBD::File
ok 908 - execute SELECT * FROM t1 FULL JOIN t2 ON t1.num = t2.num using DBD::File
ok 909 - Columns in Full Joins (using ON condition) with select list = *
ok 910 - Full Joins (using ON condition) with select list = *
ok 911 - prepare SELECT * FROM t1 LEFT JOIN t2 ON t1.num = t2.num AND t2.wert = 'xxx' using DBD::File
ok 912 - execute SELECT * FROM t1 LEFT JOIN t2 ON t1.num = t2.num AND t2.wert = 'xxx' using DBD::File
ok 913 - Columns in Left Joins (using ON t1.num = t2.num AND t2.wert = "xxx") with select list = *
not ok 914 - 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 635.
#     Structures begin differing at:
#          $got->[2][2] = '3'
#     $expected->[2][2] = undef
ok 915 - prepare SELECT * FROM t1 LEFT JOIN t2 ON t1.num = t2.num WHERE (t2.wert = 'xxx' OR t2.wert IS NULL) using DBD::File
ok 916 - execute SELECT * FROM t1 LEFT JOIN t2 ON t1.num = t2.num WHERE (t2.wert = 'xxx' OR t2.wert IS NULL) using DBD::File
ok 917 - Columns in Left Joins (using ON t1.num = t2.num WHERE (t2.wert = "xxx" OR t2.wert IS NULL)) with select list = *
not ok 918 - 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 635.
#     Structures begin differing at:
#          $got->[2] = Does not exist
#     $expected->[2] = ARRAY(0x1dbc598)
ok 919 - 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 920 - 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 921 - DEFAULT INNER (1) with named columns
ok 922 - 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 923 - 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 924 - DEFAULT INNER (2) with named columns
ok 925 - 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 926 - 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 927 - DEFAULT INNER (3) with named columns
ok 928 - 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 929 - 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 930 - DEFAULT INNER (4) with named columns
ok 931 - 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 932 - 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 933 - DEFAULT INNER (5) with named columns
ok 934 - prepare 	CREATE  TABLE Prof (pname CHAR, pid INT) on DBD::DBM
ok 935 - execute 	CREATE  TABLE Prof (pname CHAR, pid INT) on DBD::DBM
ok 936 - prepare 	INSERT INTO Prof VALUES ('Sue', 1) on DBD::DBM
ok 937 - execute 	INSERT INTO Prof VALUES ('Sue', 1) on DBD::DBM
ok 938 - prepare 	INSERT INTO Prof VALUES ('Bob', 2) on DBD::DBM
ok 939 - execute 	INSERT INTO Prof VALUES ('Bob', 2) on DBD::DBM
ok 940 - prepare 	INSERT INTO Prof VALUES ('Tom', 3) on DBD::DBM
ok 941 - execute 	INSERT INTO Prof VALUES ('Tom', 3) on DBD::DBM
ok 942 - prepare 	CREATE  TABLE Subject (sname CHAR, pid INT) on DBD::DBM
ok 943 - execute 	CREATE  TABLE Subject (sname CHAR, pid INT) on DBD::DBM
ok 944 - prepare 	INSERT INTO Subject VALUES ('Chem', 1) on DBD::DBM
ok 945 - execute 	INSERT INTO Subject VALUES ('Chem', 1) on DBD::DBM
ok 946 - prepare 	INSERT INTO Subject VALUES ('Bio', 2) on DBD::DBM
ok 947 - execute 	INSERT INTO Subject VALUES ('Bio', 2) on DBD::DBM
ok 948 - prepare 	INSERT INTO Subject VALUES ('Math', 2) on DBD::DBM
ok 949 - execute 	INSERT INTO Subject VALUES ('Math', 2) on DBD::DBM
ok 950 - prepare 	INSERT INTO Subject VALUES ('English', 4) on DBD::DBM
ok 951 - execute 	INSERT INTO Subject VALUES ('English', 4) on DBD::DBM
ok 952 - prepare 	CREATE  TABLE Room (rname CHAR, pid INT) on DBD::DBM
ok 953 - execute 	CREATE  TABLE Room (rname CHAR, pid INT) on DBD::DBM
ok 954 - prepare 	INSERT INTO Room VALUES ('1C', 1) on DBD::DBM
ok 955 - execute 	INSERT INTO Room VALUES ('1C', 1) on DBD::DBM
ok 956 - prepare 	INSERT INTO Room VALUES ('2B', 2) on DBD::DBM
ok 957 - execute 	INSERT INTO Room VALUES ('2B', 2) on DBD::DBM
ok 958 - prepare 	CREATE  TABLE author (author_name CHAR, author_id INT) on DBD::DBM
ok 959 - execute 	CREATE  TABLE author (author_name CHAR, author_id INT) on DBD::DBM
ok 960 - prepare 	INSERT INTO author VALUES ('Neal Stephenson',1) on DBD::DBM
ok 961 - execute 	INSERT INTO author VALUES ('Neal Stephenson',1) on DBD::DBM
ok 962 - prepare 	INSERT INTO author VALUES ('Vernor Vinge',2) on DBD::DBM
ok 963 - execute 	INSERT INTO author VALUES ('Vernor Vinge',2) on DBD::DBM
ok 964 - prepare 	CREATE  TABLE book (book_title CHAR, author_id INT) on DBD::DBM
ok 965 - execute 	CREATE  TABLE book (book_title CHAR, author_id INT) on DBD::DBM
ok 966 - prepare 	INSERT INTO book VALUES ('Cryptonomicon',1) on DBD::DBM
ok 967 - execute 	INSERT INTO book VALUES ('Cryptonomicon',1) on DBD::DBM
ok 968 - prepare 	INSERT INTO book VALUES ('Dahlgren',3) on DBD::DBM
ok 969 - execute 	INSERT INTO book VALUES ('Dahlgren',3) on DBD::DBM
ok 970 - prepare 	CREATE  TABLE t1 (num INT, name CHAR) on DBD::DBM
ok 971 - execute 	CREATE  TABLE t1 (num INT, name CHAR) on DBD::DBM
ok 972 - prepare 	INSERT INTO t1 VALUES (1,'a') on DBD::DBM
ok 973 - execute 	INSERT INTO t1 VALUES (1,'a') on DBD::DBM
ok 974 - prepare 	INSERT INTO t1 VALUES (2,'b') on DBD::DBM
ok 975 - execute 	INSERT INTO t1 VALUES (2,'b') on DBD::DBM
ok 976 - prepare 	INSERT INTO t1 VALUES (3,'c') on DBD::DBM
ok 977 - execute 	INSERT INTO t1 VALUES (3,'c') on DBD::DBM
ok 978 - prepare 	CREATE  TABLE t2 (num INT, wert CHAR) on DBD::DBM
ok 979 - execute 	CREATE  TABLE t2 (num INT, wert CHAR) on DBD::DBM
ok 980 - prepare 	INSERT INTO t2 VALUES (1,'xxx') on DBD::DBM
ok 981 - execute 	INSERT INTO t2 VALUES (1,'xxx') on DBD::DBM
ok 982 - prepare 	INSERT INTO t2 VALUES (3,'yyy') on DBD::DBM
ok 983 - execute 	INSERT INTO t2 VALUES (3,'yyy') on DBD::DBM
ok 984 - prepare 	INSERT INTO t2 VALUES (5,'zzz') on DBD::DBM
ok 985 - execute 	INSERT INTO t2 VALUES (5,'zzz') on DBD::DBM
ok 986 - prepare 	CREATE  TABLE APPL (id INT, applname CHAR, appluniq CHAR, version CHAR, appl_type CHAR) on DBD::DBM
ok 987 - execute 	CREATE  TABLE APPL (id INT, applname CHAR, appluniq CHAR, version CHAR, appl_type CHAR) on DBD::DBM
ok 988 - prepare 	INSERT INTO APPL VALUES ( 1, 'ZQF', 'ZFQLIN', '10.2.0.4', 'Oracle DB') on DBD::DBM
ok 989 - execute 	INSERT INTO APPL VALUES ( 1, 'ZQF', 'ZFQLIN', '10.2.0.4', 'Oracle DB') on DBD::DBM
ok 990 - prepare 	INSERT INTO APPL VALUES ( 2, 'YRA', 'YRA-UX', '10.2.0.2', 'Oracle DB') on DBD::DBM
ok 991 - execute 	INSERT INTO APPL VALUES ( 2, 'YRA', 'YRA-UX', '10.2.0.2', 'Oracle DB') on DBD::DBM
ok 992 - prepare 	INSERT INTO APPL VALUES ( 3, 'PRN1', 'PRN1-4.B2', '1.1.22', 'CUPS' ) on DBD::DBM
ok 993 - execute 	INSERT INTO APPL VALUES ( 3, 'PRN1', 'PRN1-4.B2', '1.1.22', 'CUPS' ) on DBD::DBM
ok 994 - prepare 	INSERT INTO APPL VALUES ( 4, 'PRN2', 'PRN2-4.B2', '1.1.22', 'CUPS' ) on DBD::DBM
ok 995 - execute 	INSERT INTO APPL VALUES ( 4, 'PRN2', 'PRN2-4.B2', '1.1.22', 'CUPS' ) on DBD::DBM
ok 996 - prepare 	INSERT INTO APPL VALUES ( 5, 'PRN1', 'PRN1-4.B1', '1.1.22', 'CUPS' ) on DBD::DBM
ok 997 - execute 	INSERT INTO APPL VALUES ( 5, 'PRN1', 'PRN1-4.B1', '1.1.22', 'CUPS' ) on DBD::DBM
ok 998 - prepare 	INSERT INTO APPL VALUES ( 7, 'PRN2', 'PRN2-4.B1', '1.1.22', 'CUPS' ) on DBD::DBM
ok 999 - execute 	INSERT INTO APPL VALUES ( 7, 'PRN2', 'PRN2-4.B1', '1.1.22', 'CUPS' ) on DBD::DBM
ok 1000 - prepare 	INSERT INTO APPL VALUES ( 8, 'sql-stmt', 'SQL::Statement', '1.21', 'Project Web-Site') on DBD::DBM
ok 1001 - execute 	INSERT INTO APPL VALUES ( 8, 'sql-stmt', 'SQL::Statement', '1.21', 'Project Web-Site') on DBD::DBM
ok 1002 - prepare 	INSERT INTO APPL VALUES ( 9, 'cpan.org', 'http://www.cpan.org/', '1.0', 'Web-Site') on DBD::DBM
ok 1003 - execute 	INSERT INTO APPL VALUES ( 9, 'cpan.org', 'http://www.cpan.org/', '1.0', 'Web-Site') on DBD::DBM
ok 1004 - prepare 	INSERT INTO APPL VALUES (10, 'httpd', 'cpan-apache', '2.2.13', 'Web-Server') on DBD::DBM
ok 1005 - execute 	INSERT INTO APPL VALUES (10, 'httpd', 'cpan-apache', '2.2.13', 'Web-Server') on DBD::DBM
ok 1006 - prepare 	INSERT INTO APPL VALUES (11, 'cpan-mods', 'cpan-mods', '8.4.1', 'PostgreSQL DB') on DBD::DBM
ok 1007 - execute 	INSERT INTO APPL VALUES (11, 'cpan-mods', 'cpan-mods', '8.4.1', 'PostgreSQL DB') on DBD::DBM
ok 1008 - prepare 	INSERT INTO APPL VALUES (12, 'cpan-authors', 'cpan-authors', '8.4.1', 'PostgreSQL DB') on DBD::DBM
ok 1009 - execute 	INSERT INTO APPL VALUES (12, 'cpan-authors', 'cpan-authors', '8.4.1', 'PostgreSQL DB') on DBD::DBM
ok 1010 - prepare 	CREATE  TABLE NODE (id INT, nodename CHAR, os CHAR, version CHAR) on DBD::DBM
ok 1011 - execute 	CREATE  TABLE NODE (id INT, nodename CHAR, os CHAR, version CHAR) on DBD::DBM
ok 1012 - prepare 	INSERT INTO NODE VALUES ( 1, 'ernie', 'RHEL', '5.2') on DBD::DBM
ok 1013 - execute 	INSERT INTO NODE VALUES ( 1, 'ernie', 'RHEL', '5.2') on DBD::DBM
ok 1014 - prepare 	INSERT INTO NODE VALUES ( 2, 'bert', 'RHEL', '5.2') on DBD::DBM
ok 1015 - execute 	INSERT INTO NODE VALUES ( 2, 'bert', 'RHEL', '5.2') on DBD::DBM
ok 1016 - prepare 	INSERT INTO NODE VALUES ( 3, 'statler', 'FreeBSD', '7.2') on DBD::DBM
ok 1017 - execute 	INSERT INTO NODE VALUES ( 3, 'statler', 'FreeBSD', '7.2') on DBD::DBM
ok 1018 - prepare 	INSERT INTO NODE VALUES ( 4, 'waldorf', 'FreeBSD', '7.2') on DBD::DBM
ok 1019 - execute 	INSERT INTO NODE VALUES ( 4, 'waldorf', 'FreeBSD', '7.2') on DBD::DBM
ok 1020 - prepare 	INSERT INTO NODE VALUES ( 5, 'piggy', 'NetBSD', '5.0.2') on DBD::DBM
ok 1021 - execute 	INSERT INTO NODE VALUES ( 5, 'piggy', 'NetBSD', '5.0.2') on DBD::DBM
ok 1022 - prepare 	INSERT INTO NODE VALUES ( 6, 'kermit', 'NetBSD', '5.0.2') on DBD::DBM
ok 1023 - execute 	INSERT INTO NODE VALUES ( 6, 'kermit', 'NetBSD', '5.0.2') on DBD::DBM
ok 1024 - prepare 	INSERT INTO NODE VALUES ( 7, 'samson', 'NetBSD', '5.0.2') on DBD::DBM
ok 1025 - execute 	INSERT INTO NODE VALUES ( 7, 'samson', 'NetBSD', '5.0.2') on DBD::DBM
ok 1026 - prepare 	INSERT INTO NODE VALUES ( 8, 'tiffy', 'NetBSD', '5.0.2') on DBD::DBM
ok 1027 - execute 	INSERT INTO NODE VALUES ( 8, 'tiffy', 'NetBSD', '5.0.2') on DBD::DBM
ok 1028 - prepare 	INSERT INTO NODE VALUES ( 9, 'rowlf', 'Debian Lenny', '5.0') on DBD::DBM
ok 1029 - execute 	INSERT INTO NODE VALUES ( 9, 'rowlf', 'Debian Lenny', '5.0') on DBD::DBM
ok 1030 - prepare 	INSERT INTO NODE VALUES (10, 'fozzy', 'Debian Lenny', '5.0') on DBD::DBM
ok 1031 - execute 	INSERT INTO NODE VALUES (10, 'fozzy', 'Debian Lenny', '5.0') on DBD::DBM
ok 1032 - prepare 	CREATE  TABLE PREC (id INT, appl_id INT, node_id INT, precedence INT) on DBD::DBM
ok 1033 - execute 	CREATE  TABLE PREC (id INT, appl_id INT, node_id INT, precedence INT) on DBD::DBM
ok 1034 - prepare 	INSERT INTO PREC VALUES ( 1,  1,  1, 1) on DBD::DBM
ok 1035 - execute 	INSERT INTO PREC VALUES ( 1,  1,  1, 1) on DBD::DBM
ok 1036 - prepare 	INSERT INTO PREC VALUES ( 2,  1,  2, 2) on DBD::DBM
ok 1037 - execute 	INSERT INTO PREC VALUES ( 2,  1,  2, 2) on DBD::DBM
ok 1038 - prepare 	INSERT INTO PREC VALUES ( 3,  2,  2, 1) on DBD::DBM
ok 1039 - execute 	INSERT INTO PREC VALUES ( 3,  2,  2, 1) on DBD::DBM
ok 1040 - prepare 	INSERT INTO PREC VALUES ( 4,  2,  1, 2) on DBD::DBM
ok 1041 - execute 	INSERT INTO PREC VALUES ( 4,  2,  1, 2) on DBD::DBM
ok 1042 - prepare 	INSERT INTO PREC VALUES ( 5,  3,  5, 1) on DBD::DBM
ok 1043 - execute 	INSERT INTO PREC VALUES ( 5,  3,  5, 1) on DBD::DBM
ok 1044 - prepare 	INSERT INTO PREC VALUES ( 6,  3,  7, 2) on DBD::DBM
ok 1045 - execute 	INSERT INTO PREC VALUES ( 6,  3,  7, 2) on DBD::DBM
ok 1046 - prepare 	INSERT INTO PREC VALUES ( 7,  4,  6, 1) on DBD::DBM
ok 1047 - execute 	INSERT INTO PREC VALUES ( 7,  4,  6, 1) on DBD::DBM
ok 1048 - prepare 	INSERT INTO PREC VALUES ( 8,  4,  8, 2) on DBD::DBM
ok 1049 - execute 	INSERT INTO PREC VALUES ( 8,  4,  8, 2) on DBD::DBM
ok 1050 - prepare 	INSERT INTO PREC VALUES ( 9,  5,  7, 1) on DBD::DBM
ok 1051 - execute 	INSERT INTO PREC VALUES ( 9,  5,  7, 1) on DBD::DBM
ok 1052 - prepare 	INSERT INTO PREC VALUES (10,  5,  5, 2) on DBD::DBM
ok 1053 - execute 	INSERT INTO PREC VALUES (10,  5,  5, 2) on DBD::DBM
ok 1054 - prepare 	INSERT INTO PREC VALUES (11,  6,  8, 1) on DBD::DBM
ok 1055 - execute 	INSERT INTO PREC VALUES (11,  6,  8, 1) on DBD::DBM
ok 1056 - prepare 	INSERT INTO PREC VALUES (12,  7,  6, 2) on DBD::DBM
ok 1057 - execute 	INSERT INTO PREC VALUES (12,  7,  6, 2) on DBD::DBM
ok 1058 - prepare 	INSERT INTO PREC VALUES (13, 10,  9, 1) on DBD::DBM
ok 1059 - execute 	INSERT INTO PREC VALUES (13, 10,  9, 1) on DBD::DBM
ok 1060 - prepare 	INSERT INTO PREC VALUES (14, 10, 10, 1) on DBD::DBM
ok 1061 - execute 	INSERT INTO PREC VALUES (14, 10, 10, 1) on DBD::DBM
ok 1062 - prepare 	INSERT INTO PREC VALUES (15,  8,  9, 1) on DBD::DBM
ok 1063 - execute 	INSERT INTO PREC VALUES (15,  8,  9, 1) on DBD::DBM
ok 1064 - prepare 	INSERT INTO PREC VALUES (16,  8, 10, 1) on DBD::DBM
ok 1065 - execute 	INSERT INTO PREC VALUES (16,  8, 10, 1) on DBD::DBM
ok 1066 - prepare 	INSERT INTO PREC VALUES (17,  9,  9, 1) on DBD::DBM
ok 1067 - execute 	INSERT INTO PREC VALUES (17,  9,  9, 1) on DBD::DBM
ok 1068 - prepare 	INSERT INTO PREC VALUES (18,  9, 10, 1) on DBD::DBM
ok 1069 - execute 	INSERT INTO PREC VALUES (18,  9, 10, 1) on DBD::DBM
ok 1070 - prepare 	INSERT INTO PREC VALUES (19, 11,  3, 1) on DBD::DBM
ok 1071 - execute 	INSERT INTO PREC VALUES (19, 11,  3, 1) on DBD::DBM
ok 1072 - prepare 	INSERT INTO PREC VALUES (20, 11,  4, 2) on DBD::DBM
ok 1073 - execute 	INSERT INTO PREC VALUES (20, 11,  4, 2) on DBD::DBM
ok 1074 - prepare 	INSERT INTO PREC VALUES (21, 12,  4, 1) on DBD::DBM
ok 1075 - execute 	INSERT INTO PREC VALUES (21, 12,  4, 1) on DBD::DBM
ok 1076 - prepare 	INSERT INTO PREC VALUES (22, 12,  3, 2) on DBD::DBM
ok 1077 - execute 	INSERT INTO PREC VALUES (22, 12,  3, 2) on DBD::DBM
ok 1078 - prepare 	CREATE  TABLE LANDSCAPE (id INT, landscapename CHAR) on DBD::DBM
ok 1079 - execute 	CREATE  TABLE LANDSCAPE (id INT, landscapename CHAR) on DBD::DBM
ok 1080 - prepare 	INSERT INTO LANDSCAPE VALUES (1, 'Logistic') on DBD::DBM
ok 1081 - execute 	INSERT INTO LANDSCAPE VALUES (1, 'Logistic') on DBD::DBM
ok 1082 - prepare 	INSERT INTO LANDSCAPE VALUES (2, 'Infrastructure') on DBD::DBM
ok 1083 - execute 	INSERT INTO LANDSCAPE VALUES (2, 'Infrastructure') on DBD::DBM
ok 1084 - prepare 	INSERT INTO LANDSCAPE VALUES (3, 'CPAN') on DBD::DBM
ok 1085 - execute 	INSERT INTO LANDSCAPE VALUES (3, 'CPAN') on DBD::DBM
ok 1086 - prepare 	CREATE  TABLE CONTACT (id INT, surname CHAR, familyname CHAR, phone CHAR, userid CHAR, mailaddr CHAR) on DBD::DBM
ok 1087 - execute 	CREATE  TABLE CONTACT (id INT, surname CHAR, familyname CHAR, phone CHAR, userid CHAR, mailaddr CHAR) on DBD::DBM
ok 1088 - prepare 	INSERT INTO CONTACT VALUES ( 1, 'Hans Peter', 'Mueller', '12345', 'HPMUE', 'hp-mueller@here.com') on DBD::DBM
ok 1089 - execute 	INSERT INTO CONTACT VALUES ( 1, 'Hans Peter', 'Mueller', '12345', 'HPMUE', 'hp-mueller@here.com') on DBD::DBM
ok 1090 - prepare 	INSERT INTO CONTACT VALUES ( 2, 'Knut', 'Inge', '54321', 'KINGE', 'k-inge@here.com') on DBD::DBM
ok 1091 - execute 	INSERT INTO CONTACT VALUES ( 2, 'Knut', 'Inge', '54321', 'KINGE', 'k-inge@here.com') on DBD::DBM
ok 1092 - prepare 	INSERT INTO CONTACT VALUES ( 3, 'Lola', 'Nguyen', '+1-123-45678-90', 'LNYUG', 'lola.ngyuen@customer.com') on DBD::DBM
ok 1093 - execute 	INSERT INTO CONTACT VALUES ( 3, 'Lola', 'Nguyen', '+1-123-45678-90', 'LNYUG', 'lola.ngyuen@customer.com') on DBD::DBM
ok 1094 - prepare 	INSERT INTO CONTACT VALUES ( 4, 'Helge', 'Brunft', '+41-123-45678-09', 'HBRUN', 'helge.brunft@external-dc.at') on DBD::DBM
ok 1095 - execute 	INSERT INTO CONTACT VALUES ( 4, 'Helge', 'Brunft', '+41-123-45678-09', 'HBRUN', 'helge.brunft@external-dc.at') on DBD::DBM
ok 1096 - prepare 	CREATE  TABLE NM_LANDSCAPE (id INT, ls_id INT, obj_id INT, obj_type INT) on DBD::DBM
ok 1097 - execute 	CREATE  TABLE NM_LANDSCAPE (id INT, ls_id INT, obj_id INT, obj_type INT) on DBD::DBM
ok 1098 - prepare 	INSERT INTO NM_LANDSCAPE VALUES ( 1, 1, 1, 2) on DBD::DBM
ok 1099 - execute 	INSERT INTO NM_LANDSCAPE VALUES ( 1, 1, 1, 2) on DBD::DBM
ok 1100 - prepare 	INSERT INTO NM_LANDSCAPE VALUES ( 2, 1, 2, 2) on DBD::DBM
ok 1101 - execute 	INSERT INTO NM_LANDSCAPE VALUES ( 2, 1, 2, 2) on DBD::DBM
ok 1102 - prepare 	INSERT INTO NM_LANDSCAPE VALUES ( 3, 3, 3, 2) on DBD::DBM
ok 1103 - execute 	INSERT INTO NM_LANDSCAPE VALUES ( 3, 3, 3, 2) on DBD::DBM
ok 1104 - prepare 	INSERT INTO NM_LANDSCAPE VALUES ( 4, 3, 4, 2) on DBD::DBM
ok 1105 - execute 	INSERT INTO NM_LANDSCAPE VALUES ( 4, 3, 4, 2) on DBD::DBM
ok 1106 - prepare 	INSERT INTO NM_LANDSCAPE VALUES ( 5, 2, 5, 2) on DBD::DBM
ok 1107 - execute 	INSERT INTO NM_LANDSCAPE VALUES ( 5, 2, 5, 2) on DBD::DBM
ok 1108 - prepare 	INSERT INTO NM_LANDSCAPE VALUES ( 6, 2, 6, 2) on DBD::DBM
ok 1109 - execute 	INSERT INTO NM_LANDSCAPE VALUES ( 6, 2, 6, 2) on DBD::DBM
ok 1110 - prepare 	INSERT INTO NM_LANDSCAPE VALUES ( 7, 2, 7, 2) on DBD::DBM
ok 1111 - execute 	INSERT INTO NM_LANDSCAPE VALUES ( 7, 2, 7, 2) on DBD::DBM
ok 1112 - prepare 	INSERT INTO NM_LANDSCAPE VALUES ( 8, 2, 8, 2) on DBD::DBM
ok 1113 - execute 	INSERT INTO NM_LANDSCAPE VALUES ( 8, 2, 8, 2) on DBD::DBM
ok 1114 - prepare 	INSERT INTO NM_LANDSCAPE VALUES ( 9, 3, 9, 2) on DBD::DBM
ok 1115 - execute 	INSERT INTO NM_LANDSCAPE VALUES ( 9, 3, 9, 2) on DBD::DBM
ok 1116 - prepare 	INSERT INTO NM_LANDSCAPE VALUES (10, 3,10, 2) on DBD::DBM
ok 1117 - execute 	INSERT INTO NM_LANDSCAPE VALUES (10, 3,10, 2) on DBD::DBM
ok 1118 - prepare 	INSERT INTO NM_LANDSCAPE VALUES (11, 1, 1, 1) on DBD::DBM
ok 1119 - execute 	INSERT INTO NM_LANDSCAPE VALUES (11, 1, 1, 1) on DBD::DBM
ok 1120 - prepare 	INSERT INTO NM_LANDSCAPE VALUES (12, 2, 2, 1) on DBD::DBM
ok 1121 - execute 	INSERT INTO NM_LANDSCAPE VALUES (12, 2, 2, 1) on DBD::DBM
ok 1122 - prepare 	INSERT INTO NM_LANDSCAPE VALUES (13, 2, 2, 3) on DBD::DBM
ok 1123 - execute 	INSERT INTO NM_LANDSCAPE VALUES (13, 2, 2, 3) on DBD::DBM
ok 1124 - prepare 	INSERT INTO NM_LANDSCAPE VALUES (14, 3, 1, 3) on DBD::DBM
ok 1125 - execute 	INSERT INTO NM_LANDSCAPE VALUES (14, 3, 1, 3) on DBD::DBM
ok 1126 - prepare 	CREATE  TABLE APPL_CONTACT (id INT, contact_id INT, appl_id INT, contact_type CHAR) on DBD::DBM
ok 1127 - execute 	CREATE  TABLE APPL_CONTACT (id INT, contact_id INT, appl_id INT, contact_type CHAR) on DBD::DBM
ok 1128 - prepare 	INSERT INTO APPL_CONTACT VALUES (1, 3, 1, 'OWNER') on DBD::DBM
ok 1129 - execute 	INSERT INTO APPL_CONTACT VALUES (1, 3, 1, 'OWNER') on DBD::DBM
ok 1130 - prepare 	INSERT INTO APPL_CONTACT VALUES (2, 3, 2, 'OWNER') on DBD::DBM
ok 1131 - execute 	INSERT INTO APPL_CONTACT VALUES (2, 3, 2, 'OWNER') on DBD::DBM
ok 1132 - prepare 	INSERT INTO APPL_CONTACT VALUES (3, 4, 3, 'ADMIN') on DBD::DBM
ok 1133 - execute 	INSERT INTO APPL_CONTACT VALUES (3, 4, 3, 'ADMIN') on DBD::DBM
ok 1134 - prepare 	INSERT INTO APPL_CONTACT VALUES (4, 4, 4, 'ADMIN') on DBD::DBM
ok 1135 - execute 	INSERT INTO APPL_CONTACT VALUES (4, 4, 4, 'ADMIN') on DBD::DBM
ok 1136 - prepare 	INSERT INTO APPL_CONTACT VALUES (5, 4, 5, 'ADMIN') on DBD::DBM
ok 1137 - execute 	INSERT INTO APPL_CONTACT VALUES (5, 4, 5, 'ADMIN') on DBD::DBM
ok 1138 - prepare 	INSERT INTO APPL_CONTACT VALUES (6, 4, 6, 'ADMIN') on DBD::DBM
ok 1139 - execute 	INSERT INTO APPL_CONTACT VALUES (6, 4, 6, 'ADMIN') on DBD::DBM
ok 1140 - prepare SELECT pname,sname FROM Prof NATURAL JOIN Subject using DBD::DBM
ok 1141 - execute SELECT pname,sname FROM Prof NATURAL JOIN Subject using DBD::DBM
ok 1142 - NATURAL JOIN - with named columns in select list
ok 1143 - prepare SELECT * FROM Prof NATURAL JOIN Subject using DBD::DBM
ok 1144 - execute SELECT * FROM Prof NATURAL JOIN Subject using DBD::DBM
ok 1145 - NATURAL JOIN - with select list = *
ok 1146 - prepare SELECT UPPER(pname) AS P,Prof.pid,pname,sname FROM Prof NATURAL JOIN Subject using DBD::DBM
ok 1147 - execute SELECT UPPER(pname) AS P,Prof.pid,pname,sname FROM Prof NATURAL JOIN Subject using DBD::DBM
ok 1148 - NATURAL JOIN - with computed columns
ok 1149 - prepare SELECT UPPER(pname) AS P,pid,pname,sname FROM Prof NATURAL JOIN Subject using DBD::DBM
ok 1150 - execute SELECT UPPER(pname) AS P,pid,pname,sname FROM Prof NATURAL JOIN Subject using DBD::DBM
ok 1151 - NATURAL JOIN - with no specifier on join column
ok 1152 - prepare SELECT UPPER(pname) AS P,pid,pname,sname FROM Prof JOIN Subject using (pid) using DBD::DBM
ok 1153 - execute SELECT UPPER(pname) AS P,pid,pname,sname FROM Prof JOIN Subject using (pid) using DBD::DBM
ok 1154 - INNER JOIN - with no specifier on join column
ok 1155 - prepare SELECT * FROM Prof LEFT JOIN Subject USING(pid) using DBD::DBM
ok 1156 - execute SELECT * FROM Prof LEFT JOIN Subject USING(pid) using DBD::DBM
ok 1157 - LEFT JOIN
ok 1158 - prepare SELECT pid,pname,sname FROM Prof LEFT JOIN Subject USING(pid) using DBD::DBM
ok 1159 - execute SELECT pid,pname,sname FROM Prof LEFT JOIN Subject USING(pid) using DBD::DBM
ok 1160 - LEFT JOIN - enumerated columns
ok 1161 - prepare SELECT subject.pid,pname,sname FROM Prof LEFT JOIN Subject USING(pid) using DBD::DBM
ok 1162 - execute SELECT subject.pid,pname,sname FROM Prof LEFT JOIN Subject USING(pid) using DBD::DBM
ok 1163 - LEFT JOIN - perversely intentionally mis-enumerated columns
ok 1164 - prepare SELECT subject.pid, pname, sname FROM prof LEFT JOIN subject USING(pid) using DBD::DBM
ok 1165 - execute SELECT subject.pid, pname, sname FROM prof LEFT JOIN subject USING(pid) using DBD::DBM
ok 1166 - LEFT JOIN - lower case keywords
ok 1167 - prepare SELECT * FROM Prof RIGHT JOIN Subject USING(pid) using DBD::DBM
ok 1168 - execute SELECT * FROM Prof RIGHT JOIN Subject USING(pid) using DBD::DBM
ok 1169 - RIGHT JOIN
ok 1170 - prepare SELECT pid,sname,pname FROM Prof RIGHT JOIN Subject USING(pid) using DBD::DBM
ok 1171 - execute SELECT pid,sname,pname FROM Prof RIGHT JOIN Subject USING(pid) using DBD::DBM
ok 1172 - RIGHT JOIN - enumerated columns
ok 1173 - prepare SELECT * FROM Prof FULL JOIN Subject USING(pid) using DBD::DBM
ok 1174 - execute SELECT * FROM Prof FULL JOIN Subject USING(pid) using DBD::DBM
ok 1175 - FULL JOIN
ok 1176 - prepare SELECT * FROM Prof AS P,Subject AS S WHERE P.pid=S.pid using DBD::DBM
ok 1177 - execute SELECT * FROM Prof AS P,Subject AS S WHERE P.pid=S.pid using DBD::DBM
ok 1178 - IMPLICIT JOIN - two tables
ok 1179 - prepare SELECT *
# 		    FROM Prof AS P,Subject AS S,Room AS R
# 		   WHERE P.pid=S.pid
# 		     AND P.pid=R.pid using DBD::DBM
ok 1180 - execute SELECT *
# 		    FROM Prof AS P,Subject AS S,Room AS R
# 		   WHERE P.pid=S.pid
# 		     AND P.pid=R.pid using DBD::DBM
ok 1181 - IMPLICIT JOIN - three tables
ok 1182 - prepare SELECT * FROM author NATURAL JOIN book using DBD::DBM
ok 1183 - execute SELECT * FROM author NATURAL JOIN book using DBD::DBM
ok 1184 - Columns in NATURAL JOIN - on unique id's with select list = *
ok 1185 - NATURAL JOIN - on unique id's with select list = *
ok 1186 - prepare SELECT * FROM t1 CROSS JOIN t2 using DBD::DBM
ok 1187 - execute SELECT * FROM t1 CROSS JOIN t2 using DBD::DBM
ok 1188 - Columns in CROSS JOIN with select list = *
ok 1189 - CROSS JOIN with select list = *
ok 1190 - prepare SELECT * FROM t1 INNER JOIN t2 ON t1.num = t2.num using DBD::DBM
ok 1191 - execute SELECT * FROM t1 INNER JOIN t2 ON t1.num = t2.num using DBD::DBM
ok 1192 - Columns in INNER JOIN with select list = *
ok 1193 - INNER JOIN with select list = *
ok 1194 - prepare SELECT * FROM t1 INNER JOIN t2 USING (num) using DBD::DBM
ok 1195 - execute SELECT * FROM t1 INNER JOIN t2 USING (num) using DBD::DBM
ok 1196 - Columns in INNER JOINS (USING) with select list = *
ok 1197 - INNER JOINS (USING) with select list = *
ok 1198 - prepare SELECT * FROM t1 NATURAL INNER JOIN t2 using DBD::DBM
ok 1199 - execute SELECT * FROM t1 NATURAL INNER JOIN t2 using DBD::DBM
ok 1200 - Columns in INNER JOINS (NATURAL) with select list = *
ok 1201 - INNER JOINS (NATURAL) with select list = *
ok 1202 - prepare SELECT * FROM t1 LEFT JOIN t2 ON t1.num = t2.num using DBD::DBM
ok 1203 - execute SELECT * FROM t1 LEFT JOIN t2 ON t1.num = t2.num using DBD::DBM
ok 1204 - Columns in LEFT JOINS (using ON condition) with select list = *
ok 1205 - LEFT JOINS (using ON condition) with select list = *
ok 1206 - prepare SELECT * FROM t1 LEFT JOIN t2 USING (num) using DBD::DBM
ok 1207 - execute SELECT * FROM t1 LEFT JOIN t2 USING (num) using DBD::DBM
ok 1208 - Columns in LEFT JOINS (USING (num) condition) with select list = *
ok 1209 - LEFT JOINS (USING (num) condition) with select list = *
ok 1210 - prepare SELECT * FROM t1 RIGHT JOIN t2 ON t1.num = t2.num using DBD::DBM
ok 1211 - execute SELECT * FROM t1 RIGHT JOIN t2 ON t1.num = t2.num using DBD::DBM
ok 1212 - Columns in Right Joins (using ON condition) with select list = *
ok 1213 - Right Joins (using ON condition) with select list = *
ok 1214 - prepare SELECT * FROM t2 LEFT JOIN t1 ON t1.num = t2.num using DBD::DBM
ok 1215 - execute SELECT * FROM t2 LEFT JOIN t1 ON t1.num = t2.num using DBD::DBM
ok 1216 - Columns in Left Joins (reverse former Right Join) with select list = *
ok 1217 - Left Joins (reverse former Right Join) with select list = *
ok 1218 - prepare SELECT * FROM t1 FULL JOIN t2 ON t1.num = t2.num using DBD::DBM
ok 1219 - execute SELECT * FROM t1 FULL JOIN t2 ON t1.num = t2.num using DBD::DBM
ok 1220 - Columns in Full Joins (using ON condition) with select list = *
ok 1221 - Full Joins (using ON condition) with select list = *
ok 1222 - prepare SELECT * FROM t1 LEFT JOIN t2 ON t1.num = t2.num AND t2.wert = 'xxx' using DBD::DBM
ok 1223 - execute SELECT * FROM t1 LEFT JOIN t2 ON t1.num = t2.num AND t2.wert = 'xxx' using DBD::DBM
ok 1224 - Columns in Left Joins (using ON t1.num = t2.num AND t2.wert = "xxx") with select list = *
not ok 1225 - 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 635.
#     Structures begin differing at:
#          $got->[2][2] = '3'
#     $expected->[2][2] = undef
ok 1226 - prepare SELECT * FROM t1 LEFT JOIN t2 ON t1.num = t2.num WHERE (t2.wert = 'xxx' OR t2.wert IS NULL) using DBD::DBM
ok 1227 - execute SELECT * FROM t1 LEFT JOIN t2 ON t1.num = t2.num WHERE (t2.wert = 'xxx' OR t2.wert IS NULL) using DBD::DBM
ok 1228 - Columns in Left Joins (using ON t1.num = t2.num WHERE (t2.wert = "xxx" OR t2.wert IS NULL)) with select list = *
not ok 1229 - 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 635.
#     Structures begin differing at:
#          $got->[2] = Does not exist
#     $expected->[2] = ARRAY(0x1e62e08)
ok 1230 - 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::DBM
ok 1231 - 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::DBM
ok 1232 - DEFAULT INNER (1) with named columns
ok 1233 - 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::DBM
ok 1234 - 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::DBM
ok 1235 - DEFAULT INNER (2) with named columns
ok 1236 - 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::DBM
ok 1237 - 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::DBM
ok 1238 - DEFAULT INNER (3) with named columns
ok 1239 - 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::DBM
ok 1240 - 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::DBM
ok 1241 - DEFAULT INNER (4) with named columns
ok 1242 - 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::DBM
ok 1243 - 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::DBM
ok 1244 - DEFAULT INNER (5) with named columns
1..1244
ok
t/09ops.t .......... 
1..18
SQL::Statement v.1.33
ok 1 - unknwon type
ok 2 - create type
ok 3 - user-defined type
ok 4 - known type
ok 5 - drop type
ok 6 - unknown type
ok 7 - unknown keyword
ok 8 - create keyword
ok 9 - user-defined keyword
ok 10 - known keyword
ok 11 - drop keyword
ok 12 - keyword as identifier
ok 13 - unknown operator
ok 14 - create operator
ok 15 - user-defined operator
ok 16 - known operator
ok 17 - drop operator
ok 18 - unkown operator
ok
t/10limit.t ........ 
1..2
SQL::Statement v.1.33
ok 1 - limit with order by
ok 2 - limit without order by
ok
t/12eval.t ......... 
1..13
SQL::Statement v.1.33
ok 1 - eval row()
ok 2 - eval column()
ok 3 - eval params($val)
ok 4 - eval params()
ok 5 - eval column($tbl,$col)
ok 6 - ram seek(bad whence)
ok 7 - ram seek(bad index)
ok 8 - ram seek(pos=2)
ok 9 - $function->type
ok 10 - $function->name
ok 11 - $column->type
ok 12 - function validate - no sub
ok 13 - function validate
ok
t/17quoting.t ...... 
1..44
ok 1 - use SQL::Statement;
ok 2 - use SQL::Parser;
ok 3 - CREATE TEMP TABLE "TBL WITH SPACES" (id INT, "COLUMN WITH SPACES" CHAR, "SET" INT)
ok 4 - INSERT INTO "TBL WITH SPACES" VALUES (1, 'foo', 1)
ok 5 - INSERT INTO "TBL WITH SPACES" VALUES (2, 'bar', 0)
ok 6 - Parsing SELECT "TBL WITH SPACES"."COLUMN WITH SPACES" ...: 
ok 7 - SELECTED 1 row
ok 8 - got 'foo'
ok 9 - Parsing SELECT "COLUMN WITH SPACES" ...: 
ok 10 - SELECTED 1 row
ok 11 - got 'foo'
ok 12 - Parsing SELECT "COLUMN WITH SPACES" AS CWS ...: 
ok 13 - SELECTED 1 row
ok 14 - got 'foo'
ok 15 - CREATE TEMP TABLE T1 (id INT, "COLUMN WITH SPACES" CHAR, "SET" INT)
ok 16 - 
# INSERT INTO T1 VALUES (1, 'foo', 1)
ok 17 - 
# INSERT INTO T1 VALUES (2, 'bar', 0)
# 
ok 18 - Parsing SELECT T1."COLUMN WITH SPACES" ...: 
ok 19 - SELECTED 1 row
ok 20 - got 'foo'
ok 21 - Parsing SELECT "COLUMN WITH SPACES" ...: 
ok 22 - SELECTED 1 row
ok 23 - got 'foo'
ok 24 - Parsing SELECT "COLUMN WITH SPACES" AS CWS ...: 
ok 25 - SELECTED 1 row
ok 26 - got 'foo'
ok 27 - CREATE TEMP TABLE "TBL WITH SPACES" (id INT, CWS CHAR, "SET" INT)
ok 28 - 
# INSERT INTO "TBL WITH SPACES" VALUES (1, 'foo', 1)
ok 29 - 
# INSERT INTO "TBL WITH SPACES" VALUES (2, 'bar', 0)
# 
ok 30 - Parsing SELECT "TBL WITH SPACES".CWS ...: 
ok 31 - SELECTED 1 row
ok 32 - got 'foo'
ok 33 - Parsing SELECT CWS ...: 
ok 34 - SELECTED 1 row
ok 35 - got 'foo'
ok 36 - CREATE TEMP TABLE T1 (id INT, CWS CHAR, "SET" INT)
ok 37 - 
# INSERT INTO T1 VALUES (1, 'foo', 1)
ok 38 - 
# INSERT INTO T1 VALUES (2, 'bar', 0)
# 
ok 39 - Parsing SELECT CWS ... WHERE "SET"=0: 
ok 40 - SELECTED 1 row
ok 41 - got 'bar'
ok 42 - Parsing SELECT "SET" ...: 
ok 43 - SELECTED 1 row
ok 44 - got '0' for "SET"
ok
t/23dialects.t ..... 
1..2
ok 1
ok 2
ok
xt/pod-cm.t ........ 
1..20
ok 1 - Spelling test for blib/lib/SQL/Parser.pm
ok 2 - Spelling test for blib/lib/SQL/Eval.pm
ok 3 - Spelling test for blib/lib/SQL/Statement.pm
ok 4 - Spelling test for blib/lib/SQL/Dialects/AnyData.pm
ok 5 - Spelling test for blib/lib/SQL/Dialects/ANSI.pm
ok 6 - Spelling test for blib/lib/SQL/Dialects/CSV.pm
ok 7 - Spelling test for blib/lib/SQL/Dialects/Role.pm
ok 8 - Spelling test for blib/lib/SQL/Statement/Term.pm
ok 9 - Spelling test for blib/lib/SQL/Statement/Function.pm
ok 10 - Spelling test for blib/lib/SQL/Statement/Roadmap.pod
ok 11 - Spelling test for blib/lib/SQL/Statement/GetInfo.pm
ok 12 - Spelling test for blib/lib/SQL/Statement/Operation.pm
ok 13 - Spelling test for blib/lib/SQL/Statement/Embed.pod
ok 14 - Spelling test for blib/lib/SQL/Statement/Syntax.pod
ok 15 - Spelling test for blib/lib/SQL/Statement/RAM.pm
ok 16 - Spelling test for blib/lib/SQL/Statement/TermFactory.pm
ok 17 - Spelling test for blib/lib/SQL/Statement/Util.pm
ok 18 - Spelling test for blib/lib/SQL/Statement/Placeholder.pm
ok 19 - Spelling test for blib/lib/SQL/Statement/Structure.pod
ok 20 - Spelling test for blib/lib/SQL/Statement/Functions.pm
ok
xt/pod.t ........... 
1..20
ok 1 - POD test for blib/lib/SQL/Parser.pm
ok 2 - POD test for blib/lib/SQL/Eval.pm
ok 3 - POD test for blib/lib/SQL/Statement.pm
ok 4 - POD test for blib/lib/SQL/Dialects/AnyData.pm
ok 5 - POD test for blib/lib/SQL/Dialects/ANSI.pm
ok 6 - POD test for blib/lib/SQL/Dialects/CSV.pm
ok 7 - POD test for blib/lib/SQL/Dialects/Role.pm
ok 8 - POD test for blib/lib/SQL/Statement/Term.pm
ok 9 - POD test for blib/lib/SQL/Statement/Function.pm
ok 10 - POD test for blib/lib/SQL/Statement/Roadmap.pod
ok 11 - POD test for blib/lib/SQL/Statement/GetInfo.pm
ok 12 - POD test for blib/lib/SQL/Statement/Operation.pm
ok 13 - POD test for blib/lib/SQL/Statement/Embed.pod
ok 14 - POD test for blib/lib/SQL/Statement/Syntax.pod
ok 15 - POD test for blib/lib/SQL/Statement/RAM.pm
ok 16 - POD test for blib/lib/SQL/Statement/TermFactory.pm
ok 17 - POD test for blib/lib/SQL/Statement/Util.pm
ok 18 - POD test for blib/lib/SQL/Statement/Placeholder.pm
ok 19 - POD test for blib/lib/SQL/Statement/Structure.pod
ok 20 - POD test for blib/lib/SQL/Statement/Functions.pm
ok
xt/pod_coverage.t .. 
1..16
ok 1 - Pod coverage on SQL::Parser
ok 2 - Pod coverage on SQL::Eval
ok 3 - Pod coverage on SQL::Statement
ok 4 - Pod coverage on SQL::Dialects::AnyData
ok 5 - Pod coverage on SQL::Dialects::ANSI
ok 6 - Pod coverage on SQL::Dialects::CSV
ok 7 - Pod coverage on SQL::Dialects::Role
ok 8 - Pod coverage on SQL::Statement::Term
ok 9 - Pod coverage on SQL::Statement::Function
ok 10 - Pod coverage on SQL::Statement::GetInfo
ok 11 - Pod coverage on SQL::Statement::Operation
ok 12 - Pod coverage on SQL::Statement::RAM
ok 13 - Pod coverage on SQL::Statement::TermFactory
ok 14 - Pod coverage on SQL::Statement::Util
ok 15 - Pod coverage on SQL::Statement::Placeholder
ok 16 - Pod coverage on SQL::Statement::Functions
ok
All tests successful.
Files=16, Tests=5938, 31 wallclock secs ( 1.17 usr  0.10 sys + 28.93 cusr  0.82 csys = 31.02 CPU)
Result: PASS
