Skip to content

.Net: [MEVD] Stop silently ignoring null generated keys in upserts #11401

@roji

Description

@roji
  • In the batching version of some of our connectors, some providers filter out null values, while others don't.
  • Note that the corresponding non-batching UpsertAsync does not filter out nulls, which is inconsistent behavior.
  • It's important for the list of keys returned from UpsertAsync to correspond exactly - position-wise - with the records passed in. The main point of returning those keys is that they can be correlated back to their records, so that those records can be fetched again later. If we silently filter out a null key, the wrong key would get correlated to the wrong record.
  • In any case, I don't believe there's legitimate scenarios where a key would be null (database-generated or not), so this feels like it should be an error rather than for them to get silently filtered out.

@westey-m @dmytrostruk am I missing something here, was there some interesting behavior in some of the connectors which requires null key filtering?

/cc @adamsitnik

(note that if we do something here, it should be done after #10692 (which I'm currently implemented))

Metadata

Metadata

Assignees

Labels

.NETIssue or Pull requests regarding .NET codeBuildFeatures planned for next Build conferencemsft.ext.vectordataRelated to Microsoft.Extensions.VectorData

Type

Projects

Status

Sprint: Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions