Changeset: d54e3de83771 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d54e3de83771
Added Files:
        sql/test/BugTracker-2014/Tests/missing_alias.Bug-3626.sql
        sql/test/BugTracker-2014/Tests/missing_alias.Bug-3626.stable.err
        sql/test/BugTracker-2014/Tests/missing_alias.Bug-3626.stable.out
Modified Files:
        sql/backends/monet5/generator/Tests/generator03.stable.out
        sql/benchmarks/nobench/Tests/nobench.stable.out
        sql/server/rel_select.c
        sql/test/ADT2006/Tests/bram.stable.out
        
sql/test/BugDay_2005-10-06_2.9.3/Tests/cast_to_interval.SF-1019079.stable.out
        
sql/test/BugDay_2005-10-06_2.9.3/Tests/multiple_select_cast.SF-938419.stable.out
        
sql/test/BugDay_2005-12-19_2.9.3/Tests/cast_bigint_to_int.SF-1211903.stable.out
        
sql/test/BugDay_2005-12-19_2.9.3/Tests/cast_interval.SF.1280682.stable.out
        
sql/test/BugDay_2005-12-19_2.9.3/Tests/timestamp_fraction.SF-1357342.stable.out
        
sql/test/BugTracker-2008/Tests/decimal_cast_in_view.SF-2075223.stable.out
        sql/test/BugTracker-2010/Tests/join_problem.Bug-2694.stable.out
        
sql/test/BugTracker-2011/Tests/Multiplication_and_cast.Bug-2923.stable.out
        
sql/test/BugTracker-2012/Tests/cast_varchar_to_double.Bug-3071.stable.out
        
sql/test/BugTracker-2013/Tests/bogus_aggregation_casts.Bug-3342.stable.out
        sql/test/BugTracker-2013/Tests/decimal-cast.Bug-3310.stable.out
        sql/test/BugTracker-2013/Tests/qualified_aggrname.Bug-3332.stable.out
        sql/test/BugTracker-2014/Tests/All
        sql/test/BugTracker/Tests/case_in_aggr_bug.SF-1506545.stable.out
        sql/test/BugTracker/Tests/cast_interval2time.SF-1488247.stable.out
        sql/test/BugTracker/Tests/convert_dec2varchar.SF-1774312.stable.out
        sql/test/BugTracker/Tests/crash_on_cast.SF-1357271.stable.out
        sql/test/VOC/Tests/VOC.stable.out
        sql/test/bugs/Tests/aggr_single_value.stable.out
        sql/test/bugs/Tests/case_substring.stable.out
        sql/test/bugs/Tests/cast_bool2int-bug-sf-1000576.stable.out
        sql/test/bugs/Tests/cast_bool2int-bug-sf-951800.stable.out
        sql/test/bugs/Tests/cast_varchar2int-bug-sf-964165.stable.out
        sql/test/bugs/Tests/float2dec.stable.out
        sql/test/bugs/Tests/float_arith_cast2int-bug-sf-949255.stable.out
        sql/test/bugs/Tests/interval_convert_bugs-sf-1274077-1274085.stable.out
        sql/test/bugs/Tests/timestamp_comparison-bug-sf-1158581.stable.out
        sql/test/json/Tests/coercions.stable.out
        sql/test/snodgrass/Tests/cast_select.stable.out
Branch: Oct2014
Log Message:

fixed bug 3626 by adding an extra alias to cast expressions


diffs (truncated from 839 to 300 lines):

diff --git a/sql/backends/monet5/generator/Tests/generator03.stable.out 
b/sql/backends/monet5/generator/Tests/generator03.stable.out
--- a/sql/backends/monet5/generator/Tests/generator03.stable.out
+++ b/sql/backends/monet5/generator/Tests/generator03.stable.out
@@ -30,9 +30,9 @@ Ready.
 % timestamp # type
 % 26 # length
 [ 2008-03-01 00:00:00.000000   ]
-#select cast( '10' as interval second);
-% .L # table_name
-% single_value # name
+#select cast( '10' as interval hour);
+% .L1 # table_name
+% L1 # name
 % sec_interval # type
 % 0 # length
 [ 36000.000    ]
diff --git a/sql/benchmarks/nobench/Tests/nobench.stable.out 
b/sql/benchmarks/nobench/Tests/nobench.stable.out
--- a/sql/benchmarks/nobench/Tests/nobench.stable.out
+++ b/sql/benchmarks/nobench/Tests/nobench.stable.out
@@ -175,8 +175,8 @@ Ready.
 [ 0    ]
 [ 6    ]
 #select cast(json.text(json.filter(js,'num')) as integer) from bench10;
-% sys.L # table_name
-% text_filter_js # name
+% sys.L1 # table_name
+% L1 # name
 % int # type
 % 1 # length
 [ 9    ]
diff --git a/sql/server/rel_select.c b/sql/server/rel_select.c
--- a/sql/server/rel_select.c
+++ b/sql/server/rel_select.c
@@ -4243,9 +4243,11 @@ rel_cast(mvc *sql, sql_rel **rel, symbol
                                e = exp_binop(sql->sa, e, exp_atom_int(sql->sa, 
tpe->digits), c);
                }
        }
+       if (e) 
+               e = rel_check_type(sql, tpe, e, type_cast);
        if (e)
-               return rel_check_type(sql, tpe, e, type_cast);
-       return NULL;
+               exp_label(sql->sa, e, ++sql->label);
+       return e;
 }
 
 static sql_exp *
diff --git a/sql/test/ADT2006/Tests/bram.stable.out 
b/sql/test/ADT2006/Tests/bram.stable.out
--- a/sql/test/ADT2006/Tests/bram.stable.out
+++ b/sql/test/ADT2006/Tests/bram.stable.out
@@ -472,9 +472,9 @@ Ready.
 #    length is not NULL and length like '%\'' and hair like '%blonde%')
 #UNION ALL
 #(select name, (12*cast(substring(length from 0 for (position('\'' in length) 
- 1)) AS integer)
-#    + cast(substring(length from (position('\'' in length) + 1) for 
(position('"' in length) + 1)) AS integer)) as height from victim v
-% .L6, .L6 # table_name
-% L1,  average_height # name
+#    + cast(substring(length from (position('\'' in length) + 1) for 
(position('"' in length) - position('\'' in length) - 1)) AS integer)) as 
height from victim v
+% .L24,        .L24 # table_name
+% L4,  average_height # name
 % char,        char # type
 % 6,   4 # length
 [ "blonde",    "5'7\"" ]
diff --git 
a/sql/test/BugDay_2005-10-06_2.9.3/Tests/cast_to_interval.SF-1019079.stable.out 
b/sql/test/BugDay_2005-10-06_2.9.3/Tests/cast_to_interval.SF-1019079.stable.out
--- 
a/sql/test/BugDay_2005-10-06_2.9.3/Tests/cast_to_interval.SF-1019079.stable.out
+++ 
b/sql/test/BugDay_2005-10-06_2.9.3/Tests/cast_to_interval.SF-1019079.stable.out
@@ -15,8 +15,8 @@ Ready.
 
 
 #select cast('0' as interval year);
-% .L # table_name
-% single_value # name
+% .L1 # table_name
+% L1 # name
 % month_interval # type
 % 0 # length
 [ 0    ]
diff --git 
a/sql/test/BugDay_2005-10-06_2.9.3/Tests/multiple_select_cast.SF-938419.stable.out
 
b/sql/test/BugDay_2005-10-06_2.9.3/Tests/multiple_select_cast.SF-938419.stable.out
--- 
a/sql/test/BugDay_2005-10-06_2.9.3/Tests/multiple_select_cast.SF-938419.stable.out
+++ 
b/sql/test/BugDay_2005-10-06_2.9.3/Tests/multiple_select_cast.SF-938419.stable.out
@@ -15,14 +15,14 @@ Ready.
 
 
 #select cast(0 as integer);
-% .L # table_name
-% single_value # name
+% .L1 # table_name
+% L1 # name
 % int # type
 % 1 # length
 [ 0    ]
 #select cast(0 as integer);
-% .L # table_name
-% single_value # name
+% .L1 # table_name
+% L1 # name
 % int # type
 % 1 # length
 [ 0    ]
diff --git 
a/sql/test/BugDay_2005-12-19_2.9.3/Tests/cast_bigint_to_int.SF-1211903.stable.out
 
b/sql/test/BugDay_2005-12-19_2.9.3/Tests/cast_bigint_to_int.SF-1211903.stable.out
--- 
a/sql/test/BugDay_2005-12-19_2.9.3/Tests/cast_bigint_to_int.SF-1211903.stable.out
+++ 
b/sql/test/BugDay_2005-12-19_2.9.3/Tests/cast_bigint_to_int.SF-1211903.stable.out
@@ -15,20 +15,20 @@ Ready.
 
 
 #select cast(1117422000 as integer);
-% .L # table_name
-% single_value # name
+% .L1 # table_name
+% L1 # name
 % int # type
 % 10 # length
 [ 1117422000   ]
 #select cast('1117422000' as integer);
-% .L # table_name
-% single_value # name
+% .L1 # table_name
+% L1 # name
 % int # type
 % 10 # length
 [ 1117422000   ]
 #select cast(cast(1117422000 as bigint) as integer);
-% .L # table_name
-% single_value # name
+% .L2 # table_name
+% L2 # name
 % int # type
 % 10 # length
 [ 1117422000   ]
diff --git 
a/sql/test/BugDay_2005-12-19_2.9.3/Tests/cast_interval.SF.1280682.stable.out 
b/sql/test/BugDay_2005-12-19_2.9.3/Tests/cast_interval.SF.1280682.stable.out
--- a/sql/test/BugDay_2005-12-19_2.9.3/Tests/cast_interval.SF.1280682.stable.out
+++ b/sql/test/BugDay_2005-12-19_2.9.3/Tests/cast_interval.SF.1280682.stable.out
@@ -15,14 +15,14 @@ Ready.
 
 
 #select cast( 1 as interval year );
-% .L # table_name
-% single_value # name
+% .L1 # table_name
+% L1 # name
 % month_interval # type
 % 0 # length
 [ 12   ]
 #select cast( 1 as interval day );
-% .L # table_name
-% single_value # name
+% .L1 # table_name
+% L1 # name
 % sec_interval # type
 % 0 # length
 [ 86400.000    ]
diff --git 
a/sql/test/BugDay_2005-12-19_2.9.3/Tests/timestamp_fraction.SF-1357342.stable.out
 
b/sql/test/BugDay_2005-12-19_2.9.3/Tests/timestamp_fraction.SF-1357342.stable.out
--- 
a/sql/test/BugDay_2005-12-19_2.9.3/Tests/timestamp_fraction.SF-1357342.stable.out
+++ 
b/sql/test/BugDay_2005-12-19_2.9.3/Tests/timestamp_fraction.SF-1357342.stable.out
@@ -30,8 +30,8 @@ Ready.
 #      length(cast(t2 as varchar(200))),
 #      length(cast(t3 as varchar(200)))
 #from t;
-% sys.L1,      sys.L2, sys.L2 # table_name
-% L1,  L2,     length_t3 # name
+% sys.L2,      sys.L4, sys.L5 # table_name
+% L2,  L4,     length_t3 # name
 % int, int,    int # type
 % 2,   2,      2 # length
 [ 26,  19,     23      ]
diff --git 
a/sql/test/BugTracker-2008/Tests/decimal_cast_in_view.SF-2075223.stable.out 
b/sql/test/BugTracker-2008/Tests/decimal_cast_in_view.SF-2075223.stable.out
--- a/sql/test/BugTracker-2008/Tests/decimal_cast_in_view.SF-2075223.stable.out
+++ b/sql/test/BugTracker-2008/Tests/decimal_cast_in_view.SF-2075223.stable.out
@@ -30,8 +30,8 @@ Ready.
 % 10 # length
 [ " 54."       ]
 #select CAST (a as NUMERIC (5, 2)) from A;
-% sys.a # table_name
-% a # name
+% sys.L1 # table_name
+% L1 # name
 % decimal # type
 % 7 # length
 [ 54.00        ]
diff --git a/sql/test/BugTracker-2010/Tests/join_problem.Bug-2694.stable.out 
b/sql/test/BugTracker-2010/Tests/join_problem.Bug-2694.stable.out
--- a/sql/test/BugTracker-2010/Tests/join_problem.Bug-2694.stable.out
+++ b/sql/test/BugTracker-2010/Tests/join_problem.Bug-2694.stable.out
@@ -92,8 +92,8 @@ Ready.
 #and extract(month from t1.opr_date) = t2.m
 #and t1.svalue = t2.svalue
 #order by t1.opr_hr;
-% .t1, .t1,    .t1,    .L2 # table_name
-% opr_date,    opr_hr, svalue, L2 # name
+% .t1, .t1,    .t1,    .L4 # table_name
+% opr_date,    opr_hr, svalue, L4 # name
 % date,        int,    varchar,        double # type
 % 10,  2,      3,      24 # length
 [ 2009-04-01,  1,      "OFF",  -2.5    ]
@@ -115,8 +115,8 @@ Ready.
 #and extract(month from t1.opr_date) = t2.m
 #and t1.svalue = t2.svalue
 #order by t1.opr_hr;
-% sys.t1,      sys.t1, sys.t1, sys.L2 # table_name
-% opr_date,    opr_hr, svalue, L2 # name
+% sys.t1,      sys.t1, sys.t1, sys.L4 # table_name
+% opr_date,    opr_hr, svalue, L4 # name
 % date,        int,    varchar,        double # type
 % 10,  2,      3,      24 # length
 [ 2009-04-01,  1,      "OFF",  -2.5    ]
diff --git 
a/sql/test/BugTracker-2011/Tests/Multiplication_and_cast.Bug-2923.stable.out 
b/sql/test/BugTracker-2011/Tests/Multiplication_and_cast.Bug-2923.stable.out
--- a/sql/test/BugTracker-2011/Tests/Multiplication_and_cast.Bug-2923.stable.out
+++ b/sql/test/BugTracker-2011/Tests/Multiplication_and_cast.Bug-2923.stable.out
@@ -27,8 +27,8 @@ Ready.
 #insert into test234 (t) values (-1.21);
 [ 1    ]
 #select cast((t * 100) as integer) from test234;
-% sys.L # table_name
-% sql_mul_t # name
+% sys.L1 # table_name
+% L1 # name
 % int # type
 % 4 # length
 [ -121 ]
diff --git 
a/sql/test/BugTracker-2012/Tests/cast_varchar_to_double.Bug-3071.stable.out 
b/sql/test/BugTracker-2012/Tests/cast_varchar_to_double.Bug-3071.stable.out
--- a/sql/test/BugTracker-2012/Tests/cast_varchar_to_double.Bug-3071.stable.out
+++ b/sql/test/BugTracker-2012/Tests/cast_varchar_to_double.Bug-3071.stable.out
@@ -50,8 +50,8 @@ Ready.
 #insert into t3071 values ('42.42');
 [ 1    ]
 #select avg ( cast (s as double)) from t3071;
-% sys.L1 # table_name
-% L1 # name
+% sys.L2 # table_name
+% L2 # name
 % double # type
 % 24 # length
 [ 42.42        ]
diff --git 
a/sql/test/BugTracker-2013/Tests/bogus_aggregation_casts.Bug-3342.stable.out 
b/sql/test/BugTracker-2013/Tests/bogus_aggregation_casts.Bug-3342.stable.out
--- a/sql/test/BugTracker-2013/Tests/bogus_aggregation_casts.Bug-3342.stable.out
+++ b/sql/test/BugTracker-2013/Tests/bogus_aggregation_casts.Bug-3342.stable.out
@@ -34,8 +34,8 @@ Ready.
 #5|midnight linen almond tomato plum|Manufacturer#3|Brand#32|STANDARD POLISHED 
TIN|15|SM PKG|905.00| wake carefully |
 [ 5    ]
 #select sys.median(cast (p_retailprice as double)) from part;
-% sys.L1 # table_name
-% L1 # name
+% sys.L2 # table_name
+% L2 # name
 % double # type
 % 24 # length
 [ 903  ]
diff --git a/sql/test/BugTracker-2013/Tests/decimal-cast.Bug-3310.stable.out 
b/sql/test/BugTracker-2013/Tests/decimal-cast.Bug-3310.stable.out
--- a/sql/test/BugTracker-2013/Tests/decimal-cast.Bug-3310.stable.out
+++ b/sql/test/BugTracker-2013/Tests/decimal-cast.Bug-3310.stable.out
@@ -49,26 +49,26 @@ Ready.
 # 11:28:36 >  
 
 #SELECT CAST(0.94 AS INTEGER);
-% .L # table_name
-% single_value # name
+% .L1 # table_name
+% L1 # name
 % int # type
 % 1 # length
 [ 1    ]
 #SELECT CAST(0.95 AS INTEGER);
-% .L # table_name
-% single_value # name
+% .L1 # table_name
+% L1 # name
 % int # type
 % 1 # length
 [ 1    ]
 #SELECT CAST(0.49 AS INTEGER);
-% .L # table_name
-% single_value # name
+% .L1 # table_name
+% L1 # name
 % int # type
 % 1 # length
 [ 0    ]
 #SELECT CAST(0.50 AS INTEGER);
-% .L # table_name
-% single_value # name
+% .L1 # table_name
+% L1 # name
 % int # type
 % 1 # length
 [ 1    ]
diff --git 
a/sql/test/BugTracker-2013/Tests/qualified_aggrname.Bug-3332.stable.out 
b/sql/test/BugTracker-2013/Tests/qualified_aggrname.Bug-3332.stable.out
--- a/sql/test/BugTracker-2013/Tests/qualified_aggrname.Bug-3332.stable.out
+++ b/sql/test/BugTracker-2013/Tests/qualified_aggrname.Bug-3332.stable.out
@@ -50,8 +50,8 @@ Ready.
 #2086  "idxs"  2000    NULL    0       true    0       false   0
 [ 40   ]
 #select sys.median(cast (id as double)) from tbls;
-% sys.L1 # table_name
-% L1 # name
+% sys.L2 # table_name
+% L2 # name
 % double # type
 % 24 # length
 [ 5183 ]
diff --git a/sql/test/BugTracker-2014/Tests/All 
b/sql/test/BugTracker-2014/Tests/All
--- a/sql/test/BugTracker-2014/Tests/All
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to