Changeset: ee6e585e72c5 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ee6e585e72c5
Modified Files:
        sql/backends/monet5/Tests/optimizers.stable.out
        sql/backends/monet5/UDF/Tests/udf-fuse.stable.out
        sql/backends/monet5/UDF/Tests/udf-reverse.stable.out
        sql/server/sql_mvc.c
        sql/server/sql_parser.y
        sql/server/sql_qc.c
        sql/test/ADT2006/Tests/bram.stable.out
        sql/test/BugDay_2005-10-06_2.8/Tests/string_quotes.SF-919539.stable.out
        
sql/test/BugDay_2005-10-06_2.9.3/Tests/UNION_JOIN_vs_plain_set_UNION-2.SF-920585.stable.out
        
sql/test/BugDay_2005-10-06_2.9.3/Tests/basic_arithmetics.SF-922252.stable.out
        sql/test/BugDay_2005-10-06_2.9.3/Tests/case.SF-929151.stable.out
        
sql/test/BugDay_2005-10-06_2.9.3/Tests/jdbc_crashes_on_getTables.SF_944316.stable.out
        
sql/test/BugDay_2005-10-06_2.9.3/Tests/simple_union.SF-1005596.stable.out
        
sql/test/BugDay_2005-10-06_2.9.3/Tests/variable_arg_substring.SF_942981.stable.out
        sql/test/BugDay_2005-11-09_2.8/Tests/crash_in_case.SF-1097749.stable.out
        
sql/test/BugDay_2005-11-09_2.9.3/Tests/sql_server_crash.SF-1080024.stable.out
        
sql/test/BugDay_2005-11-09_2.9.3/Tests/union-duplicates.SF-1119186.stable.out
        sql/test/BugTracker-2009/Tests/AVG_of_SQRT.SF-2757642.stable.out
        sql/test/BugTracker-2009/Tests/IS_NULL_in_CASE.stable.out
        sql/test/BugTracker-2009/Tests/group_by_on_values.SF-2837561.stable.out
        sql/test/BugTracker-2009/Tests/not_equal.SF-2678502.stable.out
        
sql/test/BugTracker-2009/Tests/old_views_incorrectly_reused.SF-2863804.stable.out
        sql/test/BugTracker-2009/Tests/push_select_down_crash.stable.out
        sql/test/BugTracker-2009/Tests/utf8_bug.SF-2822855.stable.out
        
sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out
        sql/test/BugTracker-2010/Tests/crash_on_where_in.Bug-2333.stable.out
        
sql/test/BugTracker-2010/Tests/group-by_ordered_column.Bug-2564.stable.out
        sql/test/BugTracker-2010/Tests/mat.slice_limit1.Bug-2645.stable.out
        
sql/test/BugTracker-2010/Tests/order_by_on_single_row_view.SF-2950453.stable.out
        
sql/test/BugTracker-2010/Tests/substring_display_width.Bug-2683.stable.out
        sql/test/BugTracker-2011/Tests/case-when-alias.Bug-2848.stable.out
        sql/test/BugTracker-2012/Tests/predicate_select.Bug-3090.stable.err
        
sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out
        
sql/test/BugTracker/Tests/assert_fails_on_algebra_version.SF-2019349.stable.out
        sql/test/BugTracker/Tests/bind_with_cast.SF-1720934.stable.err
        sql/test/BugTracker/Tests/crash_on_delete.SF-1639108.stable.out
        sql/test/BugTracker/Tests/crash_on_delete.SF-1651567.stable.out
        sql/test/BugTracker/Tests/crash_on_insert.SF-1639113.stable.out
        sql/test/BugTracker/Tests/insert_not_exists.SF-1380287.stable.out
        sql/test/Dependencies/Tests/Dependencies.stable.out
        sql/test/Skyserver/Tests/Skyserver.stable.out
        sql/test/Tests/coalesce.stable.out
        sql/test/Tests/decimal2.stable.out
        sql/test/Tests/setoptimizer.stable.out
        sql/test/VOC/Tests/VOC.stable.out
        sql/test/bugs/Tests/crash_order_by.stable.out
        sql/test/bugs/Tests/select_from_values.stable.out
        sql/test/bugs/Tests/simple_view.stable.out
        
sql/test/bugs/Tests/subselect_multiple_unionall_where_1=1-bug-sf-1005596.stable.out
        sql/test/bugs/Tests/subselect_single_value-bug-sf-941791.stable.out
        sql/test/bugs/Tests/subselect_union-bug-sf-941826.stable.out
        sql/test/bugs/Tests/unicode_varchar-bug-sf-1041324_JdbcClient.stable.out
        sql/test/bugs/Tests/unicode_varchar-bug-sf-1041324_MapiClient.stable.out
        sql/test/bugs/Tests/union_all-bug-sf-941788.stable.out
        sql/test/bugs/Tests/union_all_where_1=1-bug-sf-936386.stable.out
        sql/test/leaks/Tests/check0.stable.out
        sql/test/leaks/Tests/check1.stable.out
        sql/test/leaks/Tests/check2.stable.out
        sql/test/leaks/Tests/check3.stable.out
        sql/test/leaks/Tests/check4.stable.out
        sql/test/leaks/Tests/check5.stable.out
        sql/test/leaks/Tests/drop3.stable.out
        sql/test/leaks/Tests/temp1.stable.out
        sql/test/leaks/Tests/temp2.stable.out
        sql/test/leaks/Tests/temp3.stable.out
        sql/test/pg_regress/Tests/char.stable.out
        sql/test/pg_regress/Tests/strings_concat.stable.out
        sql/test/pg_regress/Tests/text.stable.out
        sql/test/pg_regress/Tests/varchar.stable.out
        sql/test/rdf/Tests/q2_28_v.stable.out
        sql/test/rdf/Tests/q2_v.stable.out
        sql/test/rdf/Tests/q3_28_v.stable.out
        sql/test/rdf/Tests/q3_v.stable.out
        sql/test/rdf/Tests/q4_28_v.stable.out
        sql/test/rdf/Tests/q4_v.stable.out
        sql/test/rdf/Tests/q6_28_v.stable.out
        sql/test/rdf/Tests/q6_v.stable.out
Branch: Feb2013
Log Message:

ported fix to the query cache from Oct2012


diffs (truncated from 3392 to 300 lines):

diff --git a/sql/backends/monet5/Tests/optimizers.stable.out 
b/sql/backends/monet5/Tests/optimizers.stable.out
--- a/sql/backends/monet5/Tests/optimizers.stable.out
+++ b/sql/backends/monet5/Tests/optimizers.stable.out
@@ -47,31 +47,31 @@ Ready.
 #select 'optimizer test:',optimizer;
 % .,   . # table_name
 % single_value,        single_value # name
-% char,        varchar # type
+% varchar,     varchar # type
 % 15,  12 # length
 [ "optimizer test:",   "default_pipe"  ]
 #select 'optimizer off test:',optimizer;
 % .,   . # table_name
 % single_value,        single_value # name
-% char,        varchar # type
+% varchar,     varchar # type
 % 19,  12 # length
 [ "optimizer off test:",       "default_pipe"  ]
 #select 'optimizer on test:',optimizer;
 % .,   . # table_name
 % single_value,        single_value # name
-% char,        varchar # type
+% varchar,     varchar # type
 % 18,  12 # length
 [ "optimizer on test:",        "default_pipe"  ]
 #select 'optimizer <empty> test:',optimizer;
 % .,   . # table_name
 % single_value,        single_value # name
-% char,        varchar # type
+% varchar,     varchar # type
 % 23,  12 # length
 [ "optimizer <empty> test:",   "default_pipe"  ]
 #select 'done';
 % . # table_name
 % single_value # name
-% char # type
+% varchar # type
 % 4 # length
 [ "done"       ]
 
diff --git a/sql/backends/monet5/UDF/Tests/udf-fuse.stable.out 
b/sql/backends/monet5/UDF/Tests/udf-fuse.stable.out
--- a/sql/backends/monet5/UDF/Tests/udf-fuse.stable.out
+++ b/sql/backends/monet5/UDF/Tests/udf-fuse.stable.out
@@ -45,12 +45,10 @@ end s0_1;
 % mal # name
 % clob # type
 % 71 # length
-function user.s2_1{autoCommit=true}(A0:sht,A1:sht):void;
+function user.s1_1{autoCommit=true}(A0:sht,A1:sht):void;
     X_4 := udf.fuse(A0,A1);
     sql.exportValue(1,".","fuse_single_value":str,"int",32,0,6,X_4,"");
-end s2_1;
-# optimizer.mitosis()
-# optimizer.dataflow()
+end s1_1;
 #select fuse(1000,2000);
 % . # table_name
 % fuse_single_value # name
@@ -62,12 +60,10 @@ end s2_1;
 % mal # name
 % clob # type
 % 74 # length
-function user.s4_1{autoCommit=true}(A0:int,A1:int):void;
+function user.s2_1{autoCommit=true}(A0:int,A1:int):void;
     X_4 := udf.fuse(A0,A1);
     sql.exportValue(1,".","fuse_single_value":str,"bigint",64,0,6,X_4,"");
-end s4_1;
-# optimizer.mitosis()
-# optimizer.dataflow()
+end s2_1;
 #select fuse(1000000,2000000);
 % . # table_name
 % fuse_single_value # name
@@ -97,7 +93,7 @@ end s4_1;
 % mal # name
 % clob # type
 % 60 # length
-function user.s11_1{autoCommit=true}():void;
+function user.s5_1{autoCommit=true}():void;
     X_2 := sql.mvc();
     X_3:bat[:oid,:oid]  := sql.tid(X_2,"sys","udf_fuse");
     X_6 := sql.bind(X_2,"sys","udf_fuse","a",0);
@@ -115,15 +111,13 @@ function user.s11_1{autoCommit=true}():v
     sql.rsColumn(X_25,"sys.","fuse_a","smallint",16,0,X_23);
     X_30 := io.stdout();
     sql.exportResult(X_30,X_25);
-end s11_1;
-# optimizer.mitosis()
-# optimizer.dataflow()
+end s5_1;
 #explain select fuse(c,d) from udf_fuse;
 % .explain # table_name
 % mal # name
 % clob # type
 % 57 # length
-function user.s12_1{autoCommit=true}():void;
+function user.s6_1{autoCommit=true}():void;
     X_2 := sql.mvc();
     X_3:bat[:oid,:oid]  := sql.tid(X_2,"sys","udf_fuse");
     X_6 := sql.bind(X_2,"sys","udf_fuse","c",0);
@@ -141,15 +135,13 @@ function user.s12_1{autoCommit=true}():v
     sql.rsColumn(X_25,"sys.","fuse_c","int",32,0,X_23);
     X_30 := io.stdout();
     sql.exportResult(X_30,X_25);
-end s12_1;
-# optimizer.mitosis()
-# optimizer.dataflow()
+end s6_1;
 #explain select fuse(e,f) from udf_fuse;
 % .explain # table_name
 % mal # name
 % clob # type
 % 58 # length
-function user.s13_1{autoCommit=true}():void;
+function user.s7_1{autoCommit=true}():void;
     X_2 := sql.mvc();
     X_3:bat[:oid,:oid]  := sql.tid(X_2,"sys","udf_fuse");
     X_6 := sql.bind(X_2,"sys","udf_fuse","e",0);
@@ -167,9 +159,7 @@ function user.s13_1{autoCommit=true}():v
     sql.rsColumn(X_25,"sys.","fuse_e","bigint",64,0,X_23);
     X_30 := io.stdout();
     sql.exportResult(X_30,X_25);
-end s13_1;
-# optimizer.mitosis()
-# optimizer.dataflow()
+end s7_1;
 #select fuse(a,b) from udf_fuse;
 % sys. # table_name
 % fuse_a # name
diff --git a/sql/backends/monet5/UDF/Tests/udf-reverse.stable.out 
b/sql/backends/monet5/UDF/Tests/udf-reverse.stable.out
--- a/sql/backends/monet5/UDF/Tests/udf-reverse.stable.out
+++ b/sql/backends/monet5/UDF/Tests/udf-reverse.stable.out
@@ -82,7 +82,7 @@ end s0_1;
 % mal # name
 % clob # type
 % 62 # length
-function user.s7_1{autoCommit=true}():void;
+function user.s3_1{autoCommit=true}():void;
     X_2 := sql.mvc();
     X_3:bat[:oid,:oid]  := sql.tid(X_2,"sys","udf_reverse");
     X_6 := sql.bind(X_2,"sys","udf_reverse","x",0);
@@ -95,7 +95,7 @@ function user.s7_1{autoCommit=true}():vo
     sql.rsColumn(X_18,"sys.","reverse_x":str,"clob",0,0,X_16);
     X_22 := io.stdout();
     sql.exportResult(X_22,X_18);
-end s7_1;
+end s3_1;
 #select reverse(x) from udf_reverse;
 % sys. # table_name
 % reverse_x # name
diff --git a/sql/server/sql_mvc.c b/sql/server/sql_mvc.c
--- a/sql/server/sql_mvc.c
+++ b/sql/server/sql_mvc.c
@@ -193,8 +193,6 @@ mvc_trans(mvc *m)
                        qc_clean(m->qc);
                }
        }
-       if (m->session->active) 
-               m->type = Q_TRANS;
        store_unlock();
 }
 
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
@@ -3954,7 +3954,7 @@ literal:
     string     { char *s = sql2str($1);
                  int len = _strlen(s);
                  sql_subtype t;
-                 sql_find_subtype(&t, "char", len, 0 );
+                 sql_find_subtype(&t, "varchar", len, 0 );
                  $$ = _newAtomNode( _atom_string(&t, s)); }
 
  |  HEXADECIMAL { int len = _strlen($1), i = 2, err = 0;
diff --git a/sql/server/sql_qc.c b/sql/server/sql_qc.c
--- a/sql/server/sql_qc.c
+++ b/sql/server/sql_qc.c
@@ -143,6 +143,11 @@ param_cmp(sql_subtype *t1, sql_subtype *
 
        if (t1->scale != t2->scale)
                return -1;
+
+       if (t1->type->eclass == EC_NUM && t2->type->eclass == EC_NUM &&
+               t1->digits >= t2->digits)
+               return 0;
+
        res = is_subtype(t2, t1);
        if (!res)
                return -1;
@@ -178,7 +183,7 @@ param_list_cmp(sql_subtype *typelist, at
                        if ((!((at->type->eclass == EC_DEC ||
                                at->type->eclass == EC_NUM) &&
                               tp->type->eclass == EC_FLT)) &&
-                          (!(EC_VARCHAR(tp->type->eclass) &&
+                          (!(EC_VARCHAR(tp->type->eclass) && 
                              EC_VARCHAR(at->type->eclass) &&
                              (!tp->digits ||
                               tp->digits >= at->digits))) &&
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
@@ -458,7 +458,7 @@ Ready.
 #(SELECT 'Major' AS grade, count(na
 % .,   .inspector # table_name
 % grade,       inspectors # name
-% char,        wrd # type
+% varchar,     wrd # type
 % 9,   1 # length
 [ "Detective", 3       ]
 [ "Constable", 3       ]
@@ -475,7 +475,7 @@ Ready.
 #    + cast(substring(length from (position('\'' in length) + 1) for 
(position('"' in length) + 1)) AS integer)) as height from victim v
 % .L1, . # table_name
 % L1,  average_height # name
-% char,        char # type
+% varchar,     varchar # type
 % 6,   4 # length
 [ "blonde",    "5'7\"" ]
 [ "brown",     "5'5\"" ]
diff --git 
a/sql/test/BugDay_2005-10-06_2.8/Tests/string_quotes.SF-919539.stable.out 
b/sql/test/BugDay_2005-10-06_2.8/Tests/string_quotes.SF-919539.stable.out
--- a/sql/test/BugDay_2005-10-06_2.8/Tests/string_quotes.SF-919539.stable.out
+++ b/sql/test/BugDay_2005-10-06_2.8/Tests/string_quotes.SF-919539.stable.out
@@ -20,12 +20,12 @@ Ready.
 
 % . # table_name
 % single_value # name
-% char # type
+% varchar # type
 % 2 # length
 [ "aa" ]
 % . # table_name
 % single_value # name
-% char # type
+% varchar # type
 % 3 # length
 [ "a'a"        ]
 
diff --git 
a/sql/test/BugDay_2005-10-06_2.9.3/Tests/UNION_JOIN_vs_plain_set_UNION-2.SF-920585.stable.out
 
b/sql/test/BugDay_2005-10-06_2.9.3/Tests/UNION_JOIN_vs_plain_set_UNION-2.SF-920585.stable.out
--- 
a/sql/test/BugDay_2005-10-06_2.9.3/Tests/UNION_JOIN_vs_plain_set_UNION-2.SF-920585.stable.out
+++ 
b/sql/test/BugDay_2005-10-06_2.9.3/Tests/UNION_JOIN_vs_plain_set_UNION-2.SF-920585.stable.out
@@ -101,7 +101,7 @@ Ready.
 [ "users",     "SELECT u.\"t\" AS \"name\", ui.\"fullname\", 
ui.\"default_schema\" FROM \"sys\".\"db_users\" AS u, \"sys\".\"db_user_info\" 
AS ui WHERE u.\"h\" = ui.\"id\" AND u.\"h\" NOT IN (SELECT s.\"h\" FROM 
\"sys\".\"db_scens\" AS s WHERE s.\"t\" NOT LIKE 'sql');", false,  true,   0,   
   0       ]
 % .tables,     .tables,        .tables,        .tables,        .tables,        
.tables,        .tables,        .tables,        .tables,        .tables # 
table_name
 % table_cat,   table_schem,    table_name,     table_type,     remarks,        
type_cat,       type_schem,     type_name,      self_referencing_col_name,      
ref_generation # name
-% char,        varchar,        varchar,        char,   varchar,        char,   
char,   char,   char,   char # type
+% varchar,     varchar,        varchar,        varchar,        varchar,        
varchar,        varchar,        varchar,        varchar,        varchar # type
 % 4,   3,      8,      12,     222,    4,      4,      4,      2,      6 # 
length
 [ "null",      "sys",  "columns",      "SYSTEM TABLE", "",     "null", "null", 
"null", "id",   "SYSTEM"        ]
 [ "null",      "sys",  "db_scens",     "SYSTEM TABLE", "",     "null", "null", 
"null", "id",   "SYSTEM"        ]
diff --git 
a/sql/test/BugDay_2005-10-06_2.9.3/Tests/basic_arithmetics.SF-922252.stable.out 
b/sql/test/BugDay_2005-10-06_2.9.3/Tests/basic_arithmetics.SF-922252.stable.out
--- 
a/sql/test/BugDay_2005-10-06_2.9.3/Tests/basic_arithmetics.SF-922252.stable.out
+++ 
b/sql/test/BugDay_2005-10-06_2.9.3/Tests/basic_arithmetics.SF-922252.stable.out
@@ -63,8 +63,9 @@ Ready.
 [ 1    ]
 % . # table_name
 % single_value # name
-% char # type
-% 1 # length
+% varchar # type
+% 0 # length
+#select * from my_table where 1 = 0;
 % sys.my_table # table_name
 % att # name
 % int # type
diff --git a/sql/test/BugDay_2005-10-06_2.9.3/Tests/case.SF-929151.stable.out 
b/sql/test/BugDay_2005-10-06_2.9.3/Tests/case.SF-929151.stable.out
--- a/sql/test/BugDay_2005-10-06_2.9.3/Tests/case.SF-929151.stable.out
+++ b/sql/test/BugDay_2005-10-06_2.9.3/Tests/case.SF-929151.stable.out
@@ -31,7 +31,7 @@ Ready.
 [ 1    ]
 % sys. # table_name
 % ifthenelse_isnull_=_i # name
-% char # type
+% varchar # type
 % 23 # length
 [ "base table" ]
 [ "system table"       ]
diff --git 
a/sql/test/BugDay_2005-10-06_2.9.3/Tests/jdbc_crashes_on_getTables.SF_944316.stable.out
 
b/sql/test/BugDay_2005-10-06_2.9.3/Tests/jdbc_crashes_on_getTables.SF_944316.stable.out
--- 
a/sql/test/BugDay_2005-10-06_2.9.3/Tests/jdbc_crashes_on_getTables.SF_944316.stable.out
+++ 
b/sql/test/BugDay_2005-10-06_2.9.3/Tests/jdbc_crashes_on_getTables.SF_944316.stable.out
@@ -43,8 +43,8 @@ Ready.
 #ORDER BY "TABLE_TYPE",
 % .tables,     .tables,        .tables,        .tables,        .tables,        
.tables,        .tables,        .tables,        .tables,        .tables # 
table_name
 % TABLE_CAT,   TABLE_SCHEM,    TABLE_NAME,     TABLE_TYPE,     REMARKS,        
TYPE_CAT,       TYPE_SCHEM,     TYPE_NAME,      SELF_REFERENCING_COL_NAME,      
REF_GENERATION # name
-% char,        varchar,        varchar,        char,   char,   char,   char,   
char,   char,   char # type
-% 0,   0,      0,      12,     0,      0,      0,      0,      2,      6 # 
length
+% char,        varchar,        varchar,        varchar,        varchar,        
char,   char,   char,   varchar,        varchar # type
+% 0,   0,      0,      0,      0,      0,      0,      0,      0,      0 # 
length
 
 # 11:50:19 >  
 # 11:50:19 >  Done.
diff --git 
a/sql/test/BugDay_2005-10-06_2.9.3/Tests/simple_union.SF-1005596.stable.out 
b/sql/test/BugDay_2005-10-06_2.9.3/Tests/simple_union.SF-1005596.stable.out
--- a/sql/test/BugDay_2005-10-06_2.9.3/Tests/simple_union.SF-1005596.stable.out
+++ b/sql/test/BugDay_2005-10-06_2.9.3/Tests/simple_union.SF-1005596.stable.out
@@ -26,8 +26,8 @@ Ready.
 
 % .tables,     .tables,        .tables,        .tables,        .tables,        
.tables,        .tables,        .tables,        .tables,        .tables # 
table_name
 % TABLE_CAT,   TABLE_SCHEM,    TABLE_NAME,     TABLE_TYPE,     REMARKS,        
TYPE_CAT,       TYPE_SCHEM,     TYPE_NAME,      SELF_REFERENCING_COL_NAME,      
REF_GENERATION # name
-% char,        varchar,        varchar,        char,   char,   char,   char,   
char,   char,   char # type
-% 4,   3,      4,      20,     0,      0,      0,      0,      5,      6 # 
length
+% varchar,     varchar,        varchar,        varchar,        varchar,        
char,   char,   char,   varchar,        varchar # type
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to