Changeset: 4db679ccaff6 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4db679ccaff6
Modified Files:
        
sql/test/BugTracker-2016/Tests/decimal_vs_integer.Bug-3941.stable.out.single
        
sql/test/BugTracker-2019/Tests/duplicates-not-eliminated-long-CASE-stmt.Bug-6697.stable.out.single
Branch: default
Log Message:

Approved output


diffs (truncated from 517 to 300 lines):

diff --git 
a/sql/test/BugTracker-2016/Tests/decimal_vs_integer.Bug-3941.stable.out.single 
b/sql/test/BugTracker-2016/Tests/decimal_vs_integer.Bug-3941.stable.out.single
--- 
a/sql/test/BugTracker-2016/Tests/decimal_vs_integer.Bug-3941.stable.out.single
+++ 
b/sql/test/BugTracker-2016/Tests/decimal_vs_integer.Bug-3941.stable.out.single
@@ -90,14 +90,15 @@ end user.main;
 % clob # type
 % 121 # length
 function user.main():void;
-    X_1:void := querylog.define("explain select count(*) from tmp where i = 
201602221;":str, "default_pipe":str, 12:int);
+    X_1:void := querylog.define("explain select count(*) from tmp where i = 
201602221;":str, "default_pipe":str, 14:int);
+    X_12:bat[:int] := bat.new(nil:int);
+    X_13:bat[:int] := batcalc.int(0:int, X_12:bat[:int], 9:int, 0:int);
+    C_19:bat[:oid] := algebra.thetaselect(X_13:bat[:int], 201602221:int, 
"==":str);
     X_4:int := sql.mvc();
-    X_11:bat[:int] := sql.bind(X_4:int, "sys":str, "tmp":str, "i":str, 0:int);
-    X_12:bat[:int] := batcalc.int(0:int, X_11:bat[:int], 9:int, 0:int);
     C_5:bat[:oid] := sql.tid(X_4:int, "sys":str, "tmp":str);
-    C_18:bat[:oid] := algebra.thetaselect(X_12:bat[:int], C_5:bat[:oid], 
201602221:int, "==":str);
-    X_21:lng := aggr.count(C_18:bat[:oid]);
-    sql.resultSet("sys.%1":str, "%1":str, "bigint":str, 64:int, 0:int, 7:int, 
X_21:lng);
+    C_21:bat[:oid] := algebra.projection(C_19:bat[:oid], C_5:bat[:oid]);
+    X_23:lng := aggr.count(C_21:bat[:oid]);
+    sql.resultSet(".%1":str, "%1":str, "bigint":str, 64:int, 0:int, 7:int, 
X_23:lng);
 end user.main;
 #inline               actions= 0 time=3 usec 
 #remap                actions= 1 time=15 usec 
diff --git 
a/sql/test/BugTracker-2019/Tests/duplicates-not-eliminated-long-CASE-stmt.Bug-6697.stable.out.single
 
b/sql/test/BugTracker-2019/Tests/duplicates-not-eliminated-long-CASE-stmt.Bug-6697.stable.out.single
--- 
a/sql/test/BugTracker-2019/Tests/duplicates-not-eliminated-long-CASE-stmt.Bug-6697.stable.out.single
+++ 
b/sql/test/BugTracker-2019/Tests/duplicates-not-eliminated-long-CASE-stmt.Bug-6697.stable.out.single
@@ -34,108 +34,388 @@ stdout of test 'duplicates-not-eliminate
 % 1023 # length
 function user.main():void;
     X_1:void := querylog.define("explain select sys.timestamp_to_str(case when 
task0.\"sys_created_on\" >= \\'1999-10-31 09:00:00\\' and 
task0.\"sys_created_on\" < \\'2000-04-02 10:00:00\\' then 
task0.\"sys_created_on\" + interval \\'-28800\\' second when 
task0.\"sys_created_on\" >= \\'2000-04-02 10:00:00\\' and 
task0.\"sys_created_on\" < \\'2000-10-29 09:00:00\\' then 
task0.\"sys_created_on\" + interval \\'-25200\\' second when 
task0.\"sys_created_on\" >= \\'2000-10-29 09:00:00\\' and 
task0.\"sys_created_on\" < \\'2001-04-01 10:00:00\\' then 
task0.\"sys_created_on\" + interval \\'-28800\\' second when 
task0.\"sys_created_on\" >= \\'2001-04-01 10:00:00\\' and 
task0.\"sys_created_on\" < \\'2001-10-28 09:00:00\\' then 
task0.\"sys_created_on\" + interval \\'-25200\\' second when 
task0.\"sys_created_on\" >= \\'2001-10-28 09:00:00\\' and 
task0.\"sys_created_on\" < \\'2002-04-07 10:00:00\\' then 
task0.\"sys_created_on\" + interval \\'-28800\\' second when 
task0.\"sys_created_on\" >= \\'20
 02-04-07 10:00:00\\' and t
-    X_792:bat[:str] := bat.pack("sys.":str);
-    X_793:bat[:str] := bat.pack("yearref":str);
-    X_794:bat[:str] := bat.pack("clob":str);
-    X_795:bat[:int] := bat.pack(0:int);
+    X_43:bat[:str] := bat.new(nil:str);
+    X_56:bat[:timestamp] := algebra.project(X_43:bat[:str], nil:timestamp);
     X_45:bat[:timestamp] := bat.new(nil:timestamp);
     X_51:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "1999-10-31 
09:00:00.000000":timestamp, "2000-04-02 10:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
-    X_56:bat[:timestamp] := 
batmtime.timestamp_add_msec_interval(X_45:bat[:timestamp], -28800000:lng);
-    X_65:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2000-04-02 
10:00:00.000000":timestamp, "2000-10-29 09:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
-    X_70:bat[:timestamp] := 
batmtime.timestamp_add_msec_interval(X_45:bat[:timestamp], -25200000:lng);
-    X_76:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2000-10-29 
09:00:00.000000":timestamp, "2001-04-01 10:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
-    X_87:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2001-04-01 
10:00:00.000000":timestamp, "2001-10-28 09:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
-    X_102:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2001-10-28 
09:00:00.000000":timestamp, "2002-04-07 10:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
-    X_113:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2002-04-07 
10:00:00.000000":timestamp, "2002-10-27 09:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
-    X_125:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2002-10-27 
09:00:00.000000":timestamp, "2003-04-06 10:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
-    X_141:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2003-04-06 
10:00:00.000000":timestamp, "2003-10-26 09:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
-    X_150:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2003-10-26 
09:00:00.000000":timestamp, "2004-04-04 10:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
-    X_162:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2004-04-04 
10:00:00.000000":timestamp, "2004-10-31 09:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
-    X_179:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2004-10-31 
09:00:00.000000":timestamp, "2005-04-03 10:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
-    X_188:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2005-04-03 
10:00:00.000000":timestamp, "2005-10-30 09:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
-    X_199:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2005-10-30 
09:00:00.000000":timestamp, "2006-04-02 10:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
-    X_216:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2006-04-02 
10:00:00.000000":timestamp, "2006-10-29 09:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
-    X_226:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2006-10-29 
09:00:00.000000":timestamp, "2007-03-11 10:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
-    X_237:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2007-03-11 
10:00:00.000000":timestamp, "2007-11-04 09:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
-    X_253:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2007-11-04 
09:00:00.000000":timestamp, "2008-03-09 10:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
-    X_263:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2008-03-09 
10:00:00.000000":timestamp, "2008-11-02 09:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
-    X_275:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2008-11-02 
09:00:00.000000":timestamp, "2009-03-08 10:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
-    X_291:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2009-03-08 
10:00:00.000000":timestamp, "2009-11-01 09:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
-    X_300:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2009-11-01 
09:00:00.000000":timestamp, "2010-03-14 10:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
-    X_312:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2010-03-14 
10:00:00.000000":timestamp, "2010-11-07 09:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
-    X_329:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2010-11-07 
09:00:00.000000":timestamp, "2011-03-13 10:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
-    X_338:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2011-03-13 
10:00:00.000000":timestamp, "2011-11-06 09:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
-    X_349:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2011-11-06 
09:00:00.000000":timestamp, "2012-03-11 10:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
-    X_366:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2012-03-11 
10:00:00.000000":timestamp, "2012-11-04 09:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
-    X_376:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2012-11-04 
09:00:00.000000":timestamp, "2013-03-10 10:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
-    X_387:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2013-03-10 
10:00:00.000000":timestamp, "2013-11-03 09:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
-    X_403:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2013-11-03 
09:00:00.000000":timestamp, "2014-03-09 10:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
-    X_413:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2014-03-09 
10:00:00.000000":timestamp, "2014-11-02 09:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
-    X_425:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2014-11-02 
09:00:00.000000":timestamp, "2015-03-08 10:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
-    X_441:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2015-03-08 
10:00:00.000000":timestamp, "2015-11-01 09:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
-    X_450:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2015-11-01 
09:00:00.000000":timestamp, "2016-03-13 10:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
-    X_462:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2016-03-13 
10:00:00.000000":timestamp, "2016-11-06 09:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
-    X_479:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2016-11-06 
09:00:00.000000":timestamp, "2017-03-12 10:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
-    X_488:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2017-03-12 
10:00:00.000000":timestamp, "2017-11-05 09:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
-    X_499:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2017-11-05 
09:00:00.000000":timestamp, "2018-03-11 10:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
-    X_516:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2018-03-11 
10:00:00.000000":timestamp, "2018-11-04 09:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
-    X_526:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2018-11-04 
09:00:00.000000":timestamp, "2019-03-10 10:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
-    X_537:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2019-03-10 
10:00:00.000000":timestamp, "2019-11-03 09:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
-    X_553:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2019-11-03 
09:00:00.000000":timestamp, "2020-03-08 10:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
-    X_563:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2020-03-08 
10:00:00.000000":timestamp, "2020-11-01 09:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
-    X_575:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2020-11-01 
09:00:00.000000":timestamp, "2021-03-14 10:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
-    X_591:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2021-03-14 
10:00:00.000000":timestamp, "2021-11-07 09:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
-    X_600:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2021-11-07 
09:00:00.000000":timestamp, "2022-03-13 10:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
-    X_612:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2022-03-13 
10:00:00.000000":timestamp, "2022-11-06 09:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
-    X_630:bat[:timestamp] := batcalc.ifthenelse(X_612:bat[:bit], 
X_70:bat[:timestamp], X_56:bat[:timestamp]);
-    X_634:bat[:timestamp] := batcalc.ifthenelse(X_600:bat[:bit], 
X_56:bat[:timestamp], X_630:bat[:timestamp]);
-    X_637:bat[:timestamp] := batcalc.ifthenelse(X_591:bat[:bit], 
X_70:bat[:timestamp], X_634:bat[:timestamp]);
-    X_640:bat[:timestamp] := batcalc.ifthenelse(X_575:bat[:bit], 
X_56:bat[:timestamp], X_637:bat[:timestamp]);
-    X_643:bat[:timestamp] := batcalc.ifthenelse(X_563:bat[:bit], 
X_70:bat[:timestamp], X_640:bat[:timestamp]);
-    X_646:bat[:timestamp] := batcalc.ifthenelse(X_553:bat[:bit], 
X_56:bat[:timestamp], X_643:bat[:timestamp]);
-    X_650:bat[:timestamp] := batcalc.ifthenelse(X_537:bat[:bit], 
X_70:bat[:timestamp], X_646:bat[:timestamp]);
-    X_653:bat[:timestamp] := batcalc.ifthenelse(X_526:bat[:bit], 
X_56:bat[:timestamp], X_650:bat[:timestamp]);
-    X_656:bat[:timestamp] := batcalc.ifthenelse(X_516:bat[:bit], 
X_70:bat[:timestamp], X_653:bat[:timestamp]);
-    X_661:bat[:timestamp] := batcalc.ifthenelse(X_499:bat[:bit], 
X_56:bat[:timestamp], X_656:bat[:timestamp]);
-    X_664:bat[:timestamp] := batcalc.ifthenelse(X_488:bat[:bit], 
X_70:bat[:timestamp], X_661:bat[:timestamp]);
-    X_668:bat[:timestamp] := batcalc.ifthenelse(X_479:bat[:bit], 
X_56:bat[:timestamp], X_664:bat[:timestamp]);
-    X_671:bat[:timestamp] := batcalc.ifthenelse(X_462:bat[:bit], 
X_70:bat[:timestamp], X_668:bat[:timestamp]);
-    X_674:bat[:timestamp] := batcalc.ifthenelse(X_450:bat[:bit], 
X_56:bat[:timestamp], X_671:bat[:timestamp]);
-    X_677:bat[:timestamp] := batcalc.ifthenelse(X_441:bat[:bit], 
X_70:bat[:timestamp], X_674:bat[:timestamp]);
-    X_680:bat[:timestamp] := batcalc.ifthenelse(X_425:bat[:bit], 
X_56:bat[:timestamp], X_677:bat[:timestamp]);
-    X_684:bat[:timestamp] := batcalc.ifthenelse(X_413:bat[:bit], 
X_70:bat[:timestamp], X_680:bat[:timestamp]);
-    X_687:bat[:timestamp] := batcalc.ifthenelse(X_403:bat[:bit], 
X_56:bat[:timestamp], X_684:bat[:timestamp]);
-    X_690:bat[:timestamp] := batcalc.ifthenelse(X_387:bat[:bit], 
X_70:bat[:timestamp], X_687:bat[:timestamp]);
-    X_695:bat[:timestamp] := batcalc.ifthenelse(X_376:bat[:bit], 
X_56:bat[:timestamp], X_690:bat[:timestamp]);
-    X_698:bat[:timestamp] := batcalc.ifthenelse(X_366:bat[:bit], 
X_70:bat[:timestamp], X_695:bat[:timestamp]);
-    X_702:bat[:timestamp] := batcalc.ifthenelse(X_349:bat[:bit], 
X_56:bat[:timestamp], X_698:bat[:timestamp]);
-    X_705:bat[:timestamp] := batcalc.ifthenelse(X_338:bat[:bit], 
X_70:bat[:timestamp], X_702:bat[:timestamp]);
-    X_708:bat[:timestamp] := batcalc.ifthenelse(X_329:bat[:bit], 
X_56:bat[:timestamp], X_705:bat[:timestamp]);
-    X_711:bat[:timestamp] := batcalc.ifthenelse(X_312:bat[:bit], 
X_70:bat[:timestamp], X_708:bat[:timestamp]);
-    X_714:bat[:timestamp] := batcalc.ifthenelse(X_300:bat[:bit], 
X_56:bat[:timestamp], X_711:bat[:timestamp]);
-    X_718:bat[:timestamp] := batcalc.ifthenelse(X_291:bat[:bit], 
X_70:bat[:timestamp], X_714:bat[:timestamp]);
-    X_721:bat[:timestamp] := batcalc.ifthenelse(X_275:bat[:bit], 
X_56:bat[:timestamp], X_718:bat[:timestamp]);
-    X_724:bat[:timestamp] := batcalc.ifthenelse(X_263:bat[:bit], 
X_70:bat[:timestamp], X_721:bat[:timestamp]);
-    X_729:bat[:timestamp] := batcalc.ifthenelse(X_253:bat[:bit], 
X_56:bat[:timestamp], X_724:bat[:timestamp]);
-    X_732:bat[:timestamp] := batcalc.ifthenelse(X_237:bat[:bit], 
X_70:bat[:timestamp], X_729:bat[:timestamp]);
-    X_736:bat[:timestamp] := batcalc.ifthenelse(X_226:bat[:bit], 
X_56:bat[:timestamp], X_732:bat[:timestamp]);
-    X_739:bat[:timestamp] := batcalc.ifthenelse(X_216:bat[:bit], 
X_70:bat[:timestamp], X_736:bat[:timestamp]);
-    X_742:bat[:timestamp] := batcalc.ifthenelse(X_199:bat[:bit], 
X_56:bat[:timestamp], X_739:bat[:timestamp]);
-    X_745:bat[:timestamp] := batcalc.ifthenelse(X_188:bat[:bit], 
X_70:bat[:timestamp], X_742:bat[:timestamp]);
-    X_749:bat[:timestamp] := batcalc.ifthenelse(X_179:bat[:bit], 
X_56:bat[:timestamp], X_745:bat[:timestamp]);
-    X_752:bat[:timestamp] := batcalc.ifthenelse(X_162:bat[:bit], 
X_70:bat[:timestamp], X_749:bat[:timestamp]);
-    X_755:bat[:timestamp] := batcalc.ifthenelse(X_150:bat[:bit], 
X_56:bat[:timestamp], X_752:bat[:timestamp]);
-    X_758:bat[:timestamp] := batcalc.ifthenelse(X_141:bat[:bit], 
X_70:bat[:timestamp], X_755:bat[:timestamp]);
-    X_763:bat[:timestamp] := batcalc.ifthenelse(X_125:bat[:bit], 
X_56:bat[:timestamp], X_758:bat[:timestamp]);
-    X_766:bat[:timestamp] := batcalc.ifthenelse(X_113:bat[:bit], 
X_70:bat[:timestamp], X_763:bat[:timestamp]);
-    X_770:bat[:timestamp] := batcalc.ifthenelse(X_102:bat[:bit], 
X_56:bat[:timestamp], X_766:bat[:timestamp]);
-    X_773:bat[:timestamp] := batcalc.ifthenelse(X_87:bat[:bit], 
X_70:bat[:timestamp], X_770:bat[:timestamp]);
-    X_776:bat[:timestamp] := batcalc.ifthenelse(X_76:bat[:bit], 
X_56:bat[:timestamp], X_773:bat[:timestamp]);
-    X_779:bat[:timestamp] := batcalc.ifthenelse(X_65:bat[:bit], 
X_70:bat[:timestamp], X_776:bat[:timestamp]);
-    X_782:bat[:timestamp] := batcalc.ifthenelse(X_51:bat[:bit], 
X_56:bat[:timestamp], X_779:bat[:timestamp]);
-    X_783:bat[:timestamp] := batcalc.timestamp(X_782:bat[:timestamp], 7:int);
-    X_788:bat[:str] := batmtime.timestamp_to_str(X_783:bat[:timestamp], 
"%Y":str);
-    sql.resultSet(X_792:bat[:str], X_793:bat[:str], X_794:bat[:str], 
X_795:bat[:int], X_795:bat[:int], X_788:bat[:str]);
+    C_58:bat[:oid] := algebra.thetaselect(X_51:bat[:bit], true:bit, "==":str);
+    X_61:bat[:timestamp] := 
batmtime.timestamp_add_msec_interval(X_45:bat[:timestamp], -28800000:lng);
+    X_64:bat[:timestamp] := algebra.projection(C_58:bat[:oid], 
X_61:bat[:timestamp]);
+    X_65:bat[:timestamp] := bat.replace(X_56:bat[:timestamp], C_58:bat[:oid], 
X_64:bat[:timestamp], true:bit);
+    X_80:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2000-04-02 
10:00:00.000000":timestamp, "2000-10-29 09:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
+    X_66:bat[:bit] := batcalc.not(X_51:bat[:bit]);
+    X_69:bat[:bit] := batcalc.isnil(X_66:bat[:bit]);
+    X_71:bat[:bit] := batcalc.or(X_66:bat[:bit], X_69:bat[:bit]);
+    C_75:bat[:oid] := algebra.thetaselect(X_71:bat[:bit], true:bit, "==":str);
+    C_82:bat[:oid] := algebra.thetaselect(X_80:bat[:bit], C_75:bat[:oid], 
true:bit, "==":str);
+    X_85:bat[:timestamp] := 
batmtime.timestamp_add_msec_interval(X_45:bat[:timestamp], -25200000:lng);
+    X_86:bat[:timestamp] := algebra.projection(C_82:bat[:oid], 
X_85:bat[:timestamp]);
+    X_87:bat[:timestamp] := bat.replace(X_65:bat[:timestamp], C_82:bat[:oid], 
X_86:bat[:timestamp], true:bit);
+    X_97:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2000-10-29 
09:00:00.000000":timestamp, "2001-04-01 10:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
+    X_88:bat[:bit] := batcalc.not(X_80:bat[:bit]);
+    X_89:bat[:bit] := batcalc.isnil(X_88:bat[:bit]);
+    X_90:bat[:bit] := batcalc.or(X_88:bat[:bit], X_89:bat[:bit]);
+    C_92:bat[:oid] := algebra.thetaselect(X_90:bat[:bit], C_75:bat[:oid], 
true:bit, "==":str);
+    C_101:bat[:oid] := algebra.thetaselect(X_97:bat[:bit], C_92:bat[:oid], 
true:bit, "==":str);
+    X_107:bat[:timestamp] := algebra.projection(C_101:bat[:oid], 
X_61:bat[:timestamp]);
+    X_108:bat[:timestamp] := bat.replace(X_87:bat[:timestamp], 
C_101:bat[:oid], X_107:bat[:timestamp], true:bit);
+    X_123:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2001-04-01 
10:00:00.000000":timestamp, "2001-10-28 09:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
+    X_110:bat[:bit] := batcalc.not(X_97:bat[:bit]);
+    X_113:bat[:bit] := batcalc.isnil(X_110:bat[:bit]);
+    X_115:bat[:bit] := batcalc.or(X_110:bat[:bit], X_113:bat[:bit]);
+    C_118:bat[:oid] := algebra.thetaselect(X_115:bat[:bit], C_92:bat[:oid], 
true:bit, "==":str);
+    C_125:bat[:oid] := algebra.thetaselect(X_123:bat[:bit], C_118:bat[:oid], 
true:bit, "==":str);
+    X_129:bat[:timestamp] := algebra.projection(C_125:bat[:oid], 
X_85:bat[:timestamp]);
+    X_130:bat[:timestamp] := bat.replace(X_108:bat[:timestamp], 
C_125:bat[:oid], X_129:bat[:timestamp], true:bit);
+    X_140:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2001-10-28 
09:00:00.000000":timestamp, "2002-04-07 10:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
+    X_131:bat[:bit] := batcalc.not(X_123:bat[:bit]);
+    X_132:bat[:bit] := batcalc.isnil(X_131:bat[:bit]);
+    X_133:bat[:bit] := batcalc.or(X_131:bat[:bit], X_132:bat[:bit]);
+    C_135:bat[:oid] := algebra.thetaselect(X_133:bat[:bit], C_118:bat[:oid], 
true:bit, "==":str);
+    C_144:bat[:oid] := algebra.thetaselect(X_140:bat[:bit], C_135:bat[:oid], 
true:bit, "==":str);
+    X_150:bat[:timestamp] := algebra.projection(C_144:bat[:oid], 
X_61:bat[:timestamp]);
+    X_151:bat[:timestamp] := bat.replace(X_130:bat[:timestamp], 
C_144:bat[:oid], X_150:bat[:timestamp], true:bit);
+    X_165:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2002-04-07 
10:00:00.000000":timestamp, "2002-10-27 09:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
+    X_152:bat[:bit] := batcalc.not(X_140:bat[:bit]);
+    X_155:bat[:bit] := batcalc.isnil(X_152:bat[:bit]);
+    X_157:bat[:bit] := batcalc.or(X_152:bat[:bit], X_155:bat[:bit]);
+    C_160:bat[:oid] := algebra.thetaselect(X_157:bat[:bit], C_135:bat[:oid], 
true:bit, "==":str);
+    C_167:bat[:oid] := algebra.thetaselect(X_165:bat[:bit], C_160:bat[:oid], 
true:bit, "==":str);
+    X_171:bat[:timestamp] := algebra.projection(C_167:bat[:oid], 
X_85:bat[:timestamp]);
+    X_172:bat[:timestamp] := bat.replace(X_151:bat[:timestamp], 
C_167:bat[:oid], X_171:bat[:timestamp], true:bit);
+    X_183:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2002-10-27 
09:00:00.000000":timestamp, "2003-04-06 10:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
+    X_173:bat[:bit] := batcalc.not(X_165:bat[:bit]);
+    X_174:bat[:bit] := batcalc.isnil(X_173:bat[:bit]);
+    X_175:bat[:bit] := batcalc.or(X_173:bat[:bit], X_174:bat[:bit]);
+    C_178:bat[:oid] := algebra.thetaselect(X_175:bat[:bit], C_160:bat[:oid], 
true:bit, "==":str);
+    C_187:bat[:oid] := algebra.thetaselect(X_183:bat[:bit], C_178:bat[:oid], 
true:bit, "==":str);
+    X_193:bat[:timestamp] := algebra.projection(C_187:bat[:oid], 
X_61:bat[:timestamp]);
+    X_194:bat[:timestamp] := bat.replace(X_172:bat[:timestamp], 
C_187:bat[:oid], X_193:bat[:timestamp], true:bit);
+    X_208:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2003-04-06 
10:00:00.000000":timestamp, "2003-10-26 09:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
+    X_195:bat[:bit] := batcalc.not(X_183:bat[:bit]);
+    X_198:bat[:bit] := batcalc.isnil(X_195:bat[:bit]);
+    X_200:bat[:bit] := batcalc.or(X_195:bat[:bit], X_198:bat[:bit]);
+    C_203:bat[:oid] := algebra.thetaselect(X_200:bat[:bit], C_178:bat[:oid], 
true:bit, "==":str);
+    C_211:bat[:oid] := algebra.thetaselect(X_208:bat[:bit], C_203:bat[:oid], 
true:bit, "==":str);
+    X_215:bat[:timestamp] := algebra.projection(C_211:bat[:oid], 
X_85:bat[:timestamp]);
+    X_216:bat[:timestamp] := bat.replace(X_194:bat[:timestamp], 
C_211:bat[:oid], X_215:bat[:timestamp], true:bit);
+    X_226:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2003-10-26 
09:00:00.000000":timestamp, "2004-04-04 10:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
+    X_217:bat[:bit] := batcalc.not(X_208:bat[:bit]);
+    X_218:bat[:bit] := batcalc.isnil(X_217:bat[:bit]);
+    X_219:bat[:bit] := batcalc.or(X_217:bat[:bit], X_218:bat[:bit]);
+    C_221:bat[:oid] := algebra.thetaselect(X_219:bat[:bit], C_203:bat[:oid], 
true:bit, "==":str);
+    C_230:bat[:oid] := algebra.thetaselect(X_226:bat[:bit], C_221:bat[:oid], 
true:bit, "==":str);
+    X_236:bat[:timestamp] := algebra.projection(C_230:bat[:oid], 
X_61:bat[:timestamp]);
+    X_237:bat[:timestamp] := bat.replace(X_216:bat[:timestamp], 
C_230:bat[:oid], X_236:bat[:timestamp], true:bit);
+    X_252:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2004-04-04 
10:00:00.000000":timestamp, "2004-10-31 09:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
+    X_238:bat[:bit] := batcalc.not(X_226:bat[:bit]);
+    X_241:bat[:bit] := batcalc.isnil(X_238:bat[:bit]);
+    X_243:bat[:bit] := batcalc.or(X_238:bat[:bit], X_241:bat[:bit]);
+    C_247:bat[:oid] := algebra.thetaselect(X_243:bat[:bit], C_221:bat[:oid], 
true:bit, "==":str);
+    C_254:bat[:oid] := algebra.thetaselect(X_252:bat[:bit], C_247:bat[:oid], 
true:bit, "==":str);
+    X_258:bat[:timestamp] := algebra.projection(C_254:bat[:oid], 
X_85:bat[:timestamp]);
+    X_259:bat[:timestamp] := bat.replace(X_237:bat[:timestamp], 
C_254:bat[:oid], X_258:bat[:timestamp], true:bit);
+    X_269:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2004-10-31 
09:00:00.000000":timestamp, "2005-04-03 10:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
+    X_260:bat[:bit] := batcalc.not(X_252:bat[:bit]);
+    X_261:bat[:bit] := batcalc.isnil(X_260:bat[:bit]);
+    X_262:bat[:bit] := batcalc.or(X_260:bat[:bit], X_261:bat[:bit]);
+    C_264:bat[:oid] := algebra.thetaselect(X_262:bat[:bit], C_247:bat[:oid], 
true:bit, "==":str);
+    C_273:bat[:oid] := algebra.thetaselect(X_269:bat[:bit], C_264:bat[:oid], 
true:bit, "==":str);
+    X_279:bat[:timestamp] := algebra.projection(C_273:bat[:oid], 
X_61:bat[:timestamp]);
+    X_280:bat[:timestamp] := bat.replace(X_259:bat[:timestamp], 
C_273:bat[:oid], X_279:bat[:timestamp], true:bit);
+    X_295:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2005-04-03 
10:00:00.000000":timestamp, "2005-10-30 09:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
+    X_282:bat[:bit] := batcalc.not(X_269:bat[:bit]);
+    X_285:bat[:bit] := batcalc.isnil(X_282:bat[:bit]);
+    X_287:bat[:bit] := batcalc.or(X_282:bat[:bit], X_285:bat[:bit]);
+    C_290:bat[:oid] := algebra.thetaselect(X_287:bat[:bit], C_264:bat[:oid], 
true:bit, "==":str);
+    C_297:bat[:oid] := algebra.thetaselect(X_295:bat[:bit], C_290:bat[:oid], 
true:bit, "==":str);
+    X_301:bat[:timestamp] := algebra.projection(C_297:bat[:oid], 
X_85:bat[:timestamp]);
+    X_302:bat[:timestamp] := bat.replace(X_280:bat[:timestamp], 
C_297:bat[:oid], X_301:bat[:timestamp], true:bit);
+    X_312:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2005-10-30 
09:00:00.000000":timestamp, "2006-04-02 10:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
+    X_303:bat[:bit] := batcalc.not(X_295:bat[:bit]);
+    X_304:bat[:bit] := batcalc.isnil(X_303:bat[:bit]);
+    X_305:bat[:bit] := batcalc.or(X_303:bat[:bit], X_304:bat[:bit]);
+    C_307:bat[:oid] := algebra.thetaselect(X_305:bat[:bit], C_290:bat[:oid], 
true:bit, "==":str);
+    C_316:bat[:oid] := algebra.thetaselect(X_312:bat[:bit], C_307:bat[:oid], 
true:bit, "==":str);
+    X_322:bat[:timestamp] := algebra.projection(C_316:bat[:oid], 
X_61:bat[:timestamp]);
+    X_323:bat[:timestamp] := bat.replace(X_302:bat[:timestamp], 
C_316:bat[:oid], X_322:bat[:timestamp], true:bit);
+    X_337:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2006-04-02 
10:00:00.000000":timestamp, "2006-10-29 09:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
+    X_324:bat[:bit] := batcalc.not(X_312:bat[:bit]);
+    X_327:bat[:bit] := batcalc.isnil(X_324:bat[:bit]);
+    X_329:bat[:bit] := batcalc.or(X_324:bat[:bit], X_327:bat[:bit]);
+    C_332:bat[:oid] := algebra.thetaselect(X_329:bat[:bit], C_307:bat[:oid], 
true:bit, "==":str);
+    C_339:bat[:oid] := algebra.thetaselect(X_337:bat[:bit], C_332:bat[:oid], 
true:bit, "==":str);
+    X_343:bat[:timestamp] := algebra.projection(C_339:bat[:oid], 
X_85:bat[:timestamp]);
+    X_344:bat[:timestamp] := bat.replace(X_323:bat[:timestamp], 
C_339:bat[:oid], X_343:bat[:timestamp], true:bit);
+    X_355:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2006-10-29 
09:00:00.000000":timestamp, "2007-03-11 10:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
+    X_345:bat[:bit] := batcalc.not(X_337:bat[:bit]);
+    X_346:bat[:bit] := batcalc.isnil(X_345:bat[:bit]);
+    X_347:bat[:bit] := batcalc.or(X_345:bat[:bit], X_346:bat[:bit]);
+    C_350:bat[:oid] := algebra.thetaselect(X_347:bat[:bit], C_332:bat[:oid], 
true:bit, "==":str);
+    C_359:bat[:oid] := algebra.thetaselect(X_355:bat[:bit], C_350:bat[:oid], 
true:bit, "==":str);
+    X_365:bat[:timestamp] := algebra.projection(C_359:bat[:oid], 
X_61:bat[:timestamp]);
+    X_366:bat[:timestamp] := bat.replace(X_344:bat[:timestamp], 
C_359:bat[:oid], X_365:bat[:timestamp], true:bit);
+    X_380:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2007-03-11 
10:00:00.000000":timestamp, "2007-11-04 09:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
+    X_367:bat[:bit] := batcalc.not(X_355:bat[:bit]);
+    X_370:bat[:bit] := batcalc.isnil(X_367:bat[:bit]);
+    X_372:bat[:bit] := batcalc.or(X_367:bat[:bit], X_370:bat[:bit]);
+    C_375:bat[:oid] := algebra.thetaselect(X_372:bat[:bit], C_350:bat[:oid], 
true:bit, "==":str);
+    C_383:bat[:oid] := algebra.thetaselect(X_380:bat[:bit], C_375:bat[:oid], 
true:bit, "==":str);
+    X_387:bat[:timestamp] := algebra.projection(C_383:bat[:oid], 
X_85:bat[:timestamp]);
+    X_388:bat[:timestamp] := bat.replace(X_366:bat[:timestamp], 
C_383:bat[:oid], X_387:bat[:timestamp], true:bit);
+    X_398:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2007-11-04 
09:00:00.000000":timestamp, "2008-03-09 10:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
+    X_389:bat[:bit] := batcalc.not(X_380:bat[:bit]);
+    X_390:bat[:bit] := batcalc.isnil(X_389:bat[:bit]);
+    X_391:bat[:bit] := batcalc.or(X_389:bat[:bit], X_390:bat[:bit]);
+    C_393:bat[:oid] := algebra.thetaselect(X_391:bat[:bit], C_375:bat[:oid], 
true:bit, "==":str);
+    C_402:bat[:oid] := algebra.thetaselect(X_398:bat[:bit], C_393:bat[:oid], 
true:bit, "==":str);
+    X_408:bat[:timestamp] := algebra.projection(C_402:bat[:oid], 
X_61:bat[:timestamp]);
+    X_409:bat[:timestamp] := bat.replace(X_388:bat[:timestamp], 
C_402:bat[:oid], X_408:bat[:timestamp], true:bit);
+    X_424:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2008-03-09 
10:00:00.000000":timestamp, "2008-11-02 09:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
+    X_410:bat[:bit] := batcalc.not(X_398:bat[:bit]);
+    X_413:bat[:bit] := batcalc.isnil(X_410:bat[:bit]);
+    X_415:bat[:bit] := batcalc.or(X_410:bat[:bit], X_413:bat[:bit]);
+    C_419:bat[:oid] := algebra.thetaselect(X_415:bat[:bit], C_393:bat[:oid], 
true:bit, "==":str);
+    C_426:bat[:oid] := algebra.thetaselect(X_424:bat[:bit], C_419:bat[:oid], 
true:bit, "==":str);
+    X_430:bat[:timestamp] := algebra.projection(C_426:bat[:oid], 
X_85:bat[:timestamp]);
+    X_431:bat[:timestamp] := bat.replace(X_409:bat[:timestamp], 
C_426:bat[:oid], X_430:bat[:timestamp], true:bit);
+    X_441:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2008-11-02 
09:00:00.000000":timestamp, "2009-03-08 10:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
+    X_432:bat[:bit] := batcalc.not(X_424:bat[:bit]);
+    X_433:bat[:bit] := batcalc.isnil(X_432:bat[:bit]);
+    X_434:bat[:bit] := batcalc.or(X_432:bat[:bit], X_433:bat[:bit]);
+    C_436:bat[:oid] := algebra.thetaselect(X_434:bat[:bit], C_419:bat[:oid], 
true:bit, "==":str);
+    C_445:bat[:oid] := algebra.thetaselect(X_441:bat[:bit], C_436:bat[:oid], 
true:bit, "==":str);
+    X_451:bat[:timestamp] := algebra.projection(C_445:bat[:oid], 
X_61:bat[:timestamp]);
+    X_452:bat[:timestamp] := bat.replace(X_431:bat[:timestamp], 
C_445:bat[:oid], X_451:bat[:timestamp], true:bit);
+    X_467:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2009-03-08 
10:00:00.000000":timestamp, "2009-11-01 09:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
+    X_454:bat[:bit] := batcalc.not(X_441:bat[:bit]);
+    X_457:bat[:bit] := batcalc.isnil(X_454:bat[:bit]);
+    X_459:bat[:bit] := batcalc.or(X_454:bat[:bit], X_457:bat[:bit]);
+    C_462:bat[:oid] := algebra.thetaselect(X_459:bat[:bit], C_436:bat[:oid], 
true:bit, "==":str);
+    C_469:bat[:oid] := algebra.thetaselect(X_467:bat[:bit], C_462:bat[:oid], 
true:bit, "==":str);
+    X_473:bat[:timestamp] := algebra.projection(C_469:bat[:oid], 
X_85:bat[:timestamp]);
+    X_474:bat[:timestamp] := bat.replace(X_452:bat[:timestamp], 
C_469:bat[:oid], X_473:bat[:timestamp], true:bit);
+    X_484:bat[:bit] := batcalc.between(X_45:bat[:timestamp], "2009-11-01 
09:00:00.000000":timestamp, "2010-03-14 10:00:00.000000":timestamp, false:bit, 
true:bit, false:bit, false:bit, false:bit);
+    X_475:bat[:bit] := batcalc.not(X_467:bat[:bit]);
+    X_476:bat[:bit] := batcalc.isnil(X_475:bat[:bit]);
+    X_477:bat[:bit] := batcalc.or(X_475:bat[:bit], X_476:bat[:bit]);
+    C_479:bat[:oid] := algebra.thetaselect(X_477:bat[:bit], C_462:bat[:oid], 
true:bit, "==":str);
+    C_488:bat[:oid] := algebra.thetaselect(X_484:bat[:bit], C_479:bat[:oid], 
true:bit, "==":str);
+    X_494:bat[:timestamp] := algebra.projection(C_488:bat[:oid], 
X_61:bat[:timestamp]);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to