Changeset: fff18316fff8 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=fff18316fff8
Modified Files:
        sql/server/sql_parser.y
        
sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out
        
sql/test/BugTracker-2016/Tests/memory-consumption-query-PLAN-25joins.Bug-3972.stable.out
        sql/test/BugTracker/Tests/explain.SF-1739353.stable.out
        sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out
        sql/test/SQLite_regress/sqllogictest/Tests/select3.test.stable.out
        
sql/test/SQLite_regress/sqllogictest/Tests/select3.test.stable.out.int128
        sql/test/leaks/Tests/check1.stable.out
        sql/test/leaks/Tests/check1.stable.out.int128
        sql/test/leaks/Tests/select1.stable.out
        sql/test/leaks/Tests/select1.stable.out.int128
        sql/test/leaks/Tests/select2.stable.out
        sql/test/leaks/Tests/select2.stable.out.int128
        sql/test/leaks/Tests/temp1.stable.out
        sql/test/leaks/Tests/temp1.stable.out.int128
Branch: Jul2017
Log Message:

Use left recursion instead of right recursion in parser.
This fixes bug 6347, at least as far as parsing the query is
concerned.  It may still happen that there is a too deep recursion
when creating the query plan.


diffs (truncated from 39314 to 300 lines):

diff --git a/sql/server/sql_parser.y b/sql/server/sql_parser.y
--- a/sql/server/sql_parser.y
+++ b/sql/server/sql_parser.y
@@ -3282,7 +3282,7 @@ opt_having_clause:
 
 
 search_condition:
-    and_exp OR search_condition
+    search_condition OR and_exp
                { dlist *l = L();
                  append_symbol(l, $1);
                  append_symbol(l, $3);
@@ -3291,7 +3291,7 @@ search_condition:
  ;
    
 and_exp:
-    pred_exp AND and_exp
+    and_exp AND pred_exp
                { dlist *l = L();
                  append_symbol(l, $1);
                  append_symbol(l, $3);
diff --git 
a/sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out
 
b/sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out
--- 
a/sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out
+++ 
b/sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out
@@ -39,13 +39,11 @@ function user.s4_1():void;
     X_37 := bat.new(nil:str);
     X_5 := sql.mvc();
     X_9:bat[:str] := sql.bind(X_5, "sys", "functions", "name", 0:int);
-    C_6:bat[:oid] := sql.tid(X_5, "sys", "functions");
-    C_92 := algebra.likeselect(X_9, C_6, "%optimizers%", "", false);
     (C_14:bat[:oid], X_15:bat[:str]) := sql.bind(X_5, "sys", "functions", 
"name", 2:int);
-    C_93 := algebra.likeselect(X_15, nil:bat[:oid], "%optimizers%", "", false);
     X_12:bat[:str] := sql.bind(X_5, "sys", "functions", "name", 1:int);
-    C_95 := algebra.likeselect(X_12, C_6, "%optimizers%", "", false);
-    C_29 := sql.subdelta(C_92, C_6, C_14, C_93, C_95);
+    X_17 := sql.delta(X_9, C_14, X_15, X_12);
+    C_6:bat[:oid] := sql.tid(X_5, "sys", "functions");
+    C_29 := algebra.likeselect(X_17, C_6, "%optimizers%", "", false);
     X_19:bat[:str] := sql.bind(X_5, "sys", "functions", "func", 0:int);
     (C_22:bat[:oid], X_23:bat[:str]) := sql.bind(X_5, "sys", "functions", 
"func", 2:int);
     X_21:bat[:str] := sql.bind(X_5, "sys", "functions", "func", 1:int);
@@ -100,13 +98,11 @@ function user.s6_1():void;
     X_37 := bat.new(nil:str);
     X_5 := sql.mvc();
     X_9:bat[:str] := sql.bind(X_5, "sys", "functions", "name", 0:int);
-    C_6:bat[:oid] := sql.tid(X_5, "sys", "functions");
-    C_92 := algebra.likeselect(X_9, C_6, "%optimizers%", "", true);
     (C_14:bat[:oid], X_15:bat[:str]) := sql.bind(X_5, "sys", "functions", 
"name", 2:int);
-    C_93 := algebra.likeselect(X_15, nil:bat[:oid], "%optimizers%", "", true);
     X_12:bat[:str] := sql.bind(X_5, "sys", "functions", "name", 1:int);
-    C_95 := algebra.likeselect(X_12, C_6, "%optimizers%", "", true);
-    C_29 := sql.subdelta(C_92, C_6, C_14, C_93, C_95);
+    X_17 := sql.delta(X_9, C_14, X_15, X_12);
+    C_6:bat[:oid] := sql.tid(X_5, "sys", "functions");
+    C_29 := algebra.likeselect(X_17, C_6, "%optimizers%", "", true);
     X_19:bat[:str] := sql.bind(X_5, "sys", "functions", "func", 0:int);
     (C_22:bat[:oid], X_23:bat[:str]) := sql.bind(X_5, "sys", "functions", 
"func", 2:int);
     X_21:bat[:str] := sql.bind(X_5, "sys", "functions", "func", 1:int);
@@ -162,18 +158,16 @@ function user.s8_1():void;
     X_37 := bat.new(nil:str);
     X_5 := sql.mvc();
     X_9:bat[:str] := sql.bind(X_5, "sys", "functions", "name", 0:int);
-    C_6:bat[:oid] := sql.tid(X_5, "sys", "functions");
-    C_92 := algebra.ilikeselect(X_9, C_6, "%optimizers%", "", false);
     (C_14:bat[:oid], X_15:bat[:str]) := sql.bind(X_5, "sys", "functions", 
"name", 2:int);
-    C_93 := algebra.ilikeselect(X_15, nil:bat[:oid], "%optimizers%", "", 
false);
     X_12:bat[:str] := sql.bind(X_5, "sys", "functions", "name", 1:int);
-    C_95 := algebra.ilikeselect(X_12, C_6, "%optimizers%", "", false);
-    C_29 := sql.subdelta(C_92, C_6, C_14, C_93, C_95);
+    X_17 := sql.delta(X_9, C_14, X_15, X_12);
+    C_6:bat[:oid] := sql.tid(X_5, "sys", "functions");
+    X_29 := algebra.ilikeselect(X_17, C_6, "%optimizers%", "", false);
     X_19:bat[:str] := sql.bind(X_5, "sys", "functions", "func", 0:int);
     (C_22:bat[:oid], X_23:bat[:str]) := sql.bind(X_5, "sys", "functions", 
"func", 2:int);
     X_21:bat[:str] := sql.bind(X_5, "sys", "functions", "func", 1:int);
-    X_33 := sql.projectdelta(C_29, X_19, C_22, X_23, X_21);
-    X_32 := sql.projectdelta(C_29, X_9, C_14, X_15, X_12);
+    X_33 := sql.projectdelta(X_29, X_19, C_22, X_23, X_21);
+    X_32 := sql.projectdelta(X_29, X_9, C_14, X_15, X_12);
     X_42 := bat.append(X_35, "sys.functions");
     X_44 := bat.append(X_37, "name");
     X_46 := bat.append(X_38, "varchar");
@@ -222,18 +216,16 @@ function user.s10_1():void;
     X_37 := bat.new(nil:str);
     X_5 := sql.mvc();
     X_9:bat[:str] := sql.bind(X_5, "sys", "functions", "name", 0:int);
-    C_6:bat[:oid] := sql.tid(X_5, "sys", "functions");
-    C_92 := algebra.ilikeselect(X_9, C_6, "%optimizers%", "", true);
     (C_14:bat[:oid], X_15:bat[:str]) := sql.bind(X_5, "sys", "functions", 
"name", 2:int);
-    C_93 := algebra.ilikeselect(X_15, nil:bat[:oid], "%optimizers%", "", true);
     X_12:bat[:str] := sql.bind(X_5, "sys", "functions", "name", 1:int);
-    C_95 := algebra.ilikeselect(X_12, C_6, "%optimizers%", "", true);
-    C_29 := sql.subdelta(C_92, C_6, C_14, C_93, C_95);
+    X_17 := sql.delta(X_9, C_14, X_15, X_12);
+    C_6:bat[:oid] := sql.tid(X_5, "sys", "functions");
+    X_29 := algebra.ilikeselect(X_17, C_6, "%optimizers%", "", true);
     X_19:bat[:str] := sql.bind(X_5, "sys", "functions", "func", 0:int);
     (C_22:bat[:oid], X_23:bat[:str]) := sql.bind(X_5, "sys", "functions", 
"func", 2:int);
     X_21:bat[:str] := sql.bind(X_5, "sys", "functions", "func", 1:int);
-    X_33 := sql.projectdelta(C_29, X_19, C_22, X_23, X_21);
-    X_32 := sql.projectdelta(C_29, X_9, C_14, X_15, X_12);
+    X_33 := sql.projectdelta(X_29, X_19, C_22, X_23, X_21);
+    X_32 := sql.projectdelta(X_29, X_9, C_14, X_15, X_12);
     X_42 := bat.append(X_35, "sys.functions");
     X_44 := bat.append(X_37, "name");
     X_46 := bat.append(X_38, "varchar");
diff --git 
a/sql/test/BugTracker-2016/Tests/memory-consumption-query-PLAN-25joins.Bug-3972.stable.out
 
b/sql/test/BugTracker-2016/Tests/memory-consumption-query-PLAN-25joins.Bug-3972.stable.out
--- 
a/sql/test/BugTracker-2016/Tests/memory-consumption-query-PLAN-25joins.Bug-3972.stable.out
+++ 
b/sql/test/BugTracker-2016/Tests/memory-consumption-query-PLAN-25joins.Bug-3972.stable.out
@@ -169,7 +169,7 @@ top N (
 | | | | ) [ "a3"."t3pkcol" NOT NULL HASHCOL  = "table1"."t1cold113" ],
 | | | | table(sys.table12) [ "table12"."t12cola1" ] COUNT 
 | | | ) [ "table12"."t12cola1" = "table1"."t1cola1" ]
-| | ) [ (((clob[char["table1"."t1cold1"]] as "table1"."t1cold1") FILTER ilike 
(clob "%a%", clob "")) or (((clob[char["table1"."t1cola1"]] as 
"table1"."t1cola1") FILTER ilike (clob "%a%", clob "")) or 
(((clob[char["table1"."t1colb1"]] as "table1"."t1colb1") FILTER ilike (clob 
"%a%", clob "")) or (((clob[char["table1"."t1cola11"]] as "table1"."t1cola11") 
FILTER ilike (clob "%business%", clob "")) or (("table1"."t1colc91" >= 
timestamp(7)[char(19) "2016-03-21 05:00:00"]) or (("table1"."t1cola101" = 
tinyint "1") or (((clob[char["table1"."t1cola12"]] as "table1"."t1cola12") 
FILTER ilike (clob "%Vijay%", clob "")) or (((clob[char["table2"."t2cola1"]] as 
"table2"."t2cola1") ! FILTER ilike (clob "%gmail%", clob ""), 
(clob[char["table2"."t2cola1"]] as "table2"."t2cola1") ! FILTER ilike (clob 
"%yahoo%", clob "")) or (((clob[char["table2"."t2cola1"]] as 
"table2"."t2cola1") FILTER ilike (clob "%efequitygroup.com%", clob "")) or 
(("table4"."t4cola1" = clob "Customer") or ((sys.isnull("table4"."t4
 cola2") = boolean "false") or (("table2"."t2cola81" >= date "2009-08-31") or 
((("table5"."t5cola1" = clob "BAT") or (((clob[char["table5"."t5cola2"]] as 
"table5"."t5cola2") FILTER ilike (clob "%AUSTRALIA%", clob "")) or 
((clob[char["table5"."t5cola2"]] as "table5"."t5cola2") FILTER ilike (clob 
"%Monet%", clob ""), "table5"."t5cola3" = clob "Facebook", "table5"."t5cola5" = 
clob "new", "table5"."t5cola81" > date "2015-07-30"))) or 
(("table10"."t10cola1" != clob "Completed", "table9"."t9cola1" = clob "Tasks", 
"table9"."t9cola91" >= timestamp(7)[char(19) "2012-01-01 04:32:27"], 
"table10"."t10cola91" <= timestamp(7)[char(19) "2013-01-01 04:32:27"]) or 
(("table9"."t9cola1" = clob "Events", "table11"."t11cola91" >= 
timestamp(7)[char(19) "2012-01-01 04:32:27"], "table11"."t11cola91" <= 
timestamp(7)[char(19) "2013-01-01 04:32:27"]) or ("table9"."t9cola1" = clob 
"Calls", "table10"."t10cola91" >= timestamp(7)[char(19) "2012-01-01 04:32:27"], 
"table10"."t10cola91" <= timestamp(7)[char(19) "2013
 -01-01 04:32:27"]))))))))))))))), "table1"."t1cold111" in (bigint 
"15842000014793046", bigint "15842000017701488", bigint "15842000000024019", 
bigint "15842000000074007", bigint "15842000009358096", bigint 
"15842000010487625", bigint "15842000006731919", bigint "15842000002590112", 
bigint "15842000000019001", bigint "15842000014923682", bigint 
"15842000027547249")) or ("table12"."t12cola1" in (clob[bigint 
"15842000280111951"], clob[bigint "15842000280163015"])) ]
+| | ) [ (((((((((((((((clob[char["table1"."t1cold1"]] as "table1"."t1cold1") 
FILTER ilike (clob "%a%", clob "")) or ((clob[char["table1"."t1cola1"]] as 
"table1"."t1cola1") FILTER ilike (clob "%a%", clob ""))) or 
((clob[char["table1"."t1colb1"]] as "table1"."t1colb1") FILTER ilike (clob 
"%a%", clob ""))) or ((clob[char["table1"."t1cola11"]] as "table1"."t1cola11") 
FILTER ilike (clob "%business%", clob ""))) or ("table1"."t1colc91" >= 
timestamp(7)[char(19) "2016-03-21 05:00:00"])) or ("table1"."t1cola101" = 
tinyint "1")) or ((clob[char["table1"."t1cola12"]] as "table1"."t1cola12") 
FILTER ilike (clob "%Vijay%", clob ""))) or ((clob[char["table2"."t2cola1"]] as 
"table2"."t2cola1") ! FILTER ilike (clob "%gmail%", clob ""), 
(clob[char["table2"."t2cola1"]] as "table2"."t2cola1") ! FILTER ilike (clob 
"%yahoo%", clob ""))) or ((clob[char["table2"."t2cola1"]] as 
"table2"."t2cola1") FILTER ilike (clob "%efequitygroup.com%", clob ""))) or 
("table4"."t4cola1" = clob "Customer")) or (sys.isnull("
 table4"."t4cola2") = boolean "false")) or ("table2"."t2cola81" >= date 
"2009-08-31")) or ((("table5"."t5cola1" = clob "BAT") or 
((clob[char["table5"."t5cola2"]] as "table5"."t5cola2") FILTER ilike (clob 
"%AUSTRALIA%", clob ""))) or ((clob[char["table5"."t5cola2"]] as 
"table5"."t5cola2") FILTER ilike (clob "%Monet%", clob ""), "table5"."t5cola3" 
= clob "Facebook", "table5"."t5cola5" = clob "new", "table5"."t5cola81" > date 
"2015-07-30"))) or ((("table10"."t10cola1" != clob "Completed", 
"table9"."t9cola1" = clob "Tasks", "table9"."t9cola91" >= timestamp(7)[char(19) 
"2012-01-01 04:32:27"], "table10"."t10cola91" <= timestamp(7)[char(19) 
"2013-01-01 04:32:27"]) or ("table9"."t9cola1" = clob "Events", 
"table11"."t11cola91" >= timestamp(7)[char(19) "2012-01-01 04:32:27"], 
"table11"."t11cola91" <= timestamp(7)[char(19) "2013-01-01 04:32:27"])) or 
("table9"."t9cola1" = clob "Calls", "table10"."t10cola91" >= 
timestamp(7)[char(19) "2012-01-01 04:32:27"], "table10"."t10cola91" <= 
timestamp(7)[c
 har(19) "2013-01-01 04:32:27"])), "table1"."t1cold111" in (bigint 
"15842000014793046", bigint "15842000017701488", bigint "15842000000024019", 
bigint "15842000000074007", bigint "15842000009358096", bigint 
"15842000010487625", bigint "15842000006731919", bigint "15842000002590112", 
bigint "15842000000019001", bigint "15842000014923682", bigint 
"15842000027547249")) or ("table12"."t12cola1" in (clob[bigint 
"15842000280111951"], clob[bigint "15842000280163015"])) ]
 | ) [ "table1"."t1pkcol" NOT NULL HASHCOL , "table1"."t1cola82", 
"table2"."t2cola10", "table1"."t1cola1", "table1"."t1cola91", "a1"."t3cola1" ] 
[ "table2"."t2cola82" ]
 ) [ bigint "10", bigint "0" ]
 #ROLLBACK;
diff --git a/sql/test/BugTracker/Tests/explain.SF-1739353.stable.out 
b/sql/test/BugTracker/Tests/explain.SF-1739353.stable.out
--- a/sql/test/BugTracker/Tests/explain.SF-1739353.stable.out
+++ b/sql/test/BugTracker/Tests/explain.SF-1739353.stable.out
@@ -93,13 +93,11 @@ Operation successful
 |     X_35:bat[:str] := bat.new(nil:str);                                      
                             |
 |     X_4 := sql.mvc();                                                        
                             |
 |     X_18:bat[:sht] := sql.bind(X_4, "sys", "_tables", "type", 0:int);        
                             |
-|     C_5:bat[:oid] := sql.tid(X_4, "sys", "_tables");                         
                             |
-|     C_89 := algebra.thetaselect(X_18, C_5, 2:sht, "!=");                     
                             |
 |     (C_21:bat[:oid], X_22:bat[:sht]) := sql.bind(X_4, "sys", "_tables", 
"type", 2:int);                   |
-|     C_90 := algebra.thetaselect(X_22, nil:bat[:oid], 2:sht, "!=");           
                             |
 |     X_20:bat[:sht] := sql.bind(X_4, "sys", "_tables", "type", 1:int);        
                             |
-|     C_92 := algebra.thetaselect(X_20, C_5, 2:sht, "!=");                     
                             |
-|     C_27 := sql.subdelta(C_89, C_5, C_21, C_90, C_92);                       
                             |
+|     X_23 := sql.delta(X_18, C_21, X_22, X_20);                               
                             |
+|     C_5:bat[:oid] := sql.tid(X_4, "sys", "_tables");                         
                             |
+|     C_27 := algebra.thetaselect(X_23, C_5, 2:sht, "!=");                     
                             |
 |     X_8:bat[:str] := sql.bind(X_4, "sys", "_tables", "name", 0:int);         
                             |
 |     (C_13:bat[:oid], X_14:bat[:str]) := sql.bind(X_4, "sys", "_tables", 
"name", 2:int);                   |
 |     X_11:bat[:str] := sql.bind(X_4, "sys", "_tables", "name", 1:int);        
                             |
@@ -122,29 +120,29 @@ Operation successful
 |     sql.resultSet(X_47, X_49, X_51, X_53, X_55, X_39);                       
                             |
 | end user.s4_1;                                                               
                        |
 | #inline               actions= 0 time=1 usec                                 
                           |
-| #remap                actions= 0 time=2 usec                                 
                           |
-| #costmodel            actions= 1 time=2 usec                                 
                           |
-| #coercion             actions= 1 time=6 usec                                 
                           |
-| #evaluate             actions= 0 time=3 usec                                 
                           |
+| #remap                actions= 0 time=1 usec                                 
                             |
+| #costmodel            actions= 1 time=1 usec                                 
                             |
+| #coercion             actions= 1 time=2 usec                                 
                             |
+| #evaluate             actions= 0 time=1 usec                                 
                             |
 | #emptybind            actions= 0 time=0 usec                                 
                             |
-| #pushselect           actions= 5 time=26 usec                                
                             |
-| #aliases              actions= 2 time=8 usec                                 
                             |
-| #mergetable           actions= 0 time=30 usec                                
                             |
-| #deadcode             actions= 3 time=7 usec                                 
                             |
+| #pushselect           actions= 5 time=10 usec                                
                             |
+| #aliases              actions= 2 time=3 usec                                 
                             |
+| #mergetable           actions= 0 time=11 usec                                
                             |
+| #deadcode             actions= 2 time=3 usec                                 
                             |
 | #aliases              actions= 0 time=0 usec                                 
                             |
-| #constants            actions= 2 time=7 usec                                 
                             |
-| #commonTerms          actions= 0 time=6 usec                                 
                             |
-| #projectionpath       actions= 0 time=4 usec                                 
                             |
-| #reorder              actions= 1 time=24 usec                                
                             |
-| #deadcode             actions= 0 time=5 usec                                 
                             |
+| #constants            actions= 2 time=3 usec                                 
                             |
+| #commonTerms          actions= 0 time=2 usec                                 
                             |
+| #projectionpath       actions= 0 time=2 usec                                 
                             |
+| #reorder              actions= 1 time=9 usec                                 
                             |
+| #deadcode             actions= 0 time=2 usec                                 
                             |
 | #matpack              actions= 0 time=0 usec                                 
                             |
-| #multiplex            actions= 0 time=1 usec                                 
                             |
-| #profiler             actions= 1 time=1 usec                                 
                             |
-| #candidates           actions= 1 time=1 usec                                 
                           |
-| #garbagecollector     actions= 1 time=41 usec                                
                             |
-| #total                actions=23 time=259 usec                               
                             |
+| #multiplex            actions= 0 time=4 usec                                 
                             |
+| #profiler             actions=1 time=1 usec                                  
                             |
+| #candidates           actions=1 time=0 usec                                  
                             |
+| #garbagecollector     actions= 1 time=24 usec                                
                             |
+| #total                actions=23 time=118 usec                               
                             |
 
+-----------------------------------------------------------------------------------------------------------+
-55 rows
+53 rows
 
 # 10:24:50 >  
 # 10:24:50 >  "Done."
diff --git a/sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out 
b/sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out
--- a/sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out
+++ b/sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out
@@ -51,13 +51,11 @@ Operation successful
 |     X_38:bat[:lng] := bat.new(nil:lng);                                      
                         |
 |     X_4 := sql.mvc();                                                        
                         |
 |     X_18:bat[:sht] := sql.bind(X_4, "sys", "_tables", "type", 0:int);        
                         |
-|     C_5:bat[:oid] := sql.tid(X_4, "sys", "_tables");                         
                         |
-|     C_84 := algebra.thetaselect(X_18, C_5, 2:sht, "!=");                     
                         |
 |     (C_21:bat[:oid], X_22:bat[:sht]) := sql.bind(X_4, "sys", "_tables", 
"type", 2:int);               |
-|     C_85 := algebra.thetaselect(X_22, nil:bat[:oid], 2:sht, "!=");           
                         |
 |     X_20:bat[:sht] := sql.bind(X_4, "sys", "_tables", "type", 1:int);        
                         |
-|     C_87 := algebra.thetaselect(X_20, C_5, 2:sht, "!=");                     
                         |
-|     C_27 := sql.subdelta(C_84, C_5, C_21, C_85, C_87);                       
                         |
+|     X_23 := sql.delta(X_18, C_21, X_22, X_20);                               
                         |
+|     C_5:bat[:oid] := sql.tid(X_4, "sys", "_tables");                         
                         |
+|     C_27 := algebra.thetaselect(X_23, C_5, 2:sht, "!=");                     
                         |
 |     X_8:bat[:int] := sql.bind(X_4, "sys", "_tables", "id", 0:int);           
                         |
 |     (C_13:bat[:oid], X_14:bat[:int]) := sql.bind(X_4, "sys", "_tables", 
"id", 2:int);                 |
 |     X_11:bat[:int] := sql.bind(X_4, "sys", "_tables", "id", 1:int);          
                         |
@@ -73,30 +71,30 @@ Operation successful
 |     X_43:lng := aggr.sum(X_42);                                              
                         |
 |     sql.resultSet(".L42", "L41", "bigint", 64:int, 0:int, 7:int, X_43);      
                         |
 | end user.s4_1;                                                               
                    |
-| #inline               actions= 0 time=0 usec                                 
                       |
+| #inline               actions= 0 time=1 usec                                 
                         |
 | #remap                actions= 0 time=1 usec                                 
                         |
 | #costmodel            actions= 1 time=1 usec                                 
                         |
-| #coercion             actions= 1 time=3 usec                                 
                         |
-| #evaluate             actions= 0 time=1 usec                                 
                         |
+| #coercion             actions= 1 time=2 usec                                 
                         |
+| #evaluate             actions= 0 time=2 usec                                 
                         |
 | #emptybind            actions= 0 time=0 usec                                 
                         |
-| #pushselect           actions= 5 time=15 usec                                
                         |
-| #aliases              actions= 2 time=4 usec                                 
                         |
-| #mergetable           actions= 0 time=18 usec                                
                         |
-| #deadcode             actions= 3 time=4 usec                                 
                         |
+| #pushselect           actions= 5 time=9 usec                                 
                         |
+| #aliases              actions= 2 time=3 usec                                 
                         |
+| #mergetable           actions= 0 time=11 usec                                
                         |
+| #deadcode             actions= 2 time=3 usec                                 
                         |
 | #aliases              actions= 0 time=0 usec                                 
                         |
-| #constants            actions= 1 time=4 usec                                 
                         |
-| #commonTerms          actions= 0 time=3 usec                                 
                         |
-| #projectionpath       actions= 0 time=2 usec                                 
                         |
-| #reorder              actions= 1 time=13 usec                                
                         |
-| #deadcode             actions= 0 time=3 usec                                 
                         |
+| #constants            actions= 1 time=3 usec                                 
                         |
+| #commonTerms          actions= 0 time=2 usec                                 
                         |
+| #projectionpath       actions= 0 time=1 usec                                 
                         |
+| #reorder              actions= 1 time=9 usec                                 
                         |
+| #deadcode             actions= 0 time=1 usec                                 
                         |
 | #matpack              actions= 0 time=0 usec                                 
                         |
 | #multiplex            actions= 0 time=1 usec                                 
                         |
-| #profiler             actions=1 time=1 usec                                  
                         |
-| #candidates           actions=1 time=1 usec                                  
                         |
-| #garbagecollector     actions= 1 time=30 usec                                
                         |
-| #total                actions=23 time=160 usec                               
                         |
+| #profiler             actions=1 time=0 usec                                  
                         |
+| #candidates           actions=1 time=0 usec                                  
                         |
+| #garbagecollector     actions= 1 time=20 usec                                
                         |
+| #total                actions=23 time=105 usec                               
                         |
 
+-------------------------------------------------------------------------------------------------------+
-49 rows
+47 rows
 
 # 10:24:52 >  
 # 10:24:52 >  "Done."
diff --git a/sql/test/SQLite_regress/sqllogictest/Tests/select3.test.stable.out 
b/sql/test/SQLite_regress/sqllogictest/Tests/select3.test.stable.out
--- a/sql/test/SQLite_regress/sqllogictest/Tests/select3.test.stable.out
+++ b/sql/test/SQLite_regress/sqllogictest/Tests/select3.test.stable.out
@@ -169,8 +169,8 @@ Ready.
 #       (a+b+c+d+e)/5
 #  FROM t1
 #;
-% sys.L1,      sys.L2 # table_name
-% L1,  L2 # name
+% sys.L2,      sys.L4 # table_name
+% L2,  L4 # name
 % bigint,      bigint # type
 % 4,   3 # length
 [ NULL,        NULL    ]
@@ -208,8 +208,8 @@ Ready.
 #  FROM t1
 # ORDER BY 1,2
 #;
-% sys.L1,      sys.L2 # table_name
-% L1,  L2 # name
+% sys.L2,      sys.L4 # table_name
+% L2,  L4 # name
 % bigint,      bigint # type
 % 4,   3 # length
 [ NULL,        NULL    ]
@@ -253,61 +253,8 @@ Ready.
 #   AND (e>c OR e<d)
 #   AND EXISTS(SELECT 1 FROM t1 AS x WHERE x.b<t1.b)
 #;
-% sys.L2,      sys.L3, sys.L4, sys.L5, sys.L6 # table_name
-% L2,  L3,     L4,     L5,     L6 # name
-% bigint,      smallint,       bigint, bigint, bigint # type
-% 4,   3,      1,      3,      4 # length
-[ NULL,        444,    1,      NULL,   NULL    ]
-[ 1902,        222,    4,      127,    760     ]
-[ 1985,        333,    4,      132,    793     ]
-[ 2046,        222,    2,      137,    827     ]
-[ 2432,        444,    1,      162,    966     ]
-[ 2728,        333,    3,      182,    1096    ]
-[ 3175,        333,    3,      212,    1277    ]
-[ 3331,        222,    1,      222,    1338    ]
-[ 3473,        333,    1,      232,    1391    ]
-[ NULL,        444,    NULL,   NULL,   NULL    ]
-[ 3706,        111,    2,      247,    1484    ]
-#SELECT a+b*2+c*3+d*4+e*5,
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to