Changeset: 31c824246b31 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=31c824246b31
Modified Files:
        monetdb5/modules/mal/Tests/pqueue2.mal
Branch: default
Log Message:

extended the pqueue example/test


diffs (123 lines):

diff --git a/monetdb5/modules/mal/Tests/pqueue2.mal 
b/monetdb5/modules/mal/Tests/pqueue2.mal
--- a/monetdb5/modules/mal/Tests/pqueue2.mal
+++ b/monetdb5/modules/mal/Tests/pqueue2.mal
@@ -23,6 +23,119 @@ bat.append(b,3);
 
 io.print(b);
 
+c:= bat.new(:oid,:str);
+
+bat.append(c,'sjoerd');
+bat.append(c,'peter');
+bat.append(c,'stefan');
+bat.append(c,'stefan');
+bat.append(c,'niels');
+bat.append(c,'martin');
+bat.append(c,'stefan');
+
+io.print(c);
+
+# topn of b, new interface should return void,oid(position)
+bp:= pqueue.topn_min(b,0:wrd,false);
+io.print(bp);
+bp:= pqueue.topn_min(b,1:wrd,false);
+io.print(bp);
+bp:= pqueue.topn_min(b,2:wrd,false);
+io.print(bp);
+bp:= pqueue.topn_min(b,3:wrd,false);
+io.print(bp);
+bp:= pqueue.topn_min(b,4:wrd,false);
+io.print(bp);
+bp:= pqueue.topn_min(b,5:wrd,false);
+io.print(bp);
+bp:= pqueue.topn_min(b,6:wrd,false);
+io.print(bp);
+bp:= pqueue.topn_min(b,7:wrd,false);
+io.print(bp);
+bp:= pqueue.topn_min(b,8:wrd,false);
+io.print(bp);
+
+# utopn only count the unique values - topn of b, 
+#      duplicates are included in the returned position list and
+#      get the same group id.
+#
+#      returns both void,pos, void,gid
+bp,bg:= pqueue.utopn_min(b,0:wrd,false);
+io.print(bp);
+io.print(bg);
+ap := algebra.leftfetchjoin(bp, a);
+io.print(ap);
+# (sub) topn input: aligned bg group id, ap values bat
+#      output: void,pos
+# returns the topn of the combination gid,value
+bp:= pqueue.topn_min(bg,ap,0:wrd,false);
+io.print(bp);
+
+bp,bg:= pqueue.utopn_min(b,1:wrd,false);
+io.print(bp);
+io.print(bg);
+ap := algebra.leftfetchjoin(bp, a);
+io.print(ap);
+bp:= pqueue.topn_min(bg,ap,1:wrd,false);
+io.print(bp);
+
+bp,bg:= pqueue.utopn_min(b,2:wrd,false);
+io.print(bp);
+io.print(bg);
+ap := algebra.leftfetchjoin(bp, a);
+io.print(ap);
+bp:= pqueue.topn_min(bg,ap,2:wrd,false);
+io.print(bp);
+
+bp,bg:= pqueue.utopn_min(b,3:wrd,false);
+io.print(bp);
+io.print(bg);
+ap := algebra.leftfetchjoin(bp, a);
+io.print(ap);
+bp:= pqueue.topn_min(bg,ap,3:wrd,false);
+io.print(bp);
+
+bp,bg:= pqueue.utopn_min(b,4:wrd,false);
+io.print(bp);
+io.print(bg);
+ap := algebra.leftfetchjoin(bp, a);
+io.print(ap);
+bp:= pqueue.topn_min(bg,ap,4:wrd,false);
+io.print(bp);
+
+bp,bg:= pqueue.utopn_min(b,5:wrd,false);
+io.print(bp);
+io.print(bg);
+ap := algebra.leftfetchjoin(bp, a);
+io.print(ap);
+bp:= pqueue.topn_min(bg,ap,5:wrd,false);
+io.print(bp);
+
+bp,bg:= pqueue.utopn_min(b,6:wrd,false);
+io.print(bp);
+io.print(bg);
+ap := algebra.leftfetchjoin(bp, a);
+io.print(ap);
+bp:= pqueue.topn_min(bg,ap,6:wrd,false);
+io.print(bp);
+
+bp,bg:= pqueue.utopn_min(b,7:wrd,false);
+io.print(bp);
+io.print(bg);
+ap := algebra.leftfetchjoin(bp, a);
+io.print(ap);
+bp:= pqueue.topn_min(bg,ap,7:wrd,false);
+io.print(bp);
+
+bp,bg:= pqueue.utopn_min(b,8:wrd,false);
+io.print(bp);
+io.print(bg);
+ap := algebra.leftfetchjoin(bp, a);
+io.print(ap);
+bp:= pqueue.topn_min(bg,ap,8:wrd,false);
+io.print(bp);
+
+# old
 bp:= pqueue.topn_min(a,b,0:wrd,false);
 io.print(bp);
 bp:= pqueue.topn_min(a,b,1:wrd,false);
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to