From c9e30e58e276987a8dab0cb11a70c49ea89c1188 Mon Sep 17 00:00:00 2001 From: An Qi Date: Fri, 6 Dec 2024 13:57:19 +0800 Subject: [PATCH 1/3] fix: align chinese in console table --- .../edu/tsinghua/iginx/utils/FormatUtils.java | 30 ++++++++++- .../tsinghua/iginx/utils/FormatUtilsTest.java | 50 +++++++++++++++++++ 2 files changed, 78 insertions(+), 2 deletions(-) create mode 100644 shared/src/test/java/cn/edu/tsinghua/iginx/utils/FormatUtilsTest.java diff --git a/shared/src/main/java/cn/edu/tsinghua/iginx/utils/FormatUtils.java b/shared/src/main/java/cn/edu/tsinghua/iginx/utils/FormatUtils.java index 76f5d5faf4..1a576b3677 100644 --- a/shared/src/main/java/cn/edu/tsinghua/iginx/utils/FormatUtils.java +++ b/shared/src/main/java/cn/edu/tsinghua/iginx/utils/FormatUtils.java @@ -42,7 +42,7 @@ public static String formatResult(List> result) { } for (List row : result) { for (int i = 0; i < colCount; i++) { - maxSizeList.set(i, Math.max(row.get(i).length(), maxSizeList.get(i))); + maxSizeList.set(i, Math.max(getDisplayWidth(row.get(i)), maxSizeList.get(i))); } } @@ -56,6 +56,28 @@ public static String formatResult(List> result) { return builder.toString(); } + private static int getDisplayWidth(String str) { + int width = 0; + for (char c : str.toCharArray()) { + if (isChinese(c)) { + width += 2; + } else { + width += 1; + } + } + return width; + } + + private static boolean isChinese(char c) { + Character.UnicodeBlock ub = Character.UnicodeBlock.of(c); + return ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS + || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS + || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A + || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION + || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION + || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS; + } + private static String buildBlockLine(List maxSizeList) { StringBuilder blockLine = new StringBuilder(); for (Integer integer : maxSizeList) { @@ -73,7 +95,11 @@ private static String buildRow(List> cache, int rowIdx, List Date: Mon, 9 Dec 2024 15:58:38 +0800 Subject: [PATCH 2/3] update test --- .../integration/func/sql/SQLSessionIT.java | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/test/src/test/java/cn/edu/tsinghua/iginx/integration/func/sql/SQLSessionIT.java b/test/src/test/java/cn/edu/tsinghua/iginx/integration/func/sql/SQLSessionIT.java index e7b226b11f..100e7d3720 100644 --- a/test/src/test/java/cn/edu/tsinghua/iginx/integration/func/sql/SQLSessionIT.java +++ b/test/src/test/java/cn/edu/tsinghua/iginx/integration/func/sql/SQLSessionIT.java @@ -6354,15 +6354,15 @@ public void testChinesePath() { String query = "SELECT 后缀 FROM 测试.前缀;"; String expected = "ResultSets:\n" - + "+---+--------+\n" + + "+---+--------------+\n" + "|key|测试.前缀.后缀|\n" - + "+---+--------+\n" - + "| 1| 1|\n" - + "| 2| 2|\n" - + "| 3| 3|\n" - + "| 4| 4|\n" - + "| 5| 5|\n" - + "+---+--------+\n" + + "+---+--------------+\n" + + "| 1| 1|\n" + + "| 2| 2|\n" + + "| 3| 3|\n" + + "| 4| 4|\n" + + "| 5| 5|\n" + + "+---+--------------+\n" + "Total line number = 5\n"; executor.executeAndCompare(query, expected); } @@ -6515,15 +6515,15 @@ public void testMixSpecialPath() { String query = "SELECT `1919810`._:@#$.后缀 FROM 测试.前缀.`114514`;"; String expected = "ResultSets:\n" - + "+---+-----------------------------+\n" + + "+---+-----------------------------------+\n" + "|key|测试.前缀.114514.1919810._:@#$.后缀|\n" - + "+---+-----------------------------+\n" - + "| 1| 1|\n" - + "| 2| 2|\n" - + "| 3| 3|\n" - + "| 4| 4|\n" - + "| 5| 5|\n" - + "+---+-----------------------------+\n" + + "+---+-----------------------------------+\n" + + "| 1| 1|\n" + + "| 2| 2|\n" + + "| 3| 3|\n" + + "| 4| 4|\n" + + "| 5| 5|\n" + + "+---+-----------------------------------+\n" + "Total line number = 5\n"; executor.executeAndCompare(query, expected); } From 33c158635b3a8ec55969154d40fd4880028b515a Mon Sep 17 00:00:00 2001 From: An Qi Date: Mon, 9 Dec 2024 15:58:48 +0800 Subject: [PATCH 3/3] format --- .../iginx_pyclient/thrift/rpc/IService-remote | 8 +- .../iginx_pyclient/thrift/rpc/IService.py | 52 ++-- .../iginx/iginx_pyclient/thrift/rpc/ttypes.py | 261 ++++++++++++------ 3 files changed, 204 insertions(+), 117 deletions(-) diff --git a/session_py/iginx/iginx_pyclient/thrift/rpc/IService-remote b/session_py/iginx/iginx_pyclient/thrift/rpc/IService-remote index e6590b2842..d3df2ac87c 100644 --- a/session_py/iginx/iginx_pyclient/thrift/rpc/IService-remote +++ b/session_py/iginx/iginx_pyclient/thrift/rpc/IService-remote @@ -35,7 +35,7 @@ if len(sys.argv) <= 1 or sys.argv[1] == '--help': print(' QueryDataResp queryData(QueryDataReq req)') print(' Status addStorageEngines(AddStorageEnginesReq req)') print(' Status alterStorageEngine(AlterStorageEngineReq req)') - print(' Status removeHistoryDataSource(RemoveHistoryDataSourceReq req)') + print(' Status removeStorageEngine(RemoveStorageEngineReq req)') print(' AggregateQueryResp aggregateQuery(AggregateQueryReq req)') print(' LastQueryResp lastQuery(LastQueryReq req)') print(' DownsampleQueryResp downsampleQuery(DownsampleQueryReq req)') @@ -209,11 +209,11 @@ elif cmd == 'alterStorageEngine': sys.exit(1) pp.pprint(client.alterStorageEngine(eval(args[0]),)) -elif cmd == 'removeHistoryDataSource': +elif cmd == 'removeStorageEngine': if len(args) != 1: - print('removeHistoryDataSource requires 1 args') + print('removeStorageEngine requires 1 args') sys.exit(1) - pp.pprint(client.removeHistoryDataSource(eval(args[0]),)) + pp.pprint(client.removeStorageEngine(eval(args[0]),)) elif cmd == 'aggregateQuery': if len(args) != 1: diff --git a/session_py/iginx/iginx_pyclient/thrift/rpc/IService.py b/session_py/iginx/iginx_pyclient/thrift/rpc/IService.py index 8b95723de7..093311745d 100644 --- a/session_py/iginx/iginx_pyclient/thrift/rpc/IService.py +++ b/session_py/iginx/iginx_pyclient/thrift/rpc/IService.py @@ -127,7 +127,7 @@ def alterStorageEngine(self, req): """ pass - def removeHistoryDataSource(self, req): + def removeStorageEngine(self, req): """ Parameters: - req @@ -719,24 +719,24 @@ def recv_alterStorageEngine(self): return result.success raise TApplicationException(TApplicationException.MISSING_RESULT, "alterStorageEngine failed: unknown result") - def removeHistoryDataSource(self, req): + def removeStorageEngine(self, req): """ Parameters: - req """ - self.send_removeHistoryDataSource(req) - return self.recv_removeHistoryDataSource() + self.send_removeStorageEngine(req) + return self.recv_removeStorageEngine() - def send_removeHistoryDataSource(self, req): - self._oprot.writeMessageBegin('removeHistoryDataSource', TMessageType.CALL, self._seqid) - args = removeHistoryDataSource_args() + def send_removeStorageEngine(self, req): + self._oprot.writeMessageBegin('removeStorageEngine', TMessageType.CALL, self._seqid) + args = removeStorageEngine_args() args.req = req args.write(self._oprot) self._oprot.writeMessageEnd() self._oprot.trans.flush() - def recv_removeHistoryDataSource(self): + def recv_removeStorageEngine(self): iprot = self._iprot (fname, mtype, rseqid) = iprot.readMessageBegin() if mtype == TMessageType.EXCEPTION: @@ -744,12 +744,12 @@ def recv_removeHistoryDataSource(self): x.read(iprot) iprot.readMessageEnd() raise x - result = removeHistoryDataSource_result() + result = removeStorageEngine_result() result.read(iprot) iprot.readMessageEnd() if result.success is not None: return result.success - raise TApplicationException(TApplicationException.MISSING_RESULT, "removeHistoryDataSource failed: unknown result") + raise TApplicationException(TApplicationException.MISSING_RESULT, "removeStorageEngine failed: unknown result") def aggregateQuery(self, req): """ @@ -1663,7 +1663,7 @@ def __init__(self, handler): self._processMap["queryData"] = Processor.process_queryData self._processMap["addStorageEngines"] = Processor.process_addStorageEngines self._processMap["alterStorageEngine"] = Processor.process_alterStorageEngine - self._processMap["removeHistoryDataSource"] = Processor.process_removeHistoryDataSource + self._processMap["removeStorageEngine"] = Processor.process_removeStorageEngine self._processMap["aggregateQuery"] = Processor.process_aggregateQuery self._processMap["lastQuery"] = Processor.process_lastQuery self._processMap["downsampleQuery"] = Processor.process_downsampleQuery @@ -1967,13 +1967,13 @@ def process_alterStorageEngine(self, seqid, iprot, oprot): oprot.writeMessageEnd() oprot.trans.flush() - def process_removeHistoryDataSource(self, seqid, iprot, oprot): - args = removeHistoryDataSource_args() + def process_removeStorageEngine(self, seqid, iprot, oprot): + args = removeStorageEngine_args() args.read(iprot) iprot.readMessageEnd() - result = removeHistoryDataSource_result() + result = removeStorageEngine_result() try: - result.success = self._handler.removeHistoryDataSource(args.req) + result.success = self._handler.removeStorageEngine(args.req) msg_type = TMessageType.REPLY except TTransport.TTransportException: raise @@ -1985,7 +1985,7 @@ def process_removeHistoryDataSource(self, seqid, iprot, oprot): logging.exception('Unexpected exception in handler') msg_type = TMessageType.EXCEPTION result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') - oprot.writeMessageBegin("removeHistoryDataSource", msg_type, seqid) + oprot.writeMessageBegin("removeStorageEngine", msg_type, seqid) result.write(oprot) oprot.writeMessageEnd() oprot.trans.flush() @@ -4012,7 +4012,7 @@ def __ne__(self, other): ) -class removeHistoryDataSource_args(object): +class removeStorageEngine_args(object): """ Attributes: - req @@ -4034,7 +4034,7 @@ def read(self, iprot): break if fid == 1: if ftype == TType.STRUCT: - self.req = RemoveHistoryDataSourceReq() + self.req = RemoveStorageEngineReq() self.req.read(iprot) else: iprot.skip(ftype) @@ -4047,7 +4047,7 @@ def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return - oprot.writeStructBegin('removeHistoryDataSource_args') + oprot.writeStructBegin('removeStorageEngine_args') if self.req is not None: oprot.writeFieldBegin('req', TType.STRUCT, 1) self.req.write(oprot) @@ -4068,14 +4068,14 @@ def __eq__(self, other): def __ne__(self, other): return not (self == other) -all_structs.append(removeHistoryDataSource_args) -removeHistoryDataSource_args.thrift_spec = ( +all_structs.append(removeStorageEngine_args) +removeStorageEngine_args.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'req', [RemoveHistoryDataSourceReq, None], None, ), # 1 + (1, TType.STRUCT, 'req', [RemoveStorageEngineReq, None], None, ), # 1 ) -class removeHistoryDataSource_result(object): +class removeStorageEngine_result(object): """ Attributes: - success @@ -4110,7 +4110,7 @@ def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return - oprot.writeStructBegin('removeHistoryDataSource_result') + oprot.writeStructBegin('removeStorageEngine_result') if self.success is not None: oprot.writeFieldBegin('success', TType.STRUCT, 0) self.success.write(oprot) @@ -4131,8 +4131,8 @@ def __eq__(self, other): def __ne__(self, other): return not (self == other) -all_structs.append(removeHistoryDataSource_result) -removeHistoryDataSource_result.thrift_spec = ( +all_structs.append(removeStorageEngine_result) +removeStorageEngine_result.thrift_spec = ( (0, TType.STRUCT, 'success', [Status, None], None, ), # 0 ) diff --git a/session_py/iginx/iginx_pyclient/thrift/rpc/ttypes.py b/session_py/iginx/iginx_pyclient/thrift/rpc/ttypes.py index 4192bf024c..2ab6c2041c 100644 --- a/session_py/iginx/iginx_pyclient/thrift/rpc/ttypes.py +++ b/session_py/iginx/iginx_pyclient/thrift/rpc/ttypes.py @@ -149,7 +149,7 @@ class SqlType(object): ShowJobStatus = 16 CancelJob = 17 ShowEligibleJob = 18 - RemoveHistoryDataSource = 19 + RemoveStorageEngine = 19 SetConfig = 20 ShowConfig = 21 Compact = 22 @@ -185,7 +185,7 @@ class SqlType(object): 16: "ShowJobStatus", 17: "CancelJob", 18: "ShowEligibleJob", - 19: "RemoveHistoryDataSource", + 19: "RemoveStorageEngine", 20: "SetConfig", 21: "ShowConfig", 22: "Compact", @@ -222,7 +222,7 @@ class SqlType(object): "ShowJobStatus": 16, "CancelJob": 17, "ShowEligibleJob": 18, - "RemoveHistoryDataSource": 19, + "RemoveStorageEngine": 19, "SetConfig": 20, "ShowConfig": 21, "Compact": 22, @@ -7562,23 +7562,95 @@ def __ne__(self, other): return not (self == other) +class IpPortPair(object): + """ + Attributes: + - ip + - port + + """ + + + def __init__(self, ip=None, port=None,): + self.ip = ip + self.port = port + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRING: + self.ip = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.I32: + self.port = iprot.readI32() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('IpPortPair') + if self.ip is not None: + oprot.writeFieldBegin('ip', TType.STRING, 1) + oprot.writeString(self.ip.encode('utf-8') if sys.version_info[0] == 2 else self.ip) + oprot.writeFieldEnd() + if self.port is not None: + oprot.writeFieldBegin('port', TType.I32, 2) + oprot.writeI32(self.port) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.ip is None: + raise TProtocolException(message='Required field ip is unset!') + if self.port is None: + raise TProtocolException(message='Required field port is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) + + class RegisterTaskInfo(object): """ Attributes: - name - className - fileName - - ip + - ipPortPair - type """ - def __init__(self, name=None, className=None, fileName=None, ip=None, type=None,): + def __init__(self, name=None, className=None, fileName=None, ipPortPair=None, type=None,): self.name = name self.className = className self.fileName = fileName - self.ip = ip + self.ipPortPair = ipPortPair self.type = type def read(self, iprot): @@ -7606,8 +7678,14 @@ def read(self, iprot): else: iprot.skip(ftype) elif fid == 4: - if ftype == TType.STRING: - self.ip = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + if ftype == TType.LIST: + self.ipPortPair = [] + (_etype829, _size826) = iprot.readListBegin() + for _i830 in range(_size826): + _elem831 = IpPortPair() + _elem831.read(iprot) + self.ipPortPair.append(_elem831) + iprot.readListEnd() else: iprot.skip(ftype) elif fid == 5: @@ -7637,9 +7715,12 @@ def write(self, oprot): oprot.writeFieldBegin('fileName', TType.STRING, 3) oprot.writeString(self.fileName.encode('utf-8') if sys.version_info[0] == 2 else self.fileName) oprot.writeFieldEnd() - if self.ip is not None: - oprot.writeFieldBegin('ip', TType.STRING, 4) - oprot.writeString(self.ip.encode('utf-8') if sys.version_info[0] == 2 else self.ip) + if self.ipPortPair is not None: + oprot.writeFieldBegin('ipPortPair', TType.LIST, 4) + oprot.writeListBegin(TType.STRUCT, len(self.ipPortPair)) + for iter832 in self.ipPortPair: + iter832.write(oprot) + oprot.writeListEnd() oprot.writeFieldEnd() if self.type is not None: oprot.writeFieldBegin('type', TType.I32, 5) @@ -7655,8 +7736,8 @@ def validate(self): raise TProtocolException(message='Required field className is unset!') if self.fileName is None: raise TProtocolException(message='Required field fileName is unset!') - if self.ip is None: - raise TProtocolException(message='Required field ip is unset!') + if self.ipPortPair is None: + raise TProtocolException(message='Required field ipPortPair is unset!') if self.type is None: raise TProtocolException(message='Required field type is unset!') return @@ -7704,11 +7785,11 @@ def read(self, iprot): elif fid == 2: if ftype == TType.LIST: self.registerTaskInfoList = [] - (_etype829, _size826) = iprot.readListBegin() - for _i830 in range(_size826): - _elem831 = RegisterTaskInfo() - _elem831.read(iprot) - self.registerTaskInfoList.append(_elem831) + (_etype836, _size833) = iprot.readListBegin() + for _i837 in range(_size833): + _elem838 = RegisterTaskInfo() + _elem838.read(iprot) + self.registerTaskInfoList.append(_elem838) iprot.readListEnd() else: iprot.skip(ftype) @@ -7729,8 +7810,8 @@ def write(self, oprot): if self.registerTaskInfoList is not None: oprot.writeFieldBegin('registerTaskInfoList', TType.LIST, 2) oprot.writeListBegin(TType.STRUCT, len(self.registerTaskInfoList)) - for iter832 in self.registerTaskInfoList: - iter832.write(oprot) + for iter839 in self.registerTaskInfoList: + iter839.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() oprot.writeFieldStop() @@ -7791,10 +7872,10 @@ def read(self, iprot): elif fid == 2: if ftype == TType.LIST: self.paths = [] - (_etype836, _size833) = iprot.readListBegin() - for _i837 in range(_size833): - _elem838 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - self.paths.append(_elem838) + (_etype843, _size840) = iprot.readListBegin() + for _i844 in range(_size840): + _elem845 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.paths.append(_elem845) iprot.readListEnd() else: iprot.skip(ftype) @@ -7811,10 +7892,10 @@ def read(self, iprot): elif fid == 5: if ftype == TType.LIST: self.curveQuery = [] - (_etype842, _size839) = iprot.readListBegin() - for _i843 in range(_size839): - _elem844 = iprot.readDouble() - self.curveQuery.append(_elem844) + (_etype849, _size846) = iprot.readListBegin() + for _i850 in range(_size846): + _elem851 = iprot.readDouble() + self.curveQuery.append(_elem851) iprot.readListEnd() else: iprot.skip(ftype) @@ -7840,8 +7921,8 @@ def write(self, oprot): if self.paths is not None: oprot.writeFieldBegin('paths', TType.LIST, 2) oprot.writeListBegin(TType.STRING, len(self.paths)) - for iter845 in self.paths: - oprot.writeString(iter845.encode('utf-8') if sys.version_info[0] == 2 else iter845) + for iter852 in self.paths: + oprot.writeString(iter852.encode('utf-8') if sys.version_info[0] == 2 else iter852) oprot.writeListEnd() oprot.writeFieldEnd() if self.startKey is not None: @@ -7855,8 +7936,8 @@ def write(self, oprot): if self.curveQuery is not None: oprot.writeFieldBegin('curveQuery', TType.LIST, 5) oprot.writeListBegin(TType.DOUBLE, len(self.curveQuery)) - for iter846 in self.curveQuery: - oprot.writeDouble(iter846) + for iter853 in self.curveQuery: + oprot.writeDouble(iter853) oprot.writeListEnd() oprot.writeFieldEnd() if self.curveUnit is not None: @@ -8355,33 +8436,33 @@ def read(self, iprot): if fid == 1: if ftype == TType.LIST: self.fragments = [] - (_etype850, _size847) = iprot.readListBegin() - for _i851 in range(_size847): - _elem852 = Fragment() - _elem852.read(iprot) - self.fragments.append(_elem852) + (_etype857, _size854) = iprot.readListBegin() + for _i858 in range(_size854): + _elem859 = Fragment() + _elem859.read(iprot) + self.fragments.append(_elem859) iprot.readListEnd() else: iprot.skip(ftype) elif fid == 2: if ftype == TType.LIST: self.storages = [] - (_etype856, _size853) = iprot.readListBegin() - for _i857 in range(_size853): - _elem858 = Storage() - _elem858.read(iprot) - self.storages.append(_elem858) + (_etype863, _size860) = iprot.readListBegin() + for _i864 in range(_size860): + _elem865 = Storage() + _elem865.read(iprot) + self.storages.append(_elem865) iprot.readListEnd() else: iprot.skip(ftype) elif fid == 3: if ftype == TType.LIST: self.storageUnits = [] - (_etype862, _size859) = iprot.readListBegin() - for _i863 in range(_size859): - _elem864 = StorageUnit() - _elem864.read(iprot) - self.storageUnits.append(_elem864) + (_etype869, _size866) = iprot.readListBegin() + for _i870 in range(_size866): + _elem871 = StorageUnit() + _elem871.read(iprot) + self.storageUnits.append(_elem871) iprot.readListEnd() else: iprot.skip(ftype) @@ -8398,22 +8479,22 @@ def write(self, oprot): if self.fragments is not None: oprot.writeFieldBegin('fragments', TType.LIST, 1) oprot.writeListBegin(TType.STRUCT, len(self.fragments)) - for iter865 in self.fragments: - iter865.write(oprot) + for iter872 in self.fragments: + iter872.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.storages is not None: oprot.writeFieldBegin('storages', TType.LIST, 2) oprot.writeListBegin(TType.STRUCT, len(self.storages)) - for iter866 in self.storages: - iter866.write(oprot) + for iter873 in self.storages: + iter873.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.storageUnits is not None: oprot.writeFieldBegin('storageUnits', TType.LIST, 3) oprot.writeListBegin(TType.STRUCT, len(self.storageUnits)) - for iter867 in self.storageUnits: - iter867.write(oprot) + for iter874 in self.storageUnits: + iter874.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() oprot.writeFieldStop() @@ -8681,7 +8762,7 @@ def __ne__(self, other): return not (self == other) -class RemoveHistoryDataSourceReq(object): +class RemoveStorageEngineReq(object): """ Attributes: - sessionId @@ -8711,11 +8792,11 @@ def read(self, iprot): elif fid == 2: if ftype == TType.LIST: self.removedStorageEngineInfoList = [] - (_etype871, _size868) = iprot.readListBegin() - for _i872 in range(_size868): - _elem873 = RemovedStorageEngineInfo() - _elem873.read(iprot) - self.removedStorageEngineInfoList.append(_elem873) + (_etype878, _size875) = iprot.readListBegin() + for _i879 in range(_size875): + _elem880 = RemovedStorageEngineInfo() + _elem880.read(iprot) + self.removedStorageEngineInfoList.append(_elem880) iprot.readListEnd() else: iprot.skip(ftype) @@ -8728,7 +8809,7 @@ def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return - oprot.writeStructBegin('RemoveHistoryDataSourceReq') + oprot.writeStructBegin('RemoveStorageEngineReq') if self.sessionId is not None: oprot.writeFieldBegin('sessionId', TType.I64, 1) oprot.writeI64(self.sessionId) @@ -8736,8 +8817,8 @@ def write(self, oprot): if self.removedStorageEngineInfoList is not None: oprot.writeFieldBegin('removedStorageEngineInfoList', TType.LIST, 2) oprot.writeListBegin(TType.STRUCT, len(self.removedStorageEngineInfoList)) - for iter874 in self.removedStorageEngineInfoList: - iter874.write(oprot) + for iter881 in self.removedStorageEngineInfoList: + iter881.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() oprot.writeFieldStop() @@ -8852,10 +8933,10 @@ def read(self, iprot): elif fid == 2: if ftype == TType.LIST: self.sessionIDList = [] - (_etype878, _size875) = iprot.readListBegin() - for _i879 in range(_size875): - _elem880 = iprot.readI64() - self.sessionIDList.append(_elem880) + (_etype885, _size882) = iprot.readListBegin() + for _i886 in range(_size882): + _elem887 = iprot.readI64() + self.sessionIDList.append(_elem887) iprot.readListEnd() else: iprot.skip(ftype) @@ -8876,8 +8957,8 @@ def write(self, oprot): if self.sessionIDList is not None: oprot.writeFieldBegin('sessionIDList', TType.LIST, 2) oprot.writeListBegin(TType.I64, len(self.sessionIDList)) - for iter881 in self.sessionIDList: - oprot.writeI64(iter881) + for iter888 in self.sessionIDList: + oprot.writeI64(iter888) oprot.writeListEnd() oprot.writeFieldEnd() oprot.writeFieldStop() @@ -8992,11 +9073,11 @@ def read(self, iprot): elif fid == 2: if ftype == TType.MAP: self.rules = {} - (_ktype883, _vtype884, _size882) = iprot.readMapBegin() - for _i886 in range(_size882): - _key887 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - _val888 = iprot.readBool() - self.rules[_key887] = _val888 + (_ktype890, _vtype891, _size889) = iprot.readMapBegin() + for _i893 in range(_size889): + _key894 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + _val895 = iprot.readBool() + self.rules[_key894] = _val895 iprot.readMapEnd() else: iprot.skip(ftype) @@ -9017,9 +9098,9 @@ def write(self, oprot): if self.rules is not None: oprot.writeFieldBegin('rules', TType.MAP, 2) oprot.writeMapBegin(TType.STRING, TType.BOOL, len(self.rules)) - for kiter889, viter890 in self.rules.items(): - oprot.writeString(kiter889.encode('utf-8') if sys.version_info[0] == 2 else kiter889) - oprot.writeBool(viter890) + for kiter896, viter897 in self.rules.items(): + oprot.writeString(kiter896.encode('utf-8') if sys.version_info[0] == 2 else kiter896) + oprot.writeBool(viter897) oprot.writeMapEnd() oprot.writeFieldEnd() oprot.writeFieldStop() @@ -9074,11 +9155,11 @@ def read(self, iprot): elif fid == 2: if ftype == TType.MAP: self.rulesChange = {} - (_ktype892, _vtype893, _size891) = iprot.readMapBegin() - for _i895 in range(_size891): - _key896 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - _val897 = iprot.readBool() - self.rulesChange[_key896] = _val897 + (_ktype899, _vtype900, _size898) = iprot.readMapBegin() + for _i902 in range(_size898): + _key903 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + _val904 = iprot.readBool() + self.rulesChange[_key903] = _val904 iprot.readMapEnd() else: iprot.skip(ftype) @@ -9099,9 +9180,9 @@ def write(self, oprot): if self.rulesChange is not None: oprot.writeFieldBegin('rulesChange', TType.MAP, 2) oprot.writeMapBegin(TType.STRING, TType.BOOL, len(self.rulesChange)) - for kiter898, viter899 in self.rulesChange.items(): - oprot.writeString(kiter898.encode('utf-8') if sys.version_info[0] == 2 else kiter898) - oprot.writeBool(viter899) + for kiter905, viter906 in self.rulesChange.items(): + oprot.writeString(kiter905.encode('utf-8') if sys.version_info[0] == 2 else kiter905) + oprot.writeBool(viter906) oprot.writeMapEnd() oprot.writeFieldEnd() oprot.writeFieldStop() @@ -9642,13 +9723,19 @@ def __ne__(self, other): None, # 0 (1, TType.I64, 'sessionId', None, None, ), # 1 ) +all_structs.append(IpPortPair) +IpPortPair.thrift_spec = ( + None, # 0 + (1, TType.STRING, 'ip', 'UTF8', None, ), # 1 + (2, TType.I32, 'port', None, None, ), # 2 +) all_structs.append(RegisterTaskInfo) RegisterTaskInfo.thrift_spec = ( None, # 0 (1, TType.STRING, 'name', 'UTF8', None, ), # 1 (2, TType.STRING, 'className', 'UTF8', None, ), # 2 (3, TType.STRING, 'fileName', 'UTF8', None, ), # 3 - (4, TType.STRING, 'ip', 'UTF8', None, ), # 4 + (4, TType.LIST, 'ipPortPair', (TType.STRUCT, [IpPortPair, None], False), None, ), # 4 (5, TType.I32, 'type', None, None, ), # 5 ) all_structs.append(GetRegisterTaskInfoResp) @@ -9730,8 +9817,8 @@ def __ne__(self, other): (3, TType.STRING, 'schemaPrefix', 'UTF8', None, ), # 3 (4, TType.STRING, 'dataPrefix', 'UTF8', None, ), # 4 ) -all_structs.append(RemoveHistoryDataSourceReq) -RemoveHistoryDataSourceReq.thrift_spec = ( +all_structs.append(RemoveStorageEngineReq) +RemoveStorageEngineReq.thrift_spec = ( None, # 0 (1, TType.I64, 'sessionId', None, None, ), # 1 (2, TType.LIST, 'removedStorageEngineInfoList', (TType.STRUCT, [RemovedStorageEngineInfo, None], False), None, ), # 2