Copilot commented on code in PR #4895:
URL: https://github.com/apache/arrow-adbc/pull/4895#discussion_r4278995559
##########
csharp/src/Apache.Arrow.Adbc/AdbcConnection.cs:
##########
@@ -25,7 +27,12 @@ namespace Apache.Arrow.Adbc
/// Provides methods for query execution, managing prepared statements,
/// using transactions, and so on.
/// </summary>
- public abstract class AdbcConnection : IDisposable
+ /// <remarks>
+ /// Each asynchronous method has a default implementation that runs the
+ /// corresponding synchronous method on the thread pool and responds to its
+ /// <see cref="CancellationToken"/> by calling <see cref="Cancel"/>.
+ /// </remarks>
+ public abstract class AdbcConnection : IDisposable, IAsyncDisposable
Review Comment:
`Apache.Arrow.Adbc.csproj` still targets `netstandard2.0`, where
`IAsyncDisposable` is not part of the reference API; the existing
`AdbcDatabase11`/`AdbcConnection11`/`AdbcStatement11` declarations guard this
interface with `#if NET5_0_OR_GREATER`. Implementing it unconditionally here
makes the netstandard2.0 target fail to compile (and prevents the net472 test
target from consuming it). Guard the interface, or add an explicit
compatibility dependency that supplies it for netstandard2.0.
##########
csharp/src/Apache.Arrow.Adbc/AdbcDatabase.cs:
##########
@@ -27,7 +29,7 @@ namespace Apache.Arrow.Adbc
/// For example, in-memory databases can place ownership of the actual
/// database in this object.
/// </summary>
- public abstract class AdbcDatabase : IDisposable
+ public abstract class AdbcDatabase : IDisposable, IAsyncDisposable
Review Comment:
`Apache.Arrow.Adbc.csproj` still targets `netstandard2.0`, where
`IAsyncDisposable` is not part of the reference API; the existing
`AdbcDatabase11`/`AdbcConnection11`/`AdbcStatement11` declarations therefore
guard this interface with `#if NET5_0_OR_GREATER`. Implementing it
unconditionally here makes the netstandard2.0 target fail to compile (and
prevents the net472 test target from consuming it). Guard the interface, or add
an explicit compatibility dependency that supplies it for netstandard2.0.
##########
csharp/src/Apache.Arrow.Adbc/AdbcStatement.cs:
##########
@@ -26,7 +27,12 @@ namespace Apache.Arrow.Adbc
/// may be used multiple times and can be reconfigured (e.g. they can
/// be reused to execute multiple different queries).
/// </summary>
- public abstract class AdbcStatement : IDisposable
+ /// <remarks>
+ /// Each asynchronous method has a default implementation that runs the
+ /// corresponding synchronous method on the thread pool and responds to its
+ /// <see cref="CancellationToken"/> by calling <see cref="Cancel"/>.
+ /// </remarks>
+ public abstract class AdbcStatement : IDisposable, IAsyncDisposable
Review Comment:
`Apache.Arrow.Adbc.csproj` still targets `netstandard2.0`, where
`IAsyncDisposable` is not part of the reference API; the existing
`AdbcDatabase11`/`AdbcConnection11`/`AdbcStatement11` declarations guard this
interface with `#if NET5_0_OR_GREATER`. Implementing it unconditionally here
makes the netstandard2.0 target fail to compile (and prevents the net472 test
target from consuming it). Guard the interface, or add an explicit
compatibility dependency that supplies it for netstandard2.0.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]