bchavez / bchavez/RethinkDb.Driver
Improve PowerShell use case scenarios
- Dominant language
- C#
- Stars
- 381
- Forks
- 129
- PR merge metrics
- No merged PRs in 30d
Description
Ryan Paul @ RethinkDB brought to light there are some issues with PowerShell + Lambdas (`ReqlFunction*`) type resolution. After some light debugging, I suspect this is a problem with `Newtonsoft.Json` not playing nice with the PowerShell type system.
Additionally, our `[bracket]` parameterized property overloads may have something to do with self-recursion exceptions.
Also, PowerShell lambdas seem to be some kind of `Delegate` type, but not a strong enough type to pass the `ReqlFunction*` checks in `Func.FromLambda(Delegate)` term. I got a few exceptions that read `Arity of ReqlLambda not recognized!`. Hmm.
Re: F#
DJS: "The biggest gotcha I've encountered so far is with .Filter. The implicit conversion from func to ReqlFunction1 doesn't happen, so it uses the obj overload, which doesn't work. I've got another repo (myWebLog) that has some examples using filter, indexes, etc."
/cc @segphault
:car: :blue_car: [**_"Let the good times roll..."**_](https://www.youtube.com/watch?v=7BDBzgHXf64)
Contributor guide
Research direction
Start by reproducing the PowerShell Lambda cases described in the issue, then inspect ReqlFunction* type checks and Func.FromLambda(Delegate), including the Newtonsoft.Json and bracketed-property paths. Compare the Filter overload behavior with the cited F# examples. Done means the reported type-resolution, recursion, arity, and Filter failures are resolved without exceptions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp, powershell
- Domain
- backend, databases
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100