tokoko commented on code in PR #4317:
URL: https://github.com/apache/arrow-adbc/pull/4317#discussion_r3433408549
##########
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:
let me push back a little. out param feels clean for C intreface, but
replicating the same for language apis will be a patchwork of different
solutions, they would have to either go into exceptions or have additional
output in the signature depending on the language. btw, what makes a new status
code a big change, would something break? are there code paths that rely on
exhaustive checks?
Another alternative is to put some additional metadata inside an Error
message. That's probably abuse, but also could work.
##########
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:
let me push back a little. out param feels clean for C interface, but
replicating the same for language apis will be a patchwork of different
solutions, they would have to either go into exceptions or have additional
output in the signature depending on the language. btw, what makes a new status
code a big change, would something break? are there code paths that rely on
exhaustive checks?
Another alternative is to put some additional metadata inside an Error
message. That's probably abuse, but also could work.
--
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]