docs: @Override
  	public void createTable(ObjectPath tablePath, CatalogBaseTable table, boolean ignoreIfExists)
  		throws TableAlreadyExistException, DatabaseNotExistException {
  		checkNotNull(tablePath);
  		checkNotNull(table);
  
  		if (!databaseExists(tablePath.getDatabaseName())) {
  			throw new DatabaseNotExistException(catalogName, tablePath.getDatabaseName());
  		}
  
  		if (tableExists(tablePath)) {
  			if (!ignoreIfExists) {
  				throw new TableAlreadyExistException(catalogName, tablePath);
  			}
  		} else {
  			tables.put(tablePath, table.copy());
  
  			if ((table instanceof CatalogTable) && ((CatalogTable) table).isPartitioned()) {
  				partitions.put(tablePath, new LinkedHashMap<>());
  			}
  		}
  	}