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

📄 algebra.mal

📁 一个内存数据库的源代码这是服务器端还有客户端
💻 MAL
📖 第 1 页 / 共 3 页
字号:
	or: 'sunion(left,right).sunique'.";#line 382 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"command kunion ( left:bat[:any_1,:any_2], right:bat[:any_1,:any_2])		:bat[:any_1,:any_2] address ALGkunioncomment "Returns the union of two BATs; looking at head-columns only. 		Results in all BUNs of 'left' that are  not in 'right', plus 	all BUNs of 'right'.  *no* double-elimination is done. 		If you want this, do:	'kunion(left.kunique,right.kunique)' 	or: 'sunion(left,right).kunique'.";#line 396 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"command crossproduct(left:bat[:any_1,:any_2], right:bat[:any_3,:any_4])	:bat[:any_1,:any_4]address ALGcrosscomment "Returns the cross product";command antijoin(left:bat[:any_1,:any_2], right:bat[:any_2,:any_4])	:bat[:any_1,:any_4]address ALGantijoincomment "Returns the antijoin";command join( left:bat[:any_1,:any_2], right:bat[:any_2,:any_3])		:bat[:any_1,:any_3] address ALGjoincomment "Returns all BUNs, consisting of a head-value from 'left' and 		a tail-value from 'right' for which there are BUNs in 'left' 		and 'right' with equal tail- resp. head-value (i.e. the join	columns are projected out).";command join( left:bat[:any_1,:any_2], right:bat[:any_2,:any_3])		:bat[:any_1,:any_3] address ALGjoin;command leftjoin( left:bat[:any_1,:any_2], right:bat[:any_2,:any_3],		estimate:lng) :bat[:any_1,:any_3] address ALGleftjoinestimate;command join( left:bat[:any_1,:any_2], right:bat[:any_2,:any_3],		estimate:lng) :bat[:any_1,:any_3] address ALGjoinestimate;command fetchjoin ( left:bat[:any_1,:oid], right:bat[:oid,:any_3] )		:bat[:any_1,:any_3] address ALGfetchjoincomment "Hook directly into the fetch implementation of the join.";command leftfetchjoin ( left:bat[:any_1,:oid], right:bat[:oid,:any_3] )		:bat[:any_1,:any_3] address ALGleftfetchjoincomment "Hook directly into the left fetch join implementation.";command mergejoin (left:bat[:any_1,:any_2], right:bat[:any_2,:any_3])		:bat[:any_1,:any_3] address ALGmergejoincomment "Hook directly into the merge implementation of the join.";command hashjoin ( left:bat[:any_1,:any_2], right:bat[:any_2,:any_3])		:bat[:any_1,:any_3] address ALGhashjoincomment "Hook directly into the hash implementation of the join.";command indexjoin ( left:bat[:any_1,:any_2], right:bat[:any_2,:any_3])		:bat[:any_1,:any_3] address ALGindexjoincomment "Hook directly into the index implementation of the join.";#line 452 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"command outerjoin( outer:bat[:any_1,:any_2], inner:bat[:any_2,:any_3]) 		:bat[:any_1,:any_3] address ALGouterjoincomment "Returns all the result of a join, plus the BUNS formed NIL in 		the tail and the head-values of 'outer' whose tail-value does 		not match an head-value in 'inner'.";command outerjoin( outer:bat[:any_1,:oid], inner:bat[:oid,:any_3]) 		:bat[:any_1,:any_3] address ALGouterjoincomment "Returns all the result of a join, plus the BUNS formed NIL in 		the tail and the head-values of 'outer' whose tail-value does 		not match an head-value in 'inner'.";command outerjoin( outer:bat[:any_1,:oid], inner:bat[:oid,:any_3]) 		:bat[:any_1,:any_3] address ALGouterjoincomment "Returns all the result of a join, plus the BUNS formed NIL in 		the tail and the head-values of 'outer' whose tail-value does 		not match an head-value in 'inner'.";command outerjoin( outer:bat[:any_1,:any_2], inner:bat[:any_2,:any_3],		estimate:lng) :bat[:any_1,:any_3] address ALGouterjoinestimate;#line 477 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"command thetajoin( left:bat[:any_1,:any_2], right:bat[:any_2,:any_3],		opname:int) :bat[:any_1,:any_3] address ALGthetajoincomment "Theta join on for 'mode' in { LE, LT, EQ, GT, GE }.  JOIN_EQ is 		just the same as join(). All other options do merge algorithms. 		Either using the fact that they are ordered() already (left on tail, 	right on head), or by using/creating binary search trees on the 		join columns. ";command thetajoin( left:bat[:any_1,:any_2], right:bat[:any_2,:any_3],		opname:int,estimate:lng) :bat[:any_1,:any_3] address ALGthetajoinEstimate;#line 491 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"command bandjoin( outer:bat[:any_1,:any_2], inner:bat[:any_2,:any_3],		   minus:any_2 , plus:any_2 ) :bat[:any_1,:any_3] address ALGbandjoincomment "This is a join() for which the predicate is that two BUNs match 		if the left-tail value is within the range [right-head - minus, 		right-head + plus]. Works only for the builtin numerical types, 		and their derivates.";#line 500 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"command project(b:bat[:any_1,:any_2]) :bat[:any_1,:oid]address ALGprojectNILcomment "Extract the head of a BAT.";#line 512 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"	#line 505 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"command project(v:bit,b:bat[:any_2,:any_1]) :bat[:bit,:any_1] address ALGprojecthead_bitcomment "Fill the head with a constant, e.g. [0~b]";command project(b:bat[:any_2,:any_1],v:bit) :bat[:any_2,:bit] address ALGprojecttail_bitcomment "Fill the tail with a constant, e.g. [0~b]";#line 512 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"	#line 505 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"command project(v:chr,b:bat[:any_2,:any_1]) :bat[:chr,:any_1] address ALGprojecthead_chrcomment "Fill the head with a constant, e.g. [0~b]";command project(b:bat[:any_2,:any_1],v:chr) :bat[:any_2,:chr] address ALGprojecttail_chrcomment "Fill the tail with a constant, e.g. [0~b]";#line 513 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"	#line 505 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"command project(v:str,b:bat[:any_2,:any_1]) :bat[:str,:any_1] address ALGprojecthead_strcomment "Fill the head with a constant, e.g. [0~b]";command project(b:bat[:any_2,:any_1],v:str) :bat[:any_2,:str] address ALGprojecttail_strcomment "Fill the tail with a constant, e.g. [0~b]";#line 514 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"	#line 505 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"command project(v:oid,b:bat[:any_2,:any_1]) :bat[:oid,:any_1] address ALGprojecthead_oidcomment "Fill the head with a constant, e.g. [0~b]";command project(b:bat[:any_2,:any_1],v:oid) :bat[:any_2,:oid] address ALGprojecttail_oidcomment "Fill the tail with a constant, e.g. [0~b]";#line 515 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"	#line 505 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"command project(v:int,b:bat[:any_2,:any_1]) :bat[:int,:any_1] address ALGprojecthead_intcomment "Fill the head with a constant, e.g. [0~b]";command project(b:bat[:any_2,:any_1],v:int) :bat[:any_2,:int] address ALGprojecttail_intcomment "Fill the tail with a constant, e.g. [0~b]";#line 516 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"	#line 505 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"command project(v:sht,b:bat[:any_2,:any_1]) :bat[:sht,:any_1] address ALGprojecthead_shtcomment "Fill the head with a constant, e.g. [0~b]";command project(b:bat[:any_2,:any_1],v:sht) :bat[:any_2,:sht] address ALGprojecttail_shtcomment "Fill the tail with a constant, e.g. [0~b]";#line 517 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"	#line 505 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"command project(v:lng,b:bat[:any_2,:any_1]) :bat[:lng,:any_1] address ALGprojecthead_lngcomment "Fill the head with a constant, e.g. [0~b]";command project(b:bat[:any_2,:any_1],v:lng) :bat[:any_2,:lng] address ALGprojecttail_lngcomment "Fill the tail with a constant, e.g. [0~b]";#line 518 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"	#line 505 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"command project(v:flt,b:bat[:any_2,:any_1]) :bat[:flt,:any_1] address ALGprojecthead_fltcomment "Fill the head with a constant, e.g. [0~b]";command project(b:bat[:any_2,:any_1],v:flt) :bat[:any_2,:flt] address ALGprojecttail_fltcomment "Fill the tail with a constant, e.g. [0~b]";#line 519 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"	#line 505 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"command project(v:dbl,b:bat[:any_2,:any_1]) :bat[:dbl,:any_1] address ALGprojecthead_dblcomment "Fill the head with a constant, e.g. [0~b]";command project(b:bat[:any_2,:any_1],v:dbl) :bat[:any_2,:dbl] address ALGprojecttail_dblcomment "Fill the tail with a constant, e.g. [0~b]";#line 520 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"#line 526 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"command markT( b:bat[:any_1,:any_2], base:oid ) :bat[:any_1,:oid] address ALGtmarkcomment "Produces a BAT with fresh unique dense sequense of OIDs in 		the tail that starts at base (i.e. [base,..base+b.count()-1] ).";command markT( b:bat[:any_1,:any_2] ) :bat[:any_1,:oid] address ALGtmark_defaultcomment "Produces a BAT with fresh unique OIDs in the tail starting at 0@0.";command markH( b:bat[:any_1,:any_2] ) :bat[:oid,:any_2] address ALGmarkHead_defaultcomment "Produces a BAT with fresh OIDs in the head starting at 0@0.";command markH( b:bat[:any_1,:any_2], base:oid ) :bat[:oid,:any_2] address ALGmarkHeadcomment "Produces a new BAT with fresh unique dense sequense of OIDs in 		the head that starts at base (i.e. [base,..base+b.count()-1] ).";command number( b:bat[:any_1,:any] ) :bat[:any_1,:int]  address ALGnumbercomment "Produces a new BAT with identical head column, and consecutively 		increasing integers (start at 0) in the tail column.";command merge(b:bat[:oid,:oid]):bat[:lng,:oid]address ALGmergecomment "Merge head and tail into a single value";command split(b:bat[:lng,:oid]):bat[:oid,:oid]address ALGsplitcomment "Split head into two values";#line 564 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"command materialize(b:bat[:oid,:any_1]):bat[:oid,:any_1]address ALGmaterializecomment "Materialize the void column";command reuse(b:bat[:any_1,:any_2]):bat[:any_1,:any_2]address ALGreusecomment "Reuse a temporary BAT if you can. Otherwise,	allocate enough storage to accept result of an 	operation (not involving the heap)";#line 578 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"command hashsplit( b:bat[:any_1,:any_2], buckects:int ) 		:bat[:int,:bat] address ALGhashsplitcomment "Split a BAT on tail column according (hash-value MOD buckets). 		Returns a recursive BAT, containing the fragments in the tail, 		their bucket number in the head.";command uhashsplit ( b:bat[:any_1,:any_2], buckets:int ) :bat[:int,:bat] address ALGuhashsplitcomment "Same as hashsplit, but only collect the head values in the fragments";

⌨️ 快捷键说明

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