MCPcopy Create free account
hub / github.com/ByConity/ByConity / IStorageCloudFile

Method IStorageCloudFile

src/Storages/RemoteFile/IStorageCloudFile.cpp:350–380  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

348};
349
350IStorageCloudFile::IStorageCloudFile(
351 ContextPtr context_,
352 const StorageID & table_id_,
353 const ColumnsDescription & required_columns_,
354 const ConstraintsDescription & constraints_,
355 const FileClientPtr & client_,
356 Strings files_,
357 const ASTPtr & setting_changes_,
358 const CnchFileArguments & arguments_,
359 const CnchFileSettings & settings_)
360 : IStorage(table_id_)
361 , WithMutableContext(context_->getGlobalContext())
362 , client(client_)
363 , file_list(std::move(files_))
364 , arguments(arguments_)
365 , settings(settings_)
366{
367 StorageInMemoryMetadata metadata;
368 metadata.setSettingsChanges(setting_changes_);
369 metadata.setColumns(required_columns_);
370 metadata.setConstraints(constraints_);
371 setInMemoryMetadata(metadata);
372
373 if (file_list.empty())
374 throw Exception("Can't allow read empty file list", ErrorCodes::LOGICAL_ERROR);
375 String path = arguments.url.substr(arguments.url.find('/', arguments.url.find("//") + 2));
376 arguments.is_glob_path = path.find_first_of("*?{") != std::string::npos;
377
378 auto default_virtuals = NamesAndTypesList{{"_path", std::make_shared<DataTypeString>()}, {"_file", std::make_shared<DataTypeString>()}};
379 virtual_columns = getVirtualsForStorage(metadata.getSampleBlock().getNamesAndTypesList(), default_virtuals);
380}
381
382Pipe IStorageCloudFile::read(
383 const Names & column_names,

Callers

nothing calls this directly

Calls 10

getVirtualsForStorageFunction · 0.85
setSettingsChangesMethod · 0.80
setConstraintsMethod · 0.80
ExceptionClass · 0.50
getGlobalContextMethod · 0.45
setColumnsMethod · 0.45
emptyMethod · 0.45
findMethod · 0.45
getNamesAndTypesListMethod · 0.45
getSampleBlockMethod · 0.45

Tested by

no test coverage detected