lidavidm commented on code in PR #38385: URL: https://github.com/apache/arrow/pull/38385#discussion_r1388768097
########## format/FlightSql.proto: ########## @@ -1778,6 +1794,47 @@ message CommandPreparedStatementUpdate { bytes prepared_statement_handle = 1; } +/* + * 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 { + option (experimental) = true; + + // Describes the behavior for loading bulk data. + enum IngestMode { + // Ingestion behavior unspecified. + INGEST_MODE_UNSPECIFIED = 0; + // Create the target table. Fail if the target table already exists. + INGEST_MODE_CREATE = 1; + // Append to an existing target table. Fail if the target table does not exist. + INGEST_MODE_APPEND = 2; + // Drop the target table if it exists. Then follow INGEST_MODE_CREATE behavior. + INGEST_MODE_REPLACE = 3; + // Create the target table if it does not exist. Then follow INGEST_MODE_APPEND behavior. + INGEST_MODE_CREATE_APPEND = 4; + } + + // The ingestion behavior. + IngestMode mode = 1; + // The table to load data into. + string table = 2; + // The db_schema of the destination table to load data into. If unset, a backend-specific default may be used. + optional string schema = 3; + // The catalog of the destination table to load data into. If unset, a backend-specific default may be used. + optional string catalog = 4; + // Use a temporary table. + optional bool temporary = 5; Review Comment: Temporary tables appear to generally be treated as if they're under a different namespace (so in some sense the flag is redundant with the catalog/db_schema arguments, though it saves you from knowing exactly what the database calls it and whether it's a schema or a catalog). So I `APPEND` should fail if no temporary table exists by that name, and that `REPLACE` would ignore a non-temporary table that otherwise has that name (and thereby fail if there is no temporary table with that name). -- 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