no.171.mils

来自「一个内存数据库的源代码这是服务器端还有客户端」· MILS 代码 · 共 116 行

MILS
116
字号
# >Number:         171# >Category:       MIL# >Synopsis:       X.reverse().select() fails after X.sort()# >Confidential:   no# >Severity:       critical# >Priority:       high# >Responsible:    boncz (Peter Boncz)# >State:          open# >Class:          sw-bug# >Submitter-Id:   unknown# >Arrival-Date:   Thu Dec 10 22:54:12 1998# >Originator:     manegold@cwi.nl# >Organization:# CWI# >Release:        980101# >Environment:# IRIX# >Description:# a select on an reverse()d BAT returns incorrect result# when a sort has been done on the same BAT before.## sample script:# ========# s:=new(int,int);# insert(s,5,5);# insert(s,3,3);# insert(s,4,2);# insert(s,2,1);# insert(s,1,1);# insert(s,4,2);# insert(s,4,3);# s.sort.print();# s.reverse().select(2).print();# ========## incorrect output of the last select:# ========# s.reverse().select(2).print();# #-----------------## # BAT:    tmp_24  ## # (int)   (int)   ## #-----------------## [ 1,      1       ]# [ 1,      2       ]# ========## correct output of the last select:# ========# s.reverse().select(2).print();# #-----------------## # BAT:    tmp_24  ## # (int)   (int)   ## #-----------------## [ 1,      2       ]# ========## for a detailed test script see # tests/BugReports/Tests/no.171.*# in the Monet source repository.##         stefanvar s:=new(int,int);insert(s,5,5);insert(s,3,3);insert(s,4,2);insert(s,2,1);insert(s,1,1);insert(s,4,2);insert(s,4,3);s.print();s.select(1).print();s.select(2).print();s.select(3).print();s.select(4).print();s.select(5).print();s.reverse().print();s.reverse().select(1).print();s.reverse().select(2).print();s.reverse().select(3).print();s.reverse().select(4).print();s.reverse().select(5).print();printf("#~BeginVariableOutput~#\n");s.sort().print();printf("#~EndVariableOutput~#\n");s.sort_ht().print();s.select(1).print();s.select(2).print();s.select(3).print();s.select(4).print();s.select(5).print();s.reverse().print();s.reverse().select(1).print();s.reverse().select(2).print();s.reverse().select(3).print();s.reverse().select(4).print();s.reverse().select(4).sort_ht().print();s.reverse().select(5).print();printf("#~BeginVariableOutput~#\n");s.reverse().sort().print();printf("#~EndVariableOutput~#\n");s.reverse().sort_ht().print();s.reverse().select(1).print();s.reverse().select(2).print();s.reverse().select(3).print();s.reverse().select(4).print();s.reverse().select(4).sort_ht().print();s.reverse().select(5).print();quit();

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?