sqlite/test/collate8.test
drh 7e09fe0b81 A column name preceded by a unary "+" operator is considered to be
a column name when computing the collating sequence to be used by
a comparison operator or ORDER BY clause. (CVS 4104)

FossilOrigin-Name: 99a20f6a427b5e0e0a793f59ebca9d17bc633437
2007-06-20 16:13:23 +00:00

53 lines
1.3 KiB
Plaintext

#
# 2007 June 20
#
# 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.
#
#***********************************************************************
# This file implements regression tests for SQLite library. The
# focus of this script is making sure collations pass through the
# unary + operator.
#
# $Id: collate8.test,v 1.1 2007/06/20 16:13:23 drh Exp $
set testdir [file dirname $argv0]
source $testdir/tester.tcl
do_test collate8-1.1 {
execsql {
CREATE TABLE t1(a TEXT COLLATE nocase);
INSERT INTO t1 VALUES('aaa');
INSERT INTO t1 VALUES('BBB');
INSERT INTO t1 VALUES('ccc');
INSERT INTO t1 VALUES('DDD');
SELECT a FROM t1 ORDER BY a;
}
} {aaa BBB ccc DDD}
do_test collate8-1.2 {
execsql {
SELECT rowid FROM t1 WHERE a<'ccc' ORDER BY 1
}
} {1 2}
do_test collate8-1.3 {
execsql {
SELECT rowid FROM t1 WHERE a<'ccc' COLLATE binary ORDER BY 1
}
} {1 2 4}
do_test collate8-1.4 {
execsql {
SELECT rowid FROM t1 WHERE +a<'ccc' ORDER BY 1
}
} {1 2}
do_test collate8-1.5 {
execsql {
SELECT a FROM t1 ORDER BY +a
}
} {aaa BBB ccc DDD}
finish_test