bchavez / bchavez/RethinkDb.Driver

Improve PowerShell use case scenarios

Open
#103 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.