in crates/integrations/datafusion/src/table/table_provider_factory.rs [136:158]
fn check_cmd(cmd: &CreateExternalTable) -> Result<()> {
let CreateExternalTable {
schema,
table_partition_cols,
order_exprs,
constraints,
column_defaults,
..
} = cmd;
// Check if any of the fields violate the constraints in a single condition
let is_invalid = !schema.fields().is_empty()
|| !table_partition_cols.is_empty()
|| !order_exprs.is_empty()
|| !constraints.is_empty()
|| !column_defaults.is_empty();
if is_invalid {
return Err(Error::new(ErrorKind::FeatureUnsupported, "Currently we only support reading existing icebergs tables in external table command. To create new table, please use catalog provider."));
}
Ok(())
}