Skip to content

Support Arrays Nested Type & Add Tests#45

Open
gallejesus wants to merge 14 commits into
akurdyukov:mainfrom
gallejesus:main
Open

Support Arrays Nested Type & Add Tests#45
gallejesus wants to merge 14 commits into
akurdyukov:mainfrom
gallejesus:main

Conversation

@gallejesus
Copy link
Copy Markdown

In this PR we have overwritten some logic from singer sdk to allow nested array type, as well as fix the nullable default fallback.

Also we've added some test scenarios.

IMPORTANT. As this changes were made some time ago, the behaviour wrt nullable & optional was different. From singer-sdk v0.35.1 if a field is not required, even though it may not be declared as nullable, the schema detects it as nullable. This makes one of the tests (discovery_against_file) fail. If this behaviour is accepted we can change the test assertion to validate those non key fields as nullable.
But, giving my two cents, this behavior is not correct as it can lead to having non nullable fields in origin database converted into nullable fields in target due to this schema interpretation. It's something we can try to overwrite in the tap.

What do you think? Let's discuss :)

@gallejesus
Copy link
Copy Markdown
Author

Hi, any news on this?

@akurdyukov
Copy link
Copy Markdown
Owner

Thank you for contribution. The code like fine. But will the project have building issues if merged?

Copy link
Copy Markdown
Owner

@akurdyukov akurdyukov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please fix dead code

Comment thread tests/test_core.py
# ARRAY_COL = Column(Array(Integer), primary_key=False, nullable=True)
# __table_args__ = (
# engines.MergeTree(order_by="id", primary_key=["id"]),
# )
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This code seems to be dead, please remove it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants