You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ro...@apache.org on 2021/09/16 10:11:11 UTC
[iotdb] branch nested-operations updated (2aad08e -> 0560e67)
This is an automated email from the ASF dual-hosted git repository.
rong pushed a change to branch nested-operations
in repository https://gitbox.apache.org/repos/asf/iotdb.git.
from 2aad08e fix datatype infer
add 820101c change default value for timed flush memtable and timed close tsfile (#3875)
add d7fd960 Update docs for time partition and auto create metadata (#3878)
add 79f29f4 [doc] Update some out-of-date content in README and add some time zone usage (#3880)
add b92a16a [IOTDB-1601]Add Like and REGEXP statement user guide in DML (#3889)
add 5c48d3a [IOTDB-1565]set system to readonly / writable Adaptive cluster (#3885)
add 11d64b8 Update the QuickStart link in Home page (#3898)
add 8626336 [IOTDB-1610] Fix TsFileRewriteTool writing incorrect data file (#3896) (#3897)
add bffb799 Fix website cannot update rel/0.12 documents (#3902)
add 88cce66 Add auto-create-schema, time partition and dbeaver user guide to the website (#3904)
add c8dee24 [IOTDB-1534] fix surefire ci by increasing memory (#3899)
add 9931149 Revert "[IOTDB-1534] fix surefire ci by increasing memory (#3899)" (#3908)
add adb1cbc [IOTDB-1562] Fix incorrect exception processing in insertXXX() API (#3758)
add 3333f3b [IOTDB-1450] Deletion should only delete related time partitions (#3439)
add 1ad4b3d [IOTDB-1564] Make hearbeat and election timeout parameters be configurable (#3797)
add 2400c36 [ISSUE-3856] refine exception handling logic in commitTo in Raft… (#3848)
add ba988ee [IOTDB-1600] Support InsertRowsOfOneDevicePlan in cluster (#3877)
add 3877d00 [IOTDB-1630] Compile cpp client on ARM Linux (#3912)
add aaa96b9 Modify user manual about datatime-input (#3901)
add 2f279dd [IOTDB-1619] There is an error msg when I restart iotdb-cluster (#3930)
add d5ebc3c [IOTDB-1275] Fix backgroup exec for cli -e function causes an infinite loop in writing output file (#3932)
add 601df56 [IOTDB-1659] Fix Windows CLI cannot set maxPRC less than or equal to 0 (#3936)
add a885ec9 [IOTDB-1670] Fix cli -e mode didn't fetch timestamp_precision from server (#3942)
add 3cb08e0 [IOTDB-1543] LastCache for Template and Vector (#3796)
add b76a799 [IOTDB-1632] fill only if the value is missing (#3914)
add 922cc09 [IOTDB-1674] Fix command interpret error causing somaxconn warning failed (#3951)
add 0163f03 [IoTDB-1671] modify dockerfile and Download file for releasing v0.12.2 (#3946)
add 177913d [IOTDB-1629] fix the NPE when using value fill in cluster mode (#3913)
add 511cb00 [IOTDB-1666] Implement vector support align by device (#3916)
add 184fd6f [ISSUE-3945] Fuzzy query support multiDevices and alignByDevice Dataset (#3958)
add 0e1edde [IOTDB-1289] fix CPP mem-leak in SessionExample.cpp insertRecords() (#3960)
add 28ce04e [IOTDB-1677] not generate file apache-iotdb-0.x.x-client-cpp-linux-x86_64-bin.zip.sha512 (#3961)
add 255bc61 [IOTDB-1484]Auto create schema functionality with e2e testing in cluster (#3879)
add d97128f [IOTDB-1287] Fix C++ class Session has 2 useless sort() (#3966)
add 5f0dcd9 [IOTDB-1679] client-cpp: Session descontruction need release server resource. (#3964)
add 45b3d6f [IOTDB-1678] Fix client-cpp session bug: can cause connection leak. (#3962)
add d5e59d2 Change the way of calculating vector avg points (#3970)
add e5d86c9 [IOTDB-1690] Fix align by device type cast error (#3971)
new 3934559 Merge branch 'master' of github.com:apache/iotdb into nested-operations
new 0560e67 add tests: testNestedRowByRowUDFExpressions & testNestedArithmeticExpressions
The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
README.md | 86 +++--
README_ZH.md | 86 +++--
RELEASE_NOTES.md | 2 +-
.../antlr4/org/apache/iotdb/db/qp/sql/SqlBase.g4 | 6 +-
.../java/org/apache/iotdb/cli/AbstractCli.java | 3 +
cli/src/main/java/org/apache/iotdb/cli/Cli.java | 3 +-
cli/src/main/java/org/apache/iotdb/cli/WinCli.java | 13 +-
.../org/apache/iotdb/cli/StartClientScriptIT.java | 27 ++
client-cpp/pom.xml | 18 +
client-cpp/src/main/Session.cpp | 12 +-
client-cpp/src/main/Session.h | 4 +-
.../resources/conf/iotdb-cluster.properties | 13 +-
.../client/sync/SyncDataHeartbeatClient.java | 2 +-
.../client/sync/SyncMetaHeartbeatClient.java | 3 +-
.../apache/iotdb/cluster/config/ClusterConfig.java | 20 ++
.../iotdb/cluster/config/ClusterConstant.java | 30 +-
.../iotdb/cluster/config/ClusterDescriptor.java | 10 +
.../iotdb/cluster/log/applier/BaseApplier.java | 94 ++++--
.../iotdb/cluster/log/applier/DataLogApplier.java | 66 +++-
.../iotdb/cluster/log/manage/RaftLogManager.java | 115 ++++---
.../serializable/SyncLogDequeSerializer.java | 9 +-
.../apache/iotdb/cluster/metadata/CMManager.java | 79 ++---
.../slot/SlotTimePartitionFilter.java} | 38 ++-
.../cluster/query/ClusterDataQueryExecutor.java | 2 +-
.../iotdb/cluster/query/ClusterPlanExecutor.java | 23 +-
.../iotdb/cluster/query/ClusterPlanRouter.java | 36 ++
.../iotdb/cluster/query/ClusterQueryRouter.java | 14 +-
.../iotdb/cluster/query/LocalQueryExecutor.java | 6 +-
.../query/dataset/ClusterAlignByDeviceDataSet.java | 61 ----
.../cluster/query/fill/ClusterFillExecutor.java | 53 ++-
.../cluster/query/reader/ClusterReaderFactory.java | 12 +-
.../query/reader/mult/RemoteMultSeriesReader.java | 3 +-
.../apache/iotdb/cluster/server/ClientServer.java | 9 +-
.../apache/iotdb/cluster/server/RaftServer.java | 32 +-
.../cluster/server/heartbeat/HeartbeatThread.java | 46 ++-
.../cluster/server/member/DataGroupMember.java | 113 +++++--
.../cluster/server/member/MetaGroupMember.java | 2 +-
.../iotdb/cluster/server/member/RaftMember.java | 2 +-
.../apache/iotdb/cluster/utils/PartitionUtils.java | 4 +-
.../cluster/log/applier/DataLogApplierTest.java | 45 ++-
.../query/{ => fill}/ClusterFillExecutorTest.java | 69 +++-
.../server/heartbeat/HeartbeatThreadTest.java | 5 +-
.../iotdb/cluster/server/member/BaseMember.java | 10 +-
.../cluster/server/member/MetaGroupMemberTest.java | 6 +-
compile-tools/pom.xml | 24 ++
distribution/pom.xml | 2 +-
...le-0.12.1-cluster => Dockerfile-0.12.2-cluster} | 10 +-
...ckerfile-0.12.1-node => Dockerfile-0.12.2-node} | 10 +-
docs/Download/README.md | 42 +--
docs/UserGuide/API/Time-zone.md | 6 +
docs/UserGuide/Appendix/Config-Manual.md | 81 +++++
docs/UserGuide/Cluster/Cluster-Setup-Example.md | 2 +-
docs/UserGuide/Cluster/Cluster-Setup.md | 21 +-
.../UserGuide/Data-Concept/Auto-Create-MetaData.md | 107 ++++++
docs/UserGuide/Data-Concept/Data-Type.md | 14 +-
docs/UserGuide/Data-Concept/Encoding.md | 2 +-
docs/UserGuide/Data-Concept/Time-Partition.md | 64 ++++
.../DML-Data-Manipulation-Language.md | 74 ++++
docs/zh/Download/README.md | 40 +--
docs/zh/UserGuide/API/Time-zone.md | 8 +-
docs/zh/UserGuide/Appendix/Config-Manual.md | 81 +++++
docs/zh/UserGuide/Cluster/Cluster-Setup-Example.md | 2 +-
docs/zh/UserGuide/Cluster/Cluster-Setup.md | 22 +-
.../UserGuide/Data-Concept/Auto-Create-MetaData.md | 107 ++++++
docs/zh/UserGuide/Data-Concept/Data-Type.md | 14 +-
docs/zh/UserGuide/Data-Concept/Encoding.md | 4 +-
docs/zh/UserGuide/Data-Concept/Time-Partition.md | 64 ++++
.../DML-Data-Manipulation-Language.md | 77 +++++
example/client-cpp-example/pom.xml | 15 +
example/client-cpp-example/src/SessionExample.cpp | 15 +-
.../iotdb/AlignedTimeseriesSessionExample.java | 6 +-
.../iotdb/HybridTimeseriesSessionExample.java | 5 +-
.../iotdb/tsfile/TsFileWriteVectorWithTablet.java | 2 +-
.../resources/conf/iotdb-engine.properties | 24 +-
server/src/assembly/resources/conf/iotdb-env.sh | 4 +-
.../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 14 +-
.../org/apache/iotdb/db/conf/OperationType.java | 65 ++++
.../org/apache/iotdb/db/engine/StorageEngine.java | 17 +-
.../db/engine/cache/TimeSeriesMetadataCache.java | 121 +++----
.../iotdb/db/engine/memtable/AbstractMemTable.java | 21 +-
.../db/engine/memtable/PrimitiveMemTable.java | 3 +-
.../db/engine/querycontext/ReadOnlyMemChunk.java | 19 +-
.../engine/storagegroup/StorageGroupProcessor.java | 171 +++++-----
.../db/engine/storagegroup/TsFileProcessor.java | 21 +-
.../virtualSg/VirtualStorageGroupManager.java | 9 +-
.../org/apache/iotdb/db/metadata/MManager.java | 373 ++++++++++++++-------
.../java/org/apache/iotdb/db/metadata/MTree.java | 110 +++---
.../org/apache/iotdb/db/metadata/PartialPath.java | 21 +-
.../iotdb/db/metadata/VectorPartialPath.java | 68 +++-
.../db/metadata/lastCache/LastCacheManager.java | 331 ++++++++++++++++++
.../container/ILastCacheContainer.java} | 56 ++--
.../lastCache/container/LastCacheContainer.java | 118 +++++++
.../lastCache/container/value/ILastCacheValue.java | 27 +-
.../container/value/UnaryLastCacheValue.java | 106 ++++++
.../container/value/VectorLastCacheValue.java | 86 +++++
.../iotdb/db/metadata/mnode/EntityMNode.java | 25 ++
.../iotdb/db/metadata/mnode/IEntityMNode.java | 6 +
.../iotdb/db/metadata/mnode/IMeasurementMNode.java | 9 +-
.../iotdb/db/metadata/mnode/MeasurementMNode.java | 51 +--
.../apache/iotdb/db/metadata/tag/TagManager.java | 5 +-
.../iotdb/db/metadata/template/Template.java | 2 +-
.../apache/iotdb/db/qp/executor/IPlanExecutor.java | 9 +-
.../apache/iotdb/db/qp/executor/PlanExecutor.java | 27 +-
.../iotdb/db/qp/logical/crud/LikeOperator.java | 4 +
.../iotdb/db/qp/logical/crud/QueryOperator.java | 16 +-
.../iotdb/db/qp/logical/crud/RegexpOperator.java | 4 +
.../org/apache/iotdb/db/qp/physical/BatchPlan.java | 9 +
.../apache/iotdb/db/qp/physical/PhysicalPlan.java | 11 +-
.../iotdb/db/qp/physical/crud/DeletePlan.java | 15 +
.../db/qp/physical/crud/InsertMultiTabletPlan.java | 19 +-
.../iotdb/db/qp/physical/crud/InsertRowPlan.java | 11 +-
.../physical/crud/InsertRowsOfOneDevicePlan.java | 89 ++++-
.../iotdb/db/qp/physical/crud/InsertRowsPlan.java | 15 +-
.../iotdb/db/qp/physical/crud/LastQueryPlan.java | 2 -
.../iotdb/db/qp/physical/crud/QueryPlan.java | 2 +-
.../db/qp/physical/crud/RawDataQueryPlan.java | 30 +-
.../qp/physical/sys/CreateMultiTimeSeriesPlan.java | 12 +-
.../db/qp/physical/sys/DeleteTimeSeriesPlan.java | 15 +
.../db/qp/physical/sys/SetSystemModePlan.java | 33 ++
.../apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java | 65 ++--
.../qp/strategy/optimizer/ConcatPathOptimizer.java | 14 +
.../db/query/dataset/AlignByDeviceDataSet.java | 54 +--
.../dataset/RawQueryDataSetWithoutValueFilter.java | 6 +-
.../iotdb/db/query/executor/FillQueryExecutor.java | 94 +++++-
.../iotdb/db/query/executor/LastQueryExecutor.java | 34 +-
.../iotdb/db/query/executor/QueryRouter.java | 28 +-
.../query/expression/unary/TimeSeriesOperand.java | 2 +-
.../query/timegenerator/ServerTimeGenerator.java | 7 -
.../org/apache/iotdb/db/service/TSServiceImpl.java | 146 ++++++--
.../apache/iotdb/db/tools/TsFileRewriteTool.java | 11 +-
.../db/tools/upgrade/TsFileOnlineUpgradeTool.java | 2 +-
.../org/apache/iotdb/db/utils/FileLoaderUtils.java | 34 +-
.../java/org/apache/iotdb/db/utils/MemUtils.java | 2 +-
.../iotdb/db/writelog/recover/LogReplayer.java | 4 +-
.../engine/modification/DeletionFileNodeTest.java | 109 ++++--
.../db/engine/modification/DeletionQueryTest.java | 77 +++--
.../storagegroup/StorageGroupProcessorTest.java | 2 +-
.../iotdb/db/engine/storagegroup/TTLTest.java | 4 +-
.../apache/iotdb/db/integration/IoTDBFillIT.java | 34 +-
.../{IoTDBLikeIT.java => IoTDBFuzzyQueryIT.java} | 125 ++++++-
.../apache/iotdb/db/integration/IoTDBLastIT.java | 28 +-
.../iotdb/db/integration/IoTDBNestedQueryIT.java | 176 ++++++++++
.../integration/IoTDBUDTFAlignByTimeQueryIT.java | 6 +-
.../aggregation/IoTDBAggregationSmallDataIT.java | 17 +-
.../iotdb/db/metadata/MManagerAdvancedTest.java | 16 +-
.../qp/physical/InsertRowsOfOneDevicePlanTest.java | 75 +++++
.../iotdb/db/utils/TsFileRewriteToolTest.java | 109 ++++++
.../java/org/apache/iotdb/session/Session.java | 21 +-
.../org/apache/iotdb/session/SessionUtils.java | 4 +-
.../apache/iotdb/session/IoTDBSessionSimpleIT.java | 286 +++++++++++++++-
.../apache/iotdb/session/IoTDBSessionVectorIT.java | 5 +-
site/pom.xml | 10 +
site/src/main/.vuepress/config.js | 38 ++-
.../.vuepress/public/img/contributor-avatar/cw.jpg | Bin 163226 -> 163225 bytes
.../.vuepress/theme/global-components/IoTDB.vue | 2 +-
.../.vuepress/theme/global-components/IoTDBZH.vue | 2 +-
.../test/java/org/apache/iotdb/db/sql/Cases.java | 303 +++++++++++++++++
.../java/org/apache/iotdb/db/sql/ClusterIT.java | 9 +-
.../iotdb/tsfile/read/TsFileSequenceReader.java | 4 +
.../tsfile/v2/read/TsFileSequenceReaderForV2.java | 4 -
.../tsfile/write/chunk/ChunkGroupWriterImpl.java | 2 +-
.../tsfile/write/chunk/VectorChunkWriterImpl.java | 8 +-
.../apache/iotdb/tsfile/write/record/Tablet.java | 16 +-
.../tsfile/write/schema/IMeasurementSchema.java | 14 +-
.../tsfile/write/schema/MeasurementSchema.java | 14 +-
.../write/schema/VectorMeasurementSchema.java | 96 +++---
.../write/writer/VectorMeasurementSchemaStub.java | 14 +-
167 files changed, 5058 insertions(+), 1494 deletions(-)
copy cluster/src/main/java/org/apache/iotdb/cluster/{query/filter/SlotSgFilter.java => partition/slot/SlotTimePartitionFilter.java} (52%)
delete mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/query/dataset/ClusterAlignByDeviceDataSet.java
rename cluster/src/test/java/org/apache/iotdb/cluster/query/{ => fill}/ClusterFillExecutorTest.java (69%)
copy docker/src/main/{Dockerfile-0.12.1-cluster => Dockerfile-0.12.2-cluster} (85%)
copy docker/src/main/{Dockerfile-0.12.1-node => Dockerfile-0.12.2-node} (83%)
create mode 100644 docs/UserGuide/Data-Concept/Auto-Create-MetaData.md
create mode 100644 docs/UserGuide/Data-Concept/Time-Partition.md
create mode 100644 docs/zh/UserGuide/Data-Concept/Auto-Create-MetaData.md
create mode 100644 docs/zh/UserGuide/Data-Concept/Time-Partition.md
create mode 100644 server/src/main/java/org/apache/iotdb/db/conf/OperationType.java
create mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/lastCache/LastCacheManager.java
copy server/src/main/java/org/apache/iotdb/db/metadata/{mnode/IMeasurementMNode.java => lastCache/container/ILastCacheContainer.java} (51%)
create mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/lastCache/container/LastCacheContainer.java
copy tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/IPointReader.java => server/src/main/java/org/apache/iotdb/db/metadata/lastCache/container/value/ILastCacheValue.java (59%)
create mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/lastCache/container/value/UnaryLastCacheValue.java
create mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/lastCache/container/value/VectorLastCacheValue.java
rename server/src/test/java/org/apache/iotdb/db/integration/{IoTDBLikeIT.java => IoTDBFuzzyQueryIT.java} (57%)
create mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBNestedQueryIT.java
create mode 100644 server/src/test/java/org/apache/iotdb/db/qp/physical/InsertRowsOfOneDevicePlanTest.java
[iotdb] 01/02: Merge branch 'master' of github.com:apache/iotdb
into nested-operations
Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rong pushed a commit to branch nested-operations
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 3934559a4ce167311de7ac15c73d1447b4188223
Merge: 2aad08e e5d86c9
Author: Steve Yurong Su <ro...@apache.org>
AuthorDate: Thu Sep 16 14:16:06 2021 +0800
Merge branch 'master' of github.com:apache/iotdb into nested-operations
README.md | 86 +++--
README_ZH.md | 86 +++--
RELEASE_NOTES.md | 2 +-
.../java/org/apache/iotdb/cli/AbstractCli.java | 3 +
cli/src/main/java/org/apache/iotdb/cli/Cli.java | 3 +-
cli/src/main/java/org/apache/iotdb/cli/WinCli.java | 13 +-
.../org/apache/iotdb/cli/StartClientScriptIT.java | 27 ++
client-cpp/pom.xml | 18 +
client-cpp/src/main/Session.cpp | 12 +-
client-cpp/src/main/Session.h | 4 +-
.../resources/conf/iotdb-cluster.properties | 13 +-
.../client/sync/SyncDataHeartbeatClient.java | 2 +-
.../client/sync/SyncMetaHeartbeatClient.java | 3 +-
.../apache/iotdb/cluster/config/ClusterConfig.java | 20 ++
.../iotdb/cluster/config/ClusterConstant.java | 30 +-
.../iotdb/cluster/config/ClusterDescriptor.java | 10 +
.../iotdb/cluster/log/applier/BaseApplier.java | 94 ++++--
.../iotdb/cluster/log/applier/DataLogApplier.java | 66 +++-
.../iotdb/cluster/log/manage/RaftLogManager.java | 115 ++++---
.../serializable/SyncLogDequeSerializer.java | 9 +-
.../apache/iotdb/cluster/metadata/CMManager.java | 79 ++---
.../partition/slot/SlotTimePartitionFilter.java | 55 +++
.../cluster/query/ClusterDataQueryExecutor.java | 2 +-
.../iotdb/cluster/query/ClusterPlanExecutor.java | 23 +-
.../iotdb/cluster/query/ClusterPlanRouter.java | 36 ++
.../iotdb/cluster/query/ClusterQueryRouter.java | 14 +-
.../iotdb/cluster/query/LocalQueryExecutor.java | 6 +-
.../query/dataset/ClusterAlignByDeviceDataSet.java | 61 ----
.../cluster/query/fill/ClusterFillExecutor.java | 53 ++-
.../cluster/query/reader/ClusterReaderFactory.java | 12 +-
.../query/reader/mult/RemoteMultSeriesReader.java | 3 +-
.../apache/iotdb/cluster/server/ClientServer.java | 9 +-
.../apache/iotdb/cluster/server/RaftServer.java | 32 +-
.../cluster/server/heartbeat/HeartbeatThread.java | 46 ++-
.../cluster/server/member/DataGroupMember.java | 113 +++++--
.../cluster/server/member/MetaGroupMember.java | 2 +-
.../iotdb/cluster/server/member/RaftMember.java | 2 +-
.../apache/iotdb/cluster/utils/PartitionUtils.java | 4 +-
.../cluster/log/applier/DataLogApplierTest.java | 45 ++-
.../query/{ => fill}/ClusterFillExecutorTest.java | 69 +++-
.../server/heartbeat/HeartbeatThreadTest.java | 5 +-
.../iotdb/cluster/server/member/BaseMember.java | 10 +-
.../cluster/server/member/MetaGroupMemberTest.java | 6 +-
compile-tools/pom.xml | 24 ++
distribution/pom.xml | 2 +-
docker/src/main/Dockerfile-0.12.2-cluster | 53 +++
docker/src/main/Dockerfile-0.12.2-node | 45 +++
docs/Download/README.md | 42 +--
docs/UserGuide/API/Time-zone.md | 6 +
docs/UserGuide/Appendix/Config-Manual.md | 81 +++++
docs/UserGuide/Cluster/Cluster-Setup-Example.md | 2 +-
docs/UserGuide/Cluster/Cluster-Setup.md | 21 +-
.../UserGuide/Data-Concept/Auto-Create-MetaData.md | 107 ++++++
docs/UserGuide/Data-Concept/Data-Type.md | 14 +-
docs/UserGuide/Data-Concept/Encoding.md | 2 +-
docs/UserGuide/Data-Concept/Time-Partition.md | 64 ++++
.../DML-Data-Manipulation-Language.md | 74 ++++
docs/zh/Download/README.md | 40 +--
docs/zh/UserGuide/API/Time-zone.md | 8 +-
docs/zh/UserGuide/Appendix/Config-Manual.md | 81 +++++
docs/zh/UserGuide/Cluster/Cluster-Setup-Example.md | 2 +-
docs/zh/UserGuide/Cluster/Cluster-Setup.md | 22 +-
.../UserGuide/Data-Concept/Auto-Create-MetaData.md | 107 ++++++
docs/zh/UserGuide/Data-Concept/Data-Type.md | 14 +-
docs/zh/UserGuide/Data-Concept/Encoding.md | 4 +-
docs/zh/UserGuide/Data-Concept/Time-Partition.md | 64 ++++
.../DML-Data-Manipulation-Language.md | 77 +++++
example/client-cpp-example/pom.xml | 15 +
example/client-cpp-example/src/SessionExample.cpp | 15 +-
.../iotdb/AlignedTimeseriesSessionExample.java | 6 +-
.../iotdb/HybridTimeseriesSessionExample.java | 5 +-
.../iotdb/tsfile/TsFileWriteVectorWithTablet.java | 2 +-
.../resources/conf/iotdb-engine.properties | 24 +-
server/src/assembly/resources/conf/iotdb-env.sh | 4 +-
.../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 14 +-
.../org/apache/iotdb/db/conf/OperationType.java | 65 ++++
.../org/apache/iotdb/db/engine/StorageEngine.java | 17 +-
.../db/engine/cache/TimeSeriesMetadataCache.java | 121 +++----
.../iotdb/db/engine/memtable/AbstractMemTable.java | 21 +-
.../db/engine/memtable/PrimitiveMemTable.java | 3 +-
.../db/engine/querycontext/ReadOnlyMemChunk.java | 19 +-
.../engine/storagegroup/StorageGroupProcessor.java | 171 +++++-----
.../db/engine/storagegroup/TsFileProcessor.java | 21 +-
.../virtualSg/VirtualStorageGroupManager.java | 9 +-
.../org/apache/iotdb/db/metadata/MManager.java | 373 ++++++++++++++-------
.../java/org/apache/iotdb/db/metadata/MTree.java | 110 +++---
.../org/apache/iotdb/db/metadata/PartialPath.java | 21 +-
.../iotdb/db/metadata/VectorPartialPath.java | 68 +++-
.../db/metadata/lastCache/LastCacheManager.java | 331 ++++++++++++++++++
.../container/ILastCacheContainer.java} | 56 ++--
.../lastCache/container/LastCacheContainer.java | 118 +++++++
.../container/value/ILastCacheValue.java} | 39 +--
.../container/value/UnaryLastCacheValue.java | 106 ++++++
.../container/value/VectorLastCacheValue.java | 86 +++++
.../iotdb/db/metadata/mnode/EntityMNode.java | 25 ++
.../iotdb/db/metadata/mnode/IEntityMNode.java | 6 +
.../iotdb/db/metadata/mnode/IMeasurementMNode.java | 9 +-
.../iotdb/db/metadata/mnode/MeasurementMNode.java | 51 +--
.../apache/iotdb/db/metadata/tag/TagManager.java | 5 +-
.../iotdb/db/metadata/template/Template.java | 2 +-
.../apache/iotdb/db/qp/executor/IPlanExecutor.java | 9 +-
.../apache/iotdb/db/qp/executor/PlanExecutor.java | 27 +-
.../iotdb/db/qp/logical/crud/LikeOperator.java | 4 +
.../iotdb/db/qp/logical/crud/QueryOperator.java | 16 +-
.../iotdb/db/qp/logical/crud/RegexpOperator.java | 4 +
.../org/apache/iotdb/db/qp/physical/BatchPlan.java | 9 +
.../apache/iotdb/db/qp/physical/PhysicalPlan.java | 11 +-
.../iotdb/db/qp/physical/crud/DeletePlan.java | 15 +
.../db/qp/physical/crud/InsertMultiTabletPlan.java | 19 +-
.../iotdb/db/qp/physical/crud/InsertRowPlan.java | 11 +-
.../physical/crud/InsertRowsOfOneDevicePlan.java | 89 ++++-
.../iotdb/db/qp/physical/crud/InsertRowsPlan.java | 15 +-
.../iotdb/db/qp/physical/crud/LastQueryPlan.java | 2 -
.../iotdb/db/qp/physical/crud/QueryPlan.java | 2 +-
.../db/qp/physical/crud/RawDataQueryPlan.java | 30 +-
.../qp/physical/sys/CreateMultiTimeSeriesPlan.java | 12 +-
.../db/qp/physical/sys/DeleteTimeSeriesPlan.java | 15 +
.../db/qp/physical/sys/SetSystemModePlan.java | 33 ++
.../qp/strategy/optimizer/ConcatPathOptimizer.java | 14 +
.../db/query/dataset/AlignByDeviceDataSet.java | 54 +--
.../dataset/RawQueryDataSetWithoutValueFilter.java | 6 +-
.../iotdb/db/query/executor/FillQueryExecutor.java | 94 +++++-
.../iotdb/db/query/executor/LastQueryExecutor.java | 34 +-
.../iotdb/db/query/executor/QueryRouter.java | 28 +-
.../query/expression/unary/TimeSeriesOperand.java | 2 +-
.../query/timegenerator/ServerTimeGenerator.java | 7 -
.../org/apache/iotdb/db/service/TSServiceImpl.java | 146 ++++++--
.../apache/iotdb/db/tools/TsFileRewriteTool.java | 11 +-
.../db/tools/upgrade/TsFileOnlineUpgradeTool.java | 2 +-
.../org/apache/iotdb/db/utils/FileLoaderUtils.java | 34 +-
.../java/org/apache/iotdb/db/utils/MemUtils.java | 2 +-
.../iotdb/db/writelog/recover/LogReplayer.java | 4 +-
.../engine/modification/DeletionFileNodeTest.java | 109 ++++--
.../db/engine/modification/DeletionQueryTest.java | 77 +++--
.../storagegroup/StorageGroupProcessorTest.java | 2 +-
.../iotdb/db/engine/storagegroup/TTLTest.java | 4 +-
.../apache/iotdb/db/integration/IoTDBFillIT.java | 34 +-
.../{IoTDBLikeIT.java => IoTDBFuzzyQueryIT.java} | 125 ++++++-
.../apache/iotdb/db/integration/IoTDBLastIT.java | 28 +-
.../aggregation/IoTDBAggregationSmallDataIT.java | 17 +-
.../iotdb/db/metadata/MManagerAdvancedTest.java | 16 +-
.../qp/physical/InsertRowsOfOneDevicePlanTest.java | 75 +++++
.../iotdb/db/utils/TsFileRewriteToolTest.java | 109 ++++++
.../java/org/apache/iotdb/session/Session.java | 21 +-
.../org/apache/iotdb/session/SessionUtils.java | 4 +-
.../apache/iotdb/session/IoTDBSessionSimpleIT.java | 286 +++++++++++++++-
.../apache/iotdb/session/IoTDBSessionVectorIT.java | 5 +-
site/pom.xml | 10 +
site/src/main/.vuepress/config.js | 38 ++-
.../.vuepress/public/img/contributor-avatar/cw.jpg | Bin 163226 -> 163225 bytes
.../.vuepress/theme/global-components/IoTDB.vue | 2 +-
.../.vuepress/theme/global-components/IoTDBZH.vue | 2 +-
.../test/java/org/apache/iotdb/db/sql/Cases.java | 303 +++++++++++++++++
.../java/org/apache/iotdb/db/sql/ClusterIT.java | 9 +-
.../iotdb/tsfile/read/TsFileSequenceReader.java | 4 +
.../tsfile/v2/read/TsFileSequenceReaderForV2.java | 4 -
.../tsfile/write/chunk/ChunkGroupWriterImpl.java | 2 +-
.../tsfile/write/chunk/VectorChunkWriterImpl.java | 8 +-
.../apache/iotdb/tsfile/write/record/Tablet.java | 16 +-
.../tsfile/write/schema/IMeasurementSchema.java | 14 +-
.../tsfile/write/schema/MeasurementSchema.java | 14 +-
.../write/schema/VectorMeasurementSchema.java | 96 +++---
.../write/writer/VectorMeasurementSchemaStub.java | 14 +-
163 files changed, 4956 insertions(+), 1450 deletions(-)
diff --cc server/src/main/java/org/apache/iotdb/db/query/expression/unary/TimeSeriesOperand.java
index b01f608,52bac21..4844cff
--- a/server/src/main/java/org/apache/iotdb/db/query/expression/unary/TimeSeriesOperand.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/expression/unary/TimeSeriesOperand.java
@@@ -76,46 -66,7 +76,46 @@@ public class TimeSeriesOperand extends
}
@Override
+ public void constructUdfExecutors(
+ Map<String, UDTFExecutor> expressionName2Executor, ZoneId zoneId) {
+ // nothing to do
+ }
+
+ @Override
+ public void updateStatisticsForMemoryAssigner(LayerMemoryAssigner memoryAssigner) {
+ memoryAssigner.increaseExpressionReference(this);
+ }
+
+ @Override
+ public IntermediateLayer constructIntermediateLayer(
+ long queryId,
+ UDTFPlan udtfPlan,
+ RawQueryInputLayer rawTimeSeriesInputLayer,
+ Map<Expression, IntermediateLayer> expressionIntermediateLayerMap,
+ Map<Expression, TSDataType> expressionDataTypeMap,
+ LayerMemoryAssigner memoryAssigner)
+ throws QueryProcessException {
+ if (!expressionIntermediateLayerMap.containsKey(this)) {
+ float memoryBudgetInMB = memoryAssigner.assign();
+
+ LayerPointReader parentLayerPointReader =
+ rawTimeSeriesInputLayer.constructPointReader(udtfPlan.getReaderIndex(path.getFullPath()));
+ expressionDataTypeMap.put(this, parentLayerPointReader.getDataType());
+
+ expressionIntermediateLayerMap.put(
+ this,
+ memoryAssigner.getReference(this) == 1
+ ? new SingleInputColumnSingleReferenceIntermediateLayer(
+ this, queryId, memoryBudgetInMB, parentLayerPointReader)
+ : new SingleInputColumnMultiReferenceIntermediateLayer(
+ this, queryId, memoryBudgetInMB, parentLayerPointReader));
+ }
+
+ return expressionIntermediateLayerMap.get(this);
+ }
+
+ @Override
public String toString() {
- return path.isMeasurementAliasExists() ? path.getFullPathWithAlias() : path.getFullPath();
+ return path.isMeasurementAliasExists() ? path.getFullPathWithAlias() : path.getExactFullPath();
}
}
[iotdb] 02/02: add tests: testNestedRowByRowUDFExpressions &
testNestedArithmeticExpressions
Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rong pushed a commit to branch nested-operations
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 0560e67ba395e990467a90132fa6a62fb4fabf25
Author: Steve Yurong Su <ro...@apache.org>
AuthorDate: Thu Sep 16 18:10:32 2021 +0800
add tests: testNestedRowByRowUDFExpressions & testNestedArithmeticExpressions
---
.../antlr4/org/apache/iotdb/db/qp/sql/SqlBase.g4 | 6 +-
.../apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java | 65 +++++---
.../iotdb/db/integration/IoTDBNestedQueryIT.java | 176 +++++++++++++++++++++
.../integration/IoTDBUDTFAlignByTimeQueryIT.java | 6 +-
4 files changed, 222 insertions(+), 31 deletions(-)
diff --git a/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/SqlBase.g4 b/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/SqlBase.g4
index 3f6fb5f..d0d4185 100644
--- a/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/SqlBase.g4
+++ b/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/SqlBase.g4
@@ -124,11 +124,11 @@ resultColumn
;
expression
- : LR_BRACKET unary=expression RR_BRACKET
- | (PLUS | MINUS) unary=expression
+ : LR_BRACKET unaryInBracket=expression RR_BRACKET
+ | (PLUS | MINUS) unaryAfterSign=expression
| leftExpression=expression (STAR | DIV | MOD) rightExpression=expression
| leftExpression=expression (PLUS | MINUS) rightExpression=expression
- | functionName=suffixPath LR_BRACKET expression (COMMA expression)* functionAttribute* RR_BRACKET
+ | functionName=ID LR_BRACKET expression (COMMA expression)* functionAttribute* RR_BRACKET
| suffixPath
| literal=SINGLE_QUOTE_STRING_LITERAL
;
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java b/server/src/main/java/org/apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java
index 50052f5..5e611ff 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java
@@ -1332,40 +1332,55 @@ public class IoTDBSqlVisitor extends SqlBaseBaseVisitor<Operator> {
@SuppressWarnings("squid:S3776")
private Expression parseExpression(ExpressionContext context) {
- // unary
+ // LR_BRACKET unaryInBracket=expression RR_BRACKET
+ if (context.unaryInBracket != null) {
+ return parseExpression(context.unaryInBracket);
+ }
+
+ // (PLUS | MINUS) unaryAfterSign=expression
+ if (context.unaryAfterSign != null) {
+ return context.MINUS() != null
+ ? new NegationExpression(parseExpression(context.unaryAfterSign))
+ : parseExpression(context.unaryAfterSign);
+ }
+
+ // leftExpression=expression (STAR | DIV | MOD) rightExpression=expression
+ // leftExpression=expression (PLUS | MINUS) rightExpression=expression
+ if (context.leftExpression != null && context.rightExpression != null) {
+ Expression leftExpression = parseExpression(context.leftExpression);
+ Expression rightExpression = parseExpression(context.rightExpression);
+ if (context.STAR() != null) {
+ return new MultiplicationExpression(leftExpression, rightExpression);
+ }
+ if (context.DIV() != null) {
+ return new DivisionExpression(leftExpression, rightExpression);
+ }
+ if (context.MOD() != null) {
+ return new ModuloExpression(leftExpression, rightExpression);
+ }
+ if (context.PLUS() != null) {
+ return new AdditionExpression(leftExpression, rightExpression);
+ }
+ if (context.MINUS() != null) {
+ return new SubtractionExpression(leftExpression, rightExpression);
+ }
+ }
+
+ // functionName=suffixPath LR_BRACKET expression (COMMA expression)* functionAttribute*
+ // RR_BRACKET
if (context.functionName != null) {
return parseFunctionExpression(context);
}
+
+ // suffixPath
if (context.suffixPath() != null) {
return new TimeSeriesOperand(parseSuffixPath(context.suffixPath()));
}
+
+ // literal=SINGLE_QUOTE_STRING_LITERAL
if (context.literal != null) {
return new TimeSeriesOperand(new PartialPath(new String[] {context.literal.getText()}));
}
- if (context.unary != null) {
- return context.MINUS() != null
- ? new NegationExpression(parseExpression(context.expression(0)))
- : parseExpression(context.expression(0));
- }
-
- // binary
- Expression leftExpression = parseExpression(context.leftExpression);
- Expression rightExpression = parseExpression(context.rightExpression);
- if (context.STAR() != null) {
- return new MultiplicationExpression(leftExpression, rightExpression);
- }
- if (context.DIV() != null) {
- return new DivisionExpression(leftExpression, rightExpression);
- }
- if (context.MOD() != null) {
- return new ModuloExpression(leftExpression, rightExpression);
- }
- if (context.PLUS() != null) {
- return new AdditionExpression(leftExpression, rightExpression);
- }
- if (context.MINUS() != null) {
- return new SubtractionExpression(leftExpression, rightExpression);
- }
throw new UnsupportedOperationException();
}
diff --git a/server/src/test/java/org/apache/iotdb/db/integration/IoTDBNestedQueryIT.java b/server/src/test/java/org/apache/iotdb/db/integration/IoTDBNestedQueryIT.java
new file mode 100644
index 0000000..5f455c9
--- /dev/null
+++ b/server/src/test/java/org/apache/iotdb/db/integration/IoTDBNestedQueryIT.java
@@ -0,0 +1,176 @@
+/*
+ * 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.
+ */
+
+package org.apache.iotdb.db.integration;
+
+import org.apache.iotdb.db.conf.IoTDBDescriptor;
+import org.apache.iotdb.db.exception.metadata.MetadataException;
+import org.apache.iotdb.db.metadata.PartialPath;
+import org.apache.iotdb.db.service.IoTDB;
+import org.apache.iotdb.db.utils.EnvironmentUtils;
+import org.apache.iotdb.jdbc.Config;
+import org.apache.iotdb.tsfile.file.metadata.enums.CompressionType;
+import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
+import org.apache.iotdb.tsfile.file.metadata.enums.TSEncoding;
+
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
+
+public class IoTDBNestedQueryIT {
+
+ protected static final int ITERATION_TIMES = 10_000;
+
+ @BeforeClass
+ public static void setUp() throws Exception {
+ IoTDBDescriptor.getInstance().getConfig().setUdfCollectorMemoryBudgetInMB(3);
+ IoTDBDescriptor.getInstance().getConfig().setUdfTransformerMemoryBudgetInMB(3);
+ IoTDBDescriptor.getInstance().getConfig().setUdfReaderMemoryBudgetInMB(3);
+ EnvironmentUtils.envSetUp();
+ Class.forName(Config.JDBC_DRIVER_NAME);
+ createTimeSeries();
+ generateData();
+ }
+
+ private static void createTimeSeries() throws MetadataException {
+ IoTDB.metaManager.setStorageGroup(new PartialPath("root.vehicle"));
+ IoTDB.metaManager.createTimeseries(
+ new PartialPath("root.vehicle.d1.s1"),
+ TSDataType.INT32,
+ TSEncoding.PLAIN,
+ CompressionType.UNCOMPRESSED,
+ null);
+ IoTDB.metaManager.createTimeseries(
+ new PartialPath("root.vehicle.d1.s2"),
+ TSDataType.INT64,
+ TSEncoding.PLAIN,
+ CompressionType.UNCOMPRESSED,
+ null);
+ IoTDB.metaManager.createTimeseries(
+ new PartialPath("root.vehicle.d2.s1"),
+ TSDataType.FLOAT,
+ TSEncoding.PLAIN,
+ CompressionType.UNCOMPRESSED,
+ null);
+ IoTDB.metaManager.createTimeseries(
+ new PartialPath("root.vehicle.d2.s2"),
+ TSDataType.DOUBLE,
+ TSEncoding.PLAIN,
+ CompressionType.UNCOMPRESSED,
+ null);
+ }
+
+ private static void generateData() {
+ try (Connection connection =
+ DriverManager.getConnection(
+ Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", "root");
+ Statement statement = connection.createStatement()) {
+ for (int i = 1; i <= ITERATION_TIMES; ++i) {
+ statement.execute(
+ String.format(
+ "insert into root.vehicle.d1(timestamp,s1,s2) values(%d,%d,%d)", i, i, i));
+ statement.execute(
+ (String.format(
+ "insert into root.vehicle.d2(timestamp,s1,s2) values(%d,%d,%d)", i, i, i)));
+ }
+ } catch (SQLException throwable) {
+ fail(throwable.getMessage());
+ }
+ }
+
+ @AfterClass
+ public static void tearDown() throws Exception {
+ EnvironmentUtils.cleanEnv();
+ IoTDBDescriptor.getInstance().getConfig().setUdfCollectorMemoryBudgetInMB(100);
+ IoTDBDescriptor.getInstance().getConfig().setUdfTransformerMemoryBudgetInMB(100);
+ IoTDBDescriptor.getInstance().getConfig().setUdfReaderMemoryBudgetInMB(100);
+ }
+
+ @Test
+ public void testNestedArithmeticExpressions() {
+ String sqlStr =
+ "select d1.s1, d2.s2, d1.s1 + d1.s2 - (d2.s1 + d2.s2), d1.s2 * (d2.s1 / d1.s1), d1.s2 + d1.s2 * d2.s1 - d2.s1, d1.s1 - (d1.s1 - (-d1.s1)), (-d2.s1) * (-d2.s2) / (-d1.s2) from root.vehicle";
+
+ try (Connection connection =
+ DriverManager.getConnection(
+ Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", "root");
+ Statement statement = connection.createStatement()) {
+ ResultSet resultSet = statement.executeQuery(sqlStr);
+
+ assertEquals(1 + 7, resultSet.getMetaData().getColumnCount());
+
+ int count = 0;
+ while (resultSet.next()) {
+ ++count;
+
+ assertEquals(count, Integer.parseInt(resultSet.getString(1)));
+ assertEquals(count, Double.parseDouble(resultSet.getString(2)), 0);
+ assertEquals(count, Double.parseDouble(resultSet.getString(3)), 0);
+ assertEquals(0.0, Double.parseDouble(resultSet.getString(4)), 0);
+ assertEquals(count, Double.parseDouble(resultSet.getString(5)), 0);
+ assertEquals(count * count, Double.parseDouble(resultSet.getString(6)), 0);
+ assertEquals(-count, Double.parseDouble(resultSet.getString(7)), 0);
+ assertEquals(-count, Double.parseDouble(resultSet.getString(8)), 0);
+ }
+ assertEquals(ITERATION_TIMES, count);
+ } catch (SQLException throwable) {
+ fail(throwable.getMessage());
+ }
+ }
+
+ @Test
+ public void testNestedRowByRowUDFExpressions() {
+ String sqlStr =
+ "select s1, s2, sin(sin(s1) * sin(s2) + cos(s1) * cos(s1)) + sin(sin(s1 - s1 + s2) * sin(s2) + cos(s1) * cos(s1)), asin(sin(asin(sin(s1 - s2 / (-s1))))) from root.vehicle.d2";
+
+ try (Connection connection =
+ DriverManager.getConnection(
+ Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", "root");
+ Statement statement = connection.createStatement()) {
+ ResultSet resultSet = statement.executeQuery(sqlStr);
+
+ assertEquals(1 + 4, resultSet.getMetaData().getColumnCount());
+
+ int count = 0;
+ while (resultSet.next()) {
+ ++count;
+ assertEquals(count, Integer.parseInt(resultSet.getString(1)));
+ assertEquals(count, Double.parseDouble(resultSet.getString(2)), 0);
+ assertEquals(count, Double.parseDouble(resultSet.getString(3)), 0);
+ assertEquals(2 * Math.sin(1.0), Double.parseDouble(resultSet.getString(4)), 1e-5);
+ assertEquals(
+ Math.asin(Math.sin(Math.asin(Math.sin(count - count / (-count))))),
+ Double.parseDouble(resultSet.getString(5)),
+ 1e-5);
+ }
+ assertEquals(ITERATION_TIMES, count);
+ } catch (SQLException throwable) {
+ fail(throwable.getMessage());
+ }
+ }
+}
diff --git a/server/src/test/java/org/apache/iotdb/db/integration/IoTDBUDTFAlignByTimeQueryIT.java b/server/src/test/java/org/apache/iotdb/db/integration/IoTDBUDTFAlignByTimeQueryIT.java
index a26eb56..013e3fd 100644
--- a/server/src/test/java/org/apache/iotdb/db/integration/IoTDBUDTFAlignByTimeQueryIT.java
+++ b/server/src/test/java/org/apache/iotdb/db/integration/IoTDBUDTFAlignByTimeQueryIT.java
@@ -62,9 +62,9 @@ public class IoTDBUDTFAlignByTimeQueryIT {
@BeforeClass
public static void setUp() throws Exception {
- IoTDBDescriptor.getInstance().getConfig().setUdfCollectorMemoryBudgetInMB(100);
- IoTDBDescriptor.getInstance().getConfig().setUdfTransformerMemoryBudgetInMB(100);
- IoTDBDescriptor.getInstance().getConfig().setUdfReaderMemoryBudgetInMB(100);
+ IoTDBDescriptor.getInstance().getConfig().setUdfCollectorMemoryBudgetInMB(3);
+ IoTDBDescriptor.getInstance().getConfig().setUdfTransformerMemoryBudgetInMB(3);
+ IoTDBDescriptor.getInstance().getConfig().setUdfReaderMemoryBudgetInMB(3);
EnvironmentUtils.envSetUp();
Class.forName(Config.JDBC_DRIVER_NAME);
createTimeSeries();