New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Examine the possibility of eliminating some of the CASTing that propagates from JsonLocatorField #744

jokokko opened this Issue May 4, 2017 · 3 comments


None yet
2 participants

jokokko commented May 4, 2017

Touched in #740 and discussed in Gitter, I think this a possible area of (massive) perf gains, especially when indices are concerned.


This comment has been minimized.


jeremydmiller commented Jun 8, 2017

@jokokko Can you make this one a bit more concrete? I don't see JsonLocatorField as something we can't change later after the 2.0 release. As for some of what you're talking about in #740, you'd have to break into individual Linq parsing to effect some of those changes. There won't be any quick, easy fix to JsonLocatorField by itself.

@jeremydmiller jeremydmiller added this to the 2.1 milestone Jun 8, 2017

@jeremydmiller jeremydmiller modified the milestone: 2.1 Aug 11, 2017


This comment has been minimized.


jeremydmiller commented May 4, 2018

Meh, I hit some of this today.

Couple thoughts:

  • In some places, we need a "raw" locator that gives you the JSONB element
  • In other places, we need it cast to an exact type
  • In still other places, we may need it corrected a bit for usage in JSONB_ARRAY_**** functions
  • There are two different constructors for JsonLocatorField, one for shallow fields and one for complex fields, and they do not have consistent logic applied to them.

@jeremydmiller jeremydmiller modified the milestones: 2.8.0, 2.9.0 May 4, 2018

@jeremydmiller jeremydmiller modified the milestones: 2.9.0, 3.0 Alpha 1 Jul 19, 2018


This comment has been minimized.


jeremydmiller commented Jul 19, 2018

Wimping out and pushing this to 3.0.

@jeremydmiller jeremydmiller modified the milestones: 3.0 Alpha 1, 3.0 Aug 31, 2018

@jeremydmiller jeremydmiller removed this from the 3.0 milestone Sep 26, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment