54 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
 | 
						|
set testdir [file dirname $argv0]
 | 
						|
source $testdir/tester.tcl
 | 
						|
 | 
						|
ifcapable !vtab {
 | 
						|
  finish_test
 | 
						|
  return
 | 
						|
}
 | 
						|
 | 
						|
register_echo_module [sqlite3_connection_pointer db]
 | 
						|
 | 
						|
do_test tkt3871-1.1 {
 | 
						|
  execsql {
 | 
						|
    BEGIN;
 | 
						|
    CREATE TABLE t1(a PRIMARY KEY, b UNIQUE);
 | 
						|
  }
 | 
						|
  for {set i 0} {$i < 500} {incr i} {
 | 
						|
    execsql { INSERT INTO t1 VALUES($i, $i*$i) }
 | 
						|
  }
 | 
						|
  execsql COMMIT
 | 
						|
  execsql { 
 | 
						|
    CREATE VIRTUAL TABLE e USING echo(t1);
 | 
						|
    SELECT count(*) FROM e;
 | 
						|
  }
 | 
						|
} {500}
 | 
						|
 | 
						|
do_test tkt3871-1.2 {
 | 
						|
  execsql { SELECT * FROM e WHERE a = 1 OR a = 2 }
 | 
						|
} {1 1 2 4}
 | 
						|
do_test tkt3871-1.3 {
 | 
						|
  set echo_module ""
 | 
						|
  execsql { SELECT * FROM e WHERE a = 1 OR a = 2 }
 | 
						|
  set echo_module
 | 
						|
} [list \
 | 
						|
  xFilter {SELECT rowid, a, b FROM 't1' WHERE a = ?} 1 \
 | 
						|
  xFilter {SELECT rowid, a, b FROM 't1' WHERE a = ?} 2 \
 | 
						|
]
 | 
						|
 | 
						|
do_test tkt3871-1.4 {
 | 
						|
  execsql { SELECT * FROM e WHERE a = 1 OR a = 2 OR b = 9 }
 | 
						|
} {1 1 2 4 3 9}
 | 
						|
do_test tkt3871-1.5 {
 | 
						|
  set echo_module ""
 | 
						|
  execsql { SELECT * FROM e WHERE a = 1 OR a = 2 OR b = 9 }
 | 
						|
  set echo_module
 | 
						|
} [list \
 | 
						|
  xFilter {SELECT rowid, a, b FROM 't1' WHERE a = ?} 1 \
 | 
						|
  xFilter {SELECT rowid, a, b FROM 't1' WHERE a = ?} 2 \
 | 
						|
  xFilter {SELECT rowid, a, b FROM 't1' WHERE b = ?} 9
 | 
						|
]
 | 
						|
 | 
						|
 | 
						|
finish_test
 |