@Override
  public BeginTableExecuteResult<ConnectorTableExecuteHandle, ConnectorTableHandle>
      beginTableExecute(
          ConnectorSession session,
          ConnectorTableExecuteHandle tableExecuteHandle,
          ConnectorTableHandle updatedSourceTableHandle) {
    IcebergTableExecuteHandle executeHandle = (IcebergTableExecuteHandle) tableExecuteHandle;
    IcebergTableHandle table = (IcebergTableHandle) updatedSourceTableHandle;
    switch (executeHandle.getProcedureId()) {
      case OPTIMIZE:
        return beginOptimize(session, executeHandle, table);
      case DROP_EXTENDED_STATS:
      case EXPIRE_SNAPSHOTS:
      case REMOVE_ORPHAN_FILES:
        // handled via executeTableExecute
    }
    throw new IllegalArgumentException(
        "Unknown procedure '" + executeHandle.getProcedureId() + "'");
  }
Iceberg original metadata has some problems for mixed-format table, such as iceberg version,
table type. So copy from IcebergMetadata and made some change
amoro-format-mixed/amoro-mixed-trino/src/main/java/org/apache/amoro/trino/unkeyed/IcebergMetadata.java