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]

Reply via email to