216 lines
9.7 KiB
PHP
216 lines
9.7 KiB
PHP
--echo #
|
|
--echo # Tests with $signedness type $int_type $nullness against int
|
|
--echo #
|
|
eval CREATE TABLE $table_name (colA $int_type $signedness $nullness);
|
|
eval INSERT INTO $table_name VALUES ($minint), ($minint_plus_1),
|
|
(0),(1),(3),
|
|
($maxint_minus_1), ($maxint),
|
|
($nullval);
|
|
eval ANALYZE TABLE $table_name;
|
|
|
|
eval SELECT * FROM $table_name;
|
|
|
|
eval SELECT * FROM $table_name WHERE colA < $maxint_plus_1;
|
|
eval SELECT * FROM $table_name WHERE colA <= $maxint;
|
|
eval SELECT * FROM $table_name WHERE colA > $maxint_plus_1;
|
|
eval SELECT * FROM $table_name WHERE colA >= $maxint;
|
|
|
|
eval SELECT * FROM $table_name WHERE colA > $minint_minus_1;
|
|
eval SELECT * FROM $table_name WHERE colA <= $minint_minus_1;
|
|
|
|
eval SELECT * FROM $table_name WHERE colA <= $minint;
|
|
eval SELECT * FROM $table_name WHERE colA >= $minint;
|
|
eval SELECT * FROM $table_name WHERE colA > $minint;
|
|
|
|
eval SELECT * FROM $table_name WHERE colA = $maxint_plus_1;
|
|
eval SELECT * FROM $table_name WHERE colA <> $maxint_plus_1;
|
|
eval SELECT * FROM $table_name WHERE colA = $maxint;
|
|
eval SELECT * FROM $table_name WHERE colA <=> $maxint;
|
|
eval SELECT * FROM $table_name WHERE NOT(colA <=> $maxint);
|
|
eval SELECT * FROM $table_name WHERE colA <> $maxint;
|
|
eval SELECT * FROM $table_name WHERE colA = $minint;
|
|
eval SELECT * FROM $table_name WHERE colA <=> $minint;
|
|
eval SELECT * FROM $table_name WHERE NOT(colA <=> $minint);
|
|
eval SELECT * FROM $table_name WHERE colA <> $minint;
|
|
eval SELECT * FROM $table_name WHERE colA = $minint_minus_1;
|
|
eval SELECT * FROM $table_name WHERE colA <=> $minint_minus_1;
|
|
eval SELECT * FROM $table_name WHERE NOT(colA <=> $minint_minus_1);
|
|
eval SELECT * FROM $table_name WHERE colA <> $minint_minus_1;
|
|
|
|
eval PREPARE p_less FROM 'SELECT * FROM $table_name WHERE colA < ?';
|
|
eval PREPARE p_less_eq FROM 'SELECT * FROM $table_name WHERE colA <= ?';
|
|
eval PREPARE p_greater FROM 'SELECT * FROM $table_name WHERE colA > ?';
|
|
eval PREPARE p_gret_eq FROM 'SELECT * FROM $table_name WHERE colA >= ?';
|
|
eval PREPARE p_eq FROM 'SELECT * FROM $table_name WHERE colA = ?';
|
|
eval PREPARE p_equal FROM 'SELECT * FROM $table_name WHERE colA <=> ?';
|
|
eval PREPARE p_n_equal FROM 'SELECT * FROM $table_name WHERE NOT(colA <=> ?)';
|
|
eval PREPARE p_n_eq FROM 'SELECT * FROM $table_name WHERE colA <> ?';
|
|
|
|
eval SET @maxint_plus_1=$maxint_plus_1;
|
|
eval SET @maxint=$maxint;
|
|
eval SET @minint_minus_1=$minint_minus_1;
|
|
eval SET @minint=$minint;
|
|
|
|
eval EXECUTE p_less USING @maxint_plus_1;
|
|
eval EXECUTE p_less_eq USING @maxint;
|
|
eval EXECUTE p_greater USING @maxint_plus_1;
|
|
eval EXECUTE p_gret_eq USING @maxint;
|
|
|
|
eval EXECUTE p_greater USING @minint_minus_1;
|
|
eval EXECUTE p_less_eq USING @minint_minus_1;
|
|
|
|
eval EXECUTE p_less_eq USING @minint;
|
|
eval EXECUTE p_gret_eq USING @minint;
|
|
eval EXECUTE p_greater USING @minint;
|
|
|
|
eval EXECUTE p_eq USING @maxint_plus_1;
|
|
eval EXECUTE p_equal USING @maxint_plus_1;
|
|
eval EXECUTE p_n_eq USING @maxint_plus_1;
|
|
eval EXECUTE p_n_equal USING @maxint_plus_1;
|
|
eval EXECUTE p_eq USING @maxint;
|
|
eval EXECUTE p_equal USING @maxint;
|
|
eval EXECUTE p_n_eq USING @maxint;
|
|
eval EXECUTE p_n_equal USING @maxint;
|
|
eval EXECUTE p_eq USING @minint;
|
|
eval EXECUTE p_equal USING @minint;
|
|
eval EXECUTE p_n_eq USING @minint;
|
|
eval EXECUTE p_n_equal USING @minint;
|
|
eval EXECUTE p_eq USING @minint_minus_1;
|
|
eval EXECUTE p_equal USING @minint_minus_1;
|
|
eval EXECUTE p_n_eq USING @minint_minus_1;
|
|
eval EXECUTE p_n_equal USING @minint_minus_1;
|
|
|
|
DROP PREPARE p_less;
|
|
DROP PREPARE p_less_eq;
|
|
DROP PREPARE p_greater;
|
|
DROP PREPARE p_gret_eq;
|
|
DROP PREPARE p_equal;
|
|
DROP PREPARE p_n_eq;
|
|
DROP PREPARE p_n_equal;
|
|
|
|
eval EXPLAIN SELECT * FROM $table_name WHERE colA < $maxint_plus_1; # always true
|
|
eval EXPLAIN SELECT * FROM $table_name WHERE colA <= $maxint; # always true
|
|
eval EXPLAIN SELECT * FROM $table_name WHERE colA > $maxint_plus_1; # always false
|
|
eval EXPLAIN SELECT * FROM $table_name WHERE colA >= $maxint; # cnvt to = $maxint
|
|
|
|
eval EXPLAIN SELECT * FROM $table_name WHERE colA > $minint_minus_1; # always true
|
|
eval EXPLAIN SELECT * FROM $table_name WHERE colA <= $minint_minus_1; # always false
|
|
|
|
eval EXPLAIN SELECT * FROM $table_name WHERE colA <= $minint; # convert to = $minint
|
|
eval EXPLAIN SELECT * FROM $table_name WHERE colA >= $minint; # always true
|
|
eval EXPLAIN SELECT * FROM $table_name WHERE colA > $minint;
|
|
|
|
eval EXPLAIN SELECT * FROM $table_name WHERE colA = $maxint_plus_1; # always false
|
|
eval EXPLAIN SELECT * FROM $table_name WHERE colA <=> $maxint_plus_1; # always false
|
|
eval EXPLAIN SELECT * FROM $table_name WHERE colA <> $maxint_plus_1; # always true
|
|
eval EXPLAIN SELECT * FROM $table_name WHERE colA = $maxint;
|
|
eval EXPLAIN SELECT * FROM $table_name WHERE colA <=> $maxint;
|
|
eval EXPLAIN SELECT * FROM $table_name WHERE colA <> $maxint;
|
|
eval EXPLAIN SELECT * FROM $table_name WHERE colA = $minint;
|
|
eval EXPLAIN SELECT * FROM $table_name WHERE colA <=> $minint;
|
|
eval EXPLAIN SELECT * FROM $table_name WHERE colA <> $minint;
|
|
eval EXPLAIN SELECT * FROM $table_name WHERE colA = $minint_minus_1; # always false
|
|
eval EXPLAIN SELECT * FROM $table_name WHERE colA <=> $minint_minus_1; # always false
|
|
eval EXPLAIN SELECT * FROM $table_name WHERE colA <> $minint_minus_1; # always true
|
|
|
|
--echo same queries but constant first
|
|
eval SELECT * FROM $table_name WHERE $maxint_plus_1 > colA;
|
|
eval SELECT * FROM $table_name WHERE $maxint >= colA;
|
|
eval SELECT * FROM $table_name WHERE $maxint_plus_1 < colA;
|
|
eval SELECT * FROM $table_name WHERE $maxint <= colA;
|
|
eval SELECT * FROM $table_name WHERE $maxint < colA;
|
|
|
|
eval SELECT * FROM $table_name WHERE $minint_minus_1 < colA;
|
|
eval SELECT * FROM $table_name WHERE $minint_minus_1 >= colA;
|
|
|
|
eval SELECT * FROM $table_name WHERE $minint >= colA;
|
|
eval SELECT * FROM $table_name WHERE $minint <= colA;
|
|
eval SELECT * FROM $table_name WHERE $minint < colA;
|
|
|
|
eval SELECT * FROM $table_name WHERE $maxint_plus_1 = colA;
|
|
eval SELECT * FROM $table_name WHERE $maxint_plus_1 <=> colA;
|
|
eval SELECT * FROM $table_name WHERE $maxint_plus_1 <> colA;
|
|
eval SELECT * FROM $table_name WHERE $maxint = colA;
|
|
eval SELECT * FROM $table_name WHERE $maxint <=> colA;
|
|
eval SELECT * FROM $table_name WHERE $maxint <> colA;
|
|
eval SELECT * FROM $table_name WHERE $minint = colA;
|
|
eval SELECT * FROM $table_name WHERE $minint <=> colA;
|
|
eval SELECT * FROM $table_name WHERE $minint <> colA;
|
|
eval SELECT * FROM $table_name WHERE $minint_minus_1 = colA;
|
|
eval SELECT * FROM $table_name WHERE $minint_minus_1 <=> colA;
|
|
eval SELECT * FROM $table_name WHERE $minint_minus_1 <> colA;
|
|
|
|
eval PREPARE p_less FROM 'SELECT * FROM $table_name WHERE ? < colA';
|
|
eval PREPARE p_less_eq FROM 'SELECT * FROM $table_name WHERE ? <= colA';
|
|
eval PREPARE p_greater FROM 'SELECT * FROM $table_name WHERE ? > colA';
|
|
eval PREPARE p_gret_eq FROM 'SELECT * FROM $table_name WHERE ? >= colA';
|
|
eval PREPARE p_eq FROM 'SELECT * FROM $table_name WHERE ? = colA';
|
|
eval PREPARE p_equal FROM 'SELECT * FROM $table_name WHERE ? <=> colA';
|
|
eval PREPARE p_n_eq FROM 'SELECT * FROM $table_name WHERE ? <> colA';
|
|
eval PREPARE p_n_equal FROM 'SELECT * FROM $table_name WHERE NOT(? <=> colA)';
|
|
|
|
eval EXECUTE p_greater USING @maxint_plus_1;
|
|
eval EXECUTE p_gret_eq USING @maxint;
|
|
eval EXECUTE p_less USING @maxint_plus_1;
|
|
eval EXECUTE p_less_eq USING @maxint;
|
|
|
|
eval EXECUTE p_less USING @minint_minus_1;
|
|
eval EXECUTE p_gret_eq USING @minint_minus_1;
|
|
|
|
eval EXECUTE p_gret_eq USING @minint;
|
|
eval EXECUTE p_less_eq USING @minint;
|
|
eval EXECUTE p_less USING @minint;
|
|
|
|
eval EXECUTE p_eq USING @maxint_plus_1;
|
|
eval EXECUTE p_equal USING @maxint_plus_1;
|
|
eval EXECUTE p_n_eq USING @maxint_plus_1;
|
|
eval EXECUTE p_n_equal USING @maxint_plus_1;
|
|
eval EXECUTE p_eq USING @maxint;
|
|
eval EXECUTE p_equal USING @maxint;
|
|
eval EXECUTE p_n_eq USING @maxint;
|
|
eval EXECUTE p_n_equal USING @maxint;
|
|
eval EXECUTE p_eq USING @minint;
|
|
eval EXECUTE p_equal USING @minint;
|
|
eval EXECUTE p_n_eq USING @minint;
|
|
eval EXECUTE p_n_equal USING @minint;
|
|
eval EXECUTE p_eq USING @minint_minus_1;
|
|
eval EXECUTE p_equal USING @minint_minus_1;
|
|
eval EXECUTE p_n_eq USING @minint_minus_1;
|
|
eval EXECUTE p_n_equal USING @minint_minus_1;
|
|
|
|
DROP PREPARE p_less;
|
|
DROP PREPARE p_less_eq;
|
|
DROP PREPARE p_greater;
|
|
DROP PREPARE p_gret_eq;
|
|
DROP PREPARE p_equal;
|
|
DROP PREPARE p_n_eq;
|
|
DROP PREPARE p_n_equal;
|
|
|
|
eval EXPLAIN SELECT * FROM $table_name WHERE $maxint_plus_1 > colA;
|
|
eval EXPLAIN SELECT * FROM $table_name WHERE $maxint >= colA;
|
|
eval EXPLAIN SELECT * FROM $table_name WHERE $maxint_plus_1 < colA;
|
|
eval EXPLAIN SELECT * FROM $table_name WHERE $maxint <= colA;
|
|
eval EXPLAIN SELECT * FROM $table_name WHERE $maxint < colA;
|
|
|
|
eval EXPLAIN SELECT * FROM $table_name WHERE $minint_minus_1 < colA;
|
|
eval EXPLAIN SELECT * FROM $table_name WHERE $minint_minus_1 >= colA;
|
|
|
|
eval EXPLAIN SELECT * FROM $table_name WHERE $minint >= colA;
|
|
eval EXPLAIN SELECT * FROM $table_name WHERE $minint <= colA;
|
|
eval EXPLAIN SELECT * FROM $table_name WHERE $minint < colA;
|
|
|
|
eval EXPLAIN SELECT * FROM $table_name WHERE $maxint_plus_1 = colA;
|
|
eval EXPLAIN SELECT * FROM $table_name WHERE $maxint_plus_1 <=> colA;
|
|
eval EXPLAIN SELECT * FROM $table_name WHERE $maxint_plus_1 <> colA;
|
|
eval EXPLAIN SELECT * FROM $table_name WHERE $maxint = colA;
|
|
eval EXPLAIN SELECT * FROM $table_name WHERE $maxint <=> colA;
|
|
eval EXPLAIN SELECT * FROM $table_name WHERE $maxint <> colA;
|
|
eval EXPLAIN SELECT * FROM $table_name WHERE $minint = colA;
|
|
eval EXPLAIN SELECT * FROM $table_name WHERE $minint <=> colA;
|
|
eval EXPLAIN SELECT * FROM $table_name WHERE $minint <> colA;
|
|
eval EXPLAIN SELECT * FROM $table_name WHERE $minint_minus_1 = colA;
|
|
eval EXPLAIN SELECT * FROM $table_name WHERE $minint_minus_1 <=> colA;
|
|
eval EXPLAIN SELECT * FROM $table_name WHERE $minint_minus_1 <> colA;
|
|
|
|
eval DROP TABLE $table_name;
|