diff --git a/CHANGELOG.md b/CHANGELOG.md index a884cd3..dede370 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # Changelog +## 1.2.2 + * Handling NULL's / None in Singer.Decimal columns. + ## 1.2.1 * Applying cursor array_size to incremental and log_based. * Renaming config parameter from `full_table_sync_batch_size` to `cursor_array_size`. diff --git a/setup.py b/setup.py index b58b8e8..861347e 100644 --- a/setup.py +++ b/setup.py @@ -6,7 +6,7 @@ long_description = f.read() setup(name='pipelinewise-tap-oracle', - version='1.2.1', + version='1.2.2', description='Singer.io tap for extracting data from Oracle - PipelineWise compatible', long_description=long_description, long_description_content_type='text/markdown', diff --git a/tap_oracle/sync_strategies/common.py b/tap_oracle/sync_strategies/common.py index 05046c8..b826920 100644 --- a/tap_oracle/sync_strategies/common.py +++ b/tap_oracle/sync_strategies/common.py @@ -42,7 +42,10 @@ def row_to_singer_message(stream, row, version, columns, time_extracted): elif ('string' in property_type or property_type == 'string') and property_format == 'singer.decimal': if len(str(elem)) > MAX_DECIMAL_DIGITS: elem = elem.normalize() - row_to_persist += (str(elem),) + if elem is None: + row_to_persist += (elem,) + else: + row_to_persist += (str(elem),) elif 'integer' in property_type or property_type == 'integer': integer_representation = int(elem) row_to_persist += (integer_representation,)