Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

set type to string for records with fields #137

Merged

Conversation

rstevens2022
Copy link
Contributor

Hi! In the original Seaport tables for v1.1 on Polygon - for fields that were "RECORD" type data was coming back as NULL, in the Ethereum Seaport tables and also when I run the Seaport contract through a parser, I see those fields as "STRING" which I think might be contributing to the NULL values being seen

@charlielewisme
Copy link
Collaborator

charlielewisme commented Feb 23, 2023

I agree. Thank you for raising this.

Let me quote my colleague @TimNooren, as reference for yourself and others:

The problem is that we do not recursively parse trace inputs like we do for logs. You compare the javascript UDF for logs with the one for traces (note no recursion in the latter). This means that we return structs as actual objects for logs, but as plain (json?) strings for traces. The problem occurs when the BigQuery table schema for a trace definition does specify the whole struct schema, since it will just receive a string. I think this leads to all fields of the struct being null.

@charlielewisme charlielewisme merged commit bb7a25f into blockchain-etl:main Feb 23, 2023
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.

2 participants