summaryrefslogtreecommitdiff
path: root/test/keyword1.test
diff options
context:
space:
mode:
Diffstat (limited to 'test/keyword1.test')
-rw-r--r--test/keyword1.test118
1 files changed, 118 insertions, 0 deletions
diff --git a/test/keyword1.test b/test/keyword1.test
new file mode 100644
index 0000000..9483120
--- /dev/null
+++ b/test/keyword1.test
@@ -0,0 +1,118 @@
+# 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
+ regexp
+ reindex
+ release
+ rename
+ replace
+ restrict
+ rollback
+ row
+ savepoint
+ temp
+ temporary
+ trigger
+ vacuum
+ view
+ virtual
+};
+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