fivetran-connector-sdk 2.3.0__tar.gz → 2.3.1__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 (24) hide show
  1. {fivetran_connector_sdk-2.3.0 → fivetran_connector_sdk-2.3.1}/PKG-INFO +1 -1
  2. {fivetran_connector_sdk-2.3.0 → fivetran_connector_sdk-2.3.1}/src/fivetran_connector_sdk/__init__.py +1 -1
  3. {fivetran_connector_sdk-2.3.0 → fivetran_connector_sdk-2.3.1}/src/fivetran_connector_sdk/operations.py +15 -6
  4. {fivetran_connector_sdk-2.3.0 → fivetran_connector_sdk-2.3.1}/src/fivetran_connector_sdk.egg-info/PKG-INFO +1 -1
  5. {fivetran_connector_sdk-2.3.0 → fivetran_connector_sdk-2.3.1}/README.md +0 -0
  6. {fivetran_connector_sdk-2.3.0 → fivetran_connector_sdk-2.3.1}/pyproject.toml +0 -0
  7. {fivetran_connector_sdk-2.3.0 → fivetran_connector_sdk-2.3.1}/setup.cfg +0 -0
  8. {fivetran_connector_sdk-2.3.0 → fivetran_connector_sdk-2.3.1}/src/fivetran_connector_sdk/connector_helper.py +0 -0
  9. {fivetran_connector_sdk-2.3.0 → fivetran_connector_sdk-2.3.1}/src/fivetran_connector_sdk/constants.py +0 -0
  10. {fivetran_connector_sdk-2.3.0 → fivetran_connector_sdk-2.3.1}/src/fivetran_connector_sdk/helpers.py +0 -0
  11. {fivetran_connector_sdk-2.3.0 → fivetran_connector_sdk-2.3.1}/src/fivetran_connector_sdk/logger.py +0 -0
  12. {fivetran_connector_sdk-2.3.0 → fivetran_connector_sdk-2.3.1}/src/fivetran_connector_sdk/operation_stream.py +0 -0
  13. {fivetran_connector_sdk-2.3.0 → fivetran_connector_sdk-2.3.1}/src/fivetran_connector_sdk/protos/__init__.py +0 -0
  14. {fivetran_connector_sdk-2.3.0 → fivetran_connector_sdk-2.3.1}/src/fivetran_connector_sdk/protos/common_pb2.py +0 -0
  15. {fivetran_connector_sdk-2.3.0 → fivetran_connector_sdk-2.3.1}/src/fivetran_connector_sdk/protos/common_pb2.pyi +0 -0
  16. {fivetran_connector_sdk-2.3.0 → fivetran_connector_sdk-2.3.1}/src/fivetran_connector_sdk/protos/common_pb2_grpc.py +0 -0
  17. {fivetran_connector_sdk-2.3.0 → fivetran_connector_sdk-2.3.1}/src/fivetran_connector_sdk/protos/connector_sdk_pb2.py +0 -0
  18. {fivetran_connector_sdk-2.3.0 → fivetran_connector_sdk-2.3.1}/src/fivetran_connector_sdk/protos/connector_sdk_pb2.pyi +0 -0
  19. {fivetran_connector_sdk-2.3.0 → fivetran_connector_sdk-2.3.1}/src/fivetran_connector_sdk/protos/connector_sdk_pb2_grpc.py +0 -0
  20. {fivetran_connector_sdk-2.3.0 → fivetran_connector_sdk-2.3.1}/src/fivetran_connector_sdk.egg-info/SOURCES.txt +0 -0
  21. {fivetran_connector_sdk-2.3.0 → fivetran_connector_sdk-2.3.1}/src/fivetran_connector_sdk.egg-info/dependency_links.txt +0 -0
  22. {fivetran_connector_sdk-2.3.0 → fivetran_connector_sdk-2.3.1}/src/fivetran_connector_sdk.egg-info/entry_points.txt +0 -0
  23. {fivetran_connector_sdk-2.3.0 → fivetran_connector_sdk-2.3.1}/src/fivetran_connector_sdk.egg-info/requires.txt +0 -0
  24. {fivetran_connector_sdk-2.3.0 → fivetran_connector_sdk-2.3.1}/src/fivetran_connector_sdk.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fivetran_connector_sdk
3
- Version: 2.3.0
3
+ Version: 2.3.1
4
4
  Summary: Build custom connectors on Fivetran platform
5
5
  Author-email: Fivetran <developers@fivetran.com>
6
6
  Project-URL: Homepage, https://fivetran.com/docs/connectors/connector-sdk
@@ -44,7 +44,7 @@ from fivetran_connector_sdk.connector_helper import (
44
44
 
45
45
  # Version format: <major_version>.<minor_version>.<patch_version>
46
46
  # (where Major Version = 2, Minor Version is incremental MM from Aug 25 onwards, Patch Version is incremental within a month)
47
- __version__ = "2.3.0"
47
+ __version__ = "2.3.1"
48
48
  TESTER_VERSION = TESTER_VER
49
49
  MAX_MESSAGE_LENGTH = 32 * 1024 * 1024 # 32MB
50
50
 
@@ -187,9 +187,21 @@ def _log_boolean_inference_once(table):
187
187
  print_library_log("Fivetran: Boolean Datatype inference issue for " + table, Logging.Level.INFO, True)
188
188
  _LOG_DATA_TYPE_INFERENCE[key] = False
189
189
 
190
+ _INFERENCE_TYPE_HANDLERS = {
191
+ int: lambda v: common_pb2.ValueType(float=v) if abs(v)>JAVA_LONG_MAX_VALUE else common_pb2.ValueType(long=v),
192
+ float: lambda v: common_pb2.ValueType(float=v),
193
+ bool: lambda v: common_pb2.ValueType(bool=v),
194
+ bytes: lambda v: common_pb2.ValueType(binary=v),
195
+ dict: lambda v: common_pb2.ValueType(json=json.dumps(v)),
196
+ str: lambda v: common_pb2.ValueType(string=v)
197
+ }
198
+
190
199
  def map_inferred_data_type(k, mapped_data, v, table=""):
191
- # We can infer type from the value
192
- if isinstance(v, bool):
200
+ data_type = type(v)
201
+ handler = _INFERENCE_TYPE_HANDLERS.get(data_type)
202
+ if handler:
203
+ mapped_data[k] = handler(v)
204
+ elif isinstance(v, bool):
193
205
  mapped_data[k] = common_pb2.ValueType(bool=v)
194
206
  _log_boolean_inference_once(table)
195
207
  elif isinstance(v, int):
@@ -201,10 +213,7 @@ def map_inferred_data_type(k, mapped_data, v, table=""):
201
213
  mapped_data[k] = common_pb2.ValueType(float=v)
202
214
  elif isinstance(v, bytes):
203
215
  mapped_data[k] = common_pb2.ValueType(binary=v)
204
- elif isinstance(v, list):
205
- raise ValueError(
206
- "Values for the columns cannot be of type 'list'. Please ensure that all values are of a supported type. Reference: https://fivetran.com/docs/connectors/connector-sdk/technical-reference#supporteddatatypes")
207
- elif isinstance(v, dict):
216
+ elif isinstance(v, (list, dict)):
208
217
  mapped_data[k] = common_pb2.ValueType(json=json.dumps(v))
209
218
  elif isinstance(v, str):
210
219
  mapped_data[k] = common_pb2.ValueType(string=v)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fivetran_connector_sdk
3
- Version: 2.3.0
3
+ Version: 2.3.1
4
4
  Summary: Build custom connectors on Fivetran platform
5
5
  Author-email: Fivetran <developers@fivetran.com>
6
6
  Project-URL: Homepage, https://fivetran.com/docs/connectors/connector-sdk