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

📄 tst1200.mal

📁 一个内存数据库的源代码这是服务器端还有客户端
💻 MAL
📖 第 1 页 / 共 2 页
字号:
#date_bat.bat.insert(12@0, date_12).insert(13@0, date_13).insert(14@0, date_14);	bat.insert(date_bat,15@0,date_15);	bat.insert(date_bat,16@0,date_16);	bat.insert(date_bat,17@0,date_17);#date_bat.bat.insert(15@0, date_15).insert(16@0, date_16).insert(17@0, date_17);	bat.insert(date_bat,18@0,date_18);	bat.insert(date_bat,19@0,date_19);	bat.insert(date_bat,20@0,date_20);#date_bat.bat.insert(18@0, date_18).insert(19@0, date_19).insert(20@0, date_20);### test the operations on dates	ne_a := bat.setColumn(date_bat,"date");#io.print(date_bat.bat.setColumn("date"),	oe_a:bat[:oid,:int] := optimizer.multiplex("mtime","year",date_bat);	pe_a := bat.setColumn(oe_a,"year");#      [year](date_bat).bat.setColumn("year"),	qe_a:bat[:oid,:int] := optimizer.multiplex("mtime","day",date_bat);	re_a := bat.setColumn(qe_a,"day");#      [day](date_bat).bat.setColumn("day"),	se_a:bat[:oid,:int] := optimizer.multiplex("mtime","month",date_bat);	te_a:bat[:oid,:str] := optimizer.multiplex("mtime","monthname",se_a);	ue_a := bat.setColumn(te_a,"monthname");#      [monthname]([month](date_bat)).bat.setColumn("monthname"),	ve_a:bat[:oid,:int] := optimizer.multiplex("mtime","month",date_bat);	we_a:bat[:oid,:str] := optimizer.multiplex("mtime","monthname",ve_a);	xe_a:bat[:oid,:int] := optimizer.multiplex("mtime","monthnum",we_a);	ye_a := bat.setColumn(xe_a,"monthnum");	io.print("print(date_bat,oe_a,qe_a,te_a,xe_a)");	af_a := io.print(date_bat,oe_a,qe_a,te_a,xe_a);#      [monthnum]([monthname]([month](date_bat))).bat.setColumn("monthnum"));#	date_addyears:bat[:oid,:date]:= optimizer.multiplex("mtime","addyears",date_bat,-100);#var date_addyears := [addyears](date_bat, -100);	date_addmonths:bat[:oid,:date]:= optimizer.multiplex("mtime","addmonths",date_bat,1);#var date_addmonths := [addmonths](date_bat, 1);#	bat.setColumn(date_bat,"date");#io.print(date_bat.bat.setColumn("date"),	bat.setColumn(date_addyears,"min100y");#      date_addyears.bat.setColumn("min100y"),	df_a:bat[:oid,:int] := optimizer.multiplex("mtime","diff",date_addyears,date_bat);	bat.setColumn(df_a,"diff");	io.print("print(date_bat,date_addyears,df_a)");	ff_a := io.print(date_bat,date_addyears,df_a);#      [diff](date_addyears, date_bat).bat.setColumn("diff"));#	bat.setColumn(date_bat,"date");#io.print(date_bat.bat.setColumn("date"),	bat.setColumn(date_addmonths,"plus1m");#      date_addmonths.bat.setColumn("plus1m"),	if_a:bat[:oid,:int] := optimizer.multiplex("mtime","diff",date_addmonths,date_bat);	bat.setColumn(if_a,"diff");	io.print(" print(date_bat,date_addmonths,if_a)");	kf_a := io.print(date_bat,date_addmonths,if_a);#      [diff](date_addmonths, date_bat).bat.setColumn("diff"));### test dayofweek and weeknumber using more than two years as consecutive days	date_seq:= bat.new(:int,:date);#var date_seq := bat.new(int, date);	i:= -375;#var i := -375;barrier	lf_a:= true;	i:= i+1;	of_a := calc.<(i,375);barrier	mf_a:= of_a;#while ((i :+= 1) < 375) {	pf_a := mtime.adddays(date_00,i);	bat.insert(date_seq,i,pf_a);#	date_seq.bat.insert(i,adddays(date_00,i));redo	lf_a;exit	mf_a;exit	lf_a;#}	rf_a := bat.setColumn(date_seq,"date");#io.print(date_seq.bat.setColumn("date"),	sf_a:bat[:int,:int] := optimizer.multiplex("mtime","weekofyear",date_seq);	tf_a := bat.setColumn(sf_a,"weekofyear");#      [weekofyear](date_seq).bat.setColumn("weekofyear"),	uf_a:bat[:int,:int] := optimizer.multiplex("mtime","dayofweek",date_seq);	vf_a:bat[:int,:str] := optimizer.multiplex("mtime","dayname",uf_a);	wf_a := bat.setColumn(vf_a,"dayofweek");#      [dayname]([dayofweek](date_seq)).bat.setColumn("dayofweek"),	xf_a:bat[:int,:int] := optimizer.multiplex("mtime","dayofweek",date_seq);	yf_a:bat[:int,:str] := optimizer.multiplex("mtime","dayname",xf_a);	ag_a:bat[:int,:int] := optimizer.multiplex("mtime","daynum",yf_a);	bg_a := bat.setColumn(ag_a,"num");#      [daynum]([dayname]([dayofweek](date_seq))).bat.setColumn("num"),	cg_a:bat[:int,:int] := optimizer.multiplex("mtime","dayofyear",date_seq);	dg_a := bat.setColumn(cg_a,"dayofyear");io.print("date_seq,sf_a,vf_a,ag_a,cg_a");	eg_a := io.print(date_seq,sf_a,vf_a,ag_a,cg_a);#      [dayofyear](date_seq).bat.setColumn("dayofyear"));#####line 679 "/ufs/mk/monet_5-0/src/modules/atoms/monettime.mx"## test the various ways top create daytimes	daytime_00:= mtime.daytime(23,59,59,999);#var daytime_00 := mtime.daytime(23,59,59,999);	daytime_01:= mtime.daytime("23:59");#var daytime_01 := mtime.daytime("23:59");	daytime_02:= mtime.daytime("00:00");#var daytime_02 := mtime.daytime("00:00");	daytime_03:= mtime.daytime("23:59:59");#var daytime_03 := mtime.daytime("23:59:59");	daytime_04:= mtime.daytime("00:00:00.000");#var daytime_04 := mtime.daytime("00:00:00.000");	daytime_05:= mtime.daytime("00:00:00");#var daytime_05 := mtime.daytime("00:00:00");	daytime_06:= mtime.daytime("00:00:00:001");#var daytime_06 := mtime.daytime("00:00:00:001");	daytime_07:= mtime.daytime("03:49:02.999");#var daytime_07 := mtime.daytime("03:49:02.999");	daytime_08:= mtime.daytime("20:48:42:999");#var daytime_08 := mtime.daytime("20:48:42:999");	daytime_09:= mtime.daytime("17:53:38:999");#var daytime_09 := mtime.daytime("17:53:38:999");	daytime_10:= mtime.daytime("13:15:34:999");#var daytime_10 := mtime.daytime("13:15:34:999");	daytime_11:= mtime.daytime("07:34:27.999");#var daytime_11 := mtime.daytime("07:34:27.999");	daytime_12:= mtime.daytime("23:59:59:999");#var daytime_12 := mtime.daytime("23:59:59:999");	daytime_13:= mtime.daytime("01:00:03.999");#var daytime_13 := mtime.daytime("01:00:03.999");	daytime_14:= mtime.daytime("23:59:59.999");#var daytime_14 := mtime.daytime("23:59:59.999");## nil daytimes	daytime_15:= mtime.daytime(24,59,59,999);#var daytime_15 := mtime.daytime(24,59,59,999);	daytime_16:= mtime.daytime(23,60,59,999);#var daytime_16 := mtime.daytime(23,60,59,999);	daytime_17:= mtime.daytime(23,59,60,999);#var daytime_17 := mtime.daytime(23,59,60,999);	daytime_18:= mtime.daytime(23,59,60,1000);#var daytime_18 := mtime.daytime(23,59,60,1000);	daytime_19:= mtime.daytime("nil");#var daytime_19 := mtime.daytime("nil");#	daytime_bat:= bat.new(:oid,:daytime);#var daytime_bat := bat.new(oid,daytime);	bat.insert(daytime_bat,0@0,daytime_00);	bat.insert(daytime_bat,1@0,daytime_01);	bat.insert(daytime_bat,2@0,daytime_02);#daytime_bat.bat.insert(0@0, daytime_00).insert(1@0, daytime_01).insert(2@0, daytime_02);	bat.insert(daytime_bat,3@0,daytime_03);	bat.insert(daytime_bat,4@0,daytime_04);	bat.insert(daytime_bat,5@0,daytime_05);#daytime_bat.bat.insert(3@0, daytime_03).insert(4@0, daytime_04).insert(5@0, daytime_05);	bat.insert(daytime_bat,6@0,daytime_06);	bat.insert(daytime_bat,7@0,daytime_07);	bat.insert(daytime_bat,8@0,daytime_08);#daytime_bat.bat.insert(6@0, daytime_06).insert(7@0, daytime_07).insert(8@0, daytime_08);	bat.insert(daytime_bat,9@0,daytime_09);	bat.insert(daytime_bat,10@0,daytime_10);	bat.insert(daytime_bat,11@0,daytime_11);#daytime_bat.bat.insert(9@0, daytime_09).insert(10@0, daytime_10).insert(11@0, daytime_11);	bat.insert(daytime_bat,12@0,daytime_12);	bat.insert(daytime_bat,13@0,daytime_13);	bat.insert(daytime_bat,14@0,daytime_14);#daytime_bat.bat.insert(12@0, daytime_12).insert(13@0, daytime_13).insert(14@0, daytime_14);	bat.insert(daytime_bat,15@0,daytime_15);	bat.insert(daytime_bat,16@0,daytime_16);	bat.insert(daytime_bat,17@0,daytime_17);#daytime_bat.bat.insert(15@0, daytime_15).insert(16@0, daytime_16).insert(17@0, daytime_17);	bat.insert(daytime_bat,18@0,daytime_18);	bat.insert(daytime_bat,19@0,daytime_19);#daytime_bat.bat.insert(18@0, daytime_18).insert(19@0, daytime_19);#	bat.setColumn(daytime_bat,"daytime");#io.print(daytime_bat.bat.setColumn("daytime"),	bh_a:bat[:oid,:int] := optimizer.multiplex("mtime","hours",daytime_bat);	bat.setColumn(bh_a,"hours");#      [hours](daytime_bat).bat.setColumn("hours"),	dh_a:bat[:oid,:int] := optimizer.multiplex("mtime","minutes",daytime_bat);	bat.setColumn(dh_a,"minutes");#      [minutes](daytime_bat).bat.setColumn("minutes"),	fh_a:bat[:oid,:int] := optimizer.multiplex("mtime","seconds",daytime_bat);	bat.setColumn(fh_a,"seconds");#      [seconds](daytime_bat).bat.setColumn("seconds"),	hh_a:bat[:oid,:int] := optimizer.multiplex("mtime","milliseconds",daytime_bat);	bat.setColumn(hh_a,"milliseconds");io.print("daytime_bat,bh_a,dh_a,fh_a,hh_a");	jh_a := io.print(daytime_bat,bh_a,dh_a,fh_a,hh_a);#      [milliseconds](daytime_bat).bat.setColumn("milliseconds"));#####line 719 "/ufs/mk/monet_5-0/src/modules/atoms/monettime.mx"## create timestamps in bulk from the above bats with dates, daytimes and tzones# Skipped due to coercion implication	kh_a:bat[:oid,:timestamp] := optimizer.multiplex("mtime","timestamp",date_bat,daytime_bat,tzone_bat);	timestamp_bat:=kh_a; bat.setWriteMode(kh_a);#var timestamp_bat := [timestamp](date_bat,daytime_bat,tzone_bat).access(BAT_WRITE);## KILL## var timestamp_now := timestamp(epoch());## timestamp_bat.bat.insert(14@0, timestamp_now);### test the timestamp operations	bat.setColumn(timestamp_bat,"timestamp");#io.print(timestamp_bat.bat.setColumn("timestamp"),	mh_a:bat[:oid,:date] := optimizer.multiplex("mtime","date",timestamp_bat,tzone_bat);	bat.setColumn(mh_a,"date");#      [date](timestamp_bat,tzone_bat).bat.setColumn("date"),	oh_a:bat[:oid,:daytime] := optimizer.multiplex("mtime","daytime",timestamp_bat,tzone_bat);	bat.setColumn(oh_a,"daytime");	io.print("print(timestamp_bat,mh_a,oh_a)");	io.print(timestamp_bat,mh_a,oh_a);#      [daytime](timestamp_bat,tzone_bat).bat.setColumn("daytime"));#	rh_a := bat.setColumn(timestamp_bat,"timestamp");#io.print(timestamp_bat.bat.setColumn("timestamp"),	timezones:bat[:str,:timezone]:= bbp.bind("timezones");	io.print("print(timezones)");	io.print(timezones);	sh_a:timezone := algebra.find(timezones,"Wake Island");	th_a:bat[:oid,:date] := optimizer.multiplex("mtime","date",timestamp_bat,sh_a);	bat.setColumn(th_a,"Wake Island");#      [date](timestamp_bat,algebra.find(timezones,"Wake Island")).bat.setColumn("Wake Island"),	vh_a:timezone := algebra.find(timezones,"Wake Island");	wh_a:bat[:oid,:daytime] := optimizer.multiplex("mtime","daytime",timestamp_bat,vh_a);#      [daytime](timestamp_bat,algebra.find(timezones,"Wake Island")),	xh_a:timezone := algebra.find(timezones,"American Samoa");	yh_a:bat[:oid,:date] := optimizer.multiplex("mtime","date",timestamp_bat,xh_a);	ai_a := bat.setColumn(yh_a,"American Samoa");#      [date](timestamp_bat,algebra.find(timezones,"American Samoa")).bat.setColumn("American Samoa"),	bi_a:timezone := algebra.find(timezones,"American Samoa");	ci_a:bat[:oid,:daytime] := optimizer.multiplex("mtime","daytime",timestamp_bat,bi_a);	io.print("print(timestamp_bat,th_a,wh_a,yh_a,ci_a)");	di_a := io.print(timestamp_bat,th_a,wh_a,yh_a,ci_a);#      [daytime](timestamp_bat,algebra.find(timezones,"American Samoa")));#	ei_a := calc.*(60,1000);	fi_a := calc.*(60,ei_a);	gi_a := calc.*(23,fi_a);	hi_a := calc.lng(gi_a);	timestamp_plus:bat[:oid,:timestamp] := optimizer.multiplex("mtime","add",timestamp_bat,hi_a);#var timestamp_plus := [add](timestamp_bat, calc.lng(23*60*60*1000));	ii_a := calc.*(-60,1000);	ji_a := calc.lng(ii_a);	timestamp_minus:bat[:oid,:timestamp] := optimizer.multiplex("mtime","add",timestamp_bat,ji_a);#var timestamp_minus := [add](timestamp_bat, calc.lng(-60*1000));#	ki_a := bat.setColumn(timestamp_bat,"timestamp");#io.print(timestamp_bat.bat.setColumn("timestamp"),	li_a := bat.setColumn(timestamp_plus,"plus23");#	timestamp_plus.bat.setColumn("plus23"),	mi_a := bat.setColumn(timestamp_minus,"min1");#	timestamp_minus.bat.setColumn("min1"),	ni_a:bat[:oid,:lng] := optimizer.multiplex("mtime","diff",timestamp_plus,timestamp_minus);	oi_a := calc.*(60,1000);	pi_a := calc.*(60,oi_a);	qi_a := calc.lng(pi_a);	ri_a := batcalc./(ni_a,qi_a);	si_a := bat.setColumn(ri_a,"diff");	io.print("print(timestamp_bat,timestamp_plus,timestamp_minus,ri_a)");	ti_a := io.print(timestamp_bat,timestamp_plus,timestamp_minus,ri_a);#	[/]([diff](timestamp_plus, timestamp_minus),calc.lng(60*60*1000)).bat.setColumn("diff"));#	ui_a:timezone := algebra.find(timezones,"West/Europe");	timestamp_eur:bat[:int,:timestamp]:= optimizer.multiplex("mtime","timestamp",date_seq,daytime_00,ui_a);#var timestamp_eur := [timestamp](date_seq, daytime_00, algebra.find(timezones,"West/Europe"));	vi_a:timezone := algebra.find(timezones,"Andes/Brazil");	timestamp_bra:bat[:int,:timestamp]:= optimizer.multiplex("mtime","timestamp",date_seq,daytime_00,vi_a);#var timestamp_bra := [timestamp](date_seq, daytime_00, algebra.find(timezones,"Andes/Brazil"));#	wi_a := bat.setColumn(date_seq,"date");#io.print(date_seq.bat.setColumn("date"), 	xi_a:bat[:int,:int] := optimizer.multiplex("mtime","dayofweek",date_seq);	yi_a:bat[:int,:str] := optimizer.multiplex("mtime","dayname",xi_a);	aj_a := bat.setColumn(yi_a,"day");#	[dayname]([dayofweek](date_seq)).bat.setColumn("day"),	bj_a := bat.setColumn(timestamp_eur,"West/Europe");#	timestamp_eur.bat.setColumn("West/Europe"),	cj_a:timezone := algebra.find(timezones,"West/Europe");	dj_a:bat[:int,:bit] := optimizer.multiplex("mtime","dst",timestamp_eur,cj_a);	ej_a := bat.setColumn(dj_a,"dst");#	[dst](timestamp_eur,algebra.find(timezones,"West/Europe")).bat.setColumn("dst"),	fj_a := bat.setColumn(timestamp_bra,"Andes/Brazil");#	timestamp_bra.bat.setColumn("Andes/Brazil"),	gj_a:timezone := algebra.find(timezones,"Andes/Brazil");	hj_a:bat[:int,:bit] := optimizer.multiplex("mtime","dst",timestamp_bra,gj_a);	ij_a := bat.setColumn(hj_a,"dst");	io.print("print(date_seq,yi_a,timestamp_eur,dj_a,timestamp_bra,hj_a)");	jj_a := io.print(date_seq,yi_a,timestamp_eur,dj_a,timestamp_bra,hj_a);#	[dst](timestamp_bra,algebra.find(timezones,"Andes/Brazil")).bat.setColumn("dst"));##quit;####line 756 "/ufs/mk/monet_5-0/src/modules/atoms/monettime.mx"#

⌨️ 快捷键说明

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