Changeset: 1b7fda0ed60c for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=1b7fda0ed60c
Modified Files:
sql/backends/monet5/sql_statement.c
sql/common/sql_types.c
Branch: Nov2019
Log Message:
added cast between sec_interval and double
Removed avg (on second interval).
Solves scale on average off seconds
diffs (39 lines):
diff --git a/sql/backends/monet5/sql_statement.c
b/sql/backends/monet5/sql_statement.c
--- a/sql/backends/monet5/sql_statement.c
+++ b/sql/backends/monet5/sql_statement.c
@@ -2796,9 +2796,13 @@ stmt_convert(backend *be, stmt *v, sql_s
q = pushInt(mb, q, f->digits);
q = pushInt(mb, q, f->scale);
q = pushInt(mb, q, type_has_tz(f));
- } else if (f->type->eclass == EC_DEC)
+ } else if (f->type->eclass == EC_DEC) {
/* scale of the current decimal */
q = pushInt(mb, q, f->scale);
+ } else if (f->type->eclass == EC_SEC && t->type->eclass == EC_FLT) {
+ /* scale of the current decimal */
+ q = pushInt(mb, q, 3);
+ }
q = pushArgument(mb, q, v->nr);
if (sel && v->nrcols && f->type->eclass != EC_DEC &&
!EC_TEMP_FRAC(t->type->eclass) && !EC_INTERVAL(t->type->eclass))
q = pushArgument(mb, q, sel->nr);
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
@@ -111,7 +111,7 @@ static int convert_matrix[EC_MAX][EC_MAX
/* EC_POS */ { 0, 0, 2, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0 },
/* EC_NUM */ { 0, 0, 2, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0 },
/* EC_MONTH*/ { 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0 },
-/* EC_SEC*/ { 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0 },
+/* EC_SEC*/ { 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0 },
/* EC_DEC */ { 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0 },
/* EC_FLT */ { 0, 0, 0, 1, 1, 0, 1, 1, 0, 3, 1, 1, 0, 0, 0, 0, 0 },
/* EC_TIME */ { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 },
@@ -1665,7 +1665,7 @@ sqltypeinit( sql_allocator *sa)
sql_create_aggr(sa, "avg", "aggr", "avg", FLT, DBL);
sql_create_aggr(sa, "avg", "aggr", "avg", MONINT, DBL);
- sql_create_aggr(sa, "avg", "aggr", "avg", SECINT, DBL);
+ //sql_create_aggr(sa, "avg", "aggr", "avg", SECINT, DBL);
sql_create_aggr(sa, "count_no_nil", "aggr", "count_no_nil", NULL, LNG);
sql_create_aggr(sa, "count", "aggr", "count", NULL, LNG);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list