ycycse commented on code in PR #11231:
URL: https://github.com/apache/iotdb/pull/11231#discussion_r1339792680
##########
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 in close() so that the
garbage collection in python can collect it?
--
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]