| # 2018-12-12 |
| # |
| # The author disclaims copyright to this source code. In place of |
| # a legal notice, here is a blessing: |
| # |
| # May you do good and not evil. |
| # May you find forgiveness for yourself and forgive others. |
| # May you share freely, never taking more than you give. |
| # |
| #*********************************************************************** |
| # |
| # Test cases found by Matthew Denton's fuzzer at Chrome. |
| # |
| |
| |
| set testdir [file dirname $argv0] |
| source $testdir/tester.tcl |
| |
| do_execsql_test fuzz4-100 { |
| CREATE TABLE Table0 (Col0 NOT NULL DEFAULT (CURRENT_TIME IS 1 > 1)); |
| INSERT OR REPLACE INTO Table0 DEFAULT VALUES ; |
| SELECT * FROM Table0; |
| } {0} |
| |
| do_execsql_test fuzz4-110 { |
| CREATE TABLE Table1( |
| Col0 TEXT DEFAULT (CASE WHEN 1 IS 3530822107858468864 |
| THEN 1 ELSE quote(1) IS 3530822107858468864 END) |
| ); |
| INSERT INTO Table1 DEFAULT VALUES; |
| SELECT * FROM Table1; |
| } {0} |
| |
| do_execsql_test fuzz4-200 { |
| CREATE TABLE Table2a( |
| Col0 NOT NULL DEFAULT (CURRENT_TIME IS 1 IS NOT 1 > 1) |
| ); |
| INSERT OR REPLACE INTO Table2a DEFAULT VALUES; |
| SELECT * FROM Table2a; |
| } {0} |
| |
| do_execsql_test fuzz4-210 { |
| CREATE TABLE Table2b (Col0 NOT NULL DEFAULT (CURRENT_TIME IS NOT FALSE)) ; |
| INSERT OR REPLACE INTO Table2b DEFAULT VALUES ; |
| SELECT * FROM Table2b; |
| } {1} |
| |
| do_execsql_test fuzz4-300 { |
| CREATE TABLE Table3 (Col0 DEFAULT (CURRENT_TIMESTAMP BETWEEN 1 AND 1)); |
| INSERT INTO Table3 DEFAULT VALUES; |
| SELECT * FROM Table3; |
| } {0} |
| |
| do_execsql_test fuzz4-400 { |
| CREATE TABLE Table4 (Col0 DEFAULT (1 BETWEEN CURRENT_TIMESTAMP AND 1)); |
| INSERT INTO Table4 DEFAULT VALUES; |
| SELECT * FROM Table4; |
| } {0} |
| |
| do_execsql_test fuzz4-500 { |
| CREATE TABLE Table5 (Col0 DEFAULT (1 BETWEEN 1 AND CURRENT_TIMESTAMP)); |
| INSERT INTO Table5 DEFAULT VALUES; |
| SELECT * FROM Table5; |
| } {1} |
| |
| do_execsql_test fuzz4-600 { |
| CREATE TEMPORARY TABLE Table6( |
| Col0 DEFAULT (CASE x'5d' WHEN 1 THEN |
| CASE CURRENT_TIMESTAMP WHEN 1 THEN 1 ELSE 1 END |
| ELSE CASE WHEN 1 THEN FALSE END END ) |
| ); |
| INSERT INTO temp.Table6 DEFAULT VALUES ; |
| SELECT * FROM Table6; |
| } {0} |
| do_execsql_test fuzz4-610 { |
| WITH TableX AS (SELECT DISTINCT * ORDER BY 1 , 1 COLLATE RTRIM) |
| DELETE FROM Table6 WHERE Col0 || +8388608 ; |
| SELECT * FROM Table6; |
| } {} |
| |
| |
| finish_test |