122 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			122 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # 2009 January 29
 | |
| #
 | |
| # 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.
 | |
| #
 | |
| #***********************************************************************
 | |
| #
 | |
| # Verify that certain keywords can be used as identifiers.
 | |
| #
 | |
| # $Id: keyword1.test,v 1.1 2009/01/29 19:27:47 drh Exp $
 | |
| 
 | |
| 
 | |
| set testdir [file dirname $argv0]
 | |
| source $testdir/tester.tcl
 | |
| 
 | |
| db eval {
 | |
|   CREATE TABLE t1(a, b);
 | |
|   INSERT INTO t1 VALUES(1, 'one');
 | |
|   INSERT INTO t1 VALUES(2, 'two');
 | |
|   INSERT INTO t1 VALUES(3, 'three');
 | |
| }
 | |
| 
 | |
| set kwlist {
 | |
|   abort
 | |
|   after
 | |
|   analyze
 | |
|   asc
 | |
|   attach
 | |
|   before
 | |
|   begin
 | |
|   by
 | |
|   cascade
 | |
|   cast
 | |
|   column
 | |
|   conflict
 | |
|   current_date
 | |
|   current_time
 | |
|   current_timestamp
 | |
|   database
 | |
|   deferred
 | |
|   desc
 | |
|   detach
 | |
|   end
 | |
|   each
 | |
|   exclusive
 | |
|   explain
 | |
|   fail
 | |
|   for
 | |
|   glob
 | |
|   if
 | |
|   ignore
 | |
|   immediate
 | |
|   initially
 | |
|   instead
 | |
|   key
 | |
|   like
 | |
|   match
 | |
|   of
 | |
|   offset
 | |
|   plan
 | |
|   pragma
 | |
|   query
 | |
|   raise
 | |
|   recursive
 | |
|   regexp
 | |
|   reindex
 | |
|   release
 | |
|   rename
 | |
|   replace
 | |
|   restrict
 | |
|   rollback
 | |
|   row
 | |
|   savepoint
 | |
|   temp
 | |
|   temporary
 | |
|   trigger
 | |
|   vacuum
 | |
|   view
 | |
|   virtual
 | |
|   with
 | |
|   without
 | |
| };
 | |
| set exprkw {
 | |
|   cast
 | |
|   current_date
 | |
|   current_time
 | |
|   current_timestamp
 | |
|   raise
 | |
| }
 | |
| foreach kw $kwlist {  
 | |
|   do_test keyword1-$kw.1 {
 | |
|     if {$kw=="if"} {
 | |
|       db eval "CREATE TABLE \"$kw\"($kw $kw)"
 | |
|     } else {
 | |
|       db eval "CREATE TABLE ${kw}($kw $kw)"
 | |
|     }
 | |
|     db eval "INSERT INTO $kw VALUES(99)"
 | |
|     db eval "INSERT INTO $kw SELECT a FROM t1"
 | |
|     if {[lsearch $exprkw $kw]<0} {
 | |
|       db eval "SELECT * FROM $kw ORDER BY $kw ASC"
 | |
|     } else {
 | |
|       db eval "SELECT * FROM $kw ORDER BY \"$kw\" ASC"
 | |
|     }
 | |
|   } {1 2 3 99}
 | |
|   do_test keyword1-$kw.2 {
 | |
|     if {$kw=="if"} {
 | |
|       db eval "DROP TABLE \"$kw\""
 | |
|       db eval "CREATE INDEX \"$kw\" ON t1(a)"
 | |
|     } else {
 | |
|       db eval "DROP TABLE $kw"
 | |
|       db eval "CREATE INDEX $kw ON t1(a)"
 | |
|     }
 | |
|     db eval "SELECT b FROM t1 INDEXED BY $kw WHERE a=2"
 | |
|   } {two}
 | |
| }
 | |
| 
 | |
| finish_test
 | 
