-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
Context: Spanner has a hard limit on size of a mutation that is 20k cells, the product of rows and columns. Schemas for protobuf messages containing oneofs could be mapped to large number of nullable fields in Spanner. When inserting rows to this schema, the majority of these nullable fields will not be set, and setting the column to null is equivalent to not setting it at all. This method, not setting columns at all, drastically lowers the number of cells mutated in a mutation. --- This change adds `row.MutatePresentColumns` which only mutates nullable fields that are present. * Nullable scalars are considered present if `column.Valid == true` * Nullable arrays are considered present if `len(column) != 0` * Nullable bytes are considered present if `len(colum) != 0`
- Loading branch information
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.