(&self, merge: &Merge)
| 900 | } |
| 901 | |
| 902 | async fn handle_merge_into(&self, merge: &Merge) -> DFResult<DataFrame> { |
| 903 | let table_name = match &merge.table { |
| 904 | TableFactor::Table { name, .. } => name.clone(), |
| 905 | other => { |
| 906 | return Err(DataFusionError::Plan(format!( |
| 907 | "Unsupported target table in MERGE INTO: {other}" |
| 908 | ))) |
| 909 | } |
| 910 | }; |
| 911 | let (catalog, _catalog_name, identifier) = self.resolve_catalog_and_table(&table_name)?; |
| 912 | |
| 913 | let table = catalog |
| 914 | .get_table(&identifier) |
| 915 | .await |
| 916 | .map_err(to_datafusion_error)?; |
| 917 | |
| 918 | crate::merge_into::execute_merge_into(self, merge, table).await |
| 919 | } |
| 920 | |
| 921 | async fn handle_update(&self, update: &Update) -> DFResult<DataFrame> { |
| 922 | let table_name = match &update.table.relation { |
no test coverage detected