joellubi commented on code in PR #38385:
URL: https://github.com/apache/arrow/pull/38385#discussion_r1424138793


##########
format/FlightSql.proto:
##########
@@ -1779,9 +1796,60 @@ message CommandPreparedStatementUpdate {
 }
 
 /*
- * Returned from the RPC call DoPut when a CommandStatementUpdate
- * CommandPreparedStatementUpdate was in the request, containing
- * results from the update.
+ * Represents a bulk ingestion request. Used in the command member of 
FlightDescriptor
+ * for the the RPC call DoPut to cause the server load the contents of the 
stream's
+ * FlightData into the target destination.
+ */
+message CommandStatementIngest {

Review Comment:
   I've given some thought to potentially splitting up the "create" and 
"append" operations. Having creation be a separate operation would be nice, but 
I do also see the slippery slope of adding more configuration over time for 
various edge cases.
   
   It would definitely be valuable to have _some_ method of abstracting table 
creation logic in a way that's independent of the backend. I did some research 
and learned that Substrait already has a 
[relation](https://substrait.io/relations/logical_relations/#ddl-data-definition-language-operator)
 defined for this. For this reason, it seems that independent "create" and 
"append" operations are more aligned with Substrait's stated goals rather than 
those of Flight SQL. I think that past a certain level of detail, a Substrait 
DDL + Write plan should be the supported/preferred approach to handle these 
kinds of scenarios.



-- 
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: github-unsubscr...@arrow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to