feat(csharp): native C# Snowflake ADBC driver (REST-based) - #171
feat(csharp): native C# Snowflake ADBC driver (REST-based)#171ndglover wants to merge 7 commits into
Conversation
6a7ba51 to
aaba4ec
Compare
There was a problem hiding this comment.
I thought certain IDE files used CRLF?
There was a problem hiding this comment.
I found that by not fixing it to one or the other you end up with certain IDEs automatically modifying the files. This means you need to manually handle this in git by reverting these changes or you end up in ding dong between different conventions people have. I believe fixing to one works better but open to other suggestions
|
Thanks @lidavidm for leaving a comment which reminded me of this PR. I'll set some time aside tomorrow evening to look at it. There are a bunch of linter issues around whitespace and at least one file missing a copyright notice. I also wonder whether the copyright year should be 2026 ;). And this is probably just a "me" thing, but I find I keep getting confused by the use of "Native" to refer to the managed implementation (being "native C#"). |
| ArgumentNullException.ThrowIfNull(batch); | ||
| ArgumentNullException.ThrowIfNull(schema); | ||
|
|
||
| _boundParameters = batch; |
There was a problem hiding this comment.
If _boundParameters is already set, should we dispose it?
| if (parameters.TryGetValue("adbc.snowflake.sql.client_option.request_timeout", out string? requestTimeoutStr) && | ||
| int.TryParse(requestTimeoutStr, out int requestTimeoutSeconds)) | ||
| { | ||
| config.QueryTimeout = TimeSpan.FromSeconds(requestTimeoutSeconds); | ||
| } |
There was a problem hiding this comment.
If the value is present but does not parse, presumably we should error?
There was a problem hiding this comment.
Yes, this is a better pattern, thanks. I've applied a fix
Adds a from-scratch, fully-managed C# implementation of the Snowflake ADBC driver (net8.0), independent of the Go/cgo Interop driver. It speaks Snowflake's internal REST protocol directly and returns Arrow natively. Add QueryTag to connection and statement
|
@CurtHagenlocher - I think I've fixed up the linting issues and missing license headers now. |
Adds a from-scratch, fully-managed C# implementation of the Snowflake ADBC driver (net8.0), independent of the Go/cgo Interop driver. It speaks Snowflake's internal REST protocol directly and returns Arrow natively.
As discussed in our slack chat here is a first cut of the driver.
Tagging @lidavidm @ianmcook @davidhcoe @CurtHagenlocher