Changeset: f56867ac0880 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f56867ac0880
Modified Files:
        sql/common/sql_types.c
        sql/server/rel_select.c
        sql/server/sql_atom.c
        sql/test/ADT2006/Tests/woud.stable.out
        
sql/test/BugDay_2005-10-06_2.9.3/Tests/CrashMe_SQL_server_crash-2.SF-921673.stable.out
        
sql/test/BugDay_2005-10-06_2.9.3/Tests/custom_function_in_where.SF-937859.stable.out
        sql/test/BugTracker-2008/Tests/auto_coersion_bug.SF-2075157.stable.out
        
sql/test/BugTracker-2009/Tests/Division_by_zero_error.SF-2791361.stable.out
        
sql/test/BugTracker-2009/Tests/Floating_point_exception.SF-2791356.stable.out
        sql/test/BugTracker-2009/Tests/count_bug.SF-2604583.stable.out
        sql/test/BugTracker-2009/Tests/push_select_down_crash.stable.out
        sql/test/BugTracker-2011/Tests/CASE_division_exception.Bug-2822.sql
        
sql/test/BugTracker-2011/Tests/CASE_division_exception.Bug-2822.stable.out
        sql/test/BugTracker-2011/Tests/CASE_nested_functions.Bug-2852.stable.out
        sql/test/BugTracker-2011/Tests/case-overflow.Bug-2239.stable.out
        sql/test/BugTracker-2011/Tests/default-interval.Bug-2877.stable.out
        sql/test/BugTracker-2011/Tests/non-stable-select-bug.Bug-2894.stable.out
        sql/test/BugTracker-2011/Tests/sqltables.Bug-2921.stable.out
        sql/test/BugTracker/Tests/insert_date.SF-1838785.stable.err
        sql/test/bugs/Tests/cast_bool2int-bug-sf-951800.stable.out
        sql/test/bugs/Tests/create_insert_select_aggr-bug-00001.stable.out
        sql/test/bugs/Tests/order_disjunctive_bug.SF-1338309.sql
        sql/test/bugs/Tests/view_case-bug-sf-1023058.stable.out
Branch: Aug2011
Log Message:

backported 2 fixes
        1) overflow protection
        2) and truncating decimals


diffs (truncated from 351 to 300 lines):

diff --git a/sql/common/sql_types.c b/sql/common/sql_types.c
--- a/sql/common/sql_types.c
+++ b/sql/common/sql_types.c
@@ -192,6 +192,8 @@ sql_find_numeric(sql_subtype *r, int loc
                localtype = TYPE_dbl;
        } else {
                localtype = TYPE_lng;
+               if (digits > 64)
+                       digits = 64;
        }
 
        for (n = types->h; n; n = n->next) {
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
@@ -3060,6 +3060,9 @@ rel_unop(mvc *sql, sql_rel **rel, symbol
 }
 
 
+#define is_addition(fname) (strcmp(fname, "sql_add") == 0)
+#define is_substraction(fname) (strcmp(fname, "sql_sub") == 0)
+
 sql_exp *
 rel_binop_(mvc *sql, sql_exp *l, sql_exp *r, sql_schema *s,
                char *fname, int card)
@@ -3082,6 +3085,17 @@ rel_binop_(mvc *sql, sql_exp *l, sql_exp
        if (!t1 || !t2)
                return sql_error(sql, 01, "Cannot have a parameter (?) on both 
sides of an expression");
                
+       if ((is_addition(fname) || is_substraction(fname)) && t1->type->eclass 
== EC_NUM && t2->type->eclass == EC_NUM) {
+               sql_subtype ntp;
+
+               sql_find_numeric(&ntp, t1->type->localtype, t1->digits+1);
+               l = rel_check_type(sql, &ntp, l, type_equal);
+               sql_find_numeric(&ntp, t2->type->localtype, t2->digits+1);
+               r = rel_check_type(sql, &ntp, r, type_equal);
+               t1 = exp_subtype(l);
+               t2 = exp_subtype(r);
+       }
+
        f = sql_bind_func(sql->sa, s, fname, t1, t2);
        if (!f && is_commutative(fname)) {
                f = sql_bind_func(sql->sa, s, fname, t2, t1);
diff --git a/sql/server/sql_atom.c b/sql/server/sql_atom.c
--- a/sql/server/sql_atom.c
+++ b/sql/server/sql_atom.c
@@ -652,6 +652,52 @@ atom_cast(atom *a, sql_subtype *tp)
                        }
                        return 1;
                }
+               /* truncating decimals */
+               if (at->type->eclass == EC_DEC && tp->type->eclass == EC_DEC &&
+                   at->type->localtype >= tp->type->localtype &&
+                   at->digits >= tp->digits && 
+                       (at->digits - tp->digits) == (at->scale - tp->scale)) {
+                       lng mul = 1, div = 0, rnd = 0, val = 0;
+
+                       /* fix scale */
+
+                       /* only round when going to a lower scale */
+                       mul = scales[at->scale-tp->scale];
+                       rnd = mul>>1;
+                       div = 1;
+
+                       if (a->data.vtype == TYPE_lng) {
+                               val = a->data.val.lval;
+                       } else if (a->data.vtype == TYPE_int) {
+                               val = a->data.val.ival;
+                       } else if (a->data.vtype == TYPE_sht) {
+                               val = a->data.val.shval;
+                       } else if (a->data.vtype == TYPE_bte) {
+                               val = a->data.val.btval;
+                       }
+
+                       val += rnd;
+                       if (div)
+                               val /= mul;
+                       else
+                               val *= mul;
+
+                       a->tpe = *tp;
+                       a->data.vtype = tp->type->localtype;
+                       if (a->data.vtype == TYPE_lng) {
+                               a->data.val.lval = (int) val;
+                       } else if (a->data.vtype == TYPE_int) {
+                               assert( ((lng) GDK_int_min <= val && val <= 
(lng) GDK_int_max));
+                               a->data.val.ival = (int) val;
+                       } else if (a->data.vtype == TYPE_sht) {
+                               assert( ((lng) GDK_sht_min <= val && val <= 
(lng) GDK_sht_max));
+                               a->data.val.shval = (int) val;
+                       } else if (a->data.vtype == TYPE_bte) {
+                               assert( ((lng) GDK_bte_min <= val && val <= 
(lng) GDK_bte_max));
+                               a->data.val.btval = (int) val;
+                       }
+                       return 1;
+               }
                if (at->type->eclass == EC_NUM && tp->type->eclass == EC_DEC &&
                    at->type->localtype <= tp->type->localtype &&
                    (at->digits <= tp->digits || atom_num_digits(a) <= 
tp->digits) &&
diff --git a/sql/test/ADT2006/Tests/woud.stable.out 
b/sql/test/ADT2006/Tests/woud.stable.out
--- a/sql/test/ADT2006/Tests/woud.stable.out
+++ b/sql/test/ADT2006/Tests/woud.stable.out
@@ -62,7 +62,7 @@ Ready.
 % 0,   0 # length
 % sys. # table_name
 % substring_murderdate # name
-% int # type
+% bigint # type
 % 1 # length
 % . # table_name
 % L5 # name
diff --git 
a/sql/test/BugDay_2005-10-06_2.9.3/Tests/CrashMe_SQL_server_crash-2.SF-921673.stable.out
 
b/sql/test/BugDay_2005-10-06_2.9.3/Tests/CrashMe_SQL_server_crash-2.SF-921673.stable.out
--- 
a/sql/test/BugDay_2005-10-06_2.9.3/Tests/CrashMe_SQL_server_crash-2.SF-921673.stable.out
+++ 
b/sql/test/BugDay_2005-10-06_2.9.3/Tests/CrashMe_SQL_server_crash-2.SF-921673.stable.out
@@ -45,7 +45,7 @@ Ready.
 #      null AS SCOPE_TABLE
 % .,   .schemas,       .tables,        .columns,       .columns,       
.columns,       .columns,       .,      .,      .,      .,      .columns,       
.,      .,      .,      .,      .,      .,      . # table_name
 % table_cat,   table_schem,    table_name,     column_name,    type_name,      
column_size,    decimal_digits, buffer_length,  num_prec_radix, nullable,       
remarks,        column_def,     sql_data_type,  sql_datetime_sub,       
char_octet_length,      ordinal_position,       scope_catalog,  scope_schema,   
scope_table # name
-% char,        varchar,        varchar,        varchar,        varchar,        
int,    int,    tinyint,        tinyint,        char,   char,   varchar,        
tinyint,        tinyint,        tinyint,        int,    char,   char,   char # 
type
+% char,        varchar,        varchar,        varchar,        varchar,        
int,    int,    tinyint,        tinyint,        char,   char,   varchar,        
tinyint,        tinyint,        tinyint,        bigint, char,   char,   char # 
type
 % 0,   3,      9,      12,     7,      4,      1,      1,      2,      0,      
0,      0,      1,      1,      1,      2,      0,      0,      0 # length
 [ NULL,        "sys",  "args", "id",   "int",  32,     0,      0,      10,     
NULL,   NULL,   NULL,   0,      0,      0,      1,      NULL,   NULL,   NULL    
]
 [ NULL,        "sys",  "args", "func_id",      "int",  32,     0,      0,      
10,     NULL,   NULL,   NULL,   0,      0,      0,      2,      NULL,   NULL,   
NULL    ]
diff --git 
a/sql/test/BugDay_2005-10-06_2.9.3/Tests/custom_function_in_where.SF-937859.stable.out
 
b/sql/test/BugDay_2005-10-06_2.9.3/Tests/custom_function_in_where.SF-937859.stable.out
--- 
a/sql/test/BugDay_2005-10-06_2.9.3/Tests/custom_function_in_where.SF-937859.stable.out
+++ 
b/sql/test/BugDay_2005-10-06_2.9.3/Tests/custom_function_in_where.SF-937859.stable.out
@@ -21,7 +21,7 @@ Ready.
 [ 4    ]
 % sys. # table_name
 % sql_sub_char_length_s # name
-% int # type
+% bigint # type
 % 1 # length
 [ 0    ]
 [ 0    ]
diff --git 
a/sql/test/BugTracker-2008/Tests/auto_coersion_bug.SF-2075157.stable.out 
b/sql/test/BugTracker-2008/Tests/auto_coersion_bug.SF-2075157.stable.out
--- a/sql/test/BugTracker-2008/Tests/auto_coersion_bug.SF-2075157.stable.out
+++ b/sql/test/BugTracker-2008/Tests/auto_coersion_bug.SF-2075157.stable.out
@@ -38,7 +38,7 @@ Ready.
 [ 1    ]
 % sys. # table_name
 % sql_add_sql_neg_col2 # name
-% int # type
+% bigint # type
 % 4 # length
 [ 3000 ]
 
diff --git 
a/sql/test/BugTracker-2009/Tests/Division_by_zero_error.SF-2791361.stable.out 
b/sql/test/BugTracker-2009/Tests/Division_by_zero_error.SF-2791361.stable.out
--- 
a/sql/test/BugTracker-2009/Tests/Division_by_zero_error.SF-2791361.stable.out
+++ 
b/sql/test/BugTracker-2009/Tests/Division_by_zero_error.SF-2791361.stable.out
@@ -50,7 +50,7 @@ Ready.
 #select case when (2 - 2) > 0 then (3 - 2)/(2 - 2) else 0 end as "test";
 % . # table_name
 % test # name
-% tinyint # type
+% smallint # type
 % 1 # length
 [ 0    ]
 
diff --git 
a/sql/test/BugTracker-2009/Tests/Floating_point_exception.SF-2791356.stable.out 
b/sql/test/BugTracker-2009/Tests/Floating_point_exception.SF-2791356.stable.out
--- 
a/sql/test/BugTracker-2009/Tests/Floating_point_exception.SF-2791356.stable.out
+++ 
b/sql/test/BugTracker-2009/Tests/Floating_point_exception.SF-2791356.stable.out
@@ -27,7 +27,7 @@ Ready.
 [ 1    ]
 % sys. # table_name
 % isnull_>_sql_sub_bla1 # name
-% int # type
+% bigint # type
 % 1 # length
 [ 0    ]
 
diff --git a/sql/test/BugTracker-2009/Tests/count_bug.SF-2604583.stable.out 
b/sql/test/BugTracker-2009/Tests/count_bug.SF-2604583.stable.out
--- a/sql/test/BugTracker-2009/Tests/count_bug.SF-2604583.stable.out
+++ b/sql/test/BugTracker-2009/Tests/count_bug.SF-2604583.stable.out
@@ -36,7 +36,7 @@ Ready.
 [ 7,   5       ]
 % . # table_name
 % L14 # name
-% wrd # type
+% bigint # type
 % 1 # length
 [ 2    ]
 [ 3    ]
diff --git a/sql/test/BugTracker-2009/Tests/push_select_down_crash.stable.out 
b/sql/test/BugTracker-2009/Tests/push_select_down_crash.stable.out
--- a/sql/test/BugTracker-2009/Tests/push_select_down_crash.stable.out
+++ b/sql/test/BugTracker-2009/Tests/push_select_down_crash.stable.out
@@ -46,7 +46,7 @@ Ready.
 #      WHEN 'blob' THEN 2
 % .,   .schemas,       .tables,        .columns,       .,      .columns,       
.columns,       .columns,       .,      .,      .,      .,      .columns,       
.,      .,      .,      .,      .,      .,      .,      .,      . # table_name
 % TABLE_CAT,   TABLE_SCHEM,    TABLE_NAME,     COLUMN_NAME,    DATA_TYPE,      
TYPE_NAME,      COLUMN_SIZE,    DECIMAL_DIGITS, BUFFER_LENGTH,  NUM_PREC_RADIX, 
NULLABLE,       REMARKS,        COLUMN_DEF,     SQL_DATA_TYPE,  
SQL_DATETIME_SUB,       CHAR_OCTET_LENGTH,      ORDINAL_POSITION,       
SCOPE_CATALOG,  SCOPE_SCHEMA,   SCOPE_TABLE,    SOURCE_DATA_TYPE,       
IS_NULLABLE # name
-% char,        varchar,        varchar,        varchar,        smallint,       
varchar,        int,    int,    tinyint,        tinyint,        int,    
varchar,        varchar,        tinyint,        tinyint,        tinyint,        
int,    varchar,        varchar,        varchar,        smallint,       varchar 
# type
+% char,        varchar,        varchar,        varchar,        smallint,       
varchar,        int,    int,    tinyint,        tinyint,        int,    
varchar,        varchar,        tinyint,        tinyint,        tinyint,        
bigint, varchar,        varchar,        varchar,        smallint,       varchar 
# type
 % 4,   0,      0,      0,      1,      0,      1,      1,      1,      1,      
1,      0,      0,      1,      1,      1,      1,      0,      0,      0,      
1,      0 # length
 
 # 18:36:16 >  
diff --git 
a/sql/test/BugTracker-2011/Tests/CASE_division_exception.Bug-2822.sql 
b/sql/test/BugTracker-2011/Tests/CASE_division_exception.Bug-2822.sql
--- a/sql/test/BugTracker-2011/Tests/CASE_division_exception.Bug-2822.sql
+++ b/sql/test/BugTracker-2011/Tests/CASE_division_exception.Bug-2822.sql
@@ -1,4 +1,4 @@
 CREATE TABLE bug_2822 (c INT);
 INSERT INTO bug_2822 VALUES (0);
-SELECT CASE WHEN (c = 0) THEN 0 ELSE (c / c + 1) END FROM bug_2822;
+SELECT CASE WHEN (c = 0) THEN 0 ELSE (c / (c + 1)) END FROM bug_2822;
 DROP TABLE bug_2822;
diff --git 
a/sql/test/BugTracker-2011/Tests/CASE_division_exception.Bug-2822.stable.out 
b/sql/test/BugTracker-2011/Tests/CASE_division_exception.Bug-2822.stable.out
--- a/sql/test/BugTracker-2011/Tests/CASE_division_exception.Bug-2822.stable.out
+++ b/sql/test/BugTracker-2011/Tests/CASE_division_exception.Bug-2822.stable.out
@@ -31,7 +31,7 @@ Ready.
 #SELECT CASE WHEN (c = 0) THEN 0 ELSE (c / c + 1) END FROM bug_2822;
 % sys. # table_name
 % ifthenelse_isnull_=_c # name
-% int # type
+% bigint # type
 % 1 # length
 [ 0    ]
 #DROP TABLE bug_2822;
diff --git 
a/sql/test/BugTracker-2011/Tests/CASE_nested_functions.Bug-2852.stable.out 
b/sql/test/BugTracker-2011/Tests/CASE_nested_functions.Bug-2852.stable.out
--- a/sql/test/BugTracker-2011/Tests/CASE_nested_functions.Bug-2852.stable.out
+++ b/sql/test/BugTracker-2011/Tests/CASE_nested_functions.Bug-2852.stable.out
@@ -49,7 +49,7 @@ Ready.
 #  ;
 % sys. # table_name
 % not_isnull_sql_div_c # name
-% int # type
+% bigint # type
 % 1 # length
 [ 0    ]
 #DROP TABLE t2852;
diff --git a/sql/test/BugTracker-2011/Tests/case-overflow.Bug-2239.stable.out 
b/sql/test/BugTracker-2011/Tests/case-overflow.Bug-2239.stable.out
--- a/sql/test/BugTracker-2011/Tests/case-overflow.Bug-2239.stable.out
+++ b/sql/test/BugTracker-2011/Tests/case-overflow.Bug-2239.stable.out
@@ -64,7 +64,7 @@ Ready.
 #        (CASE WHEN station136 is NULL THEN 0 ELSE station136 END) +
 % sys.t2239,   sys. # table_name
 % station136,  isnull_station136 # name
-% smallint,    int # type
+% smallint,    bigint # type
 % 4,   5 # length
 [ 1214,        38848   ]
 [ 1228,        39296   ]
diff --git 
a/sql/test/BugTracker-2011/Tests/default-interval.Bug-2877.stable.out 
b/sql/test/BugTracker-2011/Tests/default-interval.Bug-2877.stable.out
--- a/sql/test/BugTracker-2011/Tests/default-interval.Bug-2877.stable.out
+++ b/sql/test/BugTracker-2011/Tests/default-interval.Bug-2877.stable.out
@@ -57,7 +57,7 @@ Ready.
 % i,   c1,     c2 # name
 % int, sec_interval,   sec_interval # type
 % 1,   0,      0 # length
-[ 1,   3600.000,       3600.000        ]
+[ 1,   3600,   3600    ]
 #rollback;
 
 # 12:40:50 >  
diff --git 
a/sql/test/BugTracker-2011/Tests/non-stable-select-bug.Bug-2894.stable.out 
b/sql/test/BugTracker-2011/Tests/non-stable-select-bug.Bug-2894.stable.out
--- a/sql/test/BugTracker-2011/Tests/non-stable-select-bug.Bug-2894.stable.out
+++ b/sql/test/BugTracker-2011/Tests/non-stable-select-bug.Bug-2894.stable.out
@@ -51,7 +51,7 @@ Ready.
 #select i,1/(i-1) from table2894 where i > 1;
 % sys.table2894,       . # table_name
 % i,   sql_div_single_value # name
-% int, int # type
+% int, bigint # type
 % 1,   1 # length
 [ 2,   1       ]
 [ 3,   0       ]
@@ -67,7 +67,7 @@ Ready.
 #select i,1/(i-1) from table2894 where i > 1;
 % sys.table2894,       . # table_name
 % i,   sql_div_single_value # name
-% int, int # type
+% int, bigint # type
 % 1,   1 # length
 [ 2,   1       ]
 [ 3,   0       ]
diff --git a/sql/test/BugTracker-2011/Tests/sqltables.Bug-2921.stable.out 
b/sql/test/BugTracker-2011/Tests/sqltables.Bug-2921.stable.out
--- a/sql/test/BugTracker-2011/Tests/sqltables.Bug-2921.stable.out
+++ b/sql/test/BugTracker-2011/Tests/sqltables.Bug-2921.stable.out
@@ -49,7 +49,7 @@ Ready.
 % .e,  .s,     .t,     .,      . # table_name
 % table_cat,   table_schem,    table_name,     table_type,     remarks # name
 % varchar,     varchar,        varchar,        varchar,        varchar # type
-% 27,  3,      7,      16,     0 # length
+% 27,  3,      8,      16,     0 # length
 [ "mTests_test_BugTracker-2011",       "tmp",  "globtemp",     "GLOBAL 
TEMPORARY",     NULL    ]
 [ "mTests_test_BugTracker-2011",       "tmp",  "loctemp",      "LOCAL 
TEMPORARY",      NULL    ]
 #select e."value" as table_cat, s."name" as table_schem, t."name" as 
table_name, case when t."type" = 0 and t."system" = false and t."temporary" = 0 
and s."name" <> 'tmp' then cast('TABLE' as varchar(20)) when t."type" = 0 and 
t."system" = false and t."temporary" = 0 and s."name" = 'tmp' then cast('GLOBAL 
TEMPORARY' as varchar(20)) when t."type" = 0 and t."system" = true and 
t."temporary" = 0 then cast('SYSTEM TABLE' as varchar(20)) when t."type" = 1 
then cast('VIEW' as varchar(20)) when t."type" = 0 and t."system" = false and 
t."temporary" = 1 then cast('LOCAL TEMPORARY' as varchar(20)) else 
cast('INTERNAL TABLE TYPE' as varchar(20)) end as table_type, cast(null as 
varchar(1)) as remarks from sys."schemas" s, sys."tables" t, sys."env"() e 
where s."id" = t."schema_id" and e.name = 'gdk_dbname' and ((t."type" = 0 and 
t."system" = false and t."temporary" = 0 and s."name" = 'tmp')) order by 
table_type, table_schem, table_name;
diff --git a/sql/test/BugTracker/Tests/insert_date.SF-1838785.stable.err 
b/sql/test/BugTracker/Tests/insert_date.SF-1838785.stable.err
--- a/sql/test/BugTracker/Tests/insert_date.SF-1838785.stable.err
+++ b/sql/test/BugTracker/Tests/insert_date.SF-1838785.stable.err
@@ -10,10 +10,10 @@ stderr of test 'insert_date.SF-1838785` 
 # 00:53:56 >  mclient -lsql -umonetdb -Pmonetdb --host=koala --port=35202 
 # 00:53:56 >  
 
-MAPI  = monetdb@ottar:39647
+MAPI  = monetdb@niels:39492
 QUERY = insert into test1838785(id,name,date33)
         
values(669207071,'hlwP94fhemRqP7bpmvM5fbhlr855Q42yO5TTaafgMbm5pKiZskvclg3MkvcN2cpTOfOf1iOf0Wa98ddioVdU2xjdj47zYOpLbNagahw0v37Kjq0n5aOWKd1hc4jsQegTabzSZTfQlrUrSghmUrc7hj5znvk5glg06ht4jYbRPKcm4OxUzsVkP3iMa8SdZPgjsNPnTSP8eP2syaSWNldk0tshj4OyqwOcn5sgeNe7Qzcdeg4bv80NWneMi701eaamna2gXVhjitMQ5Zew9c4iVnSWV9P0ZgRoM8PjYaZP1M5u6qylYZL6dYa7Uj9qcgiZLqkkz8Z93udrN3ajahVughPqPTUZidP43f5RtiysbWimPXZx84TVcURZ52tWpYsc8oqnf0roQTVTjWO8viMR6o0mreQqMPcKhwr0LajKeb2PTgXufLijL3XvaaN0PVzudNzdwUs0bdU4R1ejVfjNaPa16q3pnfx3eaXVviUf8tz3M9bnf3sSnqxiPUf5XaOvuyrekssqenndbUycgh1QefhWiQgdzj5qWTb7kWe4SY7Zb0q5nTiWQoahcm6ibWaPLa7k0fUMTuf8KMk46fbpcqpwq3TzeQZh4tOyWf5sXuuKmUqeqTzeWbuTif9fi5agau4VgOLxgUqwhXSRixf69KPcrbUbbbrazTleVQrn3lXVTgxVOTbpeLpb6oiUVwfad5eeiLVf1TKiY5vbY5bghcsnN2ZV9Wx0dKus4zzVcsnxg8eSe0Teh6iczhLxmT0VKz3bOMu2R0yc5cLi9ue25eofMfs66dcoglrzogghfjfNNi15TkbMVUZw2yqhdyLy4i51el1geOVSQiXOSh0eK7PeQrb1T32YV25ThqishhxWiZnbdNf6frmaiSZ52utNrVlgsXdx8l1hb7p7NeeoqomXiflMWmmaLbr4rtOcgmv6gg5XizoNjOfuYu8PPSmfQRi
 glh05iNMZim1KefLzvxi853uZv5d96ixrNVazyO42rfv7W8R1bV62y8zcc2qm',1957-08-01);
-ERROR = !types smallint(16,0) and date(0,0) are not equal
+ERROR = !types bigint(64,0) and date(0,0) are not equal
 
 # 00:53:56 >  
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to