Changeset: 1abb39caea1e for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=1abb39caea1e
Modified Files:
sql/backends/monet5/generator/Tests/generator03.stable.out
sql/backends/monet5/sql_result.c
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/error_in_sql_parser.SF-1019122.stable.out
sql/test/BugDay_2005-10-06_2.9.3/Tests/set_types.SF-932360.stable.out
sql/test/BugDay_2005-11-09_2.9.3/Tests/date_functions.SF-967145.stable.out
sql/test/BugDay_2005-11-09_2.9.3/Tests/interval_on_time_stamp.SF-1080488.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/interval_times_int.SF-1281996.stable.out
sql/test/BugTracker-2011/Tests/default-interval.Bug-2877.stable.out
sql/test/BugTracker-2011/Tests/time_precision.Bug-2873.stable.out
sql/test/BugTracker-2012/Tests/incorrect_cast_from_double_to_int.Bug-2579.stable.out
sql/test/BugTracker-2012/Tests/now_results_in_illegal_argument.Bug-2978.stable.out
sql/test/BugTracker-2012/Tests/timestamp-diff.Bug-3190.stable.out
sql/test/BugTracker-2014/Tests/current_timestamp.Bug-3427.stable.out
sql/test/BugTracker-2014/Tests/nil_2dec_lng.Bug-3592.stable.out
sql/test/BugTracker-2014/Tests/nil_2dec_lng.Bug-3592.stable.out.single
sql/test/BugTracker-2015/Tests/div_zero.Bug-3742.stable.out
sql/test/BugTracker-2015/Tests/sum_interval.Bug-3785.stable.out
sql/test/BugTracker/Tests/cast_interval2time.SF-1488247.stable.out
sql/test/Tests/timezone.stable.out
sql/test/VOC/Tests/median.Bug-3096.stable.out
sql/test/bugs/Tests/default_with_cast.SF-1334486.stable.out
sql/test/bugs/Tests/interval_convert_bugs-sf-1274077-1274085.stable.out
sql/test/bugs/Tests/interval_parse_bug-sf-1263967.stable.out
sql/test/pg_regress/Tests/alter_table.stable.out
sql/test/pg_regress/Tests/date.stable.out
sql/test/pg_regress/Tests/horology.stable.out
sql/test/pg_regress/Tests/interval.stable.out
sql/test/pg_regress/Tests/interval.stable.out.int128
sql/test/pg_regress/Tests/reltime.stable.out
sql/test/pg_regress/Tests/time.stable.out
sql/test/pg_regress/Tests/timestamp.stable.out
sql/test/pg_regress/Tests/timestamptz.stable.out
sql/test/pg_regress/Tests/timetz.stable.out
Branch: Jul2015
Log Message:
Fix width calculation for interval types.
diffs (truncated from 791 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
@@ -34,7 +34,7 @@ Ready.
% .L1 # table_name
% L1 # name
% sec_interval # type
-% 0 # length
+% 9 # length
[ 36000.000 ]
#select * from generate_series(
# timestamp '2008-03-01 00:00',
diff --git a/sql/backends/monet5/sql_result.c b/sql/backends/monet5/sql_result.c
--- a/sql/backends/monet5/sql_result.c
+++ b/sql/backends/monet5/sql_result.c
@@ -1363,7 +1363,9 @@ export_length(stream *s, int mtype, int
int ok = 1;
size_t count = 0, incr = 0;;
- if (mtype == TYPE_oid)
+ if (eclass == EC_SEC)
+ incr = 1;
+ else if (mtype == TYPE_oid)
incr = 2;
mtype = ATOMbasetype(mtype);
if (mtype == TYPE_str) {
@@ -1396,7 +1398,7 @@ export_length(stream *s, int mtype, int
}
ok = mvc_send_int(s, l);
}
- } else if (eclass == EC_NUM || eclass == EC_POS) {
+ } else if (eclass == EC_NUM || eclass == EC_POS || eclass == EC_MONTH
|| eclass == EC_SEC) {
count = 0;
if (bid) {
BAT *b = BATdescriptor(bid);
@@ -1462,6 +1464,8 @@ export_length(stream *s, int mtype, int
count = 0;
}
}
+ if (eclass == EC_SEC && count < 5)
+ count = 5;
ok = mvc_send_lng(s, (lng) count);
/* the following two could be done once by taking the
max value and calculating the number of digits from that
@@ -1477,7 +1481,7 @@ export_length(stream *s, int mtype, int
} else { /* TYPE_dbl */
ok = mvc_send_int(s, 24);
}
- } else if (eclass == EC_DEC || eclass == EC_SEC) {
+ } else if (eclass == EC_DEC) {
count = 1 + digits;
if (scale > 0)
count += 1;
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
@@ -18,7 +18,7 @@ Ready.
% .L1 # table_name
% L1 # name
% month_interval # type
-% 0 # length
+% 1 # length
[ 0 ]
# 12:42:49 >
diff --git
a/sql/test/BugDay_2005-10-06_2.9.3/Tests/error_in_sql_parser.SF-1019122.stable.out
b/sql/test/BugDay_2005-10-06_2.9.3/Tests/error_in_sql_parser.SF-1019122.stable.out
---
a/sql/test/BugDay_2005-10-06_2.9.3/Tests/error_in_sql_parser.SF-1019122.stable.out
+++
b/sql/test/BugDay_2005-10-06_2.9.3/Tests/error_in_sql_parser.SF-1019122.stable.out
@@ -21,7 +21,8 @@ Ready.
% sys.t1019122 # table_name
% m # name
% month_interval # type
-% 0 # length
+% 1 # length
+#drop table t1019122;
# 11:50:41 >
# 11:50:41 > Done.
diff --git
a/sql/test/BugDay_2005-10-06_2.9.3/Tests/set_types.SF-932360.stable.out
b/sql/test/BugDay_2005-10-06_2.9.3/Tests/set_types.SF-932360.stable.out
--- a/sql/test/BugDay_2005-10-06_2.9.3/Tests/set_types.SF-932360.stable.out
+++ b/sql/test/BugDay_2005-10-06_2.9.3/Tests/set_types.SF-932360.stable.out
@@ -31,13 +31,13 @@ Ready.
% .L # table_name
% single_value # name
% sec_interval # type
-% 0 # length
+% 6 # length
[ 60.000 ]
#select current_timezone;
% .L # table_name
% single_value # name
% sec_interval # type
-% 0 # length
+% 5 # length
[ 0.000 ]
# 08:23:41 >
diff --git
a/sql/test/BugDay_2005-11-09_2.9.3/Tests/date_functions.SF-967145.stable.out
b/sql/test/BugDay_2005-11-09_2.9.3/Tests/date_functions.SF-967145.stable.out
--- a/sql/test/BugDay_2005-11-09_2.9.3/Tests/date_functions.SF-967145.stable.out
+++ b/sql/test/BugDay_2005-11-09_2.9.3/Tests/date_functions.SF-967145.stable.out
@@ -28,13 +28,13 @@ Ready.
% .L # table_name
% sql_sub_current_date # name
% month_interval # type
-% 0 # length
+% 1 # length
[ 0 ]
#select current_date() - current_date();
% .L # table_name
% sql_sub_current_date # name
% month_interval # type
-% 0 # length
+% 1 # length
[ 0 ]
# 12:45:12 >
diff --git
a/sql/test/BugDay_2005-11-09_2.9.3/Tests/interval_on_time_stamp.SF-1080488.stable.out
b/sql/test/BugDay_2005-11-09_2.9.3/Tests/interval_on_time_stamp.SF-1080488.stable.out
---
a/sql/test/BugDay_2005-11-09_2.9.3/Tests/interval_on_time_stamp.SF-1080488.stable.out
+++
b/sql/test/BugDay_2005-11-09_2.9.3/Tests/interval_on_time_stamp.SF-1080488.stable.out
@@ -57,19 +57,19 @@ Ready.
% .L # table_name
% sql_add_single_value # name
% month_interval # type
-% 0 # length
+% 1 # length
[ 0 ]
#select interval '00:00' hour to minute + interval '00:00' minute to second;
% .L # table_name
% sql_add_single_value # name
% sec_interval # type
-% 0 # length
+% 5 # length
[ 0.000 ]
#select interval '2' hour + interval '74' minute;
% .L # table_name
% sql_add_single_value # name
% sec_interval # type
-% 0 # length
+% 9 # length
[ 11640.000 ]
# 12:45:37 >
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
@@ -18,13 +18,13 @@ Ready.
% .L1 # table_name
% L1 # name
% month_interval # type
-% 0 # length
+% 2 # length
[ 12 ]
#select cast( 1 as interval day );
% .L1 # table_name
% L1 # name
% sec_interval # type
-% 0 # length
+% 9 # length
[ 86400.000 ]
# 16:12:10 >
diff --git
a/sql/test/BugDay_2005-12-19_2.9.3/Tests/interval_times_int.SF-1281996.stable.out
b/sql/test/BugDay_2005-12-19_2.9.3/Tests/interval_times_int.SF-1281996.stable.out
---
a/sql/test/BugDay_2005-12-19_2.9.3/Tests/interval_times_int.SF-1281996.stable.out
+++
b/sql/test/BugDay_2005-12-19_2.9.3/Tests/interval_times_int.SF-1281996.stable.out
@@ -28,13 +28,13 @@ Ready.
% .L # table_name
% sql_mul_single_value # name
% sec_interval # type
-% 0 # length
+% 5 # length
[ 2.000 ]
#select interval '1' second * 2;
% .L # table_name
% sql_mul_single_value # name
% sec_interval # type
-% 0 # length
+% 5 # length
[ 2.000 ]
# 16:27:57 >
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
@@ -56,7 +56,7 @@ Ready.
% sys.table2877, sys.table2877, sys.table2877 # table_name
% i, c1, c2 # name
% int, sec_interval, sec_interval # type
-% 1, 0, 0 # length
+% 1, 8, 8 # length
[ 1, 3600.000, 3600.000 ]
#rollback;
diff --git a/sql/test/BugTracker-2011/Tests/time_precision.Bug-2873.stable.out
b/sql/test/BugTracker-2011/Tests/time_precision.Bug-2873.stable.out
--- a/sql/test/BugTracker-2011/Tests/time_precision.Bug-2873.stable.out
+++ b/sql/test/BugTracker-2011/Tests/time_precision.Bug-2873.stable.out
@@ -50,13 +50,13 @@ Ready.
% .L # table_name
% sql_sub_single_value # name
% sec_interval # type
-% 0 # length
+% 5 # length
[ 0.000 ]
#select time(5) '20:04:04.947' - time(5) '20:04:04.847';
% .L # table_name
% sql_sub_single_value # name
% sec_interval # type
-% 0 # length
+% 5 # length
[ 0.100 ]
#drop table t;
diff --git
a/sql/test/BugTracker-2012/Tests/incorrect_cast_from_double_to_int.Bug-2579.stable.out
b/sql/test/BugTracker-2012/Tests/incorrect_cast_from_double_to_int.Bug-2579.stable.out
---
a/sql/test/BugTracker-2012/Tests/incorrect_cast_from_double_to_int.Bug-2579.stable.out
+++
b/sql/test/BugTracker-2012/Tests/incorrect_cast_from_double_to_int.Bug-2579.stable.out
@@ -90,13 +90,13 @@ Ready.
% .L # table_name
% sql_div_single_value # name
% sec_interval # type
-% 0 # length
+% 5 # length
[ 0.000 ]
#SELECT '3.1'/5.1;
% .L # table_name
% sql_div_single_value # name
% sec_interval # type
-% 0 # length
+% 5 # length
[ 0.000 ]
#SELECT 3.1/5.1;
% .L # table_name
diff --git
a/sql/test/BugTracker-2012/Tests/now_results_in_illegal_argument.Bug-2978.stable.out
b/sql/test/BugTracker-2012/Tests/now_results_in_illegal_argument.Bug-2978.stable.out
---
a/sql/test/BugTracker-2012/Tests/now_results_in_illegal_argument.Bug-2978.stable.out
+++
b/sql/test/BugTracker-2012/Tests/now_results_in_illegal_argument.Bug-2978.stable.out
@@ -51,19 +51,19 @@ Ready.
% .L # table_name
% current_timestamp # name
% sec_interval # type
-% 0 # length
+% 5 # length
[ 1.000 ]
#select now() + interval '1' second - now();
% .L # table_name
% current_timestamp # name
% sec_interval # type
-% 0 # length
+% 5 # length
[ 1.000 ]
#select now() - now();
% .L # table_name
% current_timestamp # name
% sec_interval # type
-% 0 # length
+% 5 # length
[ 0.000 ]
# 12:53:46 >
diff --git a/sql/test/BugTracker-2012/Tests/timestamp-diff.Bug-3190.stable.out
b/sql/test/BugTracker-2012/Tests/timestamp-diff.Bug-3190.stable.out
--- a/sql/test/BugTracker-2012/Tests/timestamp-diff.Bug-3190.stable.out
+++ b/sql/test/BugTracker-2012/Tests/timestamp-diff.Bug-3190.stable.out
@@ -65,13 +65,13 @@ Ready.
% sys.L # table_name
% sql_sub_btime # name
% sec_interval # type
-% 0 # length
+% 13 # length
[ 189302400.000 ]
#select btime - atime from time_table;
% sys.L # table_name
% sql_sub_btime # name
% sec_interval # type
-% 0 # length
+% 13 # length
[ 347068800.000 ]
#drop table time_table;
diff --git
a/sql/test/BugTracker-2014/Tests/current_timestamp.Bug-3427.stable.out
b/sql/test/BugTracker-2014/Tests/current_timestamp.Bug-3427.stable.out
--- a/sql/test/BugTracker-2014/Tests/current_timestamp.Bug-3427.stable.out
+++ b/sql/test/BugTracker-2014/Tests/current_timestamp.Bug-3427.stable.out
@@ -67,7 +67,7 @@ Ready.
% sys.x, sys.x, sys.L1, sys.L1 # table_name
% i, tn, L1, sql_sub_tc # name
% int, timestamp, sec_interval, sec_interval # type
-% 1, 26, 0, 0 # length
+% 1, 26, 5, 5 # length
[ 0, NULL, 0.000, 0.000 ]
#drop table x;
#create table x(
@@ -82,7 +82,7 @@ Ready.
% sys.x, sys.x, sys.L1, sys.L1 # table_name
% i, tn, L1, sql_sub_tc # name
% int, time, sec_interval, sec_interval # type
-% 1, 8, 0, 0 # length
+% 1, 8, 5, 5 # length
[ 0, NULL, 0.000, 0.000 ]
#drop table x;
#declare t timestamp;
diff --git a/sql/test/BugTracker-2014/Tests/nil_2dec_lng.Bug-3592.stable.out
b/sql/test/BugTracker-2014/Tests/nil_2dec_lng.Bug-3592.stable.out
--- a/sql/test/BugTracker-2014/Tests/nil_2dec_lng.Bug-3592.stable.out
+++ b/sql/test/BugTracker-2014/Tests/nil_2dec_lng.Bug-3592.stable.out
@@ -34,7 +34,7 @@ Ready.
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list