Prevent deep recursions on nested COLLATE operators.
[sqlite.git] / test / tkt3630.test
blob1fe7ce70fa5f75b43198194807655741d5302b03
1 # 2009 February 2
3 # The author disclaims copyright to this source code.  In place of
4 # a legal notice, here is a blessing:
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.
10 #*************************************************************************
11
12 # This file checks to make sure the "TEMP" or "TEMPORARY" keyword is
13 # omitted from the schema of a table that is created using that
14 # keyword.  Ticket #3630.
16 # $Id: tkt3630.test,v 1.1 2009/02/02 18:03:22 drh Exp $
19 set testdir [file dirname $argv0]
21 source $testdir/tester.tcl
23 do_test tkt3630-1 {
24   db eval {
25     CREATE TEMP TABLE temp1(a,b,c);
26     SELECT * FROM temp.sqlite_master WHERE sql GLOB '*TEMP*';
27   }
28 } {}
29 do_test tkt3630-2 {
30   db eval {
31     CREATE TABLE main1(a,b,c);
32     CREATE TEMP TABLE temp2 AS SELECT * FROM main1;
33     SELECT * FROM sqlite_temp_master WHERE sql GLOB '*TEMP*';
34   }
35 } {}
37 ifcapable altertable {
38   do_test tkt3630-3 {
39     db eval {
40       ALTER TABLE temp2 ADD COLUMN d;
41       ALTER TABLE temp2 RENAME TO temp2rn;
42       SELECT name FROM temp.sqlite_master WHERE name LIKE 'temp2%';
43     }
44   } {temp2rn}
47 finish_test