From d50399a0d980c549a0ec608d008dd1658fa7d2ab Mon Sep 17 00:00:00 2001 From: Haonan Date: Fri, 8 Nov 2024 10:22:59 +0800 Subject: [PATCH] Cherry pick some release issue fixes from rc/1.1 (#296) * update release note for 1.1.0 * fix release problem * Fix 1.1.0 rc1 issues (#283) * update license info --- LICENSE | 95 +++++++++++++------------ RELEASE_NOTES.md | 24 +++++++ cpp/CMakeLists.txt | 5 -- cpp/cmake/build_function.cmake | 34 --------- cpp/cmake/cmake_config.h | 19 ----- cpp/cmake/config.h.in | 1 - cpp/src/CMakeLists.txt | 1 - docs/src/.vuepress/public/bg.svg | 23 +++++- docs/src/.vuepress/public/home_icon.svg | 23 +++++- docs/src/.vuepress/public/logo.svg | 23 +++++- docs/src/.vuepress/public/s.svg | 23 +++++- docs/src/.vuepress/styles/config.scss | 19 +++++ docs/src/.vuepress/styles/index.scss | 25 ++++++- docs/src/.vuepress/styles/palette.scss | 21 +++++- docs/src/Download/README.md | 23 +++++- docs/src/zh/Download/README.md | 23 +++++- pom.xml | 8 ++- 17 files changed, 272 insertions(+), 118 deletions(-) delete mode 100644 cpp/cmake/build_function.cmake delete mode 100644 cpp/cmake/cmake_config.h delete mode 100644 cpp/cmake/config.h.in diff --git a/LICENSE b/LICENSE index 130dac6aa..7b741bb59 100644 --- a/LICENSE +++ b/LICENSE @@ -204,78 +204,63 @@ APACHE TSFILE SUBCOMPONENTS -------------------------------------------------------------------------------- -The following class is copied from maven-wrapper (https://github.com/takari/maven-wrapper), -which is under Apache License 2.0: - -mvnw files from https://github.com/apache/maven-wrapper Apache 2.0 - --------------------------------------------------------------------------------- - The following class is modified from Apache commons-collections -./tsfile/src/main/java/org/apache/tsfile/utils/Murmur128Hash.java +./java/tsfile/src/main/java/org/apache/tsfile/utils/Murmur128Hash.java Relevant pr is: https://github.com/apache/commons-collections/pull/83/ -------------------------------------------------------------------------------- The following files include code modified from Michael Burman's gorilla-tsc project. -./tsfile/src/main/java/org/apache/tsfile/encoding/encoder/GorillaEncoderV2.java -./tsfile/src/main/java/org/apache/tsfile/encoding/encoder/IntGorillaEncoder.java -./tsfile/src/main/java/org/apache/tsfile/encoding/encoder/LongGorillaEncoder.java -./tsfile/src/main/java/org/apache/tsfile/encoding/encoder/SinglePrecisionEncoderV2.java -./tsfile/src/main/java/org/apache/tsfile/encoding/encoder/DoublePrecisionEncoderV2.java -./tsfile/src/main/java/org/apache/tsfile/encoding/decoder/GorillaDecoderV2.java -./tsfile/src/main/java/org/apache/tsfile/encoding/decoder/IntGorillaDecoder.java -./tsfile/src/main/java/org/apache/tsfile/encoding/decoder/LongGorillaDecoder.java -./tsfile/src/main/java/org/apache/tsfile/encoding/decoder/SinglePrecisionDecoderV2.java -./tsfile/src/main/java/org/apache/tsfile/encoding/decoder/DoublePrecisionDecoderV2.java +./java/tsfile/src/main/java/org/apache/tsfile/encoding/encoder/GorillaEncoderV2.java +./java/tsfile/src/main/java/org/apache/tsfile/encoding/encoder/IntGorillaEncoder.java +./java/tsfile/src/main/java/org/apache/tsfile/encoding/encoder/LongGorillaEncoder.java +./java/tsfile/src/main/java/org/apache/tsfile/encoding/encoder/SinglePrecisionEncoderV2.java +./java/tsfile/src/main/java/org/apache/tsfile/encoding/encoder/DoublePrecisionEncoderV2.java +./java/tsfile/src/main/java/org/apache/tsfile/encoding/decoder/GorillaDecoderV2.java +./java/tsfile/src/main/java/org/apache/tsfile/encoding/decoder/IntGorillaDecoder.java +./java/tsfile/src/main/java/org/apache/tsfile/encoding/decoder/LongGorillaDecoder.java +./java/tsfile/src/main/java/org/apache/tsfile/encoding/decoder/SinglePrecisionDecoderV2.java +./java/tsfile/src/main/java/org/apache/tsfile/encoding/decoder/DoublePrecisionDecoderV2.java Copyright: 2016-2018 Michael Burman and/or other contributors Project page: https://github.com/burmanm/gorilla-tsc -License: http://www.apache.org/licenses/LICENSE-2.0 +License: https://github.com/burmanm/gorilla-tsc/blob/master/LICENSE -------------------------------------------------------------------------------- The following files include code modified from Panagiotis Liakos, Katia Papakonstantinopoulou and Yannis Kotidis chimp project. -./tsfile/src/main/java/org/apache/tsfile/encoding/decoder/DoublePrecisionChimpDecoder.java -./tsfile/src/main/java/org/apache/tsfile/encoding/decoder/IntChimpDecoder.java -./tsfile/src/main/java/org/apache/tsfile/encoding/decoder/LongChimpDecoder.java -./tsfile/src/main/java/org/apache/tsfile/encoding/decoder/SinglePrecisionChimpDecoder.java -./tsfile/src/main/java/org/apache/tsfile/encoding/encoder/DoublePrecisionChimpEncoder.java -./tsfile/src/main/java/org/apache/tsfile/encoding/encoder/IntChimpEncoder.java -./tsfile/src/main/java/org/apache/tsfile/encoding/encoder/LongChimpEncoder.java -./tsfile/src/main/java/org/apache/tsfile/encoding/encoder/SinglePrecisionChimpEncoder.java +./java/tsfile/src/main/java/org/apache/tsfile/encoding/decoder/DoublePrecisionChimpDecoder.java +./java/tsfile/src/main/java/org/apache/tsfile/encoding/decoder/IntChimpDecoder.java +./java/tsfile/src/main/java/org/apache/tsfile/encoding/decoder/LongChimpDecoder.java +./java/tsfile/src/main/java/org/apache/tsfile/encoding/decoder/SinglePrecisionChimpDecoder.java +./java/tsfile/src/main/java/org/apache/tsfile/encoding/encoder/DoublePrecisionChimpEncoder.java +./java/tsfile/src/main/java/org/apache/tsfile/encoding/encoder/IntChimpEncoder.java +./java/tsfile/src/main/java/org/apache/tsfile/encoding/encoder/LongChimpEncoder.java +./java/tsfile/src/main/java/org/apache/tsfile/encoding/encoder/SinglePrecisionChimpEncoder.java Copyright: 2022- Panagiotis Liakos, Katia Papakonstantinopoulou and Yannis Kotidis Project page: https://github.com/panagiotisl/chimp -License: http://www.apache.org/licenses/LICENSE-2.0 +License: https://github.com/panagiotisl/chimp/blob/main/LICENCE.md -------------------------------------------------------------------------------- -The following files include code modified from Snappy project. +The following files include code modified from Trino project. -./tsfile/cpp/third_party/google_snappy/snappy.h -./tsfile/cpp/third_party/google_snappy/snappy.cc -./tsfile/cpp/third_party/google_snappy/snappy-internal.h -./tsfile/cpp/third_party/google_snappy/snappy-sinksource.cc -./tsfile/cpp/third_party/google_snappy/snappy-sinksource.h -./tsfile/cpp/third_party/google_snappy/snappy-stubs-internal.cc -./tsfile/cpp/third_party/google_snappy/snappy-stubs-internal.h -./tsfile/cpp/third_party/google_snappy/snappy-stubs-public.h.in -./tsfile/cpp/third_party/google_snappy/CMakeLists.txt +./java/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/* -Copyright: 2011, Google Inc. -Project page: https://github.com/google/snappy -License: https://github.com/google/snappy/blob/main/COPYING +Trino is open source software licensed under the Apache License 2.0 and supported by the Trino Software Foundation. +Project page: https://github.com/trinodb/trino +License: https://github.com/trinodb/trino/blob/master/LICENSE -------------------------------------------------------------------------------- The following files include code is copied from lz4 project. -./tsfile/cpp/third_party/lz4/lz4.c -./tsfile/cpp/third_party/lz4/lz4.h +./cpp/src/compress/lz4.c +./cpp/src/compress/lz4.h Copyright: (C) 2011-2020, Yann Collet. Project page: http://www.lz4.org @@ -283,11 +268,29 @@ License: https://github.com/lz4/lz4/blob/dev/LICENSE -------------------------------------------------------------------------------- +The following files include code modified from Snappy project. + +./cpp/third_party/google_snappy/snappy.h +./cpp/third_party/google_snappy/snappy.cc +./cpp/third_party/google_snappy/snappy-internal.h +./cpp/third_party/google_snappy/snappy-sinksource.cc +./cpp/third_party/google_snappy/snappy-sinksource.h +./cpp/third_party/google_snappy/snappy-stubs-internal.cc +./cpp/third_party/google_snappy/snappy-stubs-internal.h +./cpp/third_party/google_snappy/snappy-stubs-public.h.in +./cpp/third_party/google_snappy/CMakeLists.txt + +Copyright: 2011, Google Inc. +Project page: https://github.com/google/snappy +License: https://github.com/google/snappy/blob/main/COPYING + +-------------------------------------------------------------------------------- + The following files include code is copied from lzokay project. -./tsfile/cpp/third_party/lzokay/lzokay.cpp -./tsfile/cpp/third_party/lzokay/lzokay.hpp -./tsfile/cpp/third_party/lzokay/LICENSE +./cpp/third_party/lzokay/lzokay.cpp +./cpp/third_party/lzokay/lzokay.hpp +./cpp/third_party/lzokay/LICENSE Copyright: (c) 2018 Jack Andersen Project page: https://github.com/AxioDL/lzokay diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index db93648ed..2c518cd24 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -19,6 +19,30 @@ --> +# Apache TsFile 1.1.0 + +## New Feature +- Support new data types: STRING, BLOB, TIMESTAMP, DATE by @Cpaulyz in #76 +- Add an equivalent .getLongs() method to .getTimes() in TimeColumn. by @Sh-Zh-7 in #61 +- Return all columns in TsBlock class by @Sh-Zh-7 in #80 + +## Improvement/Bugfix + +- Fix value filter allSatisfy bug by @liuminghui233 in #41 +- Fix error log caused by ClosedByInterruptException by @shuwenwei in #47 +- Fix the mistaken argument in LZ4 Uncompressor by @jt2594838 in #57 +- Remove duplicate lookups in dictionary encoder by @MrQuansy in #54 +- Optimize SeriesScanUtil by memorizing the order time and satisfied information for each Seq and Unseq Resource by @JackieTien97 in #58 +- Fix TsBlockBuilder bug in AlignedPageReader and PageReader. by @JackieTien97 in #77 +- Fix ZstdUncompressor by @lancelly in #132 +- fix RLBE Encoding for float and double by @gzh23 in #143 +- Fix uncompress page data by @shuwenwei in #161 +- Fix encoder and decoder construction of RLBE by @jt2594838 in #162 +- Fix aligned TimeValuePair npe by @shuwenwei in #173 +- Fix StringStatistics data type by @shuwenwei in #177 +- Fix bug in the conversion of int types to timestamp. by @FearfulTomcat27 in #224 +- Fix error when write aligned tablet with null date by @HTHou in #251 + # Apache TsFile 1.0.0 ## New Features diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index 568746ff0..5b96da353 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt @@ -81,11 +81,6 @@ add_subdirectory(third_party) add_subdirectory(src) -configure_file( - "${PROJECT_SOURCE_DIR}/cmake/config.h.in" - "${PROJECT_BINARY_DIR}/cmake_config.h" -) - add_subdirectory(test) if(TESTS_ENABLED) add_dependencies(TsFile_Test tsfile) diff --git a/cpp/cmake/build_function.cmake b/cpp/cmake/build_function.cmake deleted file mode 100644 index a1161690a..000000000 --- a/cpp/cmake/build_function.cmake +++ /dev/null @@ -1,34 +0,0 @@ - -function(unittest_binary_link target_test target_src_files) - set(LOGGER_SRC_DIR ${PROJECT_SOURCE_DIR}/src/common/logger) - include_directories(${LOGGER_SRC_DIR}) - aux_source_directory(${LOGGER_SRC_DIR} logger_src_files) - set(target_files ${target_src_files} ${logger_src_files}) - - add_executable(${target_test} ${target_files}) - - # add_executable(${target_test} ${target_src_files}) - target_link_libraries(${target_test} gtest) - target_link_libraries(${target_test} z) - target_link_libraries(${target_test} lz4) - set_target_properties(${target_test} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${UNITTEST_BIN_DIR}) - set_target_properties(${target_test} PROPERTIES COMPILE_FLAGS "-pthread" LINK_FLAGS "-pthread") -endfunction(unittest_binary_link) - -function(add_statis_objtarget target_name target_src_list target_inc_list target_defile_list target_compile_list target_link_list) - message("add_statis_objtarget(target_name=${target_name}, target_src_list=${${target_src_list}})") - add_library(${target_name} OBJECT ${${target_src_list}}) - # # redefine_file_macro(${target_name}) - # if (target_inc_list) - # target_include_directories(${target_name} PUBLIC ${${target_inc_list}} ${PROJECT_INCLUDE_DIR}) - # endif() - if (target_defile_list) - target_compile_definitions(${target_name} PRIVATE ${target_defile_list}) - endif() - if (target_compile_list) - target_compile_options(${target_name} PRIVATE ${target_compile_list}) - endif() - if (target_link_list) - target_link_options(${target_name} PRIVATE ${target_link_list}) - endif() -endfunction(add_statis_objtarget) diff --git a/cpp/cmake/cmake_config.h b/cpp/cmake/cmake_config.h deleted file mode 100644 index d92824c67..000000000 --- a/cpp/cmake/cmake_config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * License); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -/* #undef ENABLE_TEST */ diff --git a/cpp/cmake/config.h.in b/cpp/cmake/config.h.in deleted file mode 100644 index 3e07b4e6b..000000000 --- a/cpp/cmake/config.h.in +++ /dev/null @@ -1 +0,0 @@ -#cmakedefine ENABLE_TEST diff --git a/cpp/src/CMakeLists.txt b/cpp/src/CMakeLists.txt index 13c9a6eab..ce0e21efc 100644 --- a/cpp/src/CMakeLists.txt +++ b/cpp/src/CMakeLists.txt @@ -17,7 +17,6 @@ specific language governing permissions and limitations under the License. ]] message("Running in src diectory") -include(${PROJECT_SOURCE_DIR}/cmake/build_function.cmake) if (${COV_ENABLED}) add_compile_options(-fprofile-arcs -ftest-coverage) endif () diff --git a/docs/src/.vuepress/public/bg.svg b/docs/src/.vuepress/public/bg.svg index 50e3c1840..ec4469110 100644 --- a/docs/src/.vuepress/public/bg.svg +++ b/docs/src/.vuepress/public/bg.svg @@ -1,3 +1,24 @@ + + @@ -31,4 +52,4 @@ - \ No newline at end of file + diff --git a/docs/src/.vuepress/public/home_icon.svg b/docs/src/.vuepress/public/home_icon.svg index 2a0731a53..b34fe6c60 100644 --- a/docs/src/.vuepress/public/home_icon.svg +++ b/docs/src/.vuepress/public/home_icon.svg @@ -1 +1,22 @@ - \ No newline at end of file + + + diff --git a/docs/src/.vuepress/public/logo.svg b/docs/src/.vuepress/public/logo.svg index d98ddae9a..1cc9f8aec 100644 --- a/docs/src/.vuepress/public/logo.svg +++ b/docs/src/.vuepress/public/logo.svg @@ -1 +1,22 @@ - \ No newline at end of file + + + diff --git a/docs/src/.vuepress/public/s.svg b/docs/src/.vuepress/public/s.svg index 7b603e929..d2d1364c7 100644 --- a/docs/src/.vuepress/public/s.svg +++ b/docs/src/.vuepress/public/s.svg @@ -1,3 +1,24 @@ + + @@ -48,4 +69,4 @@ - \ No newline at end of file + diff --git a/docs/src/.vuepress/styles/config.scss b/docs/src/.vuepress/styles/config.scss index f91061d7b..434e53e05 100644 --- a/docs/src/.vuepress/styles/config.scss +++ b/docs/src/.vuepress/styles/config.scss @@ -1,3 +1,22 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + */ + // you can change config here $colors: #c0392b, #d35400, #f39c12, #27ae60, #16a085, #2980b9, #8e44ad, #2c3e50, #7f8c8d !default; diff --git a/docs/src/.vuepress/styles/index.scss b/docs/src/.vuepress/styles/index.scss index 27aa83299..0796469e1 100644 --- a/docs/src/.vuepress/styles/index.scss +++ b/docs/src/.vuepress/styles/index.scss @@ -1,3 +1,22 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + */ + // place your custom styles here #main-description { max-width: 55rem; @@ -5,14 +24,14 @@ .vp-site-name{ display: none; -} +} // .vp-hero-info { // padding-inline: 10.5rem; // } .vp-feature-header, .vp-feature-title { color: var(--theme-color-light); } -.home.project +.home.project .theme-hope-content { max-width: unset; } @@ -26,4 +45,4 @@ .theme-hope-content:not(.custom)>p, .theme-hope-content:not(.custom)>ul p, .theme-hope-content:not(.custom)>ol p { text-align: start !important; -} \ No newline at end of file +} diff --git a/docs/src/.vuepress/styles/palette.scss b/docs/src/.vuepress/styles/palette.scss index 006c76b6a..d1b4079e6 100644 --- a/docs/src/.vuepress/styles/palette.scss +++ b/docs/src/.vuepress/styles/palette.scss @@ -1,3 +1,22 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + */ + // you can change colors here $theme-color: #6738BD; -$home-page-width: 1280px; \ No newline at end of file +$home-page-width: 1280px; diff --git a/docs/src/Download/README.md b/docs/src/Download/README.md index 2b6949183..cf110101e 100644 --- a/docs/src/Download/README.md +++ b/docs/src/Download/README.md @@ -1,3 +1,24 @@ + + # Download Our GitHub page: https://github.com/apache/tsfile @@ -15,4 +36,4 @@ Add the following dependency section to your pom.xml: ``` -The release note of 1.0.0 can be found in the Archives of the Apache Software Foundation: https://github.com/apache/tsfile/releases/tag/v1.0.0 \ No newline at end of file +The release note of 1.0.0 can be found in the Archives of the Apache Software Foundation: https://github.com/apache/tsfile/releases/tag/v1.0.0 diff --git a/docs/src/zh/Download/README.md b/docs/src/zh/Download/README.md index e79a8f03e..63493dc81 100644 --- a/docs/src/zh/Download/README.md +++ b/docs/src/zh/Download/README.md @@ -1,3 +1,24 @@ + + # 下载 GitHub 仓库地址:https://github.com/apache/tsfile @@ -15,4 +36,4 @@ GitHub 仓库地址:https://github.com/apache/tsfile ``` -该版本的特性可点击查看: https://github.com/apache/tsfile/releases/tag/v1.0.0 \ No newline at end of file +该版本的特性可点击查看: https://github.com/apache/tsfile/releases/tag/v1.0.0 diff --git a/pom.xml b/pom.xml index 196d0f6c5..d58b2b09f 100644 --- a/pom.xml +++ b/pom.xml @@ -117,7 +117,10 @@ **/LICENSE-binary **/*.json - docs/** + + docs/src/zh/README.md + docs/src/README.md + docs/pnpm-lock.yaml **/cmake/** **/build/** @@ -182,7 +185,8 @@ org.apache.maven.plugins maven-source-plugin - 3.3.1 + + 3.2.1 au.com.acegi