Skip to content

Cosmos: remove null semantics compensation for InExpression #31063

@roji

Description

@roji

Although Cosmos supports a form of SQL, it does not do 3-value logic as standard SQL does; for example, null = null returns true. As a result, we don't need to do null semantics compensation. But for some reason, our InExpressionValuesExpandingExpressionVisitor (which expands InExpression values parameters to constants in SQL) adds an OR item IS NULL compensation.

As a verification, given a document containing Property2: null, the following SQL query returns the document just fine:

SELECT * FROM c WHERE c.Property2 IN (null)

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions