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

📄 void.mal

📁 一个内存数据库的源代码这是服务器端还有客户端
💻 MAL
字号:
io.print("First keep void tests");a := bat.new(:oid,:int,10);bat.setName(a,"A");bat.append(a,1);bat.append(a,4);bat.append(a,7);bat.append(a,2);bat.append(a,8);bat.append(a,1);bat.append(a,4);bat.append(a,5);bat.append(a,8);bat.append(a,3);io.print(a);b := algebra.copy(a);bat.setName(b,"B");io.print("insert tests");#insert in orderbat.insert(a,20:oid,8);io.print(a);io.print("replace tests");# replace uncommited no need to change to oidbat.replace(a,5:oid,9);io.print(a);# replace last no need to change to oidbat.replace(a,20:oid,9);io.print(a);# replace last + 1, noting neededbat.replace(a,20:oid,9);io.print(a);io.print("delete tests");# delete uncommited from the topbat.delete(a,20:oid);bat.delete(a,9:oid);bat.delete(a,8:oid);bat.delete(a,7:oid);bat.delete(a,6:oid);bat.delete(a,5:oid);bat.delete(a,4:oid);bat.delete(a,3:oid);bat.delete(a,2:oid);bat.delete(a,1:oid);# only 1 left and still voidio.print(a);# now the convert to oid testio.print("convert void to oid tests");a := algebra.copy(b);bat.setWriteMode(a);bat.setName(a,"C");io.print("insert tests");#insert in out of orderbat.insert(a,21:oid,8);io.print(a);# use oid bat (test if its a properly made bat)bat.delete(a,21:oid);ar:= bat.reverse(a);z:= algebra.join(ar,b);io.print(z);io.print("replace tests");#replace commited buna := algebra.copy(b); bat.setWriteMode(a); bat.setName(a,"D");transaction.commit(a);# replace commited bat.replace(a,5:oid,-3);# replace last (or used to be last)bat.replace(a,9:oid,-1);# replace something not therebat.replace(a,20:oid,-2);io.print(a);# delete commited io.print("delete tests");a := algebra.copy(b); bat.setWriteMode(a); bat.setName(a,"E");transaction.commit(a);io.print(a);bat.delete(a,20:oid);io.print(a);bat.delete(a,9:oid);io.print(a);bat.delete(a,8:oid);io.print(a);bat.delete(a,7:oid);io.print(a);bat.delete(a,6:oid);io.print(a);bat.delete(a,5:oid);io.print(a);bat.delete(a,4:oid);io.print(a);bat.delete(a,3:oid);io.print(a);bat.delete(a,2:oid);io.print(a);bat.delete(a,1:oid);io.print(a);# only 1 left and still voidio.print(a);# deleting a transient value from a just void table didn't fix# the densenesst1 := bat.new(:oid,:int);bat.append(t1,1);bat.append(t1,2);bat.append(t1,3);io.print("<in>");v1 := algebra.select(t1, 2,nil:int,false,false);v2a := algebra.markT(v1,0@0);vr := bat.reverse(v2a);vj:= algebra.join(vr,t1);io.print(vj);v3 := algebra.select(t1,2, nil:int);i:= bat.info(v3); z2:= algebra.find(i,"hseqbase"); io.print(z2);z2:= algebra.find(i,"hdense"); io.print(z2);bat.setWriteMode(v3);v3r:= bat.reverse(v3);bat.delete(v3r,2);i:= bat.info(v3); z2:= algebra.find(i,"hseqbase"); io.print(z2);z2:= algebra.find(i,"hdense"); io.print(z2);x := bat.new(:oid,:oid);#bat.append(x,2@0);bat.append(x,nil:oid);io.print(x);e := bat.new(:oid,:int);n := bat.new(:oid,:int);bat.append(n,20);bat.insert(e,n);io.print(e);y := bat.new(:oid,:int);bat.insert(y,nil:oid,0);zn := bat.new(:oid,:int);bat.setKey(zn,true);bat.insert(zn,y);io.print(zn);clients.quit();

⌨️ 快捷键说明

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