This is an automated email from the ASF dual-hosted git repository.
hui pushed a change to branch lmh/addQueryIT
in repository https://gitbox.apache.org/repos/asf/iotdb.git
from b1de0ad192 Ignore UDFAliasResultTest
add aabba8b548 [IOTDB-3505] Fix NPE when regionCleaner deletes schema
regions after restart. (#6316)
add dfb538d1aa [IOTDB-3516] Add trigger snapshot implementation for
RatisConsensus (#6305)
add a0031aece9 Consensus CI test fix transferLeader assert (#6264)
add ed68cb5d9b Fix the issue that the QueryExecution may not be released
(#6318)
add 93ef537af0 fixed (#6320)
add 1840cd1a78 [IOTDB-3344] Fix dataRegion snapshot may meet file not
found due to compaction (#6303)
add a7466e551a [IOTDB-3466] Python client add support for SQLAlchemy
Dialect (#6255)
add a352d93492 [IOTDB-3299] Migrate udf api to a seperate module (#6268)
add e269bb7a83 Accelerate New Cluster IT (#6326)
new 307fa794bb Merge remote-tracking branch 'origin/master' into
lmh/addQueryIT
The 1 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:
client-py/README.md | 95 ++++++++
client-py/iotdb/dbapi/Cursor.py | 10 +-
client-py/iotdb/sqlalchemy/IoTDBDialect.py | 136 ++++++++++++
.../IoTDBIdentifierPreparer.py} | 13 +-
client-py/iotdb/sqlalchemy/IoTDBSQLCompiler.py | 243 +++++++++++++++++++++
.../IoTDBTypeCompiler.py} | 52 ++---
client-py/iotdb/{ => sqlalchemy}/__init__.py | 0
client-py/iotdb/{ => sqlalchemy/tests}/__init__.py | 0
client-py/iotdb/sqlalchemy/tests/test_dialect.py | 92 ++++++++
client-py/requirements.txt | 5 +-
client-py/setup.py | 7 +
.../iotdb/confignode/conf/ConfigNodeConfig.java | 6 +-
.../confignode/conf/ConfigNodeDescriptor.java | 4 +
.../iotdb/consensus/ratis/RatisConsensus.java | 23 +-
.../consensus/standalone/StandAloneServerImpl.java | 2 +
.../iotdb/consensus/ratis/RatisConsensusTest.java | 120 +++++-----
.../UserGuide/API/Programming-Python-Native-API.md | 100 ++++++++-
.../UserGuide/API/Programming-Python-Native-API.md | 97 +++++++-
.../java/org/apache/iotdb/udf/UDTFExample.java | 22 +-
.../iotdb/db/query/udf/example/Accumulator.java | 28 +--
.../apache/iotdb/db/query/udf/example/Adder.java | 26 +--
.../apache/iotdb/db/query/udf/example/Counter.java | 22 +-
.../org/apache/iotdb/db/query/udf/example/Max.java | 22 +-
.../iotdb/db/query/udf/example/Multiplier.java | 22 +-
.../SlidingSizeWindowConstructorTester0.java | 16 +-
.../SlidingSizeWindowConstructorTester1.java | 22 +-
.../SlidingTimeWindowConstructionTester.java | 22 +-
.../db/query/udf/example/TerminateTester.java | 18 +-
.../iotdb/db/query/udf/example/ValidateTester.java | 20 +-
.../iotdb/db/query/udf/example/WindowStartEnd.java | 18 +-
.../java/org/apache/iotdb/it/env/Cluster1Env.java | 4 +-
.../org/apache/iotdb/it/env/ClusterEnvBase.java | 5 +-
.../java/org/apache/iotdb/it/env/ConfigNode.java | 11 +-
.../db/it/aligned/IoTDBInsertAlignedValuesIT.java | 5 +-
.../iotdb/db/it/udf/IoTDBUDFManagementIT.java | 3 +
.../iotdb/db/query/udf/example/Accumulator.java | 28 +--
.../apache/iotdb/db/query/udf/example/Adder.java | 26 +--
.../apache/iotdb/db/query/udf/example/Counter.java | 22 +-
.../org/apache/iotdb/db/query/udf/example/Max.java | 22 +-
.../iotdb/db/query/udf/example/Multiplier.java | 22 +-
.../SlidingSizeWindowConstructorTester0.java | 16 +-
.../SlidingSizeWindowConstructorTester1.java | 22 +-
.../SlidingTimeWindowConstructionTester.java | 22 +-
.../db/query/udf/example/TerminateTester.java | 18 +-
.../iotdb/db/query/udf/example/ValidateTester.java | 20 +-
.../iotdb/db/query/udf/example/WindowStartEnd.java | 18 +-
.../org/apache/iotdb/library/anomaly/UDTFIQR.java | 23 +-
.../apache/iotdb/library/anomaly/UDTFKSigma.java | 21 +-
.../org/apache/iotdb/library/anomaly/UDTFLOF.java | 23 +-
.../iotdb/library/anomaly/UDTFMissDetect.java | 21 +-
.../apache/iotdb/library/anomaly/UDTFRange.java | 21 +-
.../iotdb/library/anomaly/UDTFTwoSidedFilter.java | 21 +-
.../iotdb/library/anomaly/util/MissDetector.java | 4 +-
.../iotdb/library/anomaly/util/WindowDetect.java | 4 +-
.../org/apache/iotdb/library/dmatch/UDAFCov.java | 26 +--
.../org/apache/iotdb/library/dmatch/UDAFDtw.java | 26 +--
.../apache/iotdb/library/dmatch/UDAFPearson.java | 26 +--
.../apache/iotdb/library/dmatch/UDTFPtnSym.java | 23 +-
.../org/apache/iotdb/library/dmatch/UDTFXCorr.java | 24 +-
.../iotdb/library/dprofile/UDAFIntegral.java | 20 +-
.../iotdb/library/dprofile/UDAFIntegralAvg.java | 23 +-
.../org/apache/iotdb/library/dprofile/UDAFMad.java | 28 +--
.../apache/iotdb/library/dprofile/UDAFMedian.java | 28 +--
.../apache/iotdb/library/dprofile/UDAFMode.java | 17 +-
.../iotdb/library/dprofile/UDAFPercentile.java | 25 ++-
.../apache/iotdb/library/dprofile/UDAFPeriod.java | 25 +--
.../apache/iotdb/library/dprofile/UDAFSkew.java | 23 +-
.../apache/iotdb/library/dprofile/UDAFSpread.java | 25 ++-
.../apache/iotdb/library/dprofile/UDAFStddev.java | 23 +-
.../org/apache/iotdb/library/dprofile/UDTFACF.java | 23 +-
.../iotdb/library/dprofile/UDTFDistinct.java | 26 +--
.../iotdb/library/dprofile/UDTFHistogram.java | 23 +-
.../apache/iotdb/library/dprofile/UDTFMinMax.java | 23 +-
.../apache/iotdb/library/dprofile/UDTFMvAvg.java | 25 +--
.../apache/iotdb/library/dprofile/UDTFPACF.java | 23 +-
.../org/apache/iotdb/library/dprofile/UDTFQLB.java | 23 +-
.../iotdb/library/dprofile/UDTFResample.java | 23 +-
.../apache/iotdb/library/dprofile/UDTFSample.java | 23 +-
.../apache/iotdb/library/dprofile/UDTFSegment.java | 23 +-
.../apache/iotdb/library/dprofile/UDTFSpline.java | 23 +-
.../apache/iotdb/library/dprofile/UDTFZScore.java | 23 +-
.../dprofile/util/ExactOrderStatistics.java | 41 +++-
.../iotdb/library/dquality/UDTFCompleteness.java | 18 +-
.../iotdb/library/dquality/UDTFConsistency.java | 18 +-
.../iotdb/library/dquality/UDTFTimeliness.java | 18 +-
.../iotdb/library/dquality/UDTFValidity.java | 18 +-
.../library/dquality/util/TimeSeriesQuality.java | 4 +-
.../iotdb/library/drepair/UDTFTimestampRepair.java | 19 +-
.../iotdb/library/drepair/UDTFValueFill.java | 19 +-
.../iotdb/library/drepair/UDTFValueRepair.java | 19 +-
.../apache/iotdb/library/drepair/util/ARFill.java | 4 +-
.../iotdb/library/drepair/util/LikelihoodFill.java | 2 +-
.../iotdb/library/drepair/util/LinearFill.java | 2 +-
.../iotdb/library/drepair/util/LsGreedy.java | 2 +-
.../apache/iotdb/library/drepair/util/MAFill.java | 2 +-
.../iotdb/library/drepair/util/MeanFill.java | 2 +-
.../iotdb/library/drepair/util/PreviousFill.java | 2 +-
.../apache/iotdb/library/drepair/util/Screen.java | 2 +-
.../iotdb/library/drepair/util/ScreenFill.java | 4 +-
.../library/drepair/util/TimestampRepair.java | 4 +-
.../iotdb/library/drepair/util/ValueFill.java | 6 +-
.../iotdb/library/drepair/util/ValueRepair.java | 4 +-
.../apache/iotdb/library/frequency/UDTFConv.java | 26 +--
.../apache/iotdb/library/frequency/UDTFDWT.java | 23 +-
.../apache/iotdb/library/frequency/UDTFDeconv.java | 26 +--
.../apache/iotdb/library/frequency/UDTFFFT.java | 23 +-
.../iotdb/library/frequency/UDTFHighPass.java | 23 +-
.../apache/iotdb/library/frequency/UDTFIDWT.java | 23 +-
.../apache/iotdb/library/frequency/UDTFIFFT.java | 23 +-
.../iotdb/library/frequency/UDTFLowPass.java | 23 +-
.../iotdb/library/frequency/util/FFTUtil.java | 2 +-
.../library/series/UDTFConsecutiveSequences.java | 20 +-
.../library/series/UDTFConsecutiveWindows.java | 20 +-
.../iotdb/library/series/util/ConsecutiveUtil.java | 4 +-
.../iotdb/library/string/UDTFRegexMatch.java | 22 +-
.../iotdb/library/string/UDTFRegexReplace.java | 22 +-
.../iotdb/library/string/UDTFRegexSplit.java | 22 +-
.../iotdb/library/string/UDTFStrReplace.java | 22 +-
.../iotdb/library/util/LinearRegression.java | 2 +-
.../java/org/apache/iotdb/library/util/Util.java | 4 +-
node-commons/pom.xml | 5 +
.../commons/udf/builtin/String/UDTFConcat.java | 22 +-
.../commons/udf/builtin/String/UDTFEndsWith.java | 22 +-
.../commons/udf/builtin/String/UDTFLower.java | 22 +-
.../commons/udf/builtin/String/UDTFStartsWith.java | 22 +-
.../commons/udf/builtin/String/UDTFStrCompare.java | 24 +-
.../commons/udf/builtin/String/UDTFStrLength.java | 22 +-
.../commons/udf/builtin/String/UDTFStrLocate.java | 22 +-
.../commons/udf/builtin/String/UDTFSubstr.java | 22 +-
.../iotdb/commons/udf/builtin/String/UDTFTrim.java | 22 +-
.../commons/udf/builtin/String/UDTFUpper.java | 22 +-
.../apache/iotdb/commons/udf/builtin/UDTFAbs.java | 28 ++-
.../iotdb/commons/udf/builtin/UDTFBottomK.java | 17 +-
.../apache/iotdb/commons/udf/builtin/UDTFCast.java | 28 +--
.../commons/udf/builtin/UDTFCommonDerivative.java | 16 +-
.../udf/builtin/UDTFCommonValueDifference.java | 16 +-
.../iotdb/commons/udf/builtin/UDTFConst.java | 24 +-
.../iotdb/commons/udf/builtin/UDTFConstE.java | 18 +-
.../iotdb/commons/udf/builtin/UDTFConstPi.java | 18 +-
.../iotdb/commons/udf/builtin/UDTFContains.java | 24 +-
.../udf/builtin/UDTFContinuouslySatisfy.java | 47 ++--
.../iotdb/commons/udf/builtin/UDTFDerivative.java | 21 +-
.../udf/builtin/UDTFEqualSizeBucketAggSample.java | 29 ++-
.../udf/builtin/UDTFEqualSizeBucketM4Sample.java | 28 ++-
.../builtin/UDTFEqualSizeBucketOutlierSample.java | 32 +--
.../builtin/UDTFEqualSizeBucketRandomSample.java | 26 ++-
.../udf/builtin/UDTFEqualSizeBucketSample.java | 14 +-
.../iotdb/commons/udf/builtin/UDTFInRange.java | 36 +--
.../apache/iotdb/commons/udf/builtin/UDTFJexl.java | 64 +++---
.../iotdb/commons/udf/builtin/UDTFMatches.java | 24 +-
.../apache/iotdb/commons/udf/builtin/UDTFMath.java | 36 +--
.../udf/builtin/UDTFNonNegativeDerivative.java | 16 +-
.../builtin/UDTFNonNegativeValueDifference.java | 16 +-
.../iotdb/commons/udf/builtin/UDTFOnOff.java | 35 +--
.../iotdb/commons/udf/builtin/UDTFSelectK.java | 58 +++--
.../commons/udf/builtin/UDTFTimeDifference.java | 18 +-
.../apache/iotdb/commons/udf/builtin/UDTFTopK.java | 17 +-
.../commons/udf/builtin/UDTFValueDifference.java | 19 +-
.../iotdb/commons/udf/builtin/UDTFValueTrend.java | 24 +-
.../udf/service/UDFRegistrationInformation.java | 2 +-
.../udf/service/UDFRegistrationService.java | 4 +-
.../commons/udf/utils/UDFBinaryTransformer.java | 30 +--
.../commons/udf/utils/UDFDataTypeTransformer.java | 77 +++++++
pom.xml | 1 +
.../iotdb/db/engine/snapshot/SnapshotTaker.java | 56 +++--
.../db/metadata/schemaregion/SchemaEngine.java | 4 +
.../execution/datatransfer/DataBlockManager.java | 8 +-
.../db/mpp/plan/analyze/ClusterSchemaFetcher.java | 55 ++---
.../plan/expression/multi/FunctionExpression.java | 5 +-
.../db/mpp/transformation/api/LayerRowReader.java | 2 +-
.../transformation/api/LayerRowWindowReader.java | 2 +-
...ializableRowRecordListBackedMultiColumnRow.java | 16 +-
...izableRowRecordListBackedMultiColumnWindow.java | 12 +-
...wRecordListBackedMultiColumnWindowIterator.java | 4 +-
...ticSerializableTVListBackedSingleColumnRow.java | 14 +-
...SerializableTVListBackedSingleColumnWindow.java | 13 +-
...ableTVListBackedSingleColumnWindowIterator.java | 4 +-
.../LayerPointReaderBackedSingleColumnRow.java | 14 +-
.../intermediate/ConstantIntermediateLayer.java | 4 +-
.../dag/intermediate/IntermediateLayer.java | 6 +-
.../MultiInputColumnIntermediateLayer.java | 8 +-
...InputColumnMultiReferenceIntermediateLayer.java | 8 +-
...nputColumnSingleReferenceIntermediateLayer.java | 8 +-
.../dag/transformer/multi/UDFQueryTransformer.java | 5 +-
.../mpp/transformation/dag/udf/UDTFExecutor.java | 24 +-
.../transformation/dag/udf/UDTFTypeInferrer.java | 17 +-
.../transformation/dag/util/LayerCacheUtils.java | 5 +-
.../tv/ElasticSerializableBinaryTVList.java | 15 +-
.../tv/ElasticSerializableTVList.java | 27 ++-
.../apache/iotdb/db/qp/executor/PlanExecutor.java | 2 +-
.../ElasticSerializableTVListTest.java | 6 +-
.../apache/iotdb/db/query/udf/example/Adder.java | 26 +--
.../apache/iotdb/db/utils/EnvironmentUtils.java | 2 +-
.../tsfile/file/metadata/enums/TSDataType.java | 6 +-
{external-pipe-api => udf-api}/pom.xml | 6 +-
.../main/java/org/apache/iotdb}/udf/api/UDF.java | 8 +-
.../main/java/org/apache/iotdb}/udf/api/UDTF.java | 20 +-
.../java/org/apache/iotdb}/udf/api/access/Row.java | 8 +-
.../apache/iotdb}/udf/api/access/RowIterator.java | 2 +-
.../apache/iotdb}/udf/api/access/RowWindow.java | 10 +-
.../iotdb}/udf/api/collector/PointCollector.java | 56 ++---
.../api/customizer/config/UDFConfigurations.java | 8 +-
.../api/customizer/config/UDTFConfigurations.java | 24 +-
.../parameter/UDFParameterValidator.java | 47 ++--
.../api/customizer/parameter/UDFParameters.java | 29 +--
.../api/customizer/strategy/AccessStrategy.java | 8 +-
.../strategy/RowByRowAccessStrategy.java | 12 +-
.../strategy/SlidingSizeWindowAccessStrategy.java | 12 +-
.../strategy/SlidingTimeWindowAccessStrategy.java | 12 +-
.../UDFAttributeNotProvidedException.java | 2 +-
.../iotdb}/udf/api/exception/UDFException.java | 2 +-
.../UDFInputSeriesDataTypeNotValidException.java | 10 +-
.../UDFInputSeriesIndexNotValidException.java | 2 +-
.../UDFInputSeriesNumberNotValidException.java | 2 +-
.../UDFOutputSeriesDataTypeNotValidException.java | 2 +-
.../exception/UDFParameterNotValidException.java | 2 +-
.../api/exception/UDFRegistrationException.java | 2 +-
.../org/apache/iotdb/udf/api/type}/Binary.java | 57 +++--
.../java/org/apache/iotdb/udf/api/type/Type.java | 39 ++--
219 files changed, 2795 insertions(+), 1903 deletions(-)
create mode 100644 client-py/iotdb/sqlalchemy/IoTDBDialect.py
copy client-py/iotdb/{dbapi/__init__.py =>
sqlalchemy/IoTDBIdentifierPreparer.py} (72%)
create mode 100644 client-py/iotdb/sqlalchemy/IoTDBSQLCompiler.py
copy client-py/iotdb/{dbapi/Exceptions.py => sqlalchemy/IoTDBTypeCompiler.py}
(56%)
copy client-py/iotdb/{ => sqlalchemy}/__init__.py (100%)
copy client-py/iotdb/{ => sqlalchemy/tests}/__init__.py (100%)
create mode 100644 client-py/iotdb/sqlalchemy/tests/test_dialect.py
copy
server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/LogicalQueryPlan.java
=>
node-commons/src/main/java/org/apache/iotdb/commons/udf/utils/UDFBinaryTransformer.java
(54%)
create mode 100644
node-commons/src/main/java/org/apache/iotdb/commons/udf/utils/UDFDataTypeTransformer.java
copy {external-pipe-api => udf-api}/pom.xml (87%)
rename {node-commons/src/main/java/org/apache/iotdb/commons =>
udf-api/src/main/java/org/apache/iotdb}/udf/api/UDF.java (83%)
rename {node-commons/src/main/java/org/apache/iotdb/commons =>
udf-api/src/main/java/org/apache/iotdb}/udf/api/UDTF.java (86%)
rename {node-commons/src/main/java/org/apache/iotdb/commons =>
udf-api/src/main/java/org/apache/iotdb}/udf/api/access/Row.java (95%)
rename {node-commons/src/main/java/org/apache/iotdb/commons =>
udf-api/src/main/java/org/apache/iotdb}/udf/api/access/RowIterator.java (96%)
rename {node-commons/src/main/java/org/apache/iotdb/commons =>
udf-api/src/main/java/org/apache/iotdb}/udf/api/access/RowWindow.java (91%)
rename {node-commons/src/main/java/org/apache/iotdb/commons =>
udf-api/src/main/java/org/apache/iotdb}/udf/api/collector/PointCollector.java
(75%)
rename {node-commons/src/main/java/org/apache/iotdb/commons =>
udf-api/src/main/java/org/apache/iotdb}/udf/api/customizer/config/UDFConfigurations.java
(83%)
rename {node-commons/src/main/java/org/apache/iotdb/commons =>
udf-api/src/main/java/org/apache/iotdb}/udf/api/customizer/config/UDTFConfigurations.java
(78%)
rename {node-commons/src/main/java/org/apache/iotdb/commons =>
udf-api/src/main/java/org/apache/iotdb}/udf/api/customizer/parameter/UDFParameterValidator.java
(81%)
rename {node-commons/src/main/java/org/apache/iotdb/commons =>
udf-api/src/main/java/org/apache/iotdb}/udf/api/customizer/parameter/UDFParameters.java
(81%)
rename {node-commons/src/main/java/org/apache/iotdb/commons =>
udf-api/src/main/java/org/apache/iotdb}/udf/api/customizer/strategy/AccessStrategy.java
(85%)
rename {node-commons/src/main/java/org/apache/iotdb/commons =>
udf-api/src/main/java/org/apache/iotdb}/udf/api/customizer/strategy/RowByRowAccessStrategy.java
(83%)
rename {node-commons/src/main/java/org/apache/iotdb/commons =>
udf-api/src/main/java/org/apache/iotdb}/udf/api/customizer/strategy/SlidingSizeWindowAccessStrategy.java
(91%)
rename {node-commons/src/main/java/org/apache/iotdb/commons =>
udf-api/src/main/java/org/apache/iotdb}/udf/api/customizer/strategy/SlidingTimeWindowAccessStrategy.java
(95%)
rename {node-commons/src/main/java/org/apache/iotdb/commons =>
udf-api/src/main/java/org/apache/iotdb}/udf/api/exception/UDFAttributeNotProvidedException.java
(95%)
rename {node-commons/src/main/java/org/apache/iotdb/commons =>
udf-api/src/main/java/org/apache/iotdb}/udf/api/exception/UDFException.java
(95%)
rename {node-commons/src/main/java/org/apache/iotdb/commons =>
udf-api/src/main/java/org/apache/iotdb}/udf/api/exception/UDFInputSeriesDataTypeNotValidException.java
(79%)
rename {node-commons/src/main/java/org/apache/iotdb/commons =>
udf-api/src/main/java/org/apache/iotdb}/udf/api/exception/UDFInputSeriesIndexNotValidException.java
(95%)
rename {node-commons/src/main/java/org/apache/iotdb/commons =>
udf-api/src/main/java/org/apache/iotdb}/udf/api/exception/UDFInputSeriesNumberNotValidException.java
(96%)
rename {node-commons/src/main/java/org/apache/iotdb/commons =>
udf-api/src/main/java/org/apache/iotdb}/udf/api/exception/UDFOutputSeriesDataTypeNotValidException.java
(95%)
rename {node-commons/src/main/java/org/apache/iotdb/commons =>
udf-api/src/main/java/org/apache/iotdb}/udf/api/exception/UDFParameterNotValidException.java
(94%)
rename {node-commons/src/main/java/org/apache/iotdb/commons =>
udf-api/src/main/java/org/apache/iotdb}/udf/api/exception/UDFRegistrationException.java
(95%)
copy {tsfile/src/main/java/org/apache/iotdb/tsfile/utils =>
udf-api/src/main/java/org/apache/iotdb/udf/api/type}/Binary.java (64%)
copy
metrics/interface/src/main/java/org/apache/iotdb/metrics/utils/MetricLevel.java
=> udf-api/src/main/java/org/apache/iotdb/udf/api/type/Type.java (65%)