Merge [TRAFODION-3005] PR 1494 Fix issues with keys on long columns
diff --git a/core/sql/exp/exp_function.cpp b/core/sql/exp/exp_function.cpp
index a65c120..8d9426f 100644
--- a/core/sql/exp/exp_function.cpp
+++ b/core/sql/exp/exp_function.cpp
@@ -2550,7 +2550,7 @@
break;
case REC_BIN32_SIGNED:
- *(Lng32 *)sec = labs(*(Lng32 *)op_data[1]);
+ sec = *(Lng32 *)op_data[1];
if(sec < 0 )
{
ExRaiseSqlError(heap, diagsArea, EXE_BAD_ARG_TO_MATH_FUNC);
diff --git a/core/sql/ustat/hs_globals.cpp b/core/sql/ustat/hs_globals.cpp
index a437d97..7267862 100644
--- a/core/sql/ustat/hs_globals.cpp
+++ b/core/sql/ustat/hs_globals.cpp
@@ -5052,7 +5052,7 @@
}
else
{
- sprintf(sbuf, "%d", col.precision+2);
+ sprintf(sbuf, "%d,0", col.precision+2); // for seconds cast below
typeName = getIntTypeForInterval(group, 60 * (Int64)pow(10, col.precision));
}
group->ISSelectExpn.append("cast(cast(")
@@ -5076,7 +5076,7 @@
}
else
{
- sprintf(sbuf, "%d", col.precision+4);
+ sprintf(sbuf, "%d,0", col.precision+4); // for seconds cast below
typeName = getIntTypeForInterval(group, 60 * 60 * (Int64)pow(10, col.precision));
}
group->ISSelectExpn.append("cast(cast(")
@@ -5100,7 +5100,7 @@
}
else
{
- sprintf(sbuf, "%d", col.precision+5);
+ sprintf(sbuf, "%d,0", col.precision+5); // for seconds cast below
typeName = getIntTypeForInterval(group, 24 * 60 * 60 * (Int64)pow(10, col.precision));
}
group->ISSelectExpn.append("cast(cast(")