Changeset: 8bd3450cd49b for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=8bd3450cd49b
Modified Files:
        sql/backends/monet5/Tests/optimizers.stable.out
        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/crash_on_where_in.Bug-2333.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/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/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/check0_nogeom.stable.out
        sql/test/leaks/Tests/check1.stable.out
        sql/test/leaks/Tests/check1_nogeom.stable.out
        sql/test/leaks/Tests/check2.stable.out
        sql/test/leaks/Tests/check2_nogeom.stable.out
        sql/test/leaks/Tests/check3.stable.out
        sql/test/leaks/Tests/check3_nogeom.stable.out
        sql/test/leaks/Tests/check4.stable.out
        sql/test/leaks/Tests/check4_nogeom.stable.out
        sql/test/leaks/Tests/check5.stable.out
        sql/test/leaks/Tests/check5_nogeom.stable.out
        sql/test/leaks/Tests/drop3.stable.out
        sql/test/leaks/Tests/drop3_nogeom.stable.out
        sql/test/leaks/Tests/temp1.stable.out
        sql/test/leaks/Tests/temp1_nogeom.stable.out
        sql/test/leaks/Tests/temp2.stable.out
        sql/test/leaks/Tests/temp2_nogeom.stable.out
        sql/test/leaks/Tests/temp3.stable.out
        sql/test/leaks/Tests/temp3_nogeom.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: default
Log Message:

Merge with Feb2013 branch.


diffs (truncated from 1850 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
-% varchar,     varchar # type
+% char,        varchar # type
 % 15,  12 # length
 [ "optimizer test:",   "default_pipe"  ]
 #select 'optimizer off test:',optimizer;
 % .,   . # table_name
 % single_value,        single_value # name
-% varchar,     varchar # type
+% char,        varchar # type
 % 19,  12 # length
 [ "optimizer off test:",       "default_pipe"  ]
 #select 'optimizer on test:',optimizer;
 % .,   . # table_name
 % single_value,        single_value # name
-% varchar,     varchar # type
+% char,        varchar # type
 % 18,  12 # length
 [ "optimizer on test:",        "default_pipe"  ]
 #select 'optimizer <empty> test:',optimizer;
 % .,   . # table_name
 % single_value,        single_value # name
-% varchar,     varchar # type
+% char,        varchar # type
 % 23,  12 # length
 [ "optimizer <empty> test:",   "default_pipe"  ]
 #select 'done';
 % . # table_name
 % single_value # name
-% varchar # type
+% char # type
 % 4 # length
 [ "done"       ]
 
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, "varchar", len, 0 );
+                 sql_find_subtype(&t, "char", 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
@@ -177,6 +177,10 @@ param_list_cmp(sql_subtype *typelist, at
                if (!atom_null(a) && param_cmp(tp, atom_type(a)) != 0) {
                        sql_subtype *at = atom_type(a);
 
+                       if (EC_VARCHAR(tp->type->eclass) && 
+                           at->type->eclass == EC_CHAR &&
+                             (!tp->digits || tp->digits >= at->digits)) 
+                               continue;
                        if (type != Q_UPDATE)
                                return -1;
                        /* FLT == DEC/NUM and DEC/NUM are equal */
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
-% varchar,     wrd # type
+% char,        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
-% varchar,     varchar # type
+% char,        char # 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
-% varchar # type
+% char # type
 % 2 # length
 [ "aa" ]
 % . # table_name
 % single_value # name
-% varchar # type
+% char # 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
-% varchar,     varchar,        varchar,        varchar,        varchar,        
varchar,        varchar,        varchar,        varchar,        varchar # type
+% char,        varchar,        varchar,        char,   varchar,        char,   
char,   char,   char,   char # 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,8 @@ Ready.
 [ 1    ]
 % . # table_name
 % single_value # name
-% varchar # type
-% 0 # length
+% char # type
+% 1 # length
 #select * from my_table where 1 = 0;
 % sys.my_table # table_name
 % att # name
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
-% varchar # type
+% char # 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,        varchar,        varchar,        
char,   char,   char,   varchar,        varchar # type
-% 0,   0,      0,      0,      0,      0,      0,      0,      0,      0 # 
length
+% char,        varchar,        varchar,        char,   char,   char,   char,   
char,   char,   char # type
+% 0,   0,      0,      12,     0,      0,      0,      0,      2,      6 # 
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
-% varchar,     varchar,        varchar,        varchar,        varchar,        
char,   char,   char,   varchar,        varchar # type
-% 4,   3,      4,      5,      0,      0,      0,      0,      5,      6 # 
length
+% char,        varchar,        varchar,        char,   char,   char,   char,   
char,   char,   char # type
+% 4,   3,      4,      20,     0,      0,      0,      0,      5,      6 # 
length
 [ "demo",      "sys",  "test", "TABLE",        "",     NULL,   NULL,   NULL,   
"rowid",        "SYSTEM"        ]
 
 # 12:42:09 >  
diff --git 
a/sql/test/BugDay_2005-10-06_2.9.3/Tests/variable_arg_substring.SF_942981.stable.out
 
b/sql/test/BugDay_2005-10-06_2.9.3/Tests/variable_arg_substring.SF_942981.stable.out
--- 
a/sql/test/BugDay_2005-10-06_2.9.3/Tests/variable_arg_substring.SF_942981.stable.out
+++ 
b/sql/test/BugDay_2005-10-06_2.9.3/Tests/variable_arg_substring.SF_942981.stable.out
@@ -21,8 +21,8 @@ Ready.
 [ 5    ]
 % . # table_name
 % substring_single_value # name
-% varchar # type
-% 3 # length
+% char # type
+% 5 # length
 [ "hal"        ]
 [ "o"  ]
 [ "llo"        ]
diff --git 
a/sql/test/BugDay_2005-11-09_2.8/Tests/crash_in_case.SF-1097749.stable.out 
b/sql/test/BugDay_2005-11-09_2.8/Tests/crash_in_case.SF-1097749.stable.out
--- a/sql/test/BugDay_2005-11-09_2.8/Tests/crash_in_case.SF-1097749.stable.out
+++ b/sql/test/BugDay_2005-11-09_2.8/Tests/crash_in_case.SF-1097749.stable.out
@@ -26,8 +26,8 @@ Ready.
 
 % . # table_name
 % isnull_>_single_value # name
-% varchar # type
-% 4 # length
+% char # type
+% 5 # length
 [ "true"       ]
 
 # 12:45:07 >  
diff --git 
a/sql/test/BugDay_2005-11-09_2.9.3/Tests/sql_server_crash.SF-1080024.stable.out 
b/sql/test/BugDay_2005-11-09_2.9.3/Tests/sql_server_crash.SF-1080024.stable.out
--- 
a/sql/test/BugDay_2005-11-09_2.9.3/Tests/sql_server_crash.SF-1080024.stable.out
+++ 
b/sql/test/BugDay_2005-11-09_2.9.3/Tests/sql_server_crash.SF-1080024.stable.out
@@ -26,8 +26,8 @@ Ready.
 
 % . # table_name
 % isnull_=_single_value # name
-% varchar # type
-% 0 # length
+% char # type
+% 5 # length
 [ NULL ]
 
 # 12:45:31 >  
diff --git 
a/sql/test/BugDay_2005-11-09_2.9.3/Tests/union-duplicates.SF-1119186.stable.out 
b/sql/test/BugDay_2005-11-09_2.9.3/Tests/union-duplicates.SF-1119186.stable.out
--- 
a/sql/test/BugDay_2005-11-09_2.9.3/Tests/union-duplicates.SF-1119186.stable.out
+++ 
b/sql/test/BugDay_2005-11-09_2.9.3/Tests/union-duplicates.SF-1119186.stable.out
@@ -47,19 +47,19 @@ Ready.
 [ 6    ]
 % . # table_name
 % test # name
-% varchar # type
+% char # type
 % 1 # length
 [ "a"  ]
 [ "a"  ]
 % . # table_name
 % test # name
-% varchar # type
+% char # type
 % 1 # length
 [ "a"  ]
 [ "b"  ]
 % . # table_name
 % test # name
-% varchar # type
+% char # type
 % 1 # length
 [ "a"  ]
 [ "a"  ]
diff --git a/sql/test/BugTracker-2009/Tests/AVG_of_SQRT.SF-2757642.stable.out 
b/sql/test/BugTracker-2009/Tests/AVG_of_SQRT.SF-2757642.stable.out
--- a/sql/test/BugTracker-2009/Tests/AVG_of_SQRT.SF-2757642.stable.out
+++ b/sql/test/BugTracker-2009/Tests/AVG_of_SQRT.SF-2757642.stable.out
@@ -46,9 +46,9 @@ Ready.
 [ 100000000    ]
 % .L1, sys. # table_name
 % L1,  L2 # name
-% varchar,     double # type
+% char,        double # type
 % 20,  24 # length
-[ "avg(sqrt(n8)) == 1.1",      1.099999998     ]
+[ "avg(sqrt(n8)) == 1.1",      1.100000024     ]
 
 # 15:21:14 >  
 # 15:21:14 >  "Done."
diff --git a/sql/test/BugTracker-2009/Tests/IS_NULL_in_CASE.stable.out 
b/sql/test/BugTracker-2009/Tests/IS_NULL_in_CASE.stable.out
--- a/sql/test/BugTracker-2009/Tests/IS_NULL_in_CASE.stable.out
+++ b/sql/test/BugTracker-2009/Tests/IS_NULL_in_CASE.stable.out
@@ -29,14 +29,14 @@ Ready.
 [ 1    ]
 % sys.sometable,       sys. # table_name
 % somecol,     NewColumnName # name
-% int, varchar # type
+% int, char # type
 % 1,   10 # length
 [ 0,   "small" ]
 [ 1,   "small" ]
 [ NULL,        "NULL FOUND"    ]
 % sys.sometable,       sys. # table_name
 % somecol,     NewColumnName # name
-% int, varchar # type
+% int, char # type
 % 1,   10 # length
 [ 0,   "small" ]
 [ 1,   "small" ]
diff --git 
a/sql/test/BugTracker-2009/Tests/group_by_on_values.SF-2837561.stable.out 
b/sql/test/BugTracker-2009/Tests/group_by_on_values.SF-2837561.stable.out
--- a/sql/test/BugTracker-2009/Tests/group_by_on_values.SF-2837561.stable.out
+++ b/sql/test/BugTracker-2009/Tests/group_by_on_values.SF-2837561.stable.out
@@ -26,7 +26,7 @@ Ready.
 
 % .test # table_name
 % avalue # name
-% varchar # type
+% char # type
 % 4 # length
 [ "none"       ]
 
diff --git a/sql/test/BugTracker-2009/Tests/not_equal.SF-2678502.stable.out 
b/sql/test/BugTracker-2009/Tests/not_equal.SF-2678502.stable.out
--- a/sql/test/BugTracker-2009/Tests/not_equal.SF-2678502.stable.out
+++ b/sql/test/BugTracker-2009/Tests/not_equal.SF-2678502.stable.out
@@ -26,52 +26,52 @@ Ready.
 
 % .sub,        .sub # table_name
 % a,   b # name
-% tinyint,     varchar # type
+% tinyint,     char # type
 % 1,   1 # length
 [ 1,   "x"     ]
 % .sub,        .sub # table_name
 % a,   b # name
-% tinyint,     varchar # type
_______________________________________________
checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to