mirror of
				https://github.com/sqlite/sqlite.git
				synced 2025-10-31 18:11:01 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			83 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			83 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # 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
 |