blob: 85e88db5913d69b1a13a41894e08e4e089146f12 [file] [log] [blame]
danielk19770a458e52009-07-28 13:30:30 +00001# 2001 September 15
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# Tests to make sure #3997 is fixed.
13#
14# $Id: tkt3997.test,v 1.1 2009/07/28 13:30:31 danielk1977 Exp $
15
16set testdir [file dirname $argv0]
17source $testdir/tester.tcl
18
19proc reverse {lhs rhs} {
20 return [string compare $rhs $lhs]
21}
22proc usual {lhs rhs} {
23 return [string compare $lhs $rhs]
24}
25
26db collate reverse reverse
27db collate usual usual
28
29do_test tkt3997-1.1 {
30 execsql {
31 create table mytext(name BLOB);
32 INSERT INTO mytext VALUES('abc');
33 INSERT INTO mytext VALUES('acd');
34 INSERT INTO mytext VALUES('afe');
35 }
36} {}
37do_test tkt3997-1.2 {
38 execsql {
39 SELECT name
40 FROM mytext
41 ORDER BY name COLLATE reverse
42 }
43} {afe acd abc}
44do_test tkt3997-1.3 {
45 execsql {
46 SELECT name
47 FROM (SELECT name FROM mytext)
48 ORDER BY name COLLATE reverse
49 }
50} {afe acd abc}
51
52do_test tkt3997-2.1 {
53 execsql {
54 CREATE TABLE mytext2(name COLLATE reverse);
55 INSERT INTO mytext2 SELECT name FROM mytext;
56 }
57} {}
58do_test tkt3997-2.2 {
59 execsql {
60 SELECT name
61 FROM (SELECT name FROM mytext2)
62 ORDER BY name
63 }
64} {afe acd abc}
65do_test tkt3997-2.3 {
66 execsql {
67 SELECT name
68 FROM (SELECT name FROM mytext2)
69 ORDER BY name COLLATE usual
70 }
71} {abc acd afe}
72
73finish_test