File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / sqlite3 / test / keyword1.test
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 17:04:16 2012 UTC (12 years, 10 months ago) by misho
Branches: sqlite3, MAIN
CVS tags: v3_7_10, HEAD
sqlite3

    1: # 2009 January 29
    2: #
    3: # The author disclaims copyright to this source code.  In place of
    4: # a legal notice, here is a blessing:
    5: #
    6: #    May you do good and not evil.
    7: #    May you find forgiveness for yourself and forgive others.
    8: #    May you share freely, never taking more than you give.
    9: #
   10: #***********************************************************************
   11: #
   12: # Verify that certain keywords can be used as identifiers.
   13: #
   14: # $Id: keyword1.test,v 1.1.1.1 2012/02/21 17:04:16 misho Exp $
   15: 
   16: 
   17: set testdir [file dirname $argv0]
   18: source $testdir/tester.tcl
   19: 
   20: db eval {
   21:   CREATE TABLE t1(a, b);
   22:   INSERT INTO t1 VALUES(1, 'one');
   23:   INSERT INTO t1 VALUES(2, 'two');
   24:   INSERT INTO t1 VALUES(3, 'three');
   25: }
   26: 
   27: set kwlist {
   28:   abort
   29:   after
   30:   analyze
   31:   asc
   32:   attach
   33:   before
   34:   begin
   35:   by
   36:   cascade
   37:   cast
   38:   column
   39:   conflict
   40:   current_date
   41:   current_time
   42:   current_timestamp
   43:   database
   44:   deferred
   45:   desc
   46:   detach
   47:   end
   48:   each
   49:   exclusive
   50:   explain
   51:   fail
   52:   for
   53:   glob
   54:   if
   55:   ignore
   56:   immediate
   57:   initially
   58:   instead
   59:   key
   60:   like
   61:   match
   62:   of
   63:   offset
   64:   plan
   65:   pragma
   66:   query
   67:   raise
   68:   regexp
   69:   reindex
   70:   release
   71:   rename
   72:   replace
   73:   restrict
   74:   rollback
   75:   row
   76:   savepoint
   77:   temp
   78:   temporary
   79:   trigger
   80:   vacuum
   81:   view
   82:   virtual
   83: };
   84: set exprkw {
   85:   cast
   86:   current_date
   87:   current_time
   88:   current_timestamp
   89:   raise
   90: }
   91: foreach kw $kwlist {  
   92:   do_test keyword1-$kw.1 {
   93:     if {$kw=="if"} {
   94:       db eval "CREATE TABLE \"$kw\"($kw $kw)"
   95:     } else {
   96:       db eval "CREATE TABLE ${kw}($kw $kw)"
   97:     }
   98:     db eval "INSERT INTO $kw VALUES(99)"
   99:     db eval "INSERT INTO $kw SELECT a FROM t1"
  100:     if {[lsearch $exprkw $kw]<0} {
  101:       db eval "SELECT * FROM $kw ORDER BY $kw ASC"
  102:     } else {
  103:       db eval "SELECT * FROM $kw ORDER BY \"$kw\" ASC"
  104:     }
  105:   } {1 2 3 99}
  106:   do_test keyword1-$kw.2 {
  107:     if {$kw=="if"} {
  108:       db eval "DROP TABLE \"$kw\""
  109:       db eval "CREATE INDEX \"$kw\" ON t1(a)"
  110:     } else {
  111:       db eval "DROP TABLE $kw"
  112:       db eval "CREATE INDEX $kw ON t1(a)"
  113:     }
  114:     db eval "SELECT b FROM t1 INDEXED BY $kw WHERE a=2"
  115:   } {two}
  116: }
  117: 
  118: finish_test

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>