Skip to content

Complex JSON query support #36296

@roji

Description

@roji

Still to do:

  • ComplexPropertiesCollectionTestBase.Index_* (SQL Server, SQLite), #36444.
  • Enable tracking queries (#36430, #36446)
  • Equality for JSON complex types: RelationalSqlTranslatingExpressionVisitor.TryRewriteComplexTypeEquality (#36404)
    • Equality over subqueries
    • Contains
  • Subqueries:
    • Projection with JSON collection projection: see NotImplementedException in SelectExpression.ApplyProjection (line 494)
    • Lift complex JSON projections: see NotImplemented in SelectExpression. LiftStructuralProjectionFromSubquery (line 3850)
    • Complex property binding over subquery (see RelationalSqlTranslatingExpressionVisitor.BindComplexProperty)
  • Set operations over JSON collections (#36417)
  • Distinct over complex JSON (#36422)
  • Handle complex types in SQLite's SqliteQueryableMethodTranslatingExpressionVisitor.TransformJsonQueryToTable (#36417)
  • Test everything against SQL Server 2025 for the new json data type, do some extra smoke tests too
  • Go over complex property cache usages and make sure we don't rely on it incorrectly.
  • Uncomment the nullability check in SelectExpression.CreateSelect(JsonQueryExpression)

Metadata

Metadata

Assignees

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions