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

📄 tst1200.mal

📁 一个内存数据库的源代码这是服务器端还有客户端
💻 MAL
📖 第 1 页 / 共 2 页
字号:
# Mil compiler Version 1.0)# Copyright (c) 1993-2001, CWI. All rights reserved.# Predefined code segment###line 531 "/ufs/mk/monet_5-0/src/modules/atoms/monettime.mx"#module(monettime,alarm);###lzone:= mtime.timezone("GMT+1");mtime.timezone_local(lzone);##line 535 "/ufs/mk/monet_5-0/src/modules/atoms/monettime.mx"## test the various ways to create rules	rule_jan:= mtime.rule("1st MON from start of JAN@01:15");#var rule_jan := mtime.rule("1st MON from start of JAN@01:15");	rule_mar:= mtime.rule("first WEDNE on or after march 10@01:15");#var rule_mar := mtime.rule("first WEDNE on or after march 10@01:15");	rule_apr:= mtime.rule("last THU on or before aPr 1@01:15");#var rule_apr := mtime.rule("last THU on or before aPr 1@01:15");	rule_may:= mtime.rule("MAY 26@01:15");#var rule_may := mtime.rule("MAY 26@01:15");	rule_jun:= mtime.rule("2nd TUE from end of june@01:15");#var rule_jun := mtime.rule("2nd TUE from end of june@01:15");	rule_jul:= mtime.rule(7,1,1,75);#var rule_jul := mtime.rule(7,1,1,75);	rule_aug:= mtime.rule(8,-1,1,75);#var rule_aug := mtime.rule(8,-1,1,75);	rule_sep:= mtime.rule(9,-10,3,75);#var rule_sep := mtime.rule(9,-10,3,75);	rule_oct:= mtime.rule(10,31,0,75);#var rule_oct := mtime.rule(10,31,0,75);	rule_nov:= mtime.rule(11,-10,-4,75);#var rule_nov := mtime.rule(11,-10,-4,75);## nil rules	rule_dec:= mtime.rule(12,-31,0,75);#var rule_dec := mtime.rule(12,-31,0,75);	rule_feb:= mtime.rule("first fRiDaY on or after february 30@01:15");#var rule_feb := mtime.rule("first fRiDaY on or after february 30@01:15");# 	rule_bat:= bat.new(:str,:zrule,10);#var rule_bat := bat.new(str,rule,10);	bat.insert(rule_bat,"jan",rule_jan);	bat.insert(rule_bat,"feb",rule_feb);	bat.insert(rule_bat,"mar",rule_mar);	bat.insert(rule_bat,"apr",rule_apr);#rule_bat.bat.insert("jan",rule_jan).insert("feb",rule_feb).insert("mar",rule_mar).insert("apr",rule_apr);	bat.insert(rule_bat,"may",rule_may);	bat.insert(rule_bat,"jun",rule_jun);	bat.insert(rule_bat,"jul",rule_jul);	bat.insert(rule_bat,"aug",rule_aug);#rule_bat.bat.insert("may",rule_may).insert("jun",rule_jun).insert("jul",rule_jul).insert("aug",rule_aug);	bat.insert(rule_bat,"sep",rule_sep);	bat.insert(rule_bat,"oct",rule_oct);	bat.insert(rule_bat,"nov",rule_nov);	bat.insert(rule_bat,"dec",rule_dec);#rule_bat.bat.insert("sep",rule_sep).insert("oct",rule_oct).insert("nov",rule_nov).insert("dec",rule_dec);### test the operations on rules	ma_a := bat.setColumn(rule_bat,"rule");#io.print(rule_bat.bat.setColumn("rule"),	na_a:bat[:str,:int] := optimizer.multiplex("mtime","month",rule_bat);	oa_a := bat.setColumn(na_a,"month");#      [month](rule_bat).bat.setColumn("month"),	pa_a:bat[:str,:int] := optimizer.multiplex("mtime","weekday",rule_bat);	qa_a := bat.setColumn(pa_a,"weekday");#      [weekday](rule_bat).bat.setColumn("weekday"),	ra_a:bat[:str,:int] := optimizer.multiplex("mtime","day",rule_bat);	sa_a := bat.setColumn(ra_a,"day");#      [day](rule_bat).bat.setColumn("day"),	ta_a:bat[:str,:int] := optimizer.multiplex("mtime","minutes",rule_bat);	ua_a := bat.setColumn(ta_a,"minutes");io.print("rule_bat,na_a,pa_a,ra_a,ta_a");	va_a := io.print(rule_bat,na_a,pa_a,ra_a,ta_a);#      [minutes](rule_bat).bat.setColumn("minutes"));#	bat.setColumn(rule_bat,"rule");#io.print(rule_bat.bat.setColumn("rule"),	xa_a:bat[:str,:date] := optimizer.multiplex("mtime","compute",rule_bat,2001);	ya_a := bat.setColumn(xa_a,"2001");#      [compute](rule_bat, 2001).bat.setColumn("2001"),	ab_a:bat[:str,:date] := optimizer.multiplex("mtime","compute",rule_bat,2001);	bb_a:bat[:str,:int] := optimizer.multiplex("mtime","dayofweek",ab_a);	cb_a:bat[:str,:str] := optimizer.multiplex("mtime","dayname",bb_a);	bat.setColumn(cb_a,"2001");#      [dayname]([dayofweek]([compute](rule_bat, 2001))).bat.setColumn("2001"),	eb_a:bat[:str,:date] := optimizer.multiplex("mtime","compute",rule_bat,1999);	bat.setColumn(eb_a,"1999");#      [compute](rule_bat, 1999).bat.setColumn("1999"),	gb_a:bat[:str,:date] := optimizer.multiplex("mtime","compute",rule_bat,1999);	hb_a:bat[:str,:int] := optimizer.multiplex("mtime","dayofweek",gb_a);	ib_a:bat[:str,:str] := optimizer.multiplex("mtime","dayname",hb_a);	bat.setColumn(ib_a,"1999");#      [dayname]([dayofweek]([compute](rule_bat, 1999))).bat.setColumn("1999"),	kb_a:bat[:str,:date] := optimizer.multiplex("mtime","compute",rule_bat,1992);	bat.setColumn(kb_a,"1992");#      [compute](rule_bat, 1992).bat.setColumn("1992"),	mb_a:bat[:str,:date] := optimizer.multiplex("mtime","compute",rule_bat,1992);	nb_a:bat[:str,:int] := optimizer.multiplex("mtime","dayofweek",mb_a);	ob_a:bat[:str,:str] := optimizer.multiplex("mtime","dayname",nb_a);	bat.setColumn(ob_a,"1992");io.print("rule_bat,xa_a,cb_a,eb_a,ib_a,kb_a,ob_a");	qb_a := io.print(rule_bat,xa_a,cb_a,eb_a,ib_a,kb_a,ob_a);#      [dayname]([dayofweek]([compute](rule_bat, 1992))).bat.setColumn("1992"));#	rb_a := bat.setColumn(rule_bat,"rule");#io.print(rule_bat.bat.setColumn("rule"),	sb_a:bat[:str,:date] := optimizer.multiplex("mtime","compute",rule_bat,1572);	tb_a := bat.setColumn(sb_a,"1572");#      [compute](rule_bat, 1572).bat.setColumn("1572"),	ub_a:bat[:str,:date] := optimizer.multiplex("mtime","compute",rule_bat,1572);	vb_a:bat[:str,:int] := optimizer.multiplex("mtime","dayofweek",ub_a);	wb_a:bat[:str,:str] := optimizer.multiplex("mtime","dayname",vb_a);	xb_a := bat.setColumn(wb_a,"1572");#      [dayname]([dayofweek]([compute](rule_bat, 1572))).bat.setColumn("1572"),	yb_a:bat[:str,:date] := optimizer.multiplex("mtime","compute",rule_bat,1);	ac_a := bat.setColumn(yb_a,"1");#      [compute](rule_bat, 1).bat.setColumn("1"),	bc_a:bat[:str,:date] := optimizer.multiplex("mtime","compute",rule_bat,1);	cc_a:bat[:str,:int] := optimizer.multiplex("mtime","dayofweek",bc_a);	dc_a:bat[:str,:str] := optimizer.multiplex("mtime","dayname",cc_a);	ec_a := bat.setColumn(dc_a,"1");#      [dayname]([dayofweek]([compute](rule_bat, 1))).bat.setColumn("1"),	fc_a:bat[:str,:date] := optimizer.multiplex("mtime","compute",rule_bat,-2000);	gc_a := bat.setColumn(fc_a,"-2000");#      [compute](rule_bat, -2000).bat.setColumn("-2000"),	hc_a:bat[:str,:date] := optimizer.multiplex("mtime","compute",rule_bat,-2000);	ic_a:bat[:str,:int] := optimizer.multiplex("mtime","dayofweek",hc_a);	jc_a:bat[:str,:str] := optimizer.multiplex("mtime","dayname",ic_a);	kc_a := bat.setColumn(jc_a,"-2000");io.print("rule_bat,sb_a,wb_a,yb_a,dc_a,fc_a,jc_a");	lc_a := io.print(rule_bat,sb_a,wb_a,yb_a,dc_a,fc_a,jc_a);#      [dayname]([dayofweek]([compute](rule_bat, -2000))).bat.setColumn("-2000"));#####line 580 "/ufs/mk/monet_5-0/src/modules/atoms/monettime.mx"## test the various ways to create timezones, using some of the above created rules	tzone_00:= mtime.timezone("GMT");#var tzone_00 := mtime.timezone("GMT");	tzone_01:= mtime.timezone("GMT+01:00");#var tzone_01 := mtime.timezone("GMT+01:00");	tzone_02:= mtime.timezone("GMT+0100");#var tzone_02 := mtime.timezone("GMT+0100");	tzone_03:= mtime.timezone(60,rule_oct,rule_mar);#var tzone_03 := mtime.timezone(60, rule_oct, rule_mar);	tzone_04:= mtime.timezone(0,rule_jan,rule_aug);#var tzone_04 := mtime.timezone(0, rule_jan, rule_aug);	tzone_05:= mtime.timezone(-97,rule_oct,rule_apr);#var tzone_05 := mtime.timezone(-97, rule_oct, rule_apr);	tzone_06:= mtime.timezone(-97,rule_may,rule_sep);#var tzone_06 := mtime.timezone(-97, rule_may, rule_sep);	mc_a := calc.*(23,60);	tzone_07:= mtime.timezone(mc_a,rule_apr,rule_nov);#var tzone_07 := mtime.timezone(23*60, rule_apr, rule_nov);	nc_a := calc.*(-23,59);	oc_a := calc.-(nc_a,59);	tzone_08:= mtime.timezone(oc_a);#var tzone_08 := mtime.timezone((-23*59) - 59);	tzone_09:= mtime.timezone(0);#var tzone_09 := mtime.timezone(0);	tzone_10:= mtime.timezone(-60);#var tzone_10 := mtime.timezone(-60);	pc_a := calc.*(23,60);	qc_a := calc.+(pc_a,59);	tzone_11:= mtime.timezone(qc_a);#var tzone_11 := mtime.timezone((23*60)+59);	tzone_12:= mtime.timezone(60);#var tzone_12 := mtime.timezone(60);## nil tzones	tzone_13:= mtime.timezone(60,rule_feb,rule_dec);#var tzone_13 := mtime.timezone(60, rule_feb, rule_dec);	rc_a := calc.*(24,60);	tzone_15:= mtime.timezone(rc_a,rule_apr,rule_nov);#var tzone_15 := mtime.timezone(24*60, rule_apr, rule_nov);##	tzone_bat:= bat.new(:oid,:timezone);#var tzone_bat := bat.new(oid,tzone);	bat.insert(tzone_bat,0@0,tzone_00);	bat.insert(tzone_bat,1@0,tzone_01);	bat.insert(tzone_bat,2@0,tzone_02);#tzone_bat.bat.insert(0@0, tzone_00).insert(1@0, tzone_01).insert(2@0, tzone_02);	bat.insert(tzone_bat,3@0,tzone_03);	bat.insert(tzone_bat,4@0,tzone_04);	bat.insert(tzone_bat,5@0,tzone_05);#tzone_bat.bat.insert(3@0, tzone_03).insert(4@0, tzone_04).insert(5@0, tzone_05);	bat.insert(tzone_bat,6@0,tzone_06);	bat.insert(tzone_bat,7@0,tzone_07);	bat.insert(tzone_bat,8@0,tzone_08);#tzone_bat.bat.insert(6@0, tzone_06).insert(7@0, tzone_07).insert(8@0, tzone_08);	bat.insert(tzone_bat,9@0,tzone_09);	bat.insert(tzone_bat,10@0,tzone_10);	bat.insert(tzone_bat,11@0,tzone_11);#tzone_bat.bat.insert(9@0, tzone_09).insert(10@0, tzone_10).insert(11@0, tzone_11);	bat.insert(tzone_bat,12@0,tzone_12);	bat.insert(tzone_bat,13@0,tzone_13);	bat.insert(tzone_bat,15@0,tzone_15);#tzone_bat.bat.insert(12@0, tzone_12).insert(13@0, tzone_13).insert(15@0, tzone_15);### test the operations on tzones	bat.setName(tzone_bat,"timezone");#io.print(tzone_bat);#io.print("start error");	#x:= getRefCount(tzone_bat);#io.print(x);	#jd_a := io.print(tzone_bat);#io.print("end");#io.print(x);	#x:= getRefCount(tzone_bat);io.print("tzone_bat");	io.print(tzone_bat);#io.print(tzone_bat.bat.setColumn("tzone"));	kd_a:bat[:oid,:int] := optimizer.multiplex("mtime","minutes",tzone_bat);	bat.setColumn(kd_a,"minutes");#io.print([minutes](tzone_bat).bat.setColumn("minutes"),	md_a:bat[:oid,:zrule] := optimizer.multiplex("mtime","start_dst",tzone_bat);	bat.setColumn(md_a,"start_dst");#      [start_dst](tzone_bat).bat.setColumn("start_dst"),	od_a:bat[:oid,:zrule] := optimizer.multiplex("mtime","end_dst",tzone_bat);	bat.setColumn(od_a,"end_dst");io.print("print(kd_a,md_a,od_a)");	qd_a := io.print(kd_a,md_a,od_a);#      [end_dst](tzone_bat).bat.setColumn("end_dst"));#####line 614 "/ufs/mk/monet_5-0/src/modules/atoms/monettime.mx"## test the various ways to create dates	date_00:= mtime.date(2000,01,01);#var date_00 := date(2000,01,01);	date_01:= mtime.date("5000-JAN-01");#var date_01 := date("5000-JAN-01");	date_02:= mtime.date("1968-FEBR-29");#var date_02 := date("1968-FEBR-29");	date_03:= mtime.date("1-MARCH-01");#var date_03 := date("1-MARCH-01");	date_04:= mtime.date("-5867411-JAN-1");#var date_04 := date("-5867411-JAN-1");	date_05:= mtime.date("-768/octobe/01");#var date_05 := date("-768/octobe/01");	date_06:= mtime.date("5000\\novembe\\01");#var date_06 := date("5000\\novembe\\01");	date_07:= mtime.date("-1999/jun/01");#var date_07 := date("-1999/jun/01");	date_08:= mtime.date("2000-jul-14");#var date_08 := date("2000-jul-14");	date_09:= mtime.date("1999-sept-01");#var date_09 := date("1999-sept-01");	date_10:= mtime.date("1998-decemBeR-01");#var date_10 := date("1998-decemBeR-01");	date_11:= mtime.date("1953 may                01");#var date_11 := date("1953 may                01");	date_12:= mtime.date("5867411-DEC-31");#var date_12 := date("5867411-DEC-31");## nil dates	date_13:= mtime.date(1996,13,1);#var date_13 := date(1996,13,1);	date_14:= mtime.date("999999999999999999999-01-01");#var date_14 := date("999999999999999999999-01-01");	date_15:= mtime.date("1999-JANUARI-01");#var date_15 := date("1999-JANUARI-01");	date_16:= mtime.date("1999-FEBR-29");#var date_16 := date("1999-FEBR-29");	date_17:= mtime.date("-1-DECEMBER-0");#var date_17 := date("-1-DECEMBER-0");	date_18:= mtime.date("5000\novembe\31");#var date_18 := date("5000\novembe\31");	date_19:= mtime.date("nil");#var date_19 := date("nil");	date_20:= mtime.date("1999-sept-31");#var date_20 := date("1999-sept-31");#	date_bat:= bat.new(:oid,:date);#var date_bat := bat.new(oid,date);	bat.insert(date_bat,0@0,date_00);	bat.insert(date_bat,1@0,date_01);	bat.insert(date_bat,2@0,date_02);#date_bat.bat.insert(0@0, date_00).insert(1@0, date_01).insert(2@0, date_02);	bat.insert(date_bat,3@0,date_03);	bat.insert(date_bat,4@0,date_04);	bat.insert(date_bat,5@0,date_05);#date_bat.bat.insert(3@0, date_03).insert(4@0, date_04).insert(5@0, date_05);	bat.insert(date_bat,6@0,date_06);	bat.insert(date_bat,7@0,date_07);	bat.insert(date_bat,8@0,date_08);#date_bat.bat.insert(6@0, date_06).insert(7@0, date_07).insert(8@0, date_08);	bat.insert(date_bat,9@0,date_09);	bat.insert(date_bat,10@0,date_10);	bat.insert(date_bat,11@0,date_11);#date_bat.bat.insert(9@0, date_09).insert(10@0, date_10).insert(11@0, date_11);	bat.insert(date_bat,12@0,date_12);	bat.insert(date_bat,13@0,date_13);	bat.insert(date_bat,14@0,date_14);

⌨️ 快捷键说明

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