-
-
Notifications
You must be signed in to change notification settings - Fork 450
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
Test to support custom field sources. #2146
base: master
Are you sure you want to change the base?
Conversation
Using string-backed struct as a custom object. Currently works with `CustomId` and `CustomId?`. Does not yet work with `CustomId[]`.
src/DocumentDbTests/Reading/Linq/invoking_query_with_custom_field_source.cs
Outdated
Show resolved
Hide resolved
@jeremydmiller I might need some help to make the |
I cleared a bunch of issues by registering a mapping for var def = new CommandParameter(((CustomId)value.Value).Value);
return new ComparisonFilter(this, def, op); But for the array.contains scenario specifically this doesn't happen. Instead the field maps to I think what needs to happen is when registering a mapping in the PostgresProvider for the custom id, some sort of function needs to be passed in eg |
I think there's an evil downcast in the Linq parsing code to ArrayField that's messing this up. |
Doesnt serve a purpose for the tests
@elexisvenator Is the only thing missing at this point the Contains() operation? |
Oh, and I could probably try to finish this off on Monday if you wanted. |
I went through all documented functions and this is the list of functions that fail:
They all seem to be failing on the same reason. (Can't map a customid value to a varchar postgres value). |
Tried working around this and found even more hurdles. While queries against projections with a customid |
6f60ad6
to
0a7a351
Compare
Still a work in progress.
Using string-backed struct as a custom object.
Currently works with
CustomId
andCustomId?
. Does not yet work withCustomId[]
.Once working, can be added to documentation.