#! /usr/bin/env tclkit # expose bad grouping bug in MK 2.4.9.2 # Oct 2003 mk::file open db mk::view layout db.v a:I b:I c:I mk::row append db.v a 0 b 1 c 10 mk::row append db.v a 1 b 1 c 20 mk::row append db.v a 2 b 2 c 30 mk::row append db.v a 3 b 3 c 40 mk::row append db.v a 4 b 3 c 50 foreach x {0 1 2 3 4} { puts [mk::get db.v!$x] } set v [mk::view open db.v] puts v=[$v size] set g [$v view groupby d:V b] puts g=[$g size] foreach x {0 1 2} { set s [$g open $x d] set n [$s size] puts n=$n set o [$s select -sort c] set m [$o size] for {set i 0} {$i < $m} {incr i} { puts " v!$x.d!$i orig = [$s get $i]" puts " v!$x.d!$i sorted = [$o get $i]" } } # output: # # a 0 b 1 c 10 # a 1 b 1 c 20 # a 2 b 2 c 30 # a 3 b 3 c 40 # a=4 b 3 c 50 # v=5 # g=3 # n=2 # v!0.d!0 orig = a 0 c 10 # v!0.d!0 sorted = c 10 a 0 # v!0.d!1 orig = a 1 c 20 # v!0.d!1 sorted = c 20 a 1 # n=1 # v!1.d!0 orig = a 2 c 30 # v!1.d!0 sorted = index 0 # n=2 # v!2.d!0 orig = a 3 c 40 # v!2.d!0 sorted = c 40 a 3 # v!2.d!1 orig = a 4 c 50 # v!2.d!1 sorted = c 50 a 4 # # note the change of property order # and the junk in a 1-sized subview