~ubuntu-branches/ubuntu/maverick/sqlite3/maverick-updates

« back to all changes in this revision

Viewing changes to test/tkt2942.test

  • Committer: Bazaar Package Importer
  • Author(s): Laszlo Boszormenyi (GCS)
  • Date: 2008-10-01 20:16:18 UTC
  • mfrom: (3.1.20 intrepid)
  • Revision ID: james.westby@ubuntu.com-20081001201618-yfvqqj1qs29wdtcc
Tags: 3.5.9-5
Backport fix for distinct on indexes (closes: #500792).

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# 2008 February 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
# Ticket #2942.  
 
13
#
 
14
# Queries of the form:
 
15
#
 
16
#     SELECT group_concat(x) FROM (SELECT * FROM table ORDER BY 1);
 
17
#
 
18
# The ORDER BY would be dropped by the query flattener.  This used
 
19
# to not matter because aggregate functions sum(), min(), max(), avg(),
 
20
# and so forth give the same result regardless of the order of inputs.
 
21
# But with the addition of the group_concat() function, suddenly the
 
22
# order does matter.
 
23
#
 
24
# $Id: tkt2942.test,v 1.1 2008/02/15 14:33:04 drh Exp $
 
25
#
 
26
 
 
27
set testdir [file dirname $argv0]
 
28
source $testdir/tester.tcl
 
29
 
 
30
ifcapable !subquery {
 
31
  finish_test
 
32
  return
 
33
}
 
34
 
 
35
do_test tkt2942.1 {
 
36
  execsql {
 
37
    create table t1(num int);
 
38
    insert into t1 values (2);
 
39
    insert into t1 values (1);
 
40
    insert into t1 values (3);
 
41
    insert into t1 values (4);
 
42
    SELECT group_concat(num) FROM (SELECT num FROM t1 ORDER BY num DESC);
 
43
  }
 
44
} {4,3,2,1}
 
45
do_test tkt2942.2 {
 
46
  execsql {
 
47
    SELECT group_concat(num) FROM (SELECT num FROM t1 ORDER BY num);
 
48
  }
 
49
} {1,2,3,4}
 
50
do_test tkt2942.3 {
 
51
  execsql {
 
52
    SELECT group_concat(num) FROM (SELECT num FROM t1);
 
53
  }
 
54
} {2,1,3,4}
 
55
do_test tkt2942.4 {
 
56
  execsql {
 
57
    SELECT group_concat(num) FROM (SELECT num FROM t1 ORDER BY rowid DESC);
 
58
  }
 
59
} {4,3,1,2}
 
60
 
 
61
 
 
62
finish_test