From a9d73d7b059a743a2a37c79945b2cf2a0fd10c30 Mon Sep 17 00:00:00 2001 From: wangmm0220 Date: Tue, 26 Nov 2024 00:02:17 +0800 Subject: [PATCH] feat:[TD-32642] add timezone logic --- source/libs/scalar/src/sclvector.c | 8 ++++++-- source/os/src/osTimezone.c | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/source/libs/scalar/src/sclvector.c b/source/libs/scalar/src/sclvector.c index d9becf199a..c69501d50b 100644 --- a/source/libs/scalar/src/sclvector.c +++ b/source/libs/scalar/src/sclvector.c @@ -2128,7 +2128,9 @@ int32_t vectorIsNull(SScalarParam *pLeft, SScalarParam *pRight, SScalarParam *pO } int32_t vectorNotNull(SScalarParam *pLeft, SScalarParam *pRight, SScalarParam *pOut, int32_t _ord) { - pRight->tz = pLeft->tz; + if (pRight != NULL) { + pRight->tz = pLeft->tz; + } for (int32_t i = 0; i < pLeft->numOfRows; ++i) { int8_t v = IS_HELPER_NULL(pLeft->columnData, i) ? 0 : 1; if (v) { @@ -2142,7 +2144,9 @@ int32_t vectorNotNull(SScalarParam *pLeft, SScalarParam *pRight, SScalarParam *p } int32_t vectorIsTrue(SScalarParam *pLeft, SScalarParam *pRight, SScalarParam *pOut, int32_t _ord) { - pRight->tz = pLeft->tz; + if (pRight != NULL) { + pRight->tz = pLeft->tz; + } SCL_ERR_RET(vectorConvertSingleColImpl(pLeft, pOut, NULL, -1, -1)); for (int32_t i = 0; i < pOut->numOfRows; ++i) { if (colDataIsNull_s(pOut->columnData, i)) { diff --git a/source/os/src/osTimezone.c b/source/os/src/osTimezone.c index 5511043cd2..1f2210fbe1 100644 --- a/source/os/src/osTimezone.c +++ b/source/os/src/osTimezone.c @@ -873,7 +873,7 @@ void getTimezoneStr(char *tz) { break; } zi += sizeof("zoneinfo"); - memcpy(tz, zi, TD_TIMEZONE_LEN - (zi - tz)); + memmove(tz, zi, TD_TIMEZONE_LEN - (zi - tz)); goto END; } while (0);