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 2023/01/23 07:55:06 UTC

[iotdb] 02/02: thrift

This is an automated email from the ASF dual-hosted git repository.

rong pushed a commit to branch IOTDB-5195
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 43a3b9832aa4bcaf4ced09d905b7d6b8bd7409d9
Author: Steve Yurong Su <ro...@apache.org>
AuthorDate: Mon Jan 23 15:54:46 2023 +0800

    thrift
---
 thrift-udf/src/main/thrift/udf.thrift | 48 +++++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)

diff --git a/thrift-udf/src/main/thrift/udf.thrift b/thrift-udf/src/main/thrift/udf.thrift
index 9e79d40944..21a2fe2d66 100644
--- a/thrift-udf/src/main/thrift/udf.thrift
+++ b/thrift-udf/src/main/thrift/udf.thrift
@@ -19,3 +19,51 @@
 
 namespace java org.apache.iotdb.db.mpp.transformation.dag.udf.protocol.rpc
 namespace py iotdb.udf.protocol.rpc
+
+service UDFInvocationService {
+
+  BeforeStartResponse beforeStart(1:BeforeStartRequest request);
+
+  TransformResponse transformRows(1:TransformRowsRequest request);
+
+  TransformResponse transformWindows(1:TransformWindowsRequest request);
+}
+
+struct BeforeStartRequest {
+    1: required list<string> childExpressions
+    2: required list<string> childExpressionDataTypes
+    3: required map<string, string> attributes
+}
+
+struct BeforeStartResponse {
+    1: required string accessStrategyType
+    2: required map<string, string> accessStrategyAttributes
+    3: required string outputDataType
+}
+
+struct TransformResponse {
+    1: required binary timeColumn
+    2: required binary valueColumn
+}
+
+struct TransformRowsRequest {
+    1: required binary timeColumn
+    2: required list<binary> valueColumns
+    3: required list<binary> bitmaps
+    4: required bool isLastRequest
+}
+
+struct TransformWindowsRequest {
+    1: required binary timeColumn
+    2: required list<binary> valueColumns
+    3: required list<binary> bitmaps
+    4: required list<WindowMeta> windows
+    5: required bool isLastRequest
+}
+
+struct WindowMeta {
+    1: required i32 beginIndex
+    2: required i32 endIndex
+    3: required i32 beginTime
+    2: required i32 endTime
+}