OmniSciDB
a5dc49c757
|
Namespaces | |
allocator | |
Classes | |
class | MutexInterface |
class | SharedMutexInterface |
class | DistributedSharedMutex |
struct | StringEnum |
struct | IsAny |
struct | DeviceIdentifier |
class | JSON |
class | InSituFlagsOwnerInterface |
class | UUID |
class | RequestInfo |
Typedefs | |
using | DeviceGroup = std::vector< DeviceIdentifier > |
using | shared_mutex = std::shared_timed_mutex |
template<typename T > | |
using | lock_guard = std::lock_guard< T > |
template<typename T > | |
using | unique_lock = std::unique_lock< T > |
template<typename T > | |
using | shared_lock = std::shared_lock< T > |
Enumerations | |
enum | InSituFlags { InSituFlags::kInSitu = 1u << 0, InSituFlags::kNonInSitu = 1u << 1, InSituFlags::kForcedNonInSitu = (kInSitu | kNonInSitu) } |
Functions | |
size_t | file_size (const int fd) |
void * | checked_mmap (const int fd, const size_t sz) |
void | checked_munmap (void *addr, size_t length) |
int | msync (void *addr, size_t length, bool async) |
int | fsync (int fd) |
int | open (const char *path, int flags, int mode) |
void | close (const int fd) |
::FILE * | fopen (const char *filename, const char *mode) |
::FILE * | popen (const char *command, const char *type) |
int32_t | pclose (::FILE *fh) |
int | get_page_size () |
int32_t | ftruncate (const int32_t fd, int64_t length) |
int | safe_open (const char *path, int flags, mode_t mode) noexcept |
int | safe_close (int fd) noexcept |
int | safe_fcntl (int fd, int cmd, struct flock *fl) noexcept |
ssize_t | safe_read (const int fd, void *buffer, const size_t buffer_size) noexcept |
ssize_t | safe_write (const int fd, const void *buffer, const size_t buffer_size) noexcept |
int32_t | safe_ftruncate (const int32_t fd, int64_t length) noexcept |
std::vector< std::string > | glob (const std::string &pattern) |
std::string | get_hostname () |
std::string | get_root_abs_path () |
HEAVYAI_DEFINE_ENUM_CLASS_WITH_DESCRIPTIONS (ErrorCode,(NO_ERROR,"No Error"),(DIV_BY_ZERO,"Division by zero"),(OUT_OF_GPU_MEM,"Query couldn't keep the entire working set of columns in GPU memory"),(OUT_OF_SLOTS,"Out of Slots"),(UNSUPPORTED_SELF_JOIN,"Self joins not supported yet"),(OUT_OF_RENDER_MEM,"Insufficient GPU memory for query results in render output buffer sized by ""render-mem-bytes"),(OUT_OF_CPU_MEM,"Not enough host memory to execute the query"),(OVERFLOW_OR_UNDERFLOW,"Overflow or underflow"),(OUT_OF_TIME,"Query execution has exceeded the time limit"),(INTERRUPTED,"Query execution has been interrupted"),(COLUMNAR_CONVERSION_NOT_SUPPORTED,"Columnar conversion not supported for variable length types"),(TOO_MANY_LITERALS,"Too many literals in the query"),(STRING_CONST_IN_RESULTSET,"NONE ENCODED String types are not supported as input result set."),(STREAMING_TOP_N_NOT_SUPPORTED_IN_RENDER_QUERY,"Streaming-Top-N not supported in Render Query"),(SINGLE_VALUE_FOUND_MULTIPLE_VALUES,"Multiple distinct values encountered"),(GEOS,"Geo-related error"),(WIDTH_BUCKET_INVALID_ARGUMENT,"Arguments of WIDTH_BUCKET function does not satisfy the condition"),(BBOX_OVERLAPS_LIMIT_EXCEEDED,"Maximum supported number of bounding box overlaps exceeded")) HEAVYAI_DEFINE_ENUM_CLASS(QueryDescriptionType | |
template<typename Enum , size_t... I> | |
constexpr auto | enum_to_array (std::index_sequence< I...>) |
template<typename T , size_t N> | |
constexpr void | insertion_sort (std::array< T, N > &arr) |
template<typename Enum > | |
constexpr std::array < StringEnum< Enum >, size_t(Enum::N_)> | sort_by_name () |
template<typename Enum > | |
std::optional< Enum > | to_enum (std::string_view const name) |
bool | operator== (const JSON &json1, const JSON &json2) |
bool | operator!= (const JSON &json1, const JSON &json2) |
template<typename T > | |
bool | operator== (const JSON &json, const T &value) |
template<typename T > | |
bool | operator== (const T &value, const JSON &json) |
template<typename T > | |
bool | operator!= (const JSON &json, const T &value) |
template<typename T > | |
bool | operator!= (const T &value, const JSON &json) |
bool | operator== (const UUID &lhs, const UUID &rhs) noexcept |
bool | operator!= (const UUID &lhs, const UUID &rhs) noexcept |
bool | operator< (const UUID &lhs, const UUID &rhs) noexcept |
std::string | to_string (const UUID &uuid) |
Variables | |
GroupByPerfectHash | |
GroupByBaselineHash | |
Projection | |
TableFunction | |
NonGroupedAggregate | |
constexpr UUID | empty_uuid {} |
using heavyai::DeviceGroup = typedef std::vector<DeviceIdentifier> |
Definition at line 31 of file DeviceGroup.h.
using heavyai::lock_guard = typedef std::lock_guard<T> |
Definition at line 37 of file heavyai_shared_mutex.h.
using heavyai::shared_lock = typedef std::shared_lock<T> |
Definition at line 41 of file heavyai_shared_mutex.h.
using heavyai::shared_mutex = typedef std::shared_timed_mutex |
Definition at line 31 of file heavyai_shared_mutex.h.
using heavyai::unique_lock = typedef std::unique_lock<T> |
Definition at line 39 of file heavyai_shared_mutex.h.
|
strong |
void * heavyai::checked_mmap | ( | const int | fd, |
const size_t | sz | ||
) |
Definition at line 40 of file heavyai_fs.cpp.
References CHECK.
Referenced by StringDictionary::checkAndConditionallyIncreaseOffsetCapacity(), StringDictionary::checkAndConditionallyIncreasePayloadCapacity(), and StringDictionary::StringDictionary().
void heavyai::checked_munmap | ( | void * | addr, |
size_t | length | ||
) |
Definition at line 53 of file heavyai_fs.cpp.
References CHECK_EQ.
Referenced by StringDictionary::checkAndConditionallyIncreaseOffsetCapacity(), StringDictionary::checkAndConditionallyIncreasePayloadCapacity(), and StringDictionary::~StringDictionary().
void heavyai::close | ( | const int | fd | ) |
Definition at line 70 of file heavyai_fs.cpp.
Referenced by import_export::DataStreamSink::import_compressed(), safe_close(), and StringDictionary::~StringDictionary().
constexpr auto heavyai::enum_to_array | ( | std::index_sequence< I...> | ) |
Definition at line 93 of file define_enum_class.h.
References to_string().
size_t heavyai::file_size | ( | const int | fd | ) |
Definition at line 33 of file heavyai_fs.cpp.
References CHECK_EQ.
Referenced by get_filesize(), File_Namespace::FileMgr::getMetadataForFile(), File_Namespace::TableFileMgr::getReservedSpace(), File_Namespace::FileMgr::openAndReadEpochFile(), File_Namespace::FileMgr::openAndReadLegacyEpochFile(), File_Namespace::FileMgr::readPageMappingsFromStatusFile(), File_Namespace::FileMgr::readVersionFromDisk(), anonymous_namespace{CachingFileMgr.cpp}::size_of_dir(), StringDictionary::StringDictionary(), File_Namespace::TableFileMgr::TableFileMgr(), and anonymous_namespace{TableArchiver.cpp}::update_or_drop_column_ids_in_page_headers().
FILE * heavyai::fopen | ( | const char * | filename, |
const char * | mode | ||
) |
Definition at line 74 of file heavyai_fs.cpp.
Referenced by foreign_storage::SingleTextFileReader::checkForMoreRows(), File_Namespace::create(), TableArchiver::dumpTable(), import_export::Detector::importDelimited(), import_export::Importer::importDelimited(), PosixFileArchive::init_for_read(), File_Namespace::open(), foreign_storage::SingleTextFileReader::SingleTextFileReader(), and anonymous_namespace{TableArchiver.cpp}::update_or_drop_column_ids_in_page_headers().
int heavyai::fsync | ( | int | fd | ) |
Definition at line 62 of file heavyai_fs.cpp.
Referenced by StringDictionary::checkpoint(), File_Namespace::FileInfo::syncToDisk(), File_Namespace::TableFileMgr::writeAndSyncEpochToDisk(), File_Namespace::FileMgr::writeAndSyncEpochToDisk(), and File_Namespace::FileMgr::writeAndSyncVersionToDisk().
int32_t heavyai::ftruncate | ( | const int32_t | fd, |
int64_t | length | ||
) |
Definition at line 86 of file heavyai_fs.cpp.
Referenced by safe_ftruncate(), and CommandLineOptions::validate().
std::string heavyai::get_hostname | ( | ) |
Definition at line 23 of file heavyai_hostname.cpp.
Referenced by DBHandler::get_server_status(), and DBHandler::get_status().
int heavyai::get_page_size | ( | ) |
Definition at line 29 of file heavyai_fs.cpp.
std::string heavyai::get_root_abs_path | ( | ) |
Definition at line 40 of file heavyai_path.cpp.
References CHECK, CHECK_EQ, CHECK_GT, and CHECK_LT.
Referenced by get_runtime_test_lib_path(), get_runtime_test_lib_tfs_path(), get_torch_table_functions_path(), Geospatial::GDAL::init(), Executor::initialize_extension_module_sources(), loadGeo(), and start_calcite_server_as_daemon().
std::vector< std::string > heavyai::glob | ( | const std::string & | pattern | ) |
Definition at line 24 of file heavyai_glob.cpp.
Referenced by shared::file_or_glob_path_exists(), anonymous_namespace{heavyai_glob.cpp}::glob(), and shared::anonymous_namespace{file_path_util.cpp}::glob_local_recursive_files().
heavyai::HEAVYAI_DEFINE_ENUM_CLASS_WITH_DESCRIPTIONS | ( | ErrorCode | , |
(NO_ERROR,"No Error") | , | ||
(DIV_BY_ZERO,"Division by zero") | , | ||
(OUT_OF_GPU_MEM,"Query couldn't keep the entire working set of columns in GPU memory") | , | ||
(OUT_OF_SLOTS,"Out of Slots") | , | ||
(UNSUPPORTED_SELF_JOIN,"Self joins not supported yet") | , | ||
(OUT_OF_RENDER_MEM,"Insufficient GPU memory for query results in render output buffer sized by ""render-mem-bytes") | , | ||
(OUT_OF_CPU_MEM,"Not enough host memory to execute the query") | , | ||
(OVERFLOW_OR_UNDERFLOW,"Overflow or underflow") | , | ||
(OUT_OF_TIME,"Query execution has exceeded the time limit") | , | ||
(INTERRUPTED,"Query execution has been interrupted") | , | ||
(COLUMNAR_CONVERSION_NOT_SUPPORTED,"Columnar conversion not supported for variable length types") | , | ||
(TOO_MANY_LITERALS,"Too many literals in the query") | , | ||
(STRING_CONST_IN_RESULTSET,"NONE ENCODED String types are not supported as input result set.") | , | ||
(STREAMING_TOP_N_NOT_SUPPORTED_IN_RENDER_QUERY,"Streaming-Top-N not supported in Render Query") | , | ||
(SINGLE_VALUE_FOUND_MULTIPLE_VALUES,"Multiple distinct values encountered") | , | ||
(GEOS,"Geo-related error") | , | ||
(WIDTH_BUCKET_INVALID_ARGUMENT,"Arguments of WIDTH_BUCKET function does not satisfy the condition") | , | ||
(BBOX_OVERLAPS_LIMIT_EXCEEDED,"Maximum supported number of bounding box overlaps exceeded") | |||
) |
constexpr void heavyai::insertion_sort | ( | std::array< T, N > & | arr | ) |
Definition at line 99 of file define_enum_class.h.
References anonymous_namespace{Utm.h}::N.
Referenced by sort_by_name().
int heavyai::msync | ( | void * | addr, |
size_t | length, | ||
bool | async | ||
) |
Definition at line 57 of file heavyai_fs.cpp.
Referenced by StringDictionary::checkpoint().
int heavyai::open | ( | const char * | path, |
int | flags, | ||
int | mode | ||
) |
Definition at line 66 of file heavyai_fs.cpp.
Referenced by TableFunctionsFactory_linker.BaseGenerateFiles::_generate_files(), anonymous_namespace{StringDictionary.cpp}::checked_open(), generate_TableFunctionsFactory_init::find_signatures(), create_table.SyntheticTable::generateData(), TableFunctionsFactory_linker::get_existing_file_content(), heavydb.version::get_source_version(), analyze_benchmark.BenchmarkLoader::load(), make-m2-proxy::main(), run_benchmark::read_query_files(), benchmarks.GoogleBenchmark::run(), benchmarks.TPC_DS_10GB::run(), safe_open(), run_benchmark::send_results_db(), run_benchmark::send_results_file_json(), and run_benchmark::send_results_jenkins_bench().
|
inlinenoexcept |
|
inline |
Definition at line 408 of file json.h.
References heavyai::JSON::vptr_.
|
inline |
Definition at line 424 of file json.h.
References heavyai::JSON::vptr_.
|
inline |
|
inlinenoexcept |
|
inlinenoexcept |
|
inline |
Definition at line 404 of file json.h.
References heavyai::JSON::vptr_.
|
inline |
Definition at line 415 of file json.h.
References heavyai::JSON::vptr_.
|
inline |
int32_t heavyai::pclose | ( | ::FILE * | fh | ) |
Definition at line 82 of file heavyai_fs.cpp.
Referenced by anonymous_namespace{UdfCompiler.cpp}::exec_output().
FILE * heavyai::popen | ( | const char * | command, |
const char * | type | ||
) |
Definition at line 78 of file heavyai_fs.cpp.
Referenced by anonymous_namespace{UdfCompiler.cpp}::exec_output().
|
noexcept |
Definition at line 101 of file heavyai_fs.cpp.
References close(), and UNREACHABLE.
Referenced by CommandLineOptions::validate().
|
noexcept |
Definition at line 112 of file heavyai_fs.cpp.
References UNREACHABLE.
Referenced by CommandLineOptions::validate().
|
noexcept |
Definition at line 162 of file heavyai_fs.cpp.
References ftruncate(), and UNREACHABLE.
|
noexcept |
Definition at line 90 of file heavyai_fs.cpp.
References open(), and UNREACHABLE.
Referenced by CommandLineOptions::validate().
|
noexcept |
Definition at line 123 of file heavyai_fs.cpp.
References File_Namespace::read(), and UNREACHABLE.
|
noexcept |
Definition at line 144 of file heavyai_fs.cpp.
References UNREACHABLE, and File_Namespace::write().
Referenced by CommandLineOptions::validate().
constexpr std::array<StringEnum<Enum>, size_t(Enum::N_)> heavyai::sort_by_name | ( | ) |
Definition at line 111 of file define_enum_class.h.
References insertion_sort().
std::optional<Enum> heavyai::to_enum | ( | std::string_view const | name | ) |
Definition at line 119 of file define_enum_class.h.
References gpu_enabled::lower_bound(), and setup::name.
|
inline |
Definition at line 110 of file uuid.h.
Referenced by enum_to_array().
heavyai::GroupByBaselineHash |
Definition at line 58 of file enums.h.
Referenced by SpeculativeTopNMap::asRows(), QueryMemoryDescriptor::blocksShareMemory(), ResultSetReductionJIT::codegen(), GroupByAndAggregate::codegenGroupBy(), ColumnarResults::compactAndCopyEntries(), ColumnarResults::compactAndCopyEntriesWithoutTargetSkipping(), ColumnarResults::compactAndCopyEntriesWithTargetSkipping(), anonymous_namespace{GroupByAndAggregate.cpp}::get_expr_range_info(), GroupByAndAggregate::getColRangeInfo(), ResultSet::getEntryAt(), ColumnarResults::initAllConversionFunctions(), GroupByAndAggregate::initQueryMemoryDescriptorImpl(), ColumnarResults::initReadFunctions(), ColumnarResults::initWriteFunctions(), anonymous_namespace{ResultSetReductionJIT.cpp}::is_aggregate_query(), ResultSet::isDirectColumnarConversionPossible(), ThriftSerializers::layout_from_thrift(), ThriftSerializers::layout_to_thrift(), ColumnarResults::locateAndCountEntries(), ColumnarResults::materializeAllColumnsDirectly(), ColumnarResults::materializeAllColumnsGroupBy(), ResultSetStorage::moveEntriesToBuffer(), QueryMemoryDescriptor::queryDescTypeToString(), QueryMemoryDescriptor::QueryMemoryDescriptor(), ResultSetStorage::reduce(), ResultSetManager::reduce(), Executor::reduceMultiDeviceResultSets(), ResultSetStorage::reduceOneEntryBaseline(), ResultSetReductionJIT::reduceOneEntryBaselineIdx(), and anonymous_namespace{ResultSetReductionJIT.cpp}::setup_reduce_one_entry().
heavyai::GroupByPerfectHash |
Definition at line 58 of file enums.h.
Referenced by QueryMemoryDescriptor::blocksShareMemory(), ResultSetReductionJIT::codegen(), GroupByAndAggregate::codegen(), GpuReductionHelperJIT::codegen(), GroupByAndAggregate::codegenGroupBy(), GroupByAndAggregate::codegenMultiColumnPerfectHash(), GroupByAndAggregate::codegenPerfectHashFunction(), ColumnarResults::compactAndCopyEntries(), ColumnarResults::compactAndCopyEntriesWithoutTargetSkipping(), ColumnarResults::compactAndCopyEntriesWithTargetSkipping(), anonymous_namespace{GroupByAndAggregate.cpp}::get_expr_range_info(), QueryMemoryDescriptor::getColOffInBytes(), GroupByAndAggregate::getColRangeInfo(), ResultSet::getEntryAt(), QueryMemoryDescriptor::getRowSize(), GroupByAndAggregate::gpuCanHandleOrderEntries(), GpuReductionHelperJIT::GpuReductionHelperJIT(), GpuSharedMemCodeBuilder::GpuSharedMemCodeBuilder(), anonymous_namespace{GroupByAndAggregate.cpp}::init_count_distinct_descriptors(), ColumnarResults::initAllConversionFunctions(), GroupByAndAggregate::initQueryMemoryDescriptorImpl(), ColumnarResults::initWriteFunctions(), anonymous_namespace{ResultSetReductionJIT.cpp}::is_aggregate_query(), ResultSet::isDirectColumnarConversionPossible(), ResultSetReductionJIT::isEmpty(), ResultSetStorage::isEmptyEntry(), ResultSetStorage::isEmptyEntryColumnar(), QueryMemoryDescriptor::isSingleColumnGroupByWithPerfectHash(), ThriftSerializers::layout_from_thrift(), ThriftSerializers::layout_to_thrift(), ColumnarResults::locateAndCountEntries(), ColumnarResults::materializeAllColumnsDirectly(), ColumnarResults::materializeAllColumnsGroupBy(), QueryMemoryDescriptor::queryDescTypeToString(), QueryMemoryDescriptor::QueryMemoryDescriptor(), ResultSetStorage::reduce(), ResultSetReductionJIT::reduceOneEntryNoCollisionsIdx(), anonymous_namespace{ResultSetReductionJIT.cpp}::setup_reduce_one_entry(), and QueryMemoryDescriptor::usesGetGroupValueFast().
heavyai::NonGroupedAggregate |
Definition at line 58 of file enums.h.
Referenced by ResultSetReductionJIT::codegen(), Executor::collectAllDeviceResults(), anonymous_namespace{GroupByAndAggregate.cpp}::get_expr_range_info(), init_agg_val_vec(), anonymous_namespace{ResultSetReductionJIT.cpp}::is_aggregate_query(), ResultSetStorage::isEmptyEntry(), ResultSetStorage::isEmptyEntryColumnar(), ThriftSerializers::layout_from_thrift(), ThriftSerializers::layout_to_thrift(), TargetExprCodegenBuilder::operator()(), QueryMemoryDescriptor::queryDescTypeToString(), QueryMemoryDescriptor::QueryMemoryDescriptor(), ResultSetStorage::reduce(), ResultSetReductionJIT::reduceOneEntryNoCollisionsIdx(), anonymous_namespace{ResultSetReductionJIT.cpp}::setup_reduce_one_entry(), target_exprs_to_infos(), and QueryMemoryDescriptor::threadsShareMemory().
heavyai::Projection |
Definition at line 58 of file enums.h.
Referenced by ResultSetStorage::binSearchRowCount(), QueryMemoryDescriptor::blocksShareMemory(), QueryMemoryDescriptor::canUsePerDeviceCardinality(), GroupByAndAggregate::codegen(), GroupByAndAggregate::codegenAggCalls(), GroupByAndAggregate::codegenAggColumnPtr(), GroupByAndAggregate::codegenGroupBy(), GroupByAndAggregate::codegenOutputSlot(), copy_projection_buffer_from_gpu_columnar(), ResultSetLogicalValuesBuilder::create(), Executor::createKernels(), RelAlgExecutor::executeLogicalValues(), Executor::executeWorkUnitImpl(), anonymous_namespace{GroupByAndAggregate.cpp}::get_expr_range_info(), ArrowResultSetConverter::getArrowBatch(), QueryMemoryDescriptor::getBufferSizeBytes(), anonymous_namespace{GroupByAndAggregate.cpp}::init_count_distinct_descriptors(), QueryMemoryInitializer::initColumnarGroups(), anonymous_namespace{TargetExprBuilder.cpp}::is_columnar_projection(), ResultSet::isDirectColumnarConversionPossible(), ResultSetStorage::isEmptyEntryColumnar(), QueryMemoryDescriptor::isLogicalSizedColumnsAllowed(), ResultSet::isZeroCopyColumnarConversionPossible(), QueryExecutionContext::launchCpuCode(), QueryExecutionContext::launchGpuCode(), ThriftSerializers::layout_from_thrift(), ThriftSerializers::layout_to_thrift(), ColumnarResults::materializeAllColumnsDirectly(), ColumnarResults::materializeAllColumnsProjection(), QueryMemoryDescriptor::queryDescTypeToString(), QueryMemoryDescriptor::QueryMemoryDescriptor(), ResultSet::rowCountImpl(), ExecutionKernel::runImpl(), and ResultSet::updateStorageEntryCount().
heavyai::TableFunction |
Definition at line 58 of file enums.h.
Referenced by table_functions::TableFunctionsFactory::add(), TableFunctionManager::allocate_output_buffers(), QueryMemoryDescriptor::blocksShareMemory(), ColumnarResults::copyAllNonLazyColumns(), Executor::executeTableFunction(), ArrowResultSetConverter::getArrowBatch(), QueryMemoryDescriptor::getBufferSizeBytes(), QueryMemoryDescriptor::getColOffInBytes(), anonymous_namespace{TargetExprBuilder.cpp}::is_columnar_projection(), ResultSet::isDirectColumnarConversionPossible(), ResultSetStorage::isEmptyEntryColumnar(), QueryMemoryDescriptor::isLogicalSizedColumnsAllowed(), ResultSet::isZeroCopyColumnarConversionPossible(), TableFunctionExecutionContext::launchGpuCode(), ColumnarResults::materializeAllColumnsDirectly(), ColumnarResults::materializeAllColumnsTableFunction(), ColumnarResults::materializeAllLazyColumns(), QueryMemoryDescriptor::queryDescTypeToString(), QueryMemoryDescriptor::QueryMemoryDescriptor(), ResultSet::rowCountImpl(), synthesize_metadata(), synthesize_metadata_table_function(), and ResultSet::updateStorageEntryCount().