Skip to content

ExRam.Gremlinq 13.7.0

Enhanced Type Filtering and OfType Operator

  • Early contradiction detection: The OfType operator 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 OfType overloads: Additional overloads have been added to the OfType operator (#2273) for improved flexibility and type safety.

Type-system addition

  • Single-adjacent-vertex-edge support: A new IEdgeGremlinQuery interface 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 BothE overloads: Following the pattern established in version 13.6.0 and now possible thanks to #2267, BothE supports multiple type parameters (#2270), eliminating the need for Union calls 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