ycycse commented on code in PR #11231:
URL: https://github.com/apache/iotdb/pull/11231#discussion_r1339764013


##########
iotdb-client/client-py/iotdb/utils/IoTDBRpcDataSet.py:
##########
@@ -171,51 +178,45 @@ def resultset_to_pandas(self):
             )
             if time_array.dtype.byteorder == ">":
                 time_array = time_array.byteswap().newbyteorder("<")
-            if (
-                self.get_ignore_timestamp() is None
-                or self.get_ignore_timestamp() is False
-            ):
+            if self.ignore_timestamp is None or self.ignore_timestamp is False:
                 result[IoTDBRpcDataSet.TIMESTAMP_STR].append(time_array)
 
             self.__query_data_set.time = []
             total_length = len(time_array)
 
             for i in range(len(self.__query_data_set.bitmapList)):
-                if self.get_ignore_timestamp() is True:
+                if self.ignore_timestamp is True:
                     column_name = self.get_column_names()[i]
                 else:
                     column_name = self.get_column_names()[i + 1]
 
                 location = (
-                    self.__column_ordinal_dict[column_name]
-                    - IoTDBRpcDataSet.START_INDEX
+                    self.column_ordinal_dict[column_name] - 
IoTDBRpcDataSet.START_INDEX
                 )
                 if location < 0:
                     continue
-                data_type = self.__column_type_deduplicated_list[location]
+                data_type = self.column_type_deduplicated_list[location]
                 value_buffer = self.__query_data_set.valueList[location]
                 value_buffer_len = len(value_buffer)
-
-                data_array = None
-                if data_type == TSDataType.DOUBLE:
+                if data_type == 4:
                     data_array = np.frombuffer(
                         value_buffer, np.dtype(np.double).newbyteorder(">")
                     )
-                elif data_type == TSDataType.FLOAT:
+                elif data_type == 3:

Review Comment:
   Maybe TSDataType.Float is more clear? Why do we need to replace it.



##########
iotdb-client/client-py/iotdb/utils/IoTDBRpcDataSet.py:
##########
@@ -51,62 +55,70 @@ def __init__(
     ):
         self.__statement_id = statement_id
         self.__session_id = session_id
-        self.__ignore_timestamp = ignore_timestamp
+        self.ignore_timestamp = ignore_timestamp
         self.__sql = sql
         self.__query_id = query_id
         self.__client = client
         self.__fetch_size = fetch_size
-        self.__column_size = len(column_name_list)
+        self.column_size = len(column_name_list)
         self.__default_time_out = 1000
 
         self.__column_name_list = []
         self.__column_type_list = []
-        self.__column_ordinal_dict = {}
+        self.column_ordinal_dict = {}
         if not ignore_timestamp:
             self.__column_name_list.append(IoTDBRpcDataSet.TIMESTAMP_STR)
             self.__column_type_list.append(TSDataType.INT64)
-            self.__column_ordinal_dict[IoTDBRpcDataSet.TIMESTAMP_STR] = 1
+            self.column_ordinal_dict[IoTDBRpcDataSet.TIMESTAMP_STR] = 1
 
         if column_name_index is not None:
-            self.__column_type_deduplicated_list = [
+            self.column_type_deduplicated_list = [
                 None for _ in range(len(column_name_index))
             ]
             for i in range(len(column_name_list)):
                 name = column_name_list[i]
                 self.__column_name_list.append(name)
                 self.__column_type_list.append(TSDataType[column_type_list[i]])
-                if name not in self.__column_ordinal_dict:
+                if name not in self.column_ordinal_dict:
                     index = column_name_index[name]
-                    self.__column_ordinal_dict[name] = (
-                        index + IoTDBRpcDataSet.START_INDEX
-                    )
-                    self.__column_type_deduplicated_list[index] = TSDataType[
+                    self.column_ordinal_dict[name] = index + 
IoTDBRpcDataSet.START_INDEX
+                    self.column_type_deduplicated_list[index] = TSDataType[
                         column_type_list[i]
                     ]
         else:
             index = IoTDBRpcDataSet.START_INDEX
-            self.__column_type_deduplicated_list = []
+            self.column_type_deduplicated_list = []
             for i in range(len(column_name_list)):
                 name = column_name_list[i]
                 self.__column_name_list.append(name)
                 self.__column_type_list.append(TSDataType[column_type_list[i]])
-                if name not in self.__column_ordinal_dict:
-                    self.__column_ordinal_dict[name] = index
+                if name not in self.column_ordinal_dict:
+                    self.column_ordinal_dict[name] = index
                     index += 1
-                    self.__column_type_deduplicated_list.append(
+                    self.column_type_deduplicated_list.append(
                         TSDataType[column_type_list[i]]
                     )
 
-        self.__time_bytes = bytes(0)
+        self.time_bytes = memoryview(b"\x00")
         self.__current_bitmap = [
-            bytes(0) for _ in range(len(self.__column_type_deduplicated_list))
+            bytes(0) for _ in range(len(self.column_type_deduplicated_list))
         ]
-        self.__value = [None for _ in 
range(len(self.__column_type_deduplicated_list))]
+        self.value = [None for _ in 
range(len(self.column_type_deduplicated_list))]
         self.__query_data_set = query_data_set
+        self.__query_data_set.time = memoryview(self.__query_data_set.time)
+        self.__query_data_set.valueList = [
+            memoryview(value) for value in self.__query_data_set.valueList
+        ]
+        self.__query_data_set.bitmapList = [
+            memoryview(bitmap) for bitmap in self.__query_data_set.bitmapList
+        ]
         self.__is_closed = False
         self.__empty_resultSet = False
-        self.__has_cached_record = False
+        self.has_cached_record = False
         self.__rows_index = 0
+        self.is_null_info = [
+            False for _ in range(len(self.column_type_deduplicated_list))
+        ]
 
     def close(self):

Review Comment:
   Should we release the reference to memoryview so that the garbage 
collection in python can collect it?



##########
iotdb-client/client-py/iotdb/utils/Field.py:
##########
@@ -62,70 +57,72 @@ def is_null(self):
         return self.__data_type is None
 
     def set_bool_value(self, value):

Review Comment:
   ```suggestion
       def set_bool_value(self, value:bool):
   ```
   Maybe we can make the type more clear.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to