ExRam.Gremlinq 13.7.0
Enhanced Type Filtering and OfType Operator
- Early contradiction detection: The
OfTypeoperator now throws early when detecting contradictory type constraints that would result in empty query results (#2274). This helps catch logic errors at query-build time rather than silently producing empty results. - Consolidated filter behavior: Type filter behavior for object types has been unified and consolidated (#2276).
- Encapsulated type filters: Internal type filter logic has been better encapsulated (#2275), improving code organization and reducing the risk of inconsistencies.
- More
OfTypeoverloads: Additional overloads have been added to theOfTypeoperator (#2273) for improved flexibility and type safety.
Type-system addition
- Single-adjacent-vertex-edge support: A new
IEdgeGremlinQueryinterface has been introduced for representing an edge with a known adjacent vertex type but not known to be an in- or out-edge (#2267) - Multi-type
BothEoverloads: Following the pattern established in version 13.6.0 and now possible thanks to #2267,BothEsupports multiple type parameters (#2270), eliminating the need forUnioncalls when traversing multiple edge types.
Changes
- Consolidate behaviour of filters for object-types (#2276) @danielcweber
- Encapsulate type filters (#2275) @danielcweber
- OfType: Throw early on contradictions. (#2274) @danielcweber
- More OfType overloads (#2273) @danielcweber
- Generate Out(E)/In(E)/Both(E) implementations. (#2272) @danielcweber
- Replace NullGuard.Fody with RuntimeNullables.Fody (#2271) @danielcweber
- Add BothE overloads with multiple type parameters (#2270) @danielcweber
- Add IEdgeGremlinQuery for a single adjacent vertex (#2267) @danielcweber
- Move to CosmosDb Emulator 2.14.27 (#2266) @danielcweber