apache-iotdb 2.0.5__tar.gz → 2.0.8__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/PKG-INFO +3 -1
  2. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/README.md +2 -0
  3. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/apache_iotdb.egg-info/PKG-INFO +3 -1
  4. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/Session.py +7 -1
  5. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/thrift/common/ttypes.py +298 -0
  6. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/thrift/confignode/IConfigNodeRPCService.py +1273 -510
  7. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/thrift/confignode/ttypes.py +1789 -1659
  8. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/thrift/datanode/IDataNodeRPCService.py +1361 -101
  9. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/thrift/datanode/ttypes.py +980 -365
  10. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/thrift/rpc/IClientRPCService.py +12 -201
  11. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/thrift/rpc/ttypes.py +483 -645
  12. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/tsfile/utils/tsblock_serde.py +2 -3
  13. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/utils/SessionDataSet.py +19 -0
  14. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/utils/iotdb_rpc_dataset.py +68 -0
  15. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/pyproject.toml +1 -1
  16. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/tests/integration/iotdb_container.py +4 -1
  17. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/tests/integration/sqlalchemy/test_dialect.py +12 -7
  18. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/tests/integration/test_dataframe.py +50 -0
  19. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/tests/integration/test_todf.py +1 -1
  20. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/tests/integration/test_treemodel_insert.py +2 -1
  21. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/apache_iotdb.egg-info/SOURCES.txt +0 -0
  22. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/apache_iotdb.egg-info/dependency_links.txt +0 -0
  23. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/apache_iotdb.egg-info/entry_points.txt +0 -0
  24. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/apache_iotdb.egg-info/requires.txt +0 -0
  25. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/apache_iotdb.egg-info/top_level.txt +0 -0
  26. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/SessionPool.py +0 -0
  27. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/__init__.py +0 -0
  28. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/dbapi/Connection.py +0 -0
  29. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/dbapi/Cursor.py +0 -0
  30. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/dbapi/Exceptions.py +0 -0
  31. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/dbapi/__init__.py +0 -0
  32. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/sqlalchemy/IoTDBDialect.py +0 -0
  33. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/sqlalchemy/IoTDBIdentifierPreparer.py +0 -0
  34. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/sqlalchemy/IoTDBSQLCompiler.py +0 -0
  35. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/sqlalchemy/IoTDBTypeCompiler.py +0 -0
  36. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/sqlalchemy/__init__.py +0 -0
  37. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/table_session.py +0 -0
  38. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/table_session_pool.py +0 -0
  39. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/template/MeasurementNode.py +0 -0
  40. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/template/Template.py +0 -0
  41. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/template/TemplateNode.py +0 -0
  42. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/template/TemplateQueryType.py +0 -0
  43. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/template/__init__.py +0 -0
  44. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/thrift/__init__.py +0 -0
  45. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/thrift/common/__init__.py +0 -0
  46. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/thrift/common/constants.py +0 -0
  47. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/thrift/confignode/__init__.py +0 -0
  48. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/thrift/confignode/constants.py +0 -0
  49. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/thrift/datanode/MPPDataExchangeService.py +0 -0
  50. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/thrift/datanode/__init__.py +0 -0
  51. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/thrift/datanode/constants.py +0 -0
  52. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/thrift/rpc/__init__.py +0 -0
  53. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/thrift/rpc/constants.py +0 -0
  54. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/tsfile/__init__.py +0 -0
  55. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/tsfile/common/__init__.py +0 -0
  56. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/tsfile/common/constant/__init__.py +0 -0
  57. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/tsfile/common/constant/tsfile_constant.py +0 -0
  58. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/tsfile/utils/__init__.py +0 -0
  59. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/tsfile/utils/date_utils.py +0 -0
  60. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/tsfile/utils/pair.py +0 -0
  61. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/tsfile/utils/read_write_io_utils.py +0 -0
  62. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/utils/BitMap.py +0 -0
  63. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/utils/Field.py +0 -0
  64. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/utils/IoTDBConstants.py +0 -0
  65. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/utils/NumpyTablet.py +0 -0
  66. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/utils/RowRecord.py +0 -0
  67. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/utils/Tablet.py +0 -0
  68. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/utils/__init__.py +0 -0
  69. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/utils/exception.py +0 -0
  70. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/iotdb/utils/rpc_utils.py +0 -0
  71. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/setup.cfg +0 -0
  72. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/tests/__init__.py +0 -0
  73. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/tests/integration/__init__.py +0 -0
  74. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/tests/integration/dbapi/__init__.py +0 -0
  75. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/tests/integration/dbapi/test_connection.py +0 -0
  76. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/tests/integration/dbapi/test_cursor.py +0 -0
  77. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/tests/integration/sqlalchemy/__init__.py +0 -0
  78. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/tests/integration/tablet_performance_comparison.py +0 -0
  79. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/tests/integration/test_aligned_timeseries.py +0 -0
  80. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/tests/integration/test_delete_data.py +0 -0
  81. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/tests/integration/test_new_data_types.py +0 -0
  82. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/tests/integration/test_one_device.py +0 -0
  83. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/tests/integration/test_relational_session.py +0 -0
  84. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/tests/integration/test_session.py +0 -0
  85. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/tests/integration/test_session_pool.py +0 -0
  86. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/tests/integration/test_tablemodel_insert.py +0 -0
  87. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/tests/integration/test_tablemodel_query.py +0 -0
  88. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/tests/integration/test_tablet.py +0 -0
  89. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/tests/unit/__init__.py +0 -0
  90. {apache_iotdb-2.0.5 → apache_iotdb-2.0.8}/tests/unit/test_numpy_tablet.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: apache-iotdb
3
- Version: 2.0.5
3
+ Version: 2.0.8
4
4
  Summary: Apache IoTDB client API
5
5
  Author-email: Apache IoTDB <dev@iotdb.apache.org>
6
6
  License-Expression: Apache-2.0
@@ -628,3 +628,5 @@ Namely, these are
628
628
  * Release to pypi
629
629
 
630
630
 
631
+
632
+
@@ -606,3 +606,5 @@ Namely, these are
606
606
  * Release to pypi
607
607
 
608
608
 
609
+
610
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: apache-iotdb
3
- Version: 2.0.5
3
+ Version: 2.0.8
4
4
  Summary: Apache IoTDB client API
5
5
  Author-email: Apache IoTDB <dev@iotdb.apache.org>
6
6
  License-Expression: Apache-2.0
@@ -628,3 +628,5 @@ Namely, these are
628
628
  * Release to pypi
629
629
 
630
630
 
631
+
632
+
@@ -95,7 +95,13 @@ class Session(object):
95
95
  self.__default_endpoint = TEndPoint(self.__host, self.__port)
96
96
  self.__user = user
97
97
  self.__password = password
98
- self.__fetch_size = fetch_size
98
+ if fetch_size > 0:
99
+ self.__fetch_size = fetch_size
100
+ else:
101
+ logger.warning(
102
+ f"fetch_size {fetch_size} is illegal, use default fetch_size {self.DEFAULT_FETCH_SIZE}"
103
+ )
104
+ self.__fetch_size = self.DEFAULT_FETCH_SIZE
99
105
  self.__is_close = True
100
106
  self.__client = None
101
107
  self.__default_connection = None
@@ -163,6 +163,7 @@ class TAggregationType(object):
163
163
  COUNT_ALL = 29
164
164
  APPROX_COUNT_DISTINCT = 30
165
165
  APPROX_MOST_FREQUENT = 31
166
+ APPROX_PERCENTILE = 32
166
167
 
167
168
  _VALUES_TO_NAMES = {
168
169
  0: "COUNT",
@@ -197,6 +198,7 @@ class TAggregationType(object):
197
198
  29: "COUNT_ALL",
198
199
  30: "APPROX_COUNT_DISTINCT",
199
200
  31: "APPROX_MOST_FREQUENT",
201
+ 32: "APPROX_PERCENTILE",
200
202
  }
201
203
 
202
204
  _NAMES_TO_VALUES = {
@@ -232,6 +234,7 @@ class TAggregationType(object):
232
234
  "COUNT_ALL": 29,
233
235
  "APPROX_COUNT_DISTINCT": 30,
234
236
  "APPROX_MOST_FREQUENT": 31,
237
+ "APPROX_PERCENTILE": 32,
235
238
  }
236
239
 
237
240
 
@@ -3080,6 +3083,199 @@ class TNodeLocations(object):
3080
3083
  return not (self == other)
3081
3084
 
3082
3085
 
3086
+ class TExternalServiceListResp(object):
3087
+ """
3088
+ Attributes:
3089
+ - status
3090
+ - externalServiceInfos
3091
+
3092
+ """
3093
+
3094
+
3095
+ def __init__(self, status=None, externalServiceInfos=None,):
3096
+ self.status = status
3097
+ self.externalServiceInfos = externalServiceInfos
3098
+
3099
+ def read(self, iprot):
3100
+ if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
3101
+ iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
3102
+ return
3103
+ iprot.readStructBegin()
3104
+ while True:
3105
+ (fname, ftype, fid) = iprot.readFieldBegin()
3106
+ if ftype == TType.STOP:
3107
+ break
3108
+ if fid == 1:
3109
+ if ftype == TType.STRUCT:
3110
+ self.status = TSStatus()
3111
+ self.status.read(iprot)
3112
+ else:
3113
+ iprot.skip(ftype)
3114
+ elif fid == 2:
3115
+ if ftype == TType.LIST:
3116
+ self.externalServiceInfos = []
3117
+ (_etype133, _size130) = iprot.readListBegin()
3118
+ for _i134 in range(_size130):
3119
+ _elem135 = TExternalServiceEntry()
3120
+ _elem135.read(iprot)
3121
+ self.externalServiceInfos.append(_elem135)
3122
+ iprot.readListEnd()
3123
+ else:
3124
+ iprot.skip(ftype)
3125
+ else:
3126
+ iprot.skip(ftype)
3127
+ iprot.readFieldEnd()
3128
+ iprot.readStructEnd()
3129
+
3130
+ def write(self, oprot):
3131
+ if oprot._fast_encode is not None and self.thrift_spec is not None:
3132
+ oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
3133
+ return
3134
+ oprot.writeStructBegin('TExternalServiceListResp')
3135
+ if self.status is not None:
3136
+ oprot.writeFieldBegin('status', TType.STRUCT, 1)
3137
+ self.status.write(oprot)
3138
+ oprot.writeFieldEnd()
3139
+ if self.externalServiceInfos is not None:
3140
+ oprot.writeFieldBegin('externalServiceInfos', TType.LIST, 2)
3141
+ oprot.writeListBegin(TType.STRUCT, len(self.externalServiceInfos))
3142
+ for iter136 in self.externalServiceInfos:
3143
+ iter136.write(oprot)
3144
+ oprot.writeListEnd()
3145
+ oprot.writeFieldEnd()
3146
+ oprot.writeFieldStop()
3147
+ oprot.writeStructEnd()
3148
+
3149
+ def validate(self):
3150
+ if self.status is None:
3151
+ raise TProtocolException(message='Required field status is unset!')
3152
+ if self.externalServiceInfos is None:
3153
+ raise TProtocolException(message='Required field externalServiceInfos is unset!')
3154
+ return
3155
+
3156
+ def __repr__(self):
3157
+ L = ['%s=%r' % (key, value)
3158
+ for key, value in self.__dict__.items()]
3159
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
3160
+
3161
+ def __eq__(self, other):
3162
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
3163
+
3164
+ def __ne__(self, other):
3165
+ return not (self == other)
3166
+
3167
+
3168
+ class TExternalServiceEntry(object):
3169
+ """
3170
+ Attributes:
3171
+ - serviceName
3172
+ - className
3173
+ - state
3174
+ - dataNodeId
3175
+ - serviceType
3176
+
3177
+ """
3178
+
3179
+
3180
+ def __init__(self, serviceName=None, className=None, state=None, dataNodeId=None, serviceType=None,):
3181
+ self.serviceName = serviceName
3182
+ self.className = className
3183
+ self.state = state
3184
+ self.dataNodeId = dataNodeId
3185
+ self.serviceType = serviceType
3186
+
3187
+ def read(self, iprot):
3188
+ if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
3189
+ iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
3190
+ return
3191
+ iprot.readStructBegin()
3192
+ while True:
3193
+ (fname, ftype, fid) = iprot.readFieldBegin()
3194
+ if ftype == TType.STOP:
3195
+ break
3196
+ if fid == 1:
3197
+ if ftype == TType.STRING:
3198
+ self.serviceName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
3199
+ else:
3200
+ iprot.skip(ftype)
3201
+ elif fid == 2:
3202
+ if ftype == TType.STRING:
3203
+ self.className = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
3204
+ else:
3205
+ iprot.skip(ftype)
3206
+ elif fid == 3:
3207
+ if ftype == TType.BYTE:
3208
+ self.state = iprot.readByte()
3209
+ else:
3210
+ iprot.skip(ftype)
3211
+ elif fid == 4:
3212
+ if ftype == TType.I32:
3213
+ self.dataNodeId = iprot.readI32()
3214
+ else:
3215
+ iprot.skip(ftype)
3216
+ elif fid == 5:
3217
+ if ftype == TType.BYTE:
3218
+ self.serviceType = iprot.readByte()
3219
+ else:
3220
+ iprot.skip(ftype)
3221
+ else:
3222
+ iprot.skip(ftype)
3223
+ iprot.readFieldEnd()
3224
+ iprot.readStructEnd()
3225
+
3226
+ def write(self, oprot):
3227
+ if oprot._fast_encode is not None and self.thrift_spec is not None:
3228
+ oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
3229
+ return
3230
+ oprot.writeStructBegin('TExternalServiceEntry')
3231
+ if self.serviceName is not None:
3232
+ oprot.writeFieldBegin('serviceName', TType.STRING, 1)
3233
+ oprot.writeString(self.serviceName.encode('utf-8') if sys.version_info[0] == 2 else self.serviceName)
3234
+ oprot.writeFieldEnd()
3235
+ if self.className is not None:
3236
+ oprot.writeFieldBegin('className', TType.STRING, 2)
3237
+ oprot.writeString(self.className.encode('utf-8') if sys.version_info[0] == 2 else self.className)
3238
+ oprot.writeFieldEnd()
3239
+ if self.state is not None:
3240
+ oprot.writeFieldBegin('state', TType.BYTE, 3)
3241
+ oprot.writeByte(self.state)
3242
+ oprot.writeFieldEnd()
3243
+ if self.dataNodeId is not None:
3244
+ oprot.writeFieldBegin('dataNodeId', TType.I32, 4)
3245
+ oprot.writeI32(self.dataNodeId)
3246
+ oprot.writeFieldEnd()
3247
+ if self.serviceType is not None:
3248
+ oprot.writeFieldBegin('serviceType', TType.BYTE, 5)
3249
+ oprot.writeByte(self.serviceType)
3250
+ oprot.writeFieldEnd()
3251
+ oprot.writeFieldStop()
3252
+ oprot.writeStructEnd()
3253
+
3254
+ def validate(self):
3255
+ if self.serviceName is None:
3256
+ raise TProtocolException(message='Required field serviceName is unset!')
3257
+ if self.className is None:
3258
+ raise TProtocolException(message='Required field className is unset!')
3259
+ if self.state is None:
3260
+ raise TProtocolException(message='Required field state is unset!')
3261
+ if self.dataNodeId is None:
3262
+ raise TProtocolException(message='Required field dataNodeId is unset!')
3263
+ if self.serviceType is None:
3264
+ raise TProtocolException(message='Required field serviceType is unset!')
3265
+ return
3266
+
3267
+ def __repr__(self):
3268
+ L = ['%s=%r' % (key, value)
3269
+ for key, value in self.__dict__.items()]
3270
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
3271
+
3272
+ def __eq__(self, other):
3273
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
3274
+
3275
+ def __ne__(self, other):
3276
+ return not (self == other)
3277
+
3278
+
3083
3279
  class TShowConfigurationTemplateResp(object):
3084
3280
  """
3085
3281
  Attributes:
@@ -3224,6 +3420,87 @@ class TShowConfigurationResp(object):
3224
3420
 
3225
3421
  def __ne__(self, other):
3226
3422
  return not (self == other)
3423
+
3424
+
3425
+ class TShowAppliedConfigurationsResp(object):
3426
+ """
3427
+ Attributes:
3428
+ - status
3429
+ - data
3430
+
3431
+ """
3432
+
3433
+
3434
+ def __init__(self, status=None, data=None,):
3435
+ self.status = status
3436
+ self.data = data
3437
+
3438
+ def read(self, iprot):
3439
+ if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
3440
+ iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
3441
+ return
3442
+ iprot.readStructBegin()
3443
+ while True:
3444
+ (fname, ftype, fid) = iprot.readFieldBegin()
3445
+ if ftype == TType.STOP:
3446
+ break
3447
+ if fid == 1:
3448
+ if ftype == TType.STRUCT:
3449
+ self.status = TSStatus()
3450
+ self.status.read(iprot)
3451
+ else:
3452
+ iprot.skip(ftype)
3453
+ elif fid == 2:
3454
+ if ftype == TType.MAP:
3455
+ self.data = {}
3456
+ (_ktype138, _vtype139, _size137) = iprot.readMapBegin()
3457
+ for _i141 in range(_size137):
3458
+ _key142 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
3459
+ _val143 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
3460
+ self.data[_key142] = _val143
3461
+ iprot.readMapEnd()
3462
+ else:
3463
+ iprot.skip(ftype)
3464
+ else:
3465
+ iprot.skip(ftype)
3466
+ iprot.readFieldEnd()
3467
+ iprot.readStructEnd()
3468
+
3469
+ def write(self, oprot):
3470
+ if oprot._fast_encode is not None and self.thrift_spec is not None:
3471
+ oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
3472
+ return
3473
+ oprot.writeStructBegin('TShowAppliedConfigurationsResp')
3474
+ if self.status is not None:
3475
+ oprot.writeFieldBegin('status', TType.STRUCT, 1)
3476
+ self.status.write(oprot)
3477
+ oprot.writeFieldEnd()
3478
+ if self.data is not None:
3479
+ oprot.writeFieldBegin('data', TType.MAP, 2)
3480
+ oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.data))
3481
+ for kiter144, viter145 in self.data.items():
3482
+ oprot.writeString(kiter144.encode('utf-8') if sys.version_info[0] == 2 else kiter144)
3483
+ oprot.writeString(viter145.encode('utf-8') if sys.version_info[0] == 2 else viter145)
3484
+ oprot.writeMapEnd()
3485
+ oprot.writeFieldEnd()
3486
+ oprot.writeFieldStop()
3487
+ oprot.writeStructEnd()
3488
+
3489
+ def validate(self):
3490
+ if self.status is None:
3491
+ raise TProtocolException(message='Required field status is unset!')
3492
+ return
3493
+
3494
+ def __repr__(self):
3495
+ L = ['%s=%r' % (key, value)
3496
+ for key, value in self.__dict__.items()]
3497
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
3498
+
3499
+ def __eq__(self, other):
3500
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
3501
+
3502
+ def __ne__(self, other):
3503
+ return not (self == other)
3227
3504
  all_structs.append(TEndPoint)
3228
3505
  TEndPoint.thrift_spec = (
3229
3506
  None, # 0
@@ -3444,6 +3721,21 @@ TNodeLocations.thrift_spec = (
3444
3721
  (1, TType.LIST, 'configNodeLocations', (TType.STRUCT, [TConfigNodeLocation, None], False), None, ), # 1
3445
3722
  (2, TType.LIST, 'dataNodeLocations', (TType.STRUCT, [TDataNodeLocation, None], False), None, ), # 2
3446
3723
  )
3724
+ all_structs.append(TExternalServiceListResp)
3725
+ TExternalServiceListResp.thrift_spec = (
3726
+ None, # 0
3727
+ (1, TType.STRUCT, 'status', [TSStatus, None], None, ), # 1
3728
+ (2, TType.LIST, 'externalServiceInfos', (TType.STRUCT, [TExternalServiceEntry, None], False), None, ), # 2
3729
+ )
3730
+ all_structs.append(TExternalServiceEntry)
3731
+ TExternalServiceEntry.thrift_spec = (
3732
+ None, # 0
3733
+ (1, TType.STRING, 'serviceName', 'UTF8', None, ), # 1
3734
+ (2, TType.STRING, 'className', 'UTF8', None, ), # 2
3735
+ (3, TType.BYTE, 'state', None, None, ), # 3
3736
+ (4, TType.I32, 'dataNodeId', None, None, ), # 4
3737
+ (5, TType.BYTE, 'serviceType', None, None, ), # 5
3738
+ )
3447
3739
  all_structs.append(TShowConfigurationTemplateResp)
3448
3740
  TShowConfigurationTemplateResp.thrift_spec = (
3449
3741
  None, # 0
@@ -3456,5 +3748,11 @@ TShowConfigurationResp.thrift_spec = (
3456
3748
  (1, TType.STRUCT, 'status', [TSStatus, None], None, ), # 1
3457
3749
  (2, TType.STRING, 'content', 'UTF8', None, ), # 2
3458
3750
  )
3751
+ all_structs.append(TShowAppliedConfigurationsResp)
3752
+ TShowAppliedConfigurationsResp.thrift_spec = (
3753
+ None, # 0
3754
+ (1, TType.STRUCT, 'status', [TSStatus, None], None, ), # 1
3755
+ (2, TType.MAP, 'data', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ), # 2
3756
+ )
3459
3757
  fix_spec(all_structs)
3460
3758
  del all_structs