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

fix(datastore): allow non-empty values in the slice #4

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

bhshkh
Copy link
Owner

@bhshkh bhshkh commented Aug 30, 2024

Fixes: googleapis#6983
Issue: googleapis#6983

Cause: While saving a slice of structs, we try to extract all the fields of struct from first element in array. Then, all the fields in next elements are compared to these fields. For e.g., if array is [{a: 1, b: 2, c: 3}, {a: 4, b: 5, c: 6}, {a: 1, b: 2, c: 3, d: 10}], the library will throw error that 'd' is unknown field in element 3 since it was not part of the first element.
In issue googleapis#6983, when first array element is empty, e.g. [{}, {a: 4, b: 5, c: 6}, {a: 1, b: 2, c: 3, d: 10}] or T{Values: []string{"", "s1", "s2"}}, all the later fields in later elements error out as they were not seen in first element.

Fix: Use the first non-empty element of the array as a standard for the fields in rest of the elements

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant