diff --git a/README.md b/README.md index 4ea1c833f2d4afbe3986315c774f98de8793f0f2..8f1eb8ddc925ca7f0fc35c17f7a19943bfe7c66c 100644 --- a/README.md +++ b/README.md @@ -277,7 +277,7 @@ If TDengine shell connects the server successfully, welcome messages and version ## Install TDengine by apt-get -If you use Debian or Ubuntu system, you can use 'apt-get' command to intall TDengine from official repository. Please use following commands to setup: +If you use Debian or Ubuntu system, you can use 'apt-get' command to install TDengine from official repository. Please use following commands to setup: ``` wget -qO - http://repos.taosdata.com/tdengine.key | sudo apt-key add - diff --git a/documentation20/cn/02.getting-started/docs.md b/documentation20/cn/02.getting-started/docs.md index 0d7b2cb4e55d6efe3aec0cb621ff9adce5c522ae..525f950db823be62c4aad5542744f28c555e5e6c 100644 --- a/documentation20/cn/02.getting-started/docs.md +++ b/documentation20/cn/02.getting-started/docs.md @@ -251,3 +251,4 @@ taos> select avg(current), max(voltage), min(phase) from test.d10 interval(10s); 请跳转到 [连接器](https://www.taosdata.com/cn/documentation/connector) 查看更详细的信息。 + diff --git a/documentation20/cn/11.administrator/docs.md b/documentation20/cn/11.administrator/docs.md index 0f29a6cec9547057c32193b477dc4bfdcc7106bf..255cc5ee802fa192ebf81dce85bbf69a26b189ad 100644 --- a/documentation20/cn/11.administrator/docs.md +++ b/documentation20/cn/11.administrator/docs.md @@ -791,6 +791,7 @@ rmtaos 2. 数据里有转义字符 1. 遇到上面定义的转义字符会转义(%和_见下面说明),如果没有匹配的转义字符会忽略掉转义符\。 2. 对于%和_,因为在like里这两个字符是通配符,所以在模式匹配like里用`\%`%和`\_`表示字符里本身的%和_,如果在like模式匹配上下文之外使用`\%`或`\_`,则它们的计算结果为字符串`\%`和`\_`,而不是%和_。 + ## 诊断及其他 #### 网络连接诊断 diff --git a/packaging/deb/makedeb.sh b/packaging/deb/makedeb.sh index 9e15c06612b50a04a59a3226f3bf7e6789431333..42110657a6d9c32d37637c034a84ae34cbedba8e 100755 --- a/packaging/deb/makedeb.sh +++ b/packaging/deb/makedeb.sh @@ -59,6 +59,7 @@ cp ${compile_dir}/../packaging/tools/set_core.sh ${pkg_dir}${install_home_pat cp ${compile_dir}/../packaging/tools/taosd-dump-cfg.gdb ${pkg_dir}${install_home_path}/bin cp ${compile_dir}/build/bin/taosd ${pkg_dir}${install_home_path}/bin +cp ${compile_dir}/build/bin/taosBenchmark ${pkg_dir}${install_home_path}/bin if [ -f "${compile_dir}/build/bin/taosadapter" ]; then cp ${compile_dir}/build/bin/taosadapter ${pkg_dir}${install_home_path}/bin ||: diff --git a/packaging/release.sh b/packaging/release.sh index 46f42736d75cfef0ce9c265d0c006166086cc031..207444377c1195762506ac2ada8338b3bd105885 100755 --- a/packaging/release.sh +++ b/packaging/release.sh @@ -312,9 +312,12 @@ if [ "$osType" != "Darwin" ]; then echo "====do tar.gz package for all systems====" cd ${script_dir}/tools - ${csudo}./makepkg.sh ${compile_dir} ${verNumber} "${build_time}" ${cpuType} ${osType} ${verMode} ${verType} ${pagMode} ${verNumberComp} - ${csudo}./makeclient.sh ${compile_dir} ${verNumber} "${build_time}" ${cpuType} ${osType} ${verMode} ${verType} ${pagMode} - ${csudo}./makearbi.sh ${compile_dir} ${verNumber} "${build_time}" ${cpuType} ${osType} ${verMode} ${verType} ${pagMode} + if [ "$verMode" == "cluster" ]; then + ${csudo}./makepkg.sh ${compile_dir} ${verNumber} "${build_time}" ${cpuType} ${osType} ${verMode} ${verType} ${pagMode} ${verNumberComp} +# ${csudo}./makeclient.sh ${compile_dir} ${verNumber} "${build_time}" ${cpuType} ${osType} ${verMode} ${verType} ${pagMode} +# ${csudo}./makearbi.sh ${compile_dir} ${verNumber} "${build_time}" ${cpuType} ${osType} ${verMode} ${verType} ${pagMode} + fi + else # only make client for Darwin cd ${script_dir}/tools diff --git a/packaging/rpm/tdengine.spec b/packaging/rpm/tdengine.spec index 3992f7b6a867b7aacc9b479820c20dd7745dd54f..dcc615132896e25c7f18398643576608b344f58e 100644 --- a/packaging/rpm/tdengine.spec +++ b/packaging/rpm/tdengine.spec @@ -68,6 +68,8 @@ cp %{_compiledir}/../packaging/tools/set_core.sh %{buildroot}%{homepath}/bin cp %{_compiledir}/../packaging/tools/taosd-dump-cfg.gdb %{buildroot}%{homepath}/bin cp %{_compiledir}/build/bin/taos %{buildroot}%{homepath}/bin cp %{_compiledir}/build/bin/taosd %{buildroot}%{homepath}/bin +cp %{_compiledir}/build/bin/taosBenchmark %{buildroot}%{homepath}/bin + if [ -f %{_compiledir}/build/bin/taosadapter ]; then cp %{_compiledir}/build/bin/taosadapter %{buildroot}%{homepath}/bin ||: fi diff --git a/packaging/tools/install.sh b/packaging/tools/install.sh index f8d4bf167d32302c89e7307b4a83fe5428f05913..b9a5ad35947a117e2c673701ce244e0d74cefcde 100755 --- a/packaging/tools/install.sh +++ b/packaging/tools/install.sh @@ -192,6 +192,7 @@ function install_bin() { ${csudo}rm -f ${bin_link_dir}/tarbitrator || : ${csudo}rm -f ${bin_link_dir}/set_core || : ${csudo}rm -f ${bin_link_dir}/run_taosd_and_taosadapter.sh || : + ${csudo}rm -f ${bin_link_dir}/TDinsight.sh || : ${csudo}cp -r ${script_dir}/bin/* ${install_main_dir}/bin && ${csudo}chmod 0555 ${install_main_dir}/bin/* @@ -201,6 +202,7 @@ function install_bin() { [ -x ${install_main_dir}/bin/taosadapter ] && ${csudo}ln -s ${install_main_dir}/bin/taosadapter ${bin_link_dir}/taosadapter || : [ -x ${install_main_dir}/bin/taosBenchmark ] && ${csudo}ln -s ${install_main_dir}/bin/taosBenchmark ${bin_link_dir}/taosdemo || : [ -x ${install_main_dir}/bin/taosdump ] && ${csudo}ln -s ${install_main_dir}/bin/taosdump ${bin_link_dir}/taosdump || : + [ -x ${install_main_dir}/bin/TDinsight.sh ] && ${csudo}ln -s ${install_main_dir}/bin/TDinsight.sh ${bin_link_dir}/TDinsight.sh || : [ -x ${install_main_dir}/bin/remove.sh ] && ${csudo}ln -s ${install_main_dir}/bin/remove.sh ${bin_link_dir}/${uninstallScript} || : [ -x ${install_main_dir}/bin/set_core.sh ] && ${csudo}ln -s ${install_main_dir}/bin/set_core.sh ${bin_link_dir}/set_core || : [ -x ${install_main_dir}/bin/run_taosd_and_taosadapter.sh ] && ${csudo}ln -s ${install_main_dir}/bin/run_taosd_and_taosadapter.sh ${bin_link_dir}/run_taosd_and_taosadapter.sh || : @@ -565,7 +567,7 @@ function install_data() { } function install_connector() { - ${csudo}cp -rf ${script_dir}/connector/ ${install_main_dir}/ + [ -d "${script_dir}/connector/" ] && ${csudo}cp -rf ${script_dir}/connector/ ${install_main_dir}/ } function install_examples() { @@ -691,6 +693,10 @@ function install_service_on_systemd() { ${service_config_dir}/ || : ${csudo}systemctl daemon-reload + [ -f ${script_dir}/cfg/nginxd.service ] && + ${csudo}cp ${script_dir}/cfg/nginxd.service \ + ${service_config_dir}/ || : + if ! ${csudo}systemctl enable nginxd &>/dev/null; then ${csudo}systemctl daemon-reexec ${csudo}systemctl enable nginxd @@ -820,9 +826,9 @@ function update_TDengine() { install_log install_header install_lib - if [ "$pagMode" != "lite" ]; then - install_connector - fi +# if [ "$pagMode" != "lite" ]; then +# install_connector +# fi install_examples if [ -z $1 ]; then install_bin @@ -879,7 +885,7 @@ function update_TDengine() { echo -e "\033[44;32;1m${productName} client is updated successfully!${NC}" fi - rm -rf $(tar -tf ${tarName}) + rm -rf $(tar -tf ${tarName} |grep -v "^\./$") } function install_TDengine() { @@ -976,7 +982,7 @@ function install_TDengine() { fi touch ~/.${historyFile} - rm -rf $(tar -tf ${tarName}) + rm -rf $(tar -tf ${tarName} |grep -v "^\./$") } ## ==============================Main program starts from here============================ diff --git a/packaging/tools/makepkg.sh b/packaging/tools/makepkg.sh index 7ba35a36ebd0aad231e7e5c0f3a383253ac2002a..f9f9d8b68bcf5061c3c3c76efbb706750c27ca33 100755 --- a/packaging/tools/makepkg.sh +++ b/packaging/tools/makepkg.sh @@ -3,7 +3,7 @@ # Generate tar.gz package for all os system set -e -#set -x +set -x curr_dir=$(pwd) compile_dir=$1 @@ -54,11 +54,21 @@ if [ "$pagMode" == "lite" ]; then strip ${build_dir}/bin/${serverName} strip ${build_dir}/bin/${clientName} # lite version doesn't include taosadapter, which will lead to no restful interface - bin_files="${build_dir}/bin/${serverName} ${build_dir}/bin/${clientName} ${script_dir}/remove.sh ${script_dir}/startPre.sh" + bin_files="${build_dir}/bin/${serverName} ${build_dir}/bin/${clientName} ${script_dir}/remove.sh ${script_dir}/startPre.sh ${build_dir}/bin/taosBenchmark" taostools_bin_files="" else + + wget https://github.com/taosdata/grafanaplugin/releases/latest/download/TDinsight.sh -O ${build_dir}/bin/TDinsight.sh \ + && echo "TDinsight.sh downloaded!" \ + || echo "failed to download TDinsight.sh" + + taostools_bin_files=" ${build_dir}/bin/taosdump \ + ${build_dir}/bin/TDinsight.sh " + bin_files="${build_dir}/bin/${serverName} \ ${build_dir}/bin/${clientName} \ + ${build_dir}/bin/taosBenchmark \ + ${taostools_bin_files} \ ${build_dir}/bin/taosadapter \ ${build_dir}/bin/tarbitrator\ ${script_dir}/remove.sh \ @@ -66,9 +76,6 @@ else ${script_dir}/run_taosd_and_taosadapter.sh \ ${script_dir}/startPre.sh \ ${script_dir}/taosd-dump-cfg.gdb" - - taostools_bin_files=" ${build_dir}/bin/taosdump \ - ${build_dir}/bin/taosBenchmark" fi lib_files="${build_dir}/lib/libtaos.so.${version}" @@ -119,36 +126,36 @@ mkdir -p ${install_dir}/init.d && cp ${init_file_rpm} ${install_dir}/init.d/${se mkdir -p ${install_dir}/init.d && cp ${init_file_tarbitrator_deb} ${install_dir}/init.d/tarbitratord.deb || : mkdir -p ${install_dir}/init.d && cp ${init_file_tarbitrator_rpm} ${install_dir}/init.d/tarbitratord.rpm || : -if [ -n "${taostools_bin_files}" ]; then - mkdir -p ${taostools_install_dir} || echo -e "failed to create ${taostools_install_dir}" - mkdir -p ${taostools_install_dir}/bin \ - && cp ${taostools_bin_files} ${taostools_install_dir}/bin \ - && chmod a+x ${taostools_install_dir}/bin/* || : - - if [ -f ${top_dir}/src/kit/taos-tools/packaging/tools/install-taostools.sh ]; then - cp ${top_dir}/src/kit/taos-tools/packaging/tools/install-taostools.sh \ - ${taostools_install_dir}/ > /dev/null \ - && chmod a+x ${taostools_install_dir}/install-taostools.sh \ - || echo -e "failed to copy install-taostools.sh" - else - echo -e "install-taostools.sh not found" - fi - - if [ -f ${top_dir}/src/kit/taos-tools/packaging/tools/uninstall-taostools.sh ]; then - cp ${top_dir}/src/kit/taos-tools/packaging/tools/uninstall-taostools.sh \ - ${taostools_install_dir}/ > /dev/null \ - && chmod a+x ${taostools_install_dir}/uninstall-taostools.sh \ - || echo -e "failed to copy uninstall-taostools.sh" - else - echo -e "uninstall-taostools.sh not found" - fi - - if [ -f ${build_dir}/lib/libavro.so.23.0.0 ]; then - mkdir -p ${taostools_install_dir}/avro/{lib,lib/pkgconfig} || echo -e "failed to create ${taostools_install_dir}/avro" - cp ${build_dir}/lib/libavro.* ${taostools_install_dir}/avro/lib - cp ${build_dir}/lib/pkgconfig/avro-c.pc ${taostools_install_dir}/avro/lib/pkgconfig - fi -fi +#if [ -n "${taostools_bin_files}" ]; then +# mkdir -p ${taostools_install_dir} || echo -e "failed to create ${taostools_install_dir}" +# mkdir -p ${taostools_install_dir}/bin \ +# && cp ${taostools_bin_files} ${taostools_install_dir}/bin \ +# && chmod a+x ${taostools_install_dir}/bin/* || : + +# if [ -f ${top_dir}/src/kit/taos-tools/packaging/tools/install-taostools.sh ]; then +# cp ${top_dir}/src/kit/taos-tools/packaging/tools/install-taostools.sh \ +# ${taostools_install_dir}/ > /dev/null \ +# && chmod a+x ${taostools_install_dir}/install-taostools.sh \ +# || echo -e "failed to copy install-taostools.sh" +# else +# echo -e "install-taostools.sh not found" +# fi + +# if [ -f ${top_dir}/src/kit/taos-tools/packaging/tools/uninstall-taostools.sh ]; then +# cp ${top_dir}/src/kit/taos-tools/packaging/tools/uninstall-taostools.sh \ +# ${taostools_install_dir}/ > /dev/null \ +# && chmod a+x ${taostools_install_dir}/uninstall-taostools.sh \ +# || echo -e "failed to copy uninstall-taostools.sh" +# else +# echo -e "uninstall-taostools.sh not found" +# fi + +# if [ -f ${build_dir}/lib/libavro.so.23.0.0 ]; then +# mkdir -p ${taostools_install_dir}/avro/{lib,lib/pkgconfig} || echo -e "failed to create ${taostools_install_dir}/avro" +# cp ${build_dir}/lib/libavro.* ${taostools_install_dir}/avro/lib +# cp ${build_dir}/lib/pkgconfig/avro-c.pc ${taostools_install_dir}/avro/lib/pkgconfig +# fi +#fi if [ -f ${build_dir}/bin/jemalloc-config ]; then mkdir -p ${install_dir}/jemalloc/{bin,lib,lib/pkgconfig,include/jemalloc,share/doc/jemalloc,share/man/man3} @@ -310,13 +317,14 @@ if [ "$exitcode" != "0" ]; then exit $exitcode fi -if [ -n "${taostools_bin_files}" ]; then - tar -zcv -f "$(basename ${taostools_pkg_name}).tar.gz" "$(basename ${taostools_install_dir})" --remove-files || : - exitcode=$? - if [ "$exitcode" != "0" ]; then - echo "tar ${taostools_pkg_name}.tar.gz error !!!" - exit $exitcode - fi -fi +#if [ -n "${taostools_bin_files}" ]; then +# wget https://github.com/taosdata/grafanaplugin/releases/latest/download/TDinsight.sh -O ${taostools_install_dir}/bin/TDinsight.sh && echo "TDinsight.sh downloaded!"|| echo "failed to download TDinsight.sh" +# tar -zcv -f "$(basename ${taostools_pkg_name}).tar.gz" "$(basename ${taostools_install_dir})" --remove-files || : +# exitcode=$? +# if [ "$exitcode" != "0" ]; then +# echo "tar ${taostools_pkg_name}.tar.gz error !!!" +# exit $exitcode +# fi +#fi cd ${curr_dir} diff --git a/packaging/tools/post.sh b/packaging/tools/post.sh index e0da436a2ec3e4217d531bdc3a4c85a4152bc071..93849dd4ebef00512854b4dfff8b57f4b44f7797 100755 --- a/packaging/tools/post.sh +++ b/packaging/tools/post.sh @@ -107,6 +107,7 @@ function install_bin() { ${csudo}rm -f ${bin_link_dir}/taos || : ${csudo}rm -f ${bin_link_dir}/taosd || : ${csudo}rm -f ${bin_link_dir}/taosadapter || : + ${csudo}rm -f ${bin_link_dir}/taosBenchmark || : ${csudo}rm -f ${bin_link_dir}/taosdemo || : ${csudo}rm -f ${bin_link_dir}/taosdump || : ${csudo}rm -f ${bin_link_dir}/rmtaos || : @@ -118,7 +119,8 @@ function install_bin() { [ -x ${bin_dir}/taos ] && ${csudo}ln -s ${bin_dir}/taos ${bin_link_dir}/taos || : [ -x ${bin_dir}/taosd ] && ${csudo}ln -s ${bin_dir}/taosd ${bin_link_dir}/taosd || : [ -x ${bin_dir}/taosadapter ] && ${csudo}ln -s ${bin_dir}/taosadapter ${bin_link_dir}/taosadapter || : - [ -x ${bin_dir}/taosdemo ] && ${csudo}ln -s ${bin_dir}/taosdemo ${bin_link_dir}/taosdemo || : + [ -x ${bin_dir}/taosBenchmark ] && ${csudo}ln -sf ${bin_dir}/taosBenchmark ${bin_link_dir}/taosdemo || : + [ -x ${bin_dir}/TDinsight.sh ] && ${csudo}ln -sf ${bin_dir}/TDinsight.sh ${bin_link_dir}/TDinsight.sh || : [ -x ${bin_dir}/taosdump ] && ${csudo}ln -s ${bin_dir}/taosdump ${bin_link_dir}/taosdump || : [ -x ${bin_dir}/set_core.sh ] && ${csudo}ln -s ${bin_dir}/set_core.sh ${bin_link_dir}/set_core || : } diff --git a/packaging/tools/preun.sh b/packaging/tools/preun.sh index 27dc830a1f189d196a5b937f71dbafc776d035d4..2f35e41a48a438d86a7dc6ca71511ce967ba7ebf 100755 --- a/packaging/tools/preun.sh +++ b/packaging/tools/preun.sh @@ -121,6 +121,7 @@ clean_service ${csudo}rm -f ${bin_link_dir}/taos || : ${csudo}rm -f ${bin_link_dir}/taosd || : ${csudo}rm -f ${bin_link_dir}/taosadapter || : +${csudo}rm -f ${bin_link_dir}/taosBenchmark || : ${csudo}rm -f ${bin_link_dir}/taosdemo || : ${csudo}rm -f ${bin_link_dir}/set_core || : ${csudo}rm -f ${cfg_link_dir}/*.new || : diff --git a/packaging/tools/remove.sh b/packaging/tools/remove.sh index 2eff41fe41df4c0dd01283f4e4d972148b0003ac..14b9688eb4b42bfecd2fbc78afba66f1118f5d45 100755 --- a/packaging/tools/remove.sh +++ b/packaging/tools/remove.sh @@ -83,12 +83,14 @@ function clean_bin() { ${csudo}rm -f ${bin_link_dir}/${clientName} || : ${csudo}rm -f ${bin_link_dir}/${serverName} || : ${csudo}rm -f ${bin_link_dir}/taosadapter || : + ${csudo}rm -f ${bin_link_dir}/taosBenchmark || : ${csudo}rm -f ${bin_link_dir}/taosdemo || : ${csudo}rm -f ${bin_link_dir}/taosdump || : ${csudo}rm -f ${bin_link_dir}/${uninstallScript} || : ${csudo}rm -f ${bin_link_dir}/tarbitrator || : ${csudo}rm -f ${bin_link_dir}/set_core || : ${csudo}rm -f ${bin_link_dir}/run_taosd_and_taosadapter.sh || : + ${csudo}rm -f ${bin_link_dir}/TDinsight.sh || : } function clean_lib() { diff --git a/src/kit/taos-tools b/src/kit/taos-tools index 28ff2899fd0238f81c14cb76ea6dbdefa83570b3..ecc3f50cfb868da22c716ffbcda7b6c40c9180fa 160000 --- a/src/kit/taos-tools +++ b/src/kit/taos-tools @@ -1 +1 @@ -Subproject commit 28ff2899fd0238f81c14cb76ea6dbdefa83570b3 +Subproject commit ecc3f50cfb868da22c716ffbcda7b6c40c9180fa diff --git a/src/query/src/qAggMain.c b/src/query/src/qAggMain.c index b02b8e8484f5371edd3608e5a145b7b0f51d9276..b294c0482f0d2002cca7255f572d527ec21b543b 100644 --- a/src/query/src/qAggMain.c +++ b/src/query/src/qAggMain.c @@ -5199,8 +5199,12 @@ static bool unique_function_setup(SQLFunctionCtx *pCtx, SResultRowCellInfo* pRes return true; } -static void do_unique_function(SQLFunctionCtx *pCtx, SUniqueFuncInfo *pInfo, TSKEY timestamp, char *pData, char *tag, int32_t bytes){ - UniqueUnit **unique = taosHashGet(*pCtx->pUniqueSet, pData, bytes); +static void do_unique_function(SQLFunctionCtx *pCtx, SUniqueFuncInfo *pInfo, TSKEY timestamp, char *pData, char *tag, int32_t bytes, int16_t type){ + int32_t hashKeyBytes = bytes; + if(IS_VAR_DATA_TYPE(type)){ // for var data, we can not use bytes, because there are dirty data in the back of var data + hashKeyBytes = varDataTLen(pData); + } + UniqueUnit **unique = taosHashGet(*pCtx->pUniqueSet, pData, hashKeyBytes); if (unique == NULL) { size_t size = sizeof(UniqueUnit) + bytes + pCtx->tagInfo.tagsLen; char *tmp = pInfo->res + pInfo->num * size; @@ -5226,7 +5230,7 @@ static void do_unique_function(SQLFunctionCtx *pCtx, SUniqueFuncInfo *pInfo, TSK } } - taosHashPut(*pCtx->pUniqueSet, pData, bytes, &tmp, sizeof(UniqueUnit*)); + taosHashPut(*pCtx->pUniqueSet, pData, hashKeyBytes, &tmp, sizeof(UniqueUnit*)); pInfo->num++; }else if((*unique)->timestamp > timestamp){ (*unique)->timestamp = timestamp; @@ -5242,7 +5246,7 @@ static void unique_function(SQLFunctionCtx *pCtx) { if (pCtx->ptsList != NULL) { k = GET_TS_DATA(pCtx, i); } - do_unique_function(pCtx, pInfo, k, pData, NULL, pCtx->inputBytes); + do_unique_function(pCtx, pInfo, k, pData, NULL, pCtx->inputBytes, pCtx->inputType); if (sizeof(SUniqueFuncInfo) + pInfo->num * (sizeof(UniqueUnit) + pCtx->inputBytes + pCtx->tagInfo.tagsLen) >= MAX_UNIQUE_RESULT_SIZE){ GET_RES_INFO(pCtx)->numOfRes = -1; // mark out of memory @@ -5262,7 +5266,7 @@ static void unique_function_merge(SQLFunctionCtx *pCtx) { TSKEY timestamp = ((UniqueUnit*)tmp)->timestamp; char *data = tmp + sizeof(UniqueUnit); char *tags = tmp + sizeof(UniqueUnit) + pCtx->outputBytes; - do_unique_function(pCtx, pOutput, timestamp, data, tags, pCtx->outputBytes); + do_unique_function(pCtx, pOutput, timestamp, data, tags, pCtx->outputBytes, pCtx->outputType); if (sizeof(SUniqueFuncInfo) + pOutput->num * (sizeof(UniqueUnit) + pCtx->outputBytes + pCtx->tagInfo.tagsLen) >= MAX_UNIQUE_RESULT_SIZE){ GET_RES_INFO(pCtx)->numOfRes = -1; // mark out of memory diff --git a/src/tsdb/src/tsdbRead.c b/src/tsdb/src/tsdbRead.c index af81bea38d95943dc1c413bd7087d3eea598c6c4..e185db215732ac3d3ea9d62be042b265b018335d 100644 --- a/src/tsdb/src/tsdbRead.c +++ b/src/tsdb/src/tsdbRead.c @@ -1759,7 +1759,6 @@ static int32_t doCopyRowsFromFileBlock(STsdbQueryHandle* pQueryHandle, int32_t c // todo refactor, only copy one-by-one for (int32_t k = start; k < num + start; ++k) { const char* p = tdGetColDataOfRow(src, k); - memset(dst, 0, bytes); memcpy(dst, p, varDataTLen(p)); dst += bytes; } @@ -1772,7 +1771,6 @@ static int32_t doCopyRowsFromFileBlock(STsdbQueryHandle* pQueryHandle, int32_t c char* dst = pData; for(int32_t k = start; k < num + start; ++k) { - memset(dst, 0, bytes); setVardataNull(dst, pColInfo->info.type); dst += bytes; } @@ -1795,7 +1793,6 @@ static int32_t doCopyRowsFromFileBlock(STsdbQueryHandle* pQueryHandle, int32_t c char* dst = pData; for(int32_t k = start; k < num + start; ++k) { - memset(pData, 0, pColInfo->info.bytes); setVardataNull(dst, pColInfo->info.type); dst += pColInfo->info.bytes; } @@ -1863,7 +1860,6 @@ static void mergeTwoRowFromMem(STsdbQueryHandle* pQueryHandle, int32_t capacity, } else { pData = (char*)pColInfo->pData + (capacity - numOfRows - 1) * pColInfo->info.bytes; } - memset(pData, 0, pColInfo->info.bytes); int32_t colIdOfRow1; if(j >= numOfColsOfRow1) { @@ -1999,7 +1995,6 @@ static void mergeTwoRowFromMem(STsdbQueryHandle* pQueryHandle, int32_t capacity, } else { pData = (char*)pColInfo->pData + (capacity - numOfRows - 1) * pColInfo->info.bytes; } - memset(pData, 0, pColInfo->info.bytes); if (pColInfo->info.type == TSDB_DATA_TYPE_BINARY || pColInfo->info.type == TSDB_DATA_TYPE_NCHAR) { setVardataNull(pData, pColInfo->info.type); @@ -3155,8 +3150,7 @@ static bool loadCachedLast(STsdbQueryHandle* pQueryHandle) { } pData = (char*)pColInfo->pData + numOfRows * pColInfo->info.bytes; - memset(pData, 0, pColInfo->info.bytes); - if (pTable->lastCols[j].bytes > 0) { + if (pTable->lastCols[j].bytes > 0) { void* value = pTable->lastCols[j].pData; switch (pColInfo->info.type) { case TSDB_DATA_TYPE_BINARY: @@ -3210,7 +3204,6 @@ static bool loadCachedLast(STsdbQueryHandle* pQueryHandle) { pColInfo = taosArrayGet(pQueryHandle->pColumns, n); pData = (char*)pColInfo->pData + numOfRows * pColInfo->info.bytes;; - memset(pData, 0, pColInfo->info.bytes); if (pColInfo->info.colId == PRIMARYKEY_TIMESTAMP_COL_INDEX) { *(TSKEY *)pData = pTable->lastCols[j].ts; continue; @@ -3236,7 +3229,6 @@ static bool loadCachedLast(STsdbQueryHandle* pQueryHandle) { if (priKey != TSKEY_INITIAL_VAL) { pColInfo = taosArrayGet(pQueryHandle->pColumns, priIdx); pData = (char*)pColInfo->pData + numOfRows * pColInfo->info.bytes; - memset(pData, 0, pColInfo->info.bytes); *(TSKEY *)pData = priKey; @@ -3247,7 +3239,6 @@ static bool loadCachedLast(STsdbQueryHandle* pQueryHandle) { pColInfo = taosArrayGet(pQueryHandle->pColumns, n); pData = (char*)pColInfo->pData + numOfRows * pColInfo->info.bytes;; - memset(pData, 0, pColInfo->info.bytes); assert (pColInfo->info.colId != PRIMARYKEY_TIMESTAMP_COL_INDEX);