lidavidm commented on code in PR #4317:
URL: https://github.com/apache/arrow-adbc/pull/4317#discussion_r3435900511
##########
c/include/arrow-adbc/adbc.h:
##########
@@ -1516,6 +1518,23 @@ struct ADBC_EXPORT AdbcDriver {
AdbcStatusCode (*StatementExecuteMulti)(struct AdbcStatement*,
struct AdbcMultiResultSet*, struct
AdbcError*);
+ AdbcStatusCode (*ConnectionBeginIngestPartitions)(struct AdbcConnection*,
+ struct ArrowSchema*,
+ struct
AdbcSerializableHandle*,
+ struct AdbcError*);
+ AdbcStatusCode (*ConnectionWriteIngestPartition)(struct AdbcConnection*,
const uint8_t*,
+ size_t, struct
ArrowArrayStream*,
+ struct
AdbcSerializableHandle*,
+ struct AdbcError*);
+ AdbcStatusCode (*ConnectionCompleteIngestPartitions)(struct AdbcConnection*,
Review Comment:
I hear you, but my worry is that a new error code could be in principle
returned from any API function, which would break existing users.
If we say this code is only used for this particular API function, then I
think it makes more sense for an out parameter than an error code (which has a
non-local impact).
Also language bindings could use different strategies, e.g. Rust would
return an `Result<PartitionedIngestStatus>` or something and not an out
parameter, and deal with the messiness at the FFI layer. This is already the
case for various APIs (e.g. Java treats bulk ingest itself differently).
--
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]