Changeset: 295da95f7d40 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=295da95f7d40
Modified Files:
        clients/Tests/exports.stable.out
        monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out
        sql/scripts/75_storagemodel.sql
        
sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out
        sql/test/Tests/setoptimizer.stable.out
Branch: mosaic
Log Message:

Fix some test outputs.


diffs (truncated from 342 to 300 lines):

diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -107,6 +107,7 @@ dbl BATcalcvariance_sample(dbl *avgp, BA
 BAT *BATcalcxor(BAT *b1, BAT *b2, BAT *s);
 BAT *BATcalcxorcst(BAT *b, const ValRecord *v, BAT *s);
 int BATcheckmosaic(BAT *b);
+gdk_return BATclear(BAT *b, bool force);
 void BATcommit(BAT *b);
 BAT *BATconstant(oid hseq, int tt, const void *val, BUN cnt, int role);
 BAT *BATconvert(BAT *b, BAT *s, int tp, bool abort_on_error);
@@ -475,6 +476,7 @@ size_t strLen(const char *s);
 int strNil(const char *s);
 const char str_nil[2];
 int tstBitVector(BitVector vector, BUN i, int bits);
+gdk_return void_inplace(BAT *b, oid id, const void *val, bool force) 
__attribute__((__warn_unused_result__));
 gdk_return void_replace_bat(BAT *b, BAT *p, BAT *u, bool force) 
__attribute__((__warn_unused_result__));
 int win_mkdir(const char *, const int mode);
 int win_rename(const char *, const char *);
@@ -1477,7 +1479,7 @@ void MOSanalyseReport(Client cntxt, BAT 
 void MOSblk(MosaicBlk blk);
 BUN MOSblocklimit;
 str MOScompress(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str MOScompressInternal(Client cntxt, bat *bid, MOStask task, int debug);
+str MOScompressInternal(Client cntxt, bat *bid, MOStask task, bool debug);
 void MOScompress_calendar(Client cntxt, MOStask task);
 void MOScompress_delta(Client cntxt, MOStask task);
 void MOScompress_dictionary(Client cntxt, MOStask task);
diff --git 
a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out 
b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out
--- a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out
+++ b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out
@@ -7,17 +7,14 @@ stdout of test 'opt_sql_append` in direc
 
 # MonetDB 5 server v11.8.0
 # This is an unreleased version
-# Serving database 'mTests_extras_mal_optimizer_template', using 8 threads
-# Compiled for x86_64-unknown-linux-gnu/64bit with 64bit OIDs dynamically 
linked
-# Found 15.630 GiB available main-memory.
-# Copyright (c) 1993-July 2008 CWI.
-# Copyright (c) August 2008-2015 MonetDB B.V., all rights reserved
-# Visit http://www.monetdb.org/ for further information
-# Listening for connection requests on mapi:monetdb://rome.ins.cwi.nl:36275/
-# MonetDB/GIS module loaded
-# MonetDB/SQL module loaded
-
-Ready.
+# Serving database 'mTests_monetdb5_extras_mal_optimizer_template', using 4 
threads
+# Compiled for x86_64-pc-linux-gnu/64bit with 128bit integers
+# Found 15.551 GiB available main-memory.
+# Copyright (c) 1993 - July 2008 CWI.
+# Copyright (c) August 2008 - 2018 MonetDB B.V., all rights reserved
+# Visit https://www.monetdb.org/ for further information
+# Listening for connection requests on mapi:monetdb://aris-MonetDB:30128/
+# Listening for UNIX domain connection requests on 
mapi:monetdb:///var/tmp/mtest-28319/.s.monetdb.30128
 # SQL catalog created, loading sql scripts once
 # loading sql script: 09_like.sql
 # loading sql script: 10_math.sql
@@ -39,6 +36,9 @@ Ready.
 # loading sql script: 40_geom.sql
 # loading sql script: 80_udf.sql
 # loading sql script: 99_system.sql
+# MonetDB/SQL module loaded
+
+Ready.
 
 # 22:58:57 >  
 # 22:58:57 >  "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" "--host=rome" 
"--port=36275"
@@ -56,7 +56,7 @@ Ready.
 % def # name
 % clob # type
 % 579 # length
-[ 
"optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.evaluate();optimizer.emptybind();optimizer.pushselect();optimizer.aliases();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.reorder();optimizer.deadcode();optimizer.matpack();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.mosaic();optimizer.profiler();optimizer.candidates();optimizer.postfix();optimizer.deadcode();optimizer.wlc();optimizer.garbageCollector();"
        ]
+[ 
"optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.evaluate();optimizer.emptybind();optimizer.pushselect();optimizer.aliases();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.deadcode();optimizer.reorder();optimizer.matpack();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.mosaic();optimizer.profiler();optimizer.candidates();optimizer.postfix();optimizer.deadcode();optimizer.wlc();optimizer.garbageCollector();"
        ]
 #explain copy into ttt from '/tmp/xyz';
 % .explain # table_name
 % mal # name
@@ -115,7 +115,7 @@ end user.s10_1;
 % def # name
 % clob # type
 % 602 # length
-[ 
"optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.evaluate();optimizer.emptybind();optimizer.pushselect();optimizer.aliases();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.reorder();optimizer.deadcode();optimizer.matpack();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.mosaic();optimizer.profiler();optimizer.candidates();optimizer.postfix();optimizer.deadcode();optimizer.wlc();optimizer.sql_append();optimizer.garbageCollector();"
 ]
+[ 
"optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.evaluate();optimizer.emptybind();optimizer.pushselect();optimizer.aliases();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.deadcode();optimizer.reorder();optimizer.matpack();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.mosaic();optimizer.profiler();optimizer.candidates();optimizer.postfix();optimizer.deadcode();optimizer.wlc();optimizer.sql_append();optimizer.garbageCollector();"
 ]
 #explain copy into ttt from '/tmp/xyz';
 % .explain # table_name
 % mal # name
diff --git a/sql/scripts/75_storagemodel.sql b/sql/scripts/75_storagemodel.sql
--- a/sql/scripts/75_storagemodel.sql
+++ b/sql/scripts/75_storagemodel.sql
@@ -167,7 +167,7 @@ begin
        delete from sys.storagemodelinput;
 
        insert into sys.storagemodelinput
-       select "schema", "table", "column", "type", typewidth, "count", 0, 
typewidth, FALSE, sorted, revsorted, "unique", orderidx
+       select "schema", "table", "column", "type", typewidth, "count", 0, 
typewidth, FALSE, sorted, revsorted, "unique", orderidx, compressed
          from sys."storage"()
        -- exclude system tables (those are not useful to be modeled for 
storagesize for application users)
         where ("schema", "table") in (
diff --git 
a/sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out 
b/sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out
--- a/sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out
+++ b/sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out
@@ -336,7 +336,7 @@ end user.s16_1;
 % .explain # table_name
 % mal # name
 % clob # type
-% 114 # length
+% 118 # length
 function user.s18_1():void;
     X_1:void := querylog.define("explain select * from oblo order by a;":str, 
"minimal_pipe":str, 23:int);
     X_4:int := sql.mvc();
@@ -348,7 +348,7 @@ function user.s18_1():void;
     (X_13:bat[:oid], X_14:bat[:int]) := sql.emptybind(X_4:int, "sys":str, 
"oblo":str, "a":str, 2:int);
     X_16:bat[:int] := sql.delta(X_8:bat[:int], X_13:bat[:oid], X_14:bat[:int], 
X_11:bat[:int]);
     X_17:bat[:int] := algebra.projection(X_5:bat[:oid], X_16:bat[:int]);
-    (X_18:bat[:int], X_19:bat[:oid], X_20:bat[:oid]) := 
algebra.sort(X_17:bat[:int], false:bit, false:bit);
+    (X_18:bat[:int], X_19:bat[:oid], X_20:bat[:oid]) := 
algebra.sort(X_17:bat[:int], false:bit, false:bit, false:bit);
     X_23:bat[:int] := algebra.projection(X_19:bat[:oid], X_17:bat[:int]);
     X_25:bat[:str] := bat.new(nil:str);
     X_27:bat[:str] := bat.new(nil:str);
@@ -375,7 +375,7 @@ end user.s18_1;
 % .explain # table_name
 % mal # name
 % clob # type
-% 115 # length
+% 118 # length
 function user.s20_1():void;
     X_1:void := querylog.define("explain select * from oblo order by a offset 
2;":str, "minimal_pipe":str, 29:int);
     X_4:int := sql.mvc();
@@ -387,7 +387,7 @@ function user.s20_1():void;
     (X_13:bat[:oid], X_14:bat[:int]) := sql.emptybind(X_4:int, "sys":str, 
"oblo":str, "a":str, 2:int);
     X_16:bat[:int] := sql.delta(X_8:bat[:int], X_13:bat[:oid], X_14:bat[:int], 
X_11:bat[:int]);
     X_17:bat[:int] := algebra.projection(X_5:bat[:oid], X_16:bat[:int]);
-    (X_18:bat[:int], X_19:bat[:oid], X_20:bat[:oid]) := 
algebra.sort(X_17:bat[:int], false:bit, false:bit);
+    (X_18:bat[:int], X_19:bat[:oid], X_20:bat[:oid]) := 
algebra.sort(X_17:bat[:int], false:bit, false:bit, false:bit);
     X_23:bat[:int] := algebra.projection(X_19:bat[:oid], X_17:bat[:int]);
     X_24:lng := calc.lng(2:lng);
     X_26:lng := calc.lng(nil:lng);
@@ -420,42 +420,42 @@ end user.s20_1;
 % .explain # table_name
 % mal # name
 % clob # type
-% 114 # length
+% 118 # length
 function user.s22_1():void;
     X_1:void := querylog.define("explain select * from oblo order by a limit 
2;":str, "minimal_pipe":str, 35:int);
     X_4:int := sql.mvc();
     X_5:lng := calc.lng(2:lng);
-    C_70:bat[:oid] := sql.tid(X_4:int, "sys":str, "oblo":str);
-    X_7:bat[:oid] := mosaic.decompress(C_70:bat[:oid]);
-    X_71:bat[:int] := sql.bind(X_4:int, "sys":str, "oblo":str, "a":str, 0:int);
-    X_10:bat[:int] := mosaic.decompress(X_71:bat[:int]);
+    C_71:bat[:oid] := sql.tid(X_4:int, "sys":str, "oblo":str);
+    X_7:bat[:oid] := mosaic.decompress(C_71:bat[:oid]);
+    X_72:bat[:int] := sql.bind(X_4:int, "sys":str, "oblo":str, "a":str, 0:int);
+    X_10:bat[:int] := mosaic.decompress(X_72:bat[:int]);
     X_13:bat[:int] := sql.emptybind(X_4:int, "sys":str, "oblo":str, "a":str, 
1:int);
     (X_15:bat[:oid], X_16:bat[:int]) := sql.emptybind(X_4:int, "sys":str, 
"oblo":str, "a":str, 2:int);
     X_18:bat[:int] := sql.delta(X_10:bat[:int], X_15:bat[:oid], 
X_16:bat[:int], X_13:bat[:int]);
     X_19:bat[:int] := algebra.projection(X_7:bat[:oid], X_18:bat[:int]);
     X_20:lng := calc.lng(0:lng);
     X_22:lng := calc.+(X_20:lng, X_5:lng);
-    C_23:bat[:oid] := algebra.firstn(X_19:bat[:int], X_22:lng, true:bit, 
false:bit);
-    X_26:bat[:int] := algebra.projection(C_23:bat[:oid], X_19:bat[:int]);
-    (X_28:bat[:int], X_29:bat[:oid], X_30:bat[:oid]) := 
algebra.sort(X_26:bat[:int], false:bit, false:bit);
-    X_31:bat[:int] := algebra.projection(X_29:bat[:oid], X_26:bat[:int]);
-    X_32:lng := calc.lng(2:lng);
-    X_33:lng := calc.lng(0:lng);
-    X_34:lng := calc.+(X_33:lng, X_32:lng);
-    X_35:lng := calc.-(X_34:lng, 1:int);
-    C_36:bat[:oid] := algebra.subslice(X_31:bat[:int], X_33:lng, X_35:lng);
-    X_37:bat[:int] := algebra.projection(C_36:bat[:oid], X_31:bat[:int]);
-    X_39:bat[:str] := bat.new(nil:str);
-    X_41:bat[:str] := bat.new(nil:str);
+    C_23:bat[:oid] := algebra.firstn(X_19:bat[:int], X_22:lng, true:bit, 
false:bit, false:bit);
+    X_27:bat[:int] := algebra.projection(C_23:bat[:oid], X_19:bat[:int]);
+    (X_29:bat[:int], X_30:bat[:oid], X_31:bat[:oid]) := 
algebra.sort(X_27:bat[:int], false:bit, false:bit, false:bit);
+    X_32:bat[:int] := algebra.projection(X_30:bat[:oid], X_27:bat[:int]);
+    X_33:lng := calc.lng(2:lng);
+    X_34:lng := calc.lng(0:lng);
+    X_35:lng := calc.+(X_34:lng, X_33:lng);
+    X_36:lng := calc.-(X_35:lng, 1:int);
+    C_37:bat[:oid] := algebra.subslice(X_32:bat[:int], X_34:lng, X_36:lng);
+    X_38:bat[:int] := algebra.projection(C_37:bat[:oid], X_32:bat[:int]);
+    X_40:bat[:str] := bat.new(nil:str);
     X_42:bat[:str] := bat.new(nil:str);
-    X_43:bat[:int] := bat.new(nil:int);
-    X_45:bat[:int] := bat.new(nil:int);
-    X_46:bat[:str] := bat.append(X_39:bat[:str], "sys.oblo":str);
-    X_48:bat[:str] := bat.append(X_41:bat[:str], "a":str);
-    X_50:bat[:str] := bat.append(X_42:bat[:str], "int":str);
-    X_52:bat[:int] := bat.append(X_43:bat[:int], 32:int);
-    X_54:bat[:int] := bat.append(X_45:bat[:int], 0:int);
-    sql.resultSet(X_46:bat[:str], X_48:bat[:str], X_50:bat[:str], 
X_52:bat[:int], X_54:bat[:int], X_37:bat[:int]);
+    X_43:bat[:str] := bat.new(nil:str);
+    X_44:bat[:int] := bat.new(nil:int);
+    X_46:bat[:int] := bat.new(nil:int);
+    X_47:bat[:str] := bat.append(X_40:bat[:str], "sys.oblo":str);
+    X_49:bat[:str] := bat.append(X_42:bat[:str], "a":str);
+    X_51:bat[:str] := bat.append(X_43:bat[:str], "int":str);
+    X_53:bat[:int] := bat.append(X_44:bat[:int], 32:int);
+    X_55:bat[:int] := bat.append(X_46:bat[:int], 0:int);
+    sql.resultSet(X_47:bat[:str], X_49:bat[:str], X_51:bat[:str], 
X_53:bat[:int], X_55:bat[:int], X_38:bat[:int]);
 end user.s22_1;
 #inline               actions= 0 time=1 usec 
 #remap                actions= 0 time=3 usec 
@@ -475,37 +475,37 @@ function user.s24_1():void;
     X_5:lng := calc.lng(2:lng);
     X_7:lng := calc.lng(1:lng);
     X_9:lng := calc.+(X_5:lng, X_7:lng);
-    C_73:bat[:oid] := sql.tid(X_4:int, "sys":str, "oblo":str);
-    X_10:bat[:oid] := mosaic.decompress(C_73:bat[:oid]);
-    X_74:bat[:int] := sql.bind(X_4:int, "sys":str, "oblo":str, "a":str, 0:int);
-    X_13:bat[:int] := mosaic.decompress(X_74:bat[:int]);
+    C_74:bat[:oid] := sql.tid(X_4:int, "sys":str, "oblo":str);
+    X_10:bat[:oid] := mosaic.decompress(C_74:bat[:oid]);
+    X_75:bat[:int] := sql.bind(X_4:int, "sys":str, "oblo":str, "a":str, 0:int);
+    X_13:bat[:int] := mosaic.decompress(X_75:bat[:int]);
     X_16:bat[:int] := sql.emptybind(X_4:int, "sys":str, "oblo":str, "a":str, 
1:int);
     (X_18:bat[:oid], X_19:bat[:int]) := sql.emptybind(X_4:int, "sys":str, 
"oblo":str, "a":str, 2:int);
     X_21:bat[:int] := sql.delta(X_13:bat[:int], X_18:bat[:oid], 
X_19:bat[:int], X_16:bat[:int]);
     X_22:bat[:int] := algebra.projection(X_10:bat[:oid], X_21:bat[:int]);
     X_23:lng := calc.lng(0:lng);
     X_25:lng := calc.+(X_23:lng, X_9:lng);
-    C_26:bat[:oid] := algebra.firstn(X_22:bat[:int], X_25:lng, true:bit, 
false:bit);
-    X_29:bat[:int] := algebra.projection(C_26:bat[:oid], X_22:bat[:int]);
-    (X_31:bat[:int], X_32:bat[:oid], X_33:bat[:oid]) := 
algebra.sort(X_29:bat[:int], false:bit, false:bit);
-    X_34:bat[:int] := algebra.projection(X_32:bat[:oid], X_29:bat[:int]);
-    X_35:lng := calc.lng(2:lng);
-    X_36:lng := calc.lng(1:lng);
-    X_37:lng := calc.+(X_36:lng, X_35:lng);
-    X_38:lng := calc.-(X_37:lng, 1:int);
-    C_39:bat[:oid] := algebra.subslice(X_34:bat[:int], X_36:lng, X_38:lng);
-    X_40:bat[:int] := algebra.projection(C_39:bat[:oid], X_34:bat[:int]);
-    X_42:bat[:str] := bat.new(nil:str);
-    X_44:bat[:str] := bat.new(nil:str);
+    C_26:bat[:oid] := algebra.firstn(X_22:bat[:int], X_25:lng, true:bit, 
false:bit, false:bit);
+    X_30:bat[:int] := algebra.projection(C_26:bat[:oid], X_22:bat[:int]);
+    (X_32:bat[:int], X_33:bat[:oid], X_34:bat[:oid]) := 
algebra.sort(X_30:bat[:int], false:bit, false:bit, false:bit);
+    X_35:bat[:int] := algebra.projection(X_33:bat[:oid], X_30:bat[:int]);
+    X_36:lng := calc.lng(2:lng);
+    X_37:lng := calc.lng(1:lng);
+    X_38:lng := calc.+(X_37:lng, X_36:lng);
+    X_39:lng := calc.-(X_38:lng, 1:int);
+    C_40:bat[:oid] := algebra.subslice(X_35:bat[:int], X_37:lng, X_39:lng);
+    X_41:bat[:int] := algebra.projection(C_40:bat[:oid], X_35:bat[:int]);
+    X_43:bat[:str] := bat.new(nil:str);
     X_45:bat[:str] := bat.new(nil:str);
-    X_46:bat[:int] := bat.new(nil:int);
-    X_48:bat[:int] := bat.new(nil:int);
-    X_49:bat[:str] := bat.append(X_42:bat[:str], "sys.oblo":str);
-    X_51:bat[:str] := bat.append(X_44:bat[:str], "a":str);
-    X_53:bat[:str] := bat.append(X_45:bat[:str], "int":str);
-    X_55:bat[:int] := bat.append(X_46:bat[:int], 32:int);
-    X_57:bat[:int] := bat.append(X_48:bat[:int], 0:int);
-    sql.resultSet(X_49:bat[:str], X_51:bat[:str], X_53:bat[:str], 
X_55:bat[:int], X_57:bat[:int], X_40:bat[:int]);
+    X_46:bat[:str] := bat.new(nil:str);
+    X_47:bat[:int] := bat.new(nil:int);
+    X_49:bat[:int] := bat.new(nil:int);
+    X_50:bat[:str] := bat.append(X_43:bat[:str], "sys.oblo":str);
+    X_52:bat[:str] := bat.append(X_45:bat[:str], "a":str);
+    X_54:bat[:str] := bat.append(X_46:bat[:str], "int":str);
+    X_56:bat[:int] := bat.append(X_47:bat[:int], 32:int);
+    X_58:bat[:int] := bat.append(X_49:bat[:int], 0:int);
+    sql.resultSet(X_50:bat[:str], X_52:bat[:str], X_54:bat[:str], 
X_56:bat[:int], X_58:bat[:int], X_41:bat[:int]);
 end user.s24_1;
 #inline               actions= 0 time=3 usec 
 #candidates           actions= 1 time=37 usec 
@@ -527,37 +527,37 @@ function user.s26_1():void;
     X_5:lng := calc.lng(1:lng);
     X_7:lng := calc.lng(2:lng);
     X_9:lng := calc.+(X_5:lng, X_7:lng);
-    C_73:bat[:oid] := sql.tid(X_4:int, "sys":str, "oblo":str);
-    X_10:bat[:oid] := mosaic.decompress(C_73:bat[:oid]);
-    X_74:bat[:int] := sql.bind(X_4:int, "sys":str, "oblo":str, "a":str, 0:int);
-    X_13:bat[:int] := mosaic.decompress(X_74:bat[:int]);
+    C_74:bat[:oid] := sql.tid(X_4:int, "sys":str, "oblo":str);
+    X_10:bat[:oid] := mosaic.decompress(C_74:bat[:oid]);
+    X_75:bat[:int] := sql.bind(X_4:int, "sys":str, "oblo":str, "a":str, 0:int);
+    X_13:bat[:int] := mosaic.decompress(X_75:bat[:int]);
     X_16:bat[:int] := sql.emptybind(X_4:int, "sys":str, "oblo":str, "a":str, 
1:int);
     (X_18:bat[:oid], X_19:bat[:int]) := sql.emptybind(X_4:int, "sys":str, 
"oblo":str, "a":str, 2:int);
     X_21:bat[:int] := sql.delta(X_13:bat[:int], X_18:bat[:oid], 
X_19:bat[:int], X_16:bat[:int]);
     X_22:bat[:int] := algebra.projection(X_10:bat[:oid], X_21:bat[:int]);
     X_23:lng := calc.lng(0:lng);
     X_25:lng := calc.+(X_23:lng, X_9:lng);
-    C_26:bat[:oid] := algebra.firstn(X_22:bat[:int], X_25:lng, true:bit, 
false:bit);
-    X_29:bat[:int] := algebra.projection(C_26:bat[:oid], X_22:bat[:int]);
-    (X_31:bat[:int], X_32:bat[:oid], X_33:bat[:oid]) := 
algebra.sort(X_29:bat[:int], false:bit, false:bit);
-    X_34:bat[:int] := algebra.projection(X_32:bat[:oid], X_29:bat[:int]);
-    X_35:lng := calc.lng(1:lng);
-    X_36:lng := calc.lng(2:lng);
-    X_37:lng := calc.+(X_36:lng, X_35:lng);
-    X_38:lng := calc.-(X_37:lng, 1:int);
-    C_39:bat[:oid] := algebra.subslice(X_34:bat[:int], X_36:lng, X_38:lng);
-    X_40:bat[:int] := algebra.projection(C_39:bat[:oid], X_34:bat[:int]);
-    X_42:bat[:str] := bat.new(nil:str);
-    X_44:bat[:str] := bat.new(nil:str);
+    C_26:bat[:oid] := algebra.firstn(X_22:bat[:int], X_25:lng, true:bit, 
false:bit, false:bit);
+    X_30:bat[:int] := algebra.projection(C_26:bat[:oid], X_22:bat[:int]);
+    (X_32:bat[:int], X_33:bat[:oid], X_34:bat[:oid]) := 
algebra.sort(X_30:bat[:int], false:bit, false:bit, false:bit);
+    X_35:bat[:int] := algebra.projection(X_33:bat[:oid], X_30:bat[:int]);
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to