icsDataValidation 1.0.263__py3-none-any.whl → 1.0.273__py3-none-any.whl

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.
@@ -122,7 +122,7 @@ def compare_objects(testing_tool_params: TestingToolParams, objects_to_compare:
122
122
 
123
123
  for column in comparison_service.result_params.all_columns_trgt_src:
124
124
 
125
- column_level_comparison_result=ResultService.prepare_column_level_result(column, exclude_columns, comparison_service.result_params, testing_tool_params)
125
+ column_level_comparison_result=ResultService.prepare_column_level_result(column, exclude_columns, comparison_service.result_params)
126
126
 
127
127
  if column_level_comparison_result["COUNT_NULLS_EQUAL"] is False:
128
128
  comparison_service.result_params.all_count_nulls_equal = False
@@ -49,14 +49,6 @@ class ResultParams():
49
49
  # aggregation-comparison (to save)
50
50
  aggregations_equal = None
51
51
  all_count_nulls_equal = None
52
- aggregations_tolerated_1 = None
53
- aggregations_tolerated_2 = None
54
- aggregations_tolerated_3 = None
55
- aggregations_tolerated_4 = None
56
- aggregations_tolerated_5 = None
57
- aggregations_tolerated_6 = None
58
- aggregations_tolerated_7 = None
59
- aggregations_tolerated_8 = None
60
52
 
61
53
  # error handling (row-count-comparison and aggregation-comparison)
62
54
  src_error_dict = None
@@ -4,6 +4,7 @@ import datetime
4
4
  import numpy as np
5
5
 
6
6
  from pandas._testing import assert_frame_equal
7
+ from decimal import Decimal
7
8
 
8
9
  from icsDataValidation.utils.logger_util import configure_dev_ops_logger
9
10
  from icsDataValidation.utils.pandas_util import get_diff_dataframes, get_diff_dict_from_diff_dataframes
@@ -166,8 +167,8 @@ class ComparisonService(TestingToolParams):
166
167
 
167
168
  if self.result_params.src_row_count != 0 and self.result_params.trgt_row_count != 0:
168
169
  aggregation_differences_trgt_minus_src_not_boolean = {
169
- k: round(float(trgt_columns_aggregate[k][1])
170
- - float(src_columns_aggregate[k][1]), self.numeric_scale)
170
+ k: round(Decimal(trgt_columns_aggregate[k][1])
171
+ - Decimal(src_columns_aggregate[k][1]), self.numeric_scale)
171
172
  for k in src_columns_aggregate.keys()
172
173
  if k in trgt_columns_aggregate
173
174
  and str(src_columns_aggregate[k][1]) != str(trgt_columns_aggregate[k][1])
@@ -231,15 +232,7 @@ class ComparisonService(TestingToolParams):
231
232
 
232
233
  else:
233
234
  aggregation_differences_trgt_minus_src = {}
234
-
235
- aggregation_differences_trgt_minus_src_only_numeric = {
236
- k: round(float(trgt_columns_aggregate[k][1])
237
- - float(src_columns_aggregate[k][1]), self.numeric_scale)
238
- for k in src_columns_aggregate.keys()
239
- if k in trgt_columns_aggregate
240
- and trgt_columns_aggregate[k][0] == 'SUM'
241
- }
242
-
235
+
243
236
  aggregations_equal = True
244
237
  if src_aggregations_error or trgt_aggregations_error:
245
238
  aggregations_equal = None
@@ -248,58 +241,6 @@ class ComparisonService(TestingToolParams):
248
241
  if aggregation_diff and not aggregation_diff == 0.0:
249
242
  aggregations_equal = False
250
243
  break
251
-
252
- if len(aggregation_differences_trgt_minus_src_only_numeric)>0:
253
- aggregations_tolerated_1 = {k: True if v < 1 else False for k,v in aggregation_differences_trgt_minus_src_only_numeric.items()}
254
- aggregations_tolerated_2 = {k: True if v < 1 and int(v * 10) == 0 else False for k,v in aggregation_differences_trgt_minus_src_only_numeric.items()}
255
- aggregations_tolerated_3 = {k: True if v < 1 and int(v * (10**2)) == 0 else False for k,v in aggregation_differences_trgt_minus_src_only_numeric.items()}
256
- aggregations_tolerated_4 = {k: True if v < 1 and int(v * (10**3)) == 0 else False for k,v in aggregation_differences_trgt_minus_src_only_numeric.items()}
257
- aggregations_tolerated_5 = {k: True if v < 1 and int(v * (10**4)) == 0 else False for k,v in aggregation_differences_trgt_minus_src_only_numeric.items()}
258
- aggregations_tolerated_6= {k: True if v < 1 and int(v * (10**5)) == 0 else False for k,v in aggregation_differences_trgt_minus_src_only_numeric.items()}
259
- aggregations_tolerated_7 = {k: True if v < 1 and int(v * (10**6)) == 0 else False for k,v in aggregation_differences_trgt_minus_src_only_numeric.items()}
260
- aggregations_tolerated_8 = {k: True if v < 1 and int(v * (10**7)) == 0 else False for k,v in aggregation_differences_trgt_minus_src_only_numeric.items()}
261
- if all(value is True for value in aggregations_tolerated_1.values()):
262
- aggregations_tolerated_1=True
263
- else:
264
- aggregations_tolerated_1=False
265
- if all(value is True for value in aggregations_tolerated_2.values()):
266
- aggregations_tolerated_2=True
267
- else:
268
- aggregations_tolerated_2=False
269
- if all(value is True for value in aggregations_tolerated_3.values()):
270
- aggregations_tolerated_3=True
271
- else:
272
- aggregations_tolerated_3=False
273
- if all(value is True for value in aggregations_tolerated_4.values()):
274
- aggregations_tolerated_4=True
275
- else:
276
- aggregations_tolerated_4=False
277
- if all(value is True for value in aggregations_tolerated_5.values()):
278
- aggregations_tolerated_5=True
279
- else:
280
- aggregations_tolerated_5=False
281
- if all(value is True for value in aggregations_tolerated_6.values()):
282
- aggregations_tolerated_6=True
283
- else:
284
- aggregations_tolerated_6=False
285
- if all(value is True for value in aggregations_tolerated_7.values()):
286
- aggregations_tolerated_7=True
287
- else:
288
- aggregations_tolerated_7=False
289
- if all(value is True for value in aggregations_tolerated_8.values()):
290
- aggregations_tolerated_8=True
291
- else:
292
- aggregations_tolerated_8=False
293
- else:
294
- aggregations_tolerated_8 = None
295
- aggregations_tolerated_7 = None
296
- aggregations_tolerated_6 = None
297
- aggregations_tolerated_5 = None
298
- aggregations_tolerated_4 = None
299
- aggregations_tolerated_3 = None
300
- aggregations_tolerated_2 = None
301
- aggregations_tolerated_1 = None
302
-
303
244
 
304
245
  # save results
305
246
  self.result_params.src_column_datatypes = src_column_datatypes
@@ -312,16 +253,6 @@ class ComparisonService(TestingToolParams):
312
253
  self.result_params.src_error_dict = src_error_dict
313
254
  self.result_params.trgt_error_dict = trgt_error_dict
314
255
  self.result_params.aggregations_equal = aggregations_equal
315
-
316
- self.result_params.aggregations_tolerated_1 = aggregations_tolerated_1
317
- self.result_params.aggregations_tolerated_2 = aggregations_tolerated_2
318
- self.result_params.aggregations_tolerated_3 = aggregations_tolerated_3
319
- self.result_params.aggregations_tolerated_4 = aggregations_tolerated_4
320
- self.result_params.aggregations_tolerated_5 = aggregations_tolerated_5
321
- self.result_params.aggregations_tolerated_6 = aggregations_tolerated_6
322
- self.result_params.aggregations_tolerated_7 = aggregations_tolerated_7
323
- self.result_params.aggregations_tolerated_8 = aggregations_tolerated_8
324
-
325
256
 
326
257
 
327
258
  def group_by_comparison(self):
@@ -852,14 +852,7 @@ class SnowflakeService(object):
852
852
  TRGT_ROW_COUNT, \
853
853
  ALL_COUNT_NULLS_EQUAL, \
854
854
  AGGREGATIONS_EQUAL, \
855
- AGGREGATIONS_EQUAL_TOLERATED_1,\
856
- AGGREGATIONS_EQUAL_TOLERATED_2,\
857
- AGGREGATIONS_EQUAL_TOLERATED_3,\
858
- AGGREGATIONS_EQUAL_TOLERATED_4,\
859
- AGGREGATIONS_EQUAL_TOLERATED_5,\
860
- AGGREGATIONS_EQUAL_TOLERATED_6,\
861
- AGGREGATIONS_EQUAL_TOLERATED_7,\
862
- AGGREGATIONS_EQUAL_TOLERATED_8,\
855
+ AGGREGATIONS_EQUAL_TOLERATED,\
863
856
  SRC_ERROR_QUERY, \
864
857
  TRGT_ERROR_QUERY, \
865
858
  SRC_ERROR_MSG, \
@@ -914,14 +907,7 @@ class SnowflakeService(object):
914
907
  F1.VALUE:TRGT_ROW_COUNT::INT AS TRGT_ROW_COUNT, \
915
908
  F1.VALUE:ALL_COUNT_NULLS_EQUAL::BOOLEAN AS ALL_COUNT_NULLS_EQUAL, \
916
909
  F1.VALUE:AGGREGATIONS_EQUAL::BOOLEAN AS AGGREGATIONS_EQUAL, \
917
- F1.VALUE:AGGREGATIONS_EQUAL_TOLERATED_1::BOOLEAN AS AGGREGATIONS_EQUAL_TOLERATED_1,\
918
- F1.VALUE:AGGREGATIONS_EQUAL_TOLERATED_2::BOOLEAN AS AGGREGATIONS_EQUAL_TOLERATED_2,\
919
- F1.VALUE:AGGREGATIONS_EQUAL_TOLERATED_3::BOOLEAN AS AGGREGATIONS_EQUAL_TOLERATED_3,\
920
- F1.VALUE:AGGREGATIONS_EQUAL_TOLERATED_4::BOOLEAN AS AGGREGATIONS_EQUAL_TOLERATED_4,\
921
- F1.VALUE:AGGREGATIONS_EQUAL_TOLERATED_5::BOOLEAN AS AGGREGATIONS_EQUAL_TOLERATED_5,\
922
- F1.VALUE:AGGREGATIONS_EQUAL_TOLERATED_6::BOOLEAN AS AGGREGATIONS_EQUAL_TOLERATED_6,\
923
- F1.VALUE:AGGREGATIONS_EQUAL_TOLERATED_7::BOOLEAN AS AGGREGATIONS_EQUAL_TOLERATED_7,\
924
- F1.VALUE:AGGREGATIONS_EQUAL_TOLERATED_8::BOOLEAN AS AGGREGATIONS_EQUAL_TOLERATED_8,\
910
+ F1.VALUE:AGGREGATIONS_EQUAL_TOLERATED::BOOLEAN AS AGGREGATIONS_EQUAL_TOLERATED,\
925
911
  F1.VALUE:SRC_ERROR:QUERY::VARCHAR AS SRC_ERROR_QUERY, \
926
912
  F1.VALUE:TRGT_ERROR:QUERY::VARCHAR AS TRGT_ERROR_QUERY, \
927
913
  F1.VALUE:SRC_ERROR:ERROR::VARCHAR AS SRC_ERROR_MSG, \
@@ -1002,14 +988,7 @@ class SnowflakeService(object):
1002
988
  AGGREGATION_RESULT_SRC,\
1003
989
  AGGREGATION_RESULT_TRGT,\
1004
990
  AGGREGATION_DIFFERENCE_TRGT_MINUS_SRC,\
1005
- AGGREGATION_EQUAL_TOLERATED_1,\
1006
- AGGREGATION_EQUAL_TOLERATED_2,\
1007
- AGGREGATION_EQUAL_TOLERATED_3,\
1008
- AGGREGATION_EQUAL_TOLERATED_4,\
1009
- AGGREGATION_EQUAL_TOLERATED_5,\
1010
- AGGREGATION_EQUAL_TOLERATED_6,\
1011
- AGGREGATION_EQUAL_TOLERATED_7,\
1012
- AGGREGATION_EQUAL_TOLERATED_8,\
991
+ AGGREGATION_EQUAL_TOLERATED,\
1013
992
  COUNT_NULLS_EQUAL,\
1014
993
  COUNT_NULLS_SRC,\
1015
994
  COUNT_NULLS_TRGT,\
@@ -1045,14 +1024,7 @@ class SnowflakeService(object):
1045
1024
  F2.VALUE:AGGREGATION_RESULT_SRC::VARCHAR AS AGGREGATION_RESULT_SRC,\
1046
1025
  F2.VALUE:AGGREGATION_RESULT_TRGT::VARCHAR AS AGGREGATION_RESULT_TRGT,\
1047
1026
  F2.VALUE:AGGREGATION_DIFFERENCE_TRGT_MINUS_SRC::VARCHAR AS AGGREGATION_DIFFERENCE_TRGT_MINUS_SRC,\
1048
- F2.VALUE:AGGREGATION_EQUAL_TOLERATED_1::BOOLEAN AS AGGREGATION_EQUAL_TOLERATED_1,\
1049
- F2.VALUE:AGGREGATION_EQUAL_TOLERATED_2::BOOLEAN AS AGGREGATION_EQUAL_TOLERATED_2,\
1050
- F2.VALUE:AGGREGATION_EQUAL_TOLERATED_3::BOOLEAN AS AGGREGATION_EQUAL_TOLERATED_3,\
1051
- F2.VALUE:AGGREGATION_EQUAL_TOLERATED_4::BOOLEAN AS AGGREGATION_EQUAL_TOLERATED_4,\
1052
- F2.VALUE:AGGREGATION_EQUAL_TOLERATED_5::BOOLEAN AS AGGREGATION_EQUAL_TOLERATED_5,\
1053
- F2.VALUE:AGGREGATION_EQUAL_TOLERATED_6::BOOLEAN AS AGGREGATION_EQUAL_TOLERATED_6,\
1054
- F2.VALUE:AGGREGATION_EQUAL_TOLERATED_7::BOOLEAN AS AGGREGATION_EQUAL_TOLERATED_7,\
1055
- F2.VALUE:AGGREGATION_EQUAL_TOLERATED_8::BOOLEAN AS AGGREGATION_EQUAL_TOLERATED_8,\
1027
+ F2.VALUE:AGGREGATION_EQUAL_TOLERATED::BOOLEAN AS AGGREGATION_EQUAL_TOLERATED,\
1056
1028
  F2.VALUE:COUNT_NULLS_EQUAL::BOOLEAN AS COUNT_NULLS_EQUAL,\
1057
1029
  F2.VALUE:COUNT_NULLS_SRC::VARCHAR AS COUNT_NULLS_SRC,\
1058
1030
  F2.VALUE:COUNT_NULLS_TRGT::VARCHAR AS COUNT_NULLS_TRGT,\
@@ -4,6 +4,7 @@ import subprocess
4
4
  import json
5
5
 
6
6
  from azure.storage.blob import BlobServiceClient
7
+ from decimal import Decimal
7
8
 
8
9
  from icsDataValidation.services.system_service import SystemService
9
10
  from icsDataValidation.utils.logger_util import configure_dev_ops_logger
@@ -107,8 +108,7 @@ class ResultService(TestingToolParams):
107
108
  def prepare_column_level_result(
108
109
  column: str,
109
110
  exclude_columns: list,
110
- result_params: ResultParams,
111
- testing_tool_params: TestingToolParams
111
+ result_params: ResultParams
112
112
  ) -> dict:
113
113
  """
114
114
  Get column level result dictionary from the result parameters.
@@ -121,14 +121,7 @@ class ResultService(TestingToolParams):
121
121
  aggregation_result_src = None
122
122
  aggregation_result_trgt = None
123
123
  aggregation_equal = None
124
- aggregation_tolerated_1 = None
125
- aggregation_tolerated_2 = None
126
- aggregation_tolerated_3 = None
127
- aggregation_tolerated_4 = None
128
- aggregation_tolerated_5 = None
129
- aggregation_tolerated_6 = None
130
- aggregation_tolerated_7 = None
131
- aggregation_tolerated_8 = None
124
+ aggregation_tolerated = None
132
125
  aggregation_difference_trgt_minus_src = None
133
126
  count_nulls_src = None
134
127
  count_nulls_trgt = None
@@ -141,7 +134,7 @@ class ResultService(TestingToolParams):
141
134
  else:
142
135
  in_src = False
143
136
  src_datatype = None
144
-
137
+
145
138
  if column in result_params.trgt_columns_upper:
146
139
  in_trgt = True
147
140
  trgt_datatype = next(item["DATA_TYPE"] for item in result_params.trgt_column_datatypes if item["COLUMN_NAME"].upper() == column)
@@ -171,52 +164,10 @@ class ResultService(TestingToolParams):
171
164
  if column in result_params.aggregation_differences_trgt_minus_src and result_params.aggregation_differences_trgt_minus_src[column] and not result_params.aggregation_differences_trgt_minus_src[column] == '0_0':
172
165
  aggregation_equal = False
173
166
  aggregation_difference_trgt_minus_src = result_params.aggregation_differences_trgt_minus_src[column]
174
- '''
175
- Comparison Based on Decimal Places
176
- The term aggregation_tolerated_x refers to a comparison between two numbers based on the precision specified by x decimal places.
177
-
178
- Logic:
179
- aggregation_tolerated_1 = True only when the difference between two numbers is less than 1 (i.e., the comparison is based on the first decimal place).
180
- aggregation_tolerated_2 = True only when the difference between two numbers is less than 0.1 (i.e., the comparison is based on the second decimal place).
181
- and so on.
182
- '''
183
- if aggregation_type_src == 'SUM':
184
- aggregation_tolerated_8 = False
185
- aggregation_tolerated_7 = False
186
- aggregation_tolerated_6 = False
187
- aggregation_tolerated_5 = False
188
- aggregation_tolerated_4 = False
189
- aggregation_tolerated_3 = False
190
- aggregation_tolerated_2 = False
191
- aggregation_tolerated_1 = False
192
- if aggregation_difference_trgt_minus_src < 1:
193
- aggregation_tolerated_1 = True
194
- if int(aggregation_difference_trgt_minus_src * 10) == 0:
195
- aggregation_tolerated_2 = True
196
- if int(aggregation_difference_trgt_minus_src * (10**2)) == 0:
197
- aggregation_tolerated_3 = True
198
- if int(aggregation_difference_trgt_minus_src * (10**3)) == 0:
199
- aggregation_tolerated_4 = True
200
- if int(aggregation_difference_trgt_minus_src * (10**4)) == 0:
201
- aggregation_tolerated_5 = True
202
- if int(aggregation_difference_trgt_minus_src * (10**5)) == 0:
203
- aggregation_tolerated_6 = True
204
- if int(aggregation_difference_trgt_minus_src * (10**6)) == 0:
205
- aggregation_tolerated_7 = True
206
- if int(aggregation_difference_trgt_minus_src * (10**7)) == 0:
207
- aggregation_tolerated_8 = True
167
+
208
168
  elif aggregation_result_src is not None and aggregation_result_trgt is not None and aggregation_type_src and aggregation_type_trgt and aggregation_type_src == aggregation_type_trgt:
209
169
  aggregation_equal = True
210
- if aggregation_type_src.upper() == 'SUM':
211
- aggregation_tolerated_8 = True
212
- aggregation_tolerated_7 = True
213
- aggregation_tolerated_6 = True
214
- aggregation_tolerated_5 = True
215
- aggregation_tolerated_4 = True
216
- aggregation_tolerated_3 = True
217
- aggregation_tolerated_2 = True
218
- aggregation_tolerated_1 = True
219
-
170
+
220
171
  if column in result_params.aggregation_differences_trgt_minus_src and result_params.aggregation_differences_trgt_minus_src[column] == '0_0':
221
172
  aggregation_difference_trgt_minus_src='0_0'
222
173
 
@@ -225,6 +176,22 @@ class ResultService(TestingToolParams):
225
176
 
226
177
  if aggregation_type_src and aggregation_type_trgt and aggregation_type_src == aggregation_type_trgt:
227
178
  aggregation_type = aggregation_type_src
179
+
180
+ '''
181
+ Comparison Based on Decimal Places
182
+ Logic is defined in migration_config.json
183
+ '''
184
+ aggregation_tolerated = aggregation_equal
185
+
186
+ if 'DATATYPE_TOLERACE' in TestingToolParams.migration_config['MAPPING'].keys():
187
+ if (
188
+ src_datatype in TestingToolParams.migration_config['MAPPING']['DATATYPE_TOLERACE'].keys()
189
+ and aggregation_type == 'SUM'
190
+ and abs(Decimal(aggregation_difference_trgt_minus_src)) <= Decimal(TestingToolParams.migration_config['MAPPING']['DATATYPE_TOLERACE'][src_datatype])
191
+ ):
192
+ aggregation_tolerated = True
193
+ else :
194
+ aggregation_tolerated = None
228
195
 
229
196
  if count_nulls_src is not None and count_nulls_trgt is not None and count_nulls_src==count_nulls_trgt:
230
197
  count_nulls_equal = True
@@ -246,14 +213,7 @@ class ResultService(TestingToolParams):
246
213
  "DATATYPE_EQUAL": datatype_equal,
247
214
  "AGGREGATION_TYPE": aggregation_type,
248
215
  "AGGREGATION_EQUAL": aggregation_equal,
249
- "AGGREGATION_EQUAL_TOLERATED_1": aggregation_tolerated_1,
250
- "AGGREGATION_EQUAL_TOLERATED_2": aggregation_tolerated_2,
251
- "AGGREGATION_EQUAL_TOLERATED_3": aggregation_tolerated_3,
252
- "AGGREGATION_EQUAL_TOLERATED_4": aggregation_tolerated_4,
253
- "AGGREGATION_EQUAL_TOLERATED_5": aggregation_tolerated_5,
254
- "AGGREGATION_EQUAL_TOLERATED_6": aggregation_tolerated_6,
255
- "AGGREGATION_EQUAL_TOLERATED_7": aggregation_tolerated_7,
256
- "AGGREGATION_EQUAL_TOLERATED_8": aggregation_tolerated_8,
216
+ "AGGREGATION_EQUAL_TOLERATED": aggregation_tolerated,
257
217
  "AGGREGATION_RESULT_SRC": aggregation_result_src,
258
218
  "AGGREGATION_RESULT_TRGT": aggregation_result_trgt,
259
219
  "AGGREGATION_DIFFERENCE_TRGT_MINUS_SRC": aggregation_difference_trgt_minus_src,
@@ -264,7 +224,7 @@ class ResultService(TestingToolParams):
264
224
  }
265
225
 
266
226
  return column_comparison_result
267
-
227
+
268
228
  @staticmethod
269
229
  def prepare_object_level_result(
270
230
  src_object: DatabaseObject,
@@ -278,6 +238,16 @@ class ResultService(TestingToolParams):
278
238
  """
279
239
  Get object level result dictionary from the result parameters and from the column level result.
280
240
  """
241
+
242
+ if 'DATATYPE_TOLERACE' not in TestingToolParams.migration_config['MAPPING']:
243
+ aggregations_equal_tolerated = None
244
+ elif result_params.aggregations_equal:
245
+ aggregations_equal_tolerated = True
246
+ elif all([column['AGGREGATION_EQUAL_TOLERATED'] for column in column_level_comparison_result]):
247
+ aggregations_equal_tolerated = True
248
+ else:
249
+ aggregations_equal_tolerated = False
250
+
281
251
  object_level_comparison_result = {
282
252
  "SRC_DATABASE_NAME": src_object.database,
283
253
  "SRC_SCHEMA_NAME": src_object.schema,
@@ -300,14 +270,7 @@ class ResultService(TestingToolParams):
300
270
  "TRGT_ROW_COUNT": result_params.trgt_row_count,
301
271
  "ALL_COUNT_NULLS_EQUAL": result_params.all_count_nulls_equal,
302
272
  "AGGREGATIONS_EQUAL": result_params.aggregations_equal,
303
- "AGGREGATIONS_EQUAL_TOLERATED_1":result_params.aggregations_tolerated_1,
304
- "AGGREGATIONS_EQUAL_TOLERATED_2":result_params.aggregations_tolerated_2,
305
- "AGGREGATIONS_EQUAL_TOLERATED_3":result_params.aggregations_tolerated_3,
306
- "AGGREGATIONS_EQUAL_TOLERATED_4":result_params.aggregations_tolerated_4,
307
- "AGGREGATIONS_EQUAL_TOLERATED_5":result_params.aggregations_tolerated_5,
308
- "AGGREGATIONS_EQUAL_TOLERATED_6":result_params.aggregations_tolerated_6,
309
- "AGGREGATIONS_EQUAL_TOLERATED_7":result_params.aggregations_tolerated_7,
310
- "AGGREGATIONS_EQUAL_TOLERATED_8":result_params.aggregations_tolerated_8,
273
+ "AGGREGATIONS_EQUAL_TOLERATED": aggregations_equal_tolerated,
311
274
  "SRC_ERROR": result_params.src_error_dict,
312
275
  "TRGT_ERROR": result_params.trgt_error_dict,
313
276
  "GROUP_BY_COLUMNS": result_params.object_group_by_columns,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: icsDataValidation
3
- Version: 1.0.263
3
+ Version: 1.0.273
4
4
  Summary: ics data validation
5
5
  Home-page: https://initions.com/
6
6
  Author: initions
@@ -11,15 +11,15 @@ icsDataValidation/connection_setups/snowflake_connection_setup.py,sha256=JDTdIM0
11
11
  icsDataValidation/connection_setups/teradata_connection_setup.py,sha256=fIpuxz-FTqFK2vSMSuokqU9sdJkaJ4UP5piY_zIbj5k,624
12
12
  icsDataValidation/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
13
  icsDataValidation/core/database_objects.py,sha256=2oaDaVQajSYI_HJjJy1pmc6FsoK_wMfwgu6ZgEcFvow,523
14
- icsDataValidation/core/object_comparison.py,sha256=yOY_k0KTGtRqCCLBlveTtVMm0J-oape1Y-U8fUe4eU0,15009
14
+ icsDataValidation/core/object_comparison.py,sha256=OEz5m1pp_PbIWyM5998iB5obFKYdJEqDo9Z0Hpj7o4A,14988
15
15
  icsDataValidation/input_parameters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
16
  icsDataValidation/input_parameters/testing_tool_params.py,sha256=6LkqEaH3vaeCn6d1b3jYIwlXAXIRclxLzcXdsmlkc9M,6731
17
17
  icsDataValidation/output_parameters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
- icsDataValidation/output_parameters/result_params.py,sha256=jr3Eu4lqEbECHT4FUogGHZWNjz01Hb49i9r9BTidQHk,3153
18
+ icsDataValidation/output_parameters/result_params.py,sha256=5Mk9L9zWaxUqcKwLZQ539lVUp0b0s-YUmSA3PBgbqfs,2833
19
19
  icsDataValidation/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
- icsDataValidation/services/comparison_service.py,sha256=PSaiRD5oIcwSqdliTAQ-f-h7sgsEPQtdzpnUe1-cXlE,47330
20
+ icsDataValidation/services/comparison_service.py,sha256=x8RjZs2bgYDHFueq5ysNADY1cC6rYBf6eDyCsF-_w84,42705
21
21
  icsDataValidation/services/initialization_service.py,sha256=AHbJrq_LjMPFoeOJC2pi2ZZ1xkL8njSZn38psc3do60,6687
22
- icsDataValidation/services/result_service.py,sha256=jjKENA0MHULPNIuWVeprGrnDwii8OcgalLPTfJ9JS-s,31549
22
+ icsDataValidation/services/result_service.py,sha256=XwesiZjs8nAFD4wTYM_Fd1xEH_Txug3mj1FzpAg7o7c,28339
23
23
  icsDataValidation/services/system_service.py,sha256=GSkSPNG5PlLWchwlYM5H-1FMtuCNwpXcyZZOUB_0stU,3228
24
24
  icsDataValidation/services/testset_service.py,sha256=k1wRjI4Ltw9fylek9iW8N6DvnXn13wf6IJ703qQDMEc,15363
25
25
  icsDataValidation/services/database_services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -28,7 +28,7 @@ icsDataValidation/services/database_services/databricks_hive_metastore_service.p
28
28
  icsDataValidation/services/database_services/databricks_unity_catalog_service.py,sha256=INA8rd3KW_jAplNagGa9tEON3dyOufcIAPOOdmc0Mrc,70259
29
29
  icsDataValidation/services/database_services/exasol_service.py,sha256=7LYnRScO3DxBmuSN0HmTgsFc2el-Ii3A9jgGsXSJVU8,11074
30
30
  icsDataValidation/services/database_services/oracle_service.py,sha256=60unwWlHm520ioFmz0y2K8ApwZrruf9iB0ojjQx0IWc,31523
31
- icsDataValidation/services/database_services/snowflake_service.py,sha256=lpw6HIAjkiDiI71T9al0L_8hhzKr1DvgW3hFOiRXV-c,63981
31
+ icsDataValidation/services/database_services/snowflake_service.py,sha256=UWmjQZN4oX2ctH6uhE2oklXGHo66SK5UnQbFYFhzDuc,60630
32
32
  icsDataValidation/services/database_services/teradata_service.py,sha256=Rf0xzcZGEbooq3r2Rfe2fCahTm2Xw4uznQa8vyWoyqM,40169
33
33
  icsDataValidation/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
34
  icsDataValidation/utils/file_util.py,sha256=ZTMB1sTnIIdffg9tEJRCFQQ5SG8Fksc5ie1PM4gHXG4,3432
@@ -36,7 +36,7 @@ icsDataValidation/utils/logger_util.py,sha256=xS48_FFMot_hyQgJY8DUeRTn5jpdvRt5QI
36
36
  icsDataValidation/utils/pandas_util.py,sha256=D_g7Xw7BIS2E-1ZhJIvp62K5xuKjIkj-7TxH4HN_8SI,6505
37
37
  icsDataValidation/utils/parallelization_util.py,sha256=6P0YcQLmunW_fHR4f5-kdncZbOlxxqKyk6ZAFQQEd2k,2088
38
38
  icsDataValidation/utils/sql_util.py,sha256=0c-BInElSsRmXUedfLP_h9Wsiscv9aic7IIc5f15Uzo,396
39
- icsDataValidation-1.0.263.dist-info/METADATA,sha256=SU4x2e1hKbEl66_XaxNEMcyiDlThy0AlQSCeBtXRV0E,720
40
- icsDataValidation-1.0.263.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
41
- icsDataValidation-1.0.263.dist-info/top_level.txt,sha256=YL9V1qreCXZeUCy-tzA4Vxv5-6mvXy5lsfAT0nQapfg,53
42
- icsDataValidation-1.0.263.dist-info/RECORD,,
39
+ icsDataValidation-1.0.273.dist-info/METADATA,sha256=Ya2fksiXg3MA7a8LkygIvQuTjOCkFFSIch9fJ_5fKGI,720
40
+ icsDataValidation-1.0.273.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
41
+ icsDataValidation-1.0.273.dist-info/top_level.txt,sha256=YL9V1qreCXZeUCy-tzA4Vxv5-6mvXy5lsfAT0nQapfg,53
42
+ icsDataValidation-1.0.273.dist-info/RECORD,,