@Override
    public void executeUpdate(final AlterStorageUnitStatement sqlStatement, final ContextManager contextManager) {
        checkBefore(sqlStatement);
        Map<String, DataSourcePoolProperties> propsMap = DataSourceSegmentsConverter.convert(database.getProtocolType(), sqlStatement.getStorageUnits());
        validateHandler.validate(propsMap, getExpectedPrivileges(sqlStatement));
        try {
            contextManager.getPersistServiceFacade().getMetaDataManagerPersistService().alterStorageUnits(database.getName(), propsMap);
        } catch (final SQLException | ShardingSphereExternalException ex) {
            throw new StorageUnitsOperateException("alter", propsMap.keySet(), ex);
        }
    }
@Test
    void assertExecuteUpdateWithDuplicateStorageUnitNames() {
        assertThrows(DuplicateStorageUnitException.class, () -> executor.executeUpdate(createAlterStorageUnitStatementWithDuplicateStorageUnitNames(), mock(ContextManager.class)));
    }