⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 binsearchmultijoin.stable.out

📁 一个内存数据库的源代码这是服务器端还有客户端
💻 OUT
字号:
stdout of test 'binsearchmultijoin` in directory 'tests/gdkTests` itself:# 21:39:53 >  # 21:39:53 >  Mtimeout -timeout 60 mserver5 "--config=/ufs/mk/monet5/Linux/etc/MonetDB5.conf" --debug=10 --set "monet_mod_path=/ufs/mk/monet5/Linux/lib/MonetDB5:/ufs/mk/opensource/MonetDB/Linux/lib/MonetDB" --set "gdk_dbfarm=/ufs/mk/monet5/Linux/var/MonetDB5/dbfarm" --set "sql_logdir=/ufs/mk/monet5/Linux/var/MonetDB5/dblogs" --set mapi_port=34446 --set monet_prompt= --trace --dbname=mTests_tests_gdkTests  binsearchmultijoin.mal < /dev/null# 21:39:53 >  # MonetDB Server v4.99.19# Copyright (c) 1993-2006 CWI, all rights reserved# Compiled for x86_64-redhat-linux-gnu/64bit with 64bit OIDs dynamically linked# config:/ufs/mk/monet5/Linux/etc/MonetDB5.conf# dbfarm:/ufs/mk/monet5/Linux/var/MonetDB5/dbfarm# dbname:mTests_tests_gdkTests# Visit http://monetdb.cwi.nl/ for further information## The test triggers the binsearch implementation of BATmultijoin,## which is chosen in two situations:##   1. smallest bat is not sorted, but the larger is, and the count of the ##      larger is not "too" small.##   2. all bats are sorted on head, but the larger is *much* larger.##function Nseq(N:int):bat[:void,:int];#	seq:= bat.new(:void,:int);#	bat.setSequenceBase(seq,0@0);#	i:= 0;#barrier go:= true;#	bat.append(seq,i);#	i:= i+1;#	redo go:= i<N;#exit go;#	return seq;#end Nseq;function user.Nseq(N:int):bat[:oid,:int];	# 0  (Nseq:bat[:oid,:int])<-(N:int)    seq := bat.new(:oid,:int);	# 1 CMDBATnew (seq:bat[:oid,:int])<-(_3:oid)(_4:int)    i := 0;	# 2  (i:int)<-(_6:int)barrier go := true;	# 3  (go:bit)<-(_8:bit) jump 7    bat.append(seq,i);	# 4 BKCappend_val_wrap (_9:void)<-(seq:bat[:oid,:int])(i:int)    i := calc.+(i,1);	# 5 CALCbinaryADDintint (i:int)<-(i:int)(_10:int)    redo go := calc.<(i,N);	# 6 CALCcompLTintint (go:bit)<-(i:int)(N:int) jump 4exit go;	# 7  (go:bit)    return seq;	# 8  (seq:bat[:oid,:int])end Nseq;	# 9  ### first create example with l.count() < 4*r.count()## r should not be sorted, or a different impl will be chosen.#a:= user.Nseq(3);#ar:= bat.reverse(a);#ap:= algebra.project(ar,0:oid);#ao:= algebra.project(ar,1:oid);#u := algebra.union(ap,ao);#l := bat.reverse(u);#io.print(l);##b:= user.Nseq(3);#br:= bat.reverse(b);#bp:= algebra.project(br,2:oid);#bpr:= bat.reverse(bp);#l2:= algebra.union(l,bpr);##r:= bat.new(:oid,:int);#bat.insert(r, 1:oid,1);#bat.insert(r, 0:oid,2);##z:bat[:oid,:int]:= optimizer.multiplex("calc.+",l2,r);#c:= aggr.count(z);#io.print(c);### the other case when binsearch is chosen, is if r is sorted,## but l.count() > 40*r.count():#n81 := user.Nseq(81);#n81r:= bat.reverse(n81);#n81p:= algebra.project(n81r,0:oid);#nr:= bat.reverse(n81p);#rs:= algebra.sort(r);#z:bat[:oid,:int]:= optimizer.multiplex("calc.+",nr,rs);#c:= aggr.count(z);#io.print(c);###[+](Nseq(81).reverse().project(oid(0)).reverse(),r.sort()).count().print();##clients.quit();#function user.main():void;	# 0  (main:void)# The test triggers the binsearch implementation of BATmultijoin, 	# 1  (_1:str)# which is chosen in two situations: 	# 2  (_2:str)#   1. smallest bat is not sorted, but the larger is, and the count of the  	# 3  (_3:str)#      larger is not "too" small. 	# 4  (_4:str)#   2. all bats are sorted on head, but the larger is *much* larger. 	# 5  (_5:str)# first create example with l.count() < 4*r.count() 	# 6  (_6:str)# r should not be sorted, or a different impl will be chosen. 	# 7  (_7:str)    a := user.Nseq(3);	# 8  (a:bat[:oid,:int])<-(_9:int)    ar := bat.reverse(a);	# 9 BKCreverse (ar:bat[:int,:oid])<-(a:bat[:oid,:int])    ap := algebra.project(ar,0@0:oid);	# 10 CMDBBPproject (ap:bat[:int,:oid])<-(ar:bat[:int,:oid])(_12:oid)    ao := algebra.project(ar,1@0:oid);	# 11 CMDBBPproject (ao:bat[:int,:oid])<-(ar:bat[:int,:oid])(_14:oid)    u := algebra.union(ap,ao);	# 12 ALGsunion (u:bat[:int,:oid])<-(ap:bat[:int,:oid])(ao:bat[:int,:oid])    l := bat.reverse(u);	# 13 BKCreverse (l:bat[:oid,:int])<-(u:bat[:int,:oid])    io.print(l);	# 14 IOprint_val (_17:void)<-(l:bat[:oid,:int])    b := user.Nseq(3);	# 15  (b:bat[:oid,:int])<-(_9:int)    br := bat.reverse(b);	# 16 BKCreverse (br:bat[:int,:oid])<-(b:bat[:oid,:int])    bp := algebra.project(br,2@0:oid);	# 17 CMDBBPproject (bp:bat[:int,:oid])<-(br:bat[:int,:oid])(_21:oid)    bpr := bat.reverse(bp);	# 18 BKCreverse (bpr:bat[:oid,:int])<-(bp:bat[:int,:oid])    l2 := algebra.union(l,bpr);	# 19 ALGsunion (l2:bat[:oid,:int])<-(l:bat[:oid,:int])(bpr:bat[:oid,:int])    r := bat.new(:oid,:int);	# 20 CMDBATnew (r:bat[:oid,:int])<-(_25:oid)(_26:int)    bat.insert(r,1@0:oid,1);	# 21 BKCinsert_bun (_27:void)<-(r:bat[:oid,:int])(_14:oid)(_28:int)    bat.insert(r,0@0:oid,2);	# 22 BKCinsert_bun (_29:void)<-(r:bat[:oid,:int])(_12:oid)(_30:int)    _47 := bat.new(nil:oid,nil:int);	# 23 CMDBATnew (_47:bat[:oid,:int])<-(_48:oid)(_49:int)barrier (_51,_52,_53):= bat.newIterator(l2);	# 24 CHPbunIterator (_51:lng)(_52:oid)(_53:int)<-(l2:bat[:oid,:int]) jump 32    _55 := algebra.find(r,_52);	# 25 ALGfind (_55:int)<-(r:bat[:oid,:int])(_52:oid)    _57 := calc.+(_53,_55);	# 26 CALCbinaryADDintint (_57:int)<-(_53:int)(_55:int)    bat.insert(_47,_52,_57);	# 27 BKCinsert_bun (_58:void)<-(_47:bat[:oid,:int])(_52:oid)(_57:int)    redo (_51,_52,_53):= bat.hasMoreElements(l2);	# 28 CHPbunHasMoreElements (_51:lng)(_52:oid)(_53:int)<-(l2:bat[:oid,:int]) jump 25catch MALException:str ;	# 29  (MALException:str) jump 31    redo (_51,_52,_53):= bat.hasMoreElements(l2);	# 30 CHPbunHasMoreElements (_51:lng)(_52:oid)(_53:int)<-(l2:bat[:oid,:int]) jump 25exit MALException:str ;	# 31  (MALException:str)exit (_51,_52,_53);	# 32  (_51:lng)(_52:oid)(_53:int)    z:bat[:oid,:int]  := _47;	# 33  (z:bat[:oid,:int])<-(_47:bat[:oid,:int])    c := aggr.count(z);	# 34 ALGcount_bat (c:int)<-(z:bat[:oid,:int])    io.print(c);	# 35 IOprint_val (_35:void)<-(c:int)# the other case when binsearch is chosen, is if r is sorted, 	# 36  (_36:str)# but l.count() > 40*r.count(): 	# 37  (_37:str)    n81 := user.Nseq(81);	# 38  (n81:bat[:oid,:int])<-(_39:int)    n81r := bat.reverse(n81);	# 39 BKCreverse (n81r:bat[:int,:oid])<-(n81:bat[:oid,:int])    n81p := algebra.project(n81r,0@0:oid);	# 40 CMDBBPproject (n81p:bat[:int,:oid])<-(n81r:bat[:int,:oid])(_12:oid)    nr := bat.reverse(n81p);	# 41 BKCreverse (nr:bat[:oid,:int])<-(n81p:bat[:int,:oid])    rs := algebra.sort(r);	# 42 ALGhsort (rs:bat[:oid,:int])<-(r:bat[:oid,:int])    _64 := bat.new(nil:oid,nil:int);	# 43 CMDBATnew (_64:bat[:oid,:int])<-(_48:oid)(_49:int)barrier (_66,_67,_68):= bat.newIterator(nr);	# 44 CHPbunIterator (_66:lng)(_67:oid)(_68:int)<-(nr:bat[:oid,:int]) jump 52    _70 := algebra.find(rs,_67);	# 45 ALGfind (_70:int)<-(rs:bat[:oid,:int])(_67:oid)    _72 := calc.+(_68,_70);	# 46 CALCbinaryADDintint (_72:int)<-(_68:int)(_70:int)    bat.insert(_64,_67,_72);	# 47 BKCinsert_bun (_73:void)<-(_64:bat[:oid,:int])(_67:oid)(_72:int)    redo (_66,_67,_68):= bat.hasMoreElements(nr);	# 48 CHPbunHasMoreElements (_66:lng)(_67:oid)(_68:int)<-(nr:bat[:oid,:int]) jump 45catch MALException:str ;	# 49  (MALException:str) jump 51    redo (_66,_67,_68):= bat.hasMoreElements(nr);	# 50 CHPbunHasMoreElements (_66:lng)(_67:oid)(_68:int)<-(nr:bat[:oid,:int]) jump 45exit MALException:str ;	# 51  (MALException:str)exit (_66,_67,_68);	# 52  (_66:lng)(_67:oid)(_68:int)    z:bat[:oid,:int]  := _64;	# 53  (z:bat[:oid,:int])<-(_64:bat[:oid,:int])    c := aggr.count(z);	# 54 ALGcount_bat (c:int)<-(z:bat[:oid,:int])    io.print(c);	# 55 IOprint_val (_44:void)<-(c:int)#[+](Nseq(81).reverse().project(oid(0)).reverse(),r.sort()).count().print(); 	# 56  (_45:str)    clients.quit();	# 57 CLTquitDefault (_46:void)end main;	# 58  #-----------------## t	h	  # name# oid	int	  # type#-----------------#[ 0@0,	  0	  ][ 0@0,	  1	  ][ 0@0,	  2	  ][ 1@0,	  0	  ][ 1@0,	  1	  ][ 1@0,	  2	  ][ 6 ][ 81 ]# 21:39:53 >  # 21:39:53 >  Done.# 21:39:53 >  

⌨️ 快捷键说明

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