Class DBHandler¶
-
class
DBHandler: public OmniSciIf¶ Public Functions
-
DBHandler(const std::vector<LeafHostInfo> &db_leaves, const std::vector<LeafHostInfo> &string_leaves, const std::string &base_data_path, const bool allow_multifrag, const bool jit_debug, const bool intel_jit_profile, const bool read_only, const bool allow_loop_joins, const bool enable_rendering, const bool renderer_use_ppll_polys, const bool renderer_prefer_igpu, const unsigned renderer_vulkan_timeout_ms, const bool enable_auto_clear_render_mem, const int render_oom_retry_threshold, const size_t render_mem_bytes, const size_t max_concurrent_render_sessions, const size_t reserved_gpu_mem, const bool render_compositor_use_last_gpu, const size_t num_reader_threads, const AuthMetadata &authMetadata, SystemParameters &system_parameters, const bool legacy_syntax, const int idle_session_duration, const int max_session_duration, const bool enable_runtime_udf_registration, const std::string &udf_filename, const std::string &clang_path, const std::vector<std::string> &clang_options, const File_Namespace::DiskCacheConfig &disk_cache_config, const bool is_new_db)¶
-
void
initialize(const bool is_new_db)¶
-
~DBHandler()¶
-
void
krb5_connect(TKrb5Session &session, const std::string &token, const std::string &dbname)¶
-
void
connect(TSessionId &session, const std::string &username, const std::string &passwd, const std::string &dbname)¶
-
void
disconnect(const TSessionId &session)¶
-
void
switch_database(const TSessionId &session, const std::string &dbname)¶
-
void
clone_session(TSessionId &session2, const TSessionId &session1)¶
-
void
get_server_status(TServerStatus &_return, const TSessionId &session)¶
-
void
get_status(std::vector<TServerStatus> &_return, const TSessionId &session)¶
-
void
get_hardware_info(TClusterHardwareInfo &_return, const TSessionId &session)¶
-
bool
hasTableAccessPrivileges(const TableDescriptor *td, const Catalog_Namespace::SessionInfo &session_info)¶
-
void
get_tables(std::vector<std::string> &_return, const TSessionId &session)¶
-
void
get_tables_for_database(std::vector<std::string> &_return, const TSessionId &session, const std::string &database_name)¶
-
void
get_physical_tables(std::vector<std::string> &_return, const TSessionId &session)¶
-
void
get_views(std::vector<std::string> &_return, const TSessionId &session)¶
-
void
get_tables_meta(std::vector<TTableMeta> &_return, const TSessionId &session)¶
-
void
get_table_details(TTableDetails &_return, const TSessionId &session, const std::string &table_name)¶
-
void
get_table_details_for_database(TTableDetails &_return, const TSessionId &session, const std::string &table_name, const std::string &database_name)¶
-
void
get_internal_table_details(TTableDetails &_return, const TSessionId &session, const std::string &table_name, const bool include_system_columns)¶
-
void
get_internal_table_details_for_database(TTableDetails &_return, const TSessionId &session, const std::string &table_name, const std::string &database_name)¶
-
void
get_users(std::vector<std::string> &_return, const TSessionId &session)¶
-
void
get_databases(std::vector<TDBInfo> &_return, const TSessionId &session)¶
-
void
get_version(std::string &_return)¶
-
void
start_heap_profile(const TSessionId &session)¶
-
void
stop_heap_profile(const TSessionId &session)¶
-
void
get_heap_profile(std::string &_return, const TSessionId &session)¶
-
void
get_memory(std::vector<TNodeMemoryInfo> &_return, const TSessionId &session, const std::string &memory_level)¶
-
void
clear_cpu_memory(const TSessionId &session)¶
-
void
clear_gpu_memory(const TSessionId &session)¶
-
void
clearRenderMemory(const TSessionId &session)¶
-
void
set_cur_session(const TSessionId &parent_session, const TSessionId &leaf_session, const std::string &start_time_str, const std::string &label, bool for_running_query_kernel)¶
-
void
invalidate_cur_session(const TSessionId &parent_session, const TSessionId &leaf_session, const std::string &start_time_str, const std::string &label, bool for_running_query_kernel)¶
-
void
set_table_epoch(const TSessionId &session, const int db_id, const int table_id, const int new_epoch)¶
-
void
set_table_epoch_by_name(const TSessionId &session, const std::string &table_name, const int new_epoch)¶
-
int32_t
get_table_epoch(const TSessionId &session, const int32_t db_id, const int32_t table_id)¶
-
int32_t
get_table_epoch_by_name(const TSessionId &session, const std::string &table_name)¶
-
void
get_table_epochs(std::vector<TTableEpochInfo> &_return, const TSessionId &session, const int32_t db_id, const int32_t table_id)¶
-
void
set_table_epochs(const TSessionId &session, const int32_t db_id, const std::vector<TTableEpochInfo> &table_epochs)¶
-
void
get_session_info(TSessionInfo &_return, const TSessionId &session)¶
-
void
set_leaf_info(const TSessionId &session, const TLeafInfo &info)¶
-
void
sql_execute(ExecutionResult &_return, const TSessionId &session, const std::string &query, const bool column_format, const int32_t first_n, const int32_t at_most_n)¶
-
void
sql_execute(TQueryResult &_return, const TSessionId &session, const std::string &query, const bool column_format, const std::string &nonce, const int32_t first_n, const int32_t at_most_n)¶
-
void
get_completion_hints(std::vector<TCompletionHint> &hints, const TSessionId &session, const std::string &sql, const int cursor)¶
-
void
sql_execute_df(TDataFrame &_return, const TSessionId &session, const std::string &query, const TDeviceType::type device_type, const int32_t device_id, const int32_t first_n, const TArrowTransport::type transport_method)¶
-
void
sql_execute_gdf(TDataFrame &_return, const TSessionId &session, const std::string &query, const int32_t device_id, const int32_t first_n)¶
-
void
deallocate_df(const TSessionId &session, const TDataFrame &df, const TDeviceType::type device_type, const int32_t device_id)¶
-
void
interrupt(const TSessionId &query_session, const TSessionId &interrupt_session)¶
-
void
sql_validate(TRowDescriptor &_return, const TSessionId &session, const std::string &query)¶
-
void
set_execution_mode(const TSessionId &session, const TExecuteMode::type mode)¶
-
void
render_vega(TRenderResult &_return, const TSessionId &session, const int64_t widget_id, const std::string &vega_json, const int32_t compression_level, const std::string &nonce)¶
-
void
get_result_row_for_pixel(TPixelTableRowResult &_return, const TSessionId &session, const int64_t widget_id, const TPixel &pixel, const std::map<std::string, std::vector<std::string>> &table_col_names, const bool column_format, const int32_t pixel_radius, const std::string &nonce)¶
-
int32_t
create_custom_expression(const TSessionId &session, const TCustomExpression &custom_expression)¶
-
void
get_custom_expressions(std::vector<TCustomExpression> &_return, const TSessionId &session)¶
-
void
update_custom_expression(const TSessionId &session, const int32_t id, const std::string &expression_json)¶
-
void
delete_custom_expressions(const TSessionId &session, const std::vector<int32_t> &custom_expression_ids, const bool do_soft_delete)¶
-
void
get_dashboard(TDashboard &_return, const TSessionId &session, const int32_t dashboard_id)¶
-
void
get_dashboards(std::vector<TDashboard> &_return, const TSessionId &session)¶
-
int32_t
create_dashboard(const TSessionId &session, const std::string &dashboard_name, const std::string &dashboard_state, const std::string &image_hash, const std::string &dashboard_metadata)¶
-
void
replace_dashboard(const TSessionId &session, const int32_t dashboard_id, const std::string &dashboard_name, const std::string &dashboard_owner, const std::string &dashboard_state, const std::string &image_hash, const std::string &dashboard_metadata)¶
-
void
delete_dashboard(const TSessionId &session, const int32_t dashboard_id)¶
-
void
delete_dashboards(const TSessionId &session, const std::vector<int32_t> &dashboard_ids)¶
-
void
get_dashboard_grantees(std::vector<TDashboardGrantees> &_return, const TSessionId &session, const int32_t dashboard_id)¶
-
void
get_link_view(TFrontendView &_return, const TSessionId &session, const std::string &link)¶
-
void
create_link(std::string &_return, const TSessionId &session, const std::string &view_state, const std::string &view_metadata)¶
-
void
load_table_binary(const TSessionId &session, const std::string &table_name, const std::vector<TRow> &rows, const std::vector<std::string> &column_names)¶
-
void
load_table_binary_columnar(const TSessionId &session, const std::string &table_name, const std::vector<TColumn> &cols, const std::vector<std::string> &column_names)¶
-
void
load_table_binary_columnar_polys(const TSessionId &session, const std::string &table_name, const std::vector<TColumn> &cols, const std::vector<std::string> &column_names, const bool assign_render_groups)¶
-
void
load_table_binary_arrow(const TSessionId &session, const std::string &table_name, const std::string &arrow_stream, const bool use_column_names)¶
-
void
load_table(const TSessionId &session, const std::string &table_name, const std::vector<TStringRow> &rows, const std::vector<std::string> &column_names)¶
-
void
detect_column_types(TDetectResult &_return, const TSessionId &session, const std::string &file_name, const TCopyParams ©_params)¶
-
void
create_table(const TSessionId &session, const std::string &table_name, const TRowDescriptor &row_desc, const TFileType::type file_type, const TCreateParams &create_params)¶
-
void
import_table(const TSessionId &session, const std::string &table_name, const std::string &file_name, const TCopyParams ©_params)¶
-
void
import_geo_table(const TSessionId &session, const std::string &table_name, const std::string &file_name, const TCopyParams ©_params, const TRowDescriptor &row_desc, const TCreateParams &create_params)¶
-
void
import_table_status(TImportStatus &_return, const TSessionId &session, const std::string &import_id)¶
-
void
get_first_geo_file_in_archive(std::string &_return, const TSessionId &session, const std::string &archive_path, const TCopyParams ©_params)¶
-
void
get_all_files_in_archive(std::vector<std::string> &_return, const TSessionId &session, const std::string &archive_path, const TCopyParams ©_params)¶
-
void
get_layers_in_geo_file(std::vector<TGeoFileLayerInfo> &_return, const TSessionId &session, const std::string &file_name, const TCopyParams ©_params)¶
-
int64_t
query_get_outer_fragment_count(const TSessionId &session, const std::string &select_query)¶
-
void
check_table_consistency(TTableMeta &_return, const TSessionId &session, const int32_t table_id)¶
-
void
start_query(TPendingQuery &_return, const TSessionId &leaf_session, const TSessionId &parent_session, const std::string &query_ra, const std::string &start_time_str, const bool just_explain, const std::vector<int64_t> &outer_fragment_indices)¶
-
void
execute_query_step(TStepResult &_return, const TPendingQuery &pending_query, const TSubqueryId subquery_id, const std::string &start_time_str)¶
-
void
broadcast_serialized_rows(const TSerializedRows &serialized_rows, const TRowDescriptor &row_desc, const TQueryId query_id, const TSubqueryId subquery_id, const bool is_final_subquery_result)¶
-
void
start_render_query(TPendingRenderQuery &_return, const TSessionId &session, const int64_t widget_id, const int16_t node_idx, const std::string &vega_json)¶
-
void
execute_next_render_step(TRenderStepResult &_return, const TPendingRenderQuery &pending_render, const TRenderAggDataMap &merged_data)¶
-
void
insert_data(const TSessionId &session, const TInsertData &insert_data)¶
-
void
insert_chunks(const TSessionId &session, const TInsertChunks &insert_chunks)¶
-
void
checkpoint(const TSessionId &session, const int32_t table_id)¶
-
void
get_roles(std::vector<std::string> &_return, const TSessionId &session)¶
-
bool
has_role(const TSessionId &sessionId, const std::string &granteeName, const std::string &roleName)¶
-
bool
has_object_privilege(const TSessionId &sessionId, const std::string &granteeName, const std::string &objectName, const TDBObjectType::type object_type, const TDBObjectPermissions &permissions)¶
-
void
get_db_objects_for_grantee(std::vector<TDBObject> &_return, const TSessionId &session, const std::string &roleName)¶
-
void
get_db_object_privs(std::vector<TDBObject> &_return, const TSessionId &session, const std::string &objectName, const TDBObjectType::type type)¶
-
void
get_all_roles_for_user(std::vector<std::string> &_return, const TSessionId &session, const std::string &granteeName)¶
-
void
get_all_effective_roles_for_user(std::vector<std::string> &_return, const TSessionId &session, const std::string &granteeName)¶
-
std::vector<std::string>
get_valid_groups(const TSessionId &session, int32_t dashboard_id, std::vector<std::string> groups)¶
-
void
set_license_key(TLicenseInfo &_return, const TSessionId &session, const std::string &key, const std::string &nonce)¶
-
void
get_license_claims(TLicenseInfo &_return, const TSessionId &session, const std::string &nonce)¶
-
void
get_device_parameters(std::map<std::string, std::string> &_return, const TSessionId &session)¶
-
void
register_runtime_extension_functions(const TSessionId &session, const std::vector<TUserDefinedFunction> &udfs, const std::vector<TUserDefinedTableFunction> &udtfs, const std::map<std::string, std::string> &device_ir_map)¶
-
void
shutdown()¶
-
void
emergency_shutdown()¶
-
TSessionId
getInvalidSessionId() const¶
-
void
internal_connect(TSessionId &session, const std::string &username, const std::string &dbname)¶
-
bool
isAggregator() const¶
-
Catalog_Namespace::SessionInfo
get_session_copy(const TSessionId &session)¶
-
std::shared_ptr<Catalog_Namespace::SessionInfo>
get_session_copy_ptr(const TSessionId &session)¶
-
void
get_tables_meta_impl(std::vector<TTableMeta> &_return, QueryStateProxy query_state_proxy, const Catalog_Namespace::SessionInfo &session_info, const bool with_table_locks = true)¶
-
void
resizeDispatchQueue(size_t queue_size)¶
Public Members
-
LeafAggregator
leaf_aggregator_¶
-
std::vector<LeafHostInfo>
db_leaves_¶
-
std::vector<LeafHostInfo>
string_leaves_¶
-
const std::string
base_data_path_¶
-
boost::filesystem::path
import_path_¶
-
ExecutorDeviceType
executor_device_type_¶
-
std::default_random_engine
random_gen_¶
-
std::uniform_int_distribution<int64_t>
session_id_dist_¶
-
const bool
jit_debug_¶
-
const bool
intel_jit_profile_¶
-
bool
allow_multifrag_¶
-
const bool
read_only_¶
-
const bool
allow_loop_joins_¶
-
bool
cpu_mode_only_¶
-
mapd_shared_mutex
sessions_mutex_¶
-
std::mutex
render_mutex_¶
-
int64_t
start_time_¶
-
const AuthMetadata &
authMetadata_¶
-
SystemParameters &
system_parameters_¶
-
std::unique_ptr<RenderHandler>
render_handler_¶
-
std::unique_ptr<MapDAggHandler>
agg_handler_¶
-
std::unique_ptr<MapDLeafHandler>
leaf_handler_¶
-
const bool
legacy_syntax_¶
-
std::unique_ptr<QueryDispatchQueue>
dispatch_queue_¶
Public Static Functions
-
static size_t
max_bytes_for_thrift()¶
Protected Functions
-
std::shared_ptr<Catalog_Namespace::SessionInfo>
get_session_ptr(const TSessionId &session_id)¶
-
ConnectionInfo
getConnectionInfo() const¶
Private Types
-
using
RenderGroupAssignmentColumnMap= std::unordered_map<std::string, std::unique_ptr<import_export::RenderGroupAnalyzer>>¶
-
using
RenderGroupAssignmentTableMap= std::unordered_map<std::string, RenderGroupAssignmentColumnMap>¶
-
using
RenderGroupAnalyzerSessionMap= std::unordered_map<TSessionId, RenderGroupAssignmentTableMap>¶
Private Functions
-
void
check_table_load_privileges(const TSessionId &session, const std::string &table_name)¶
-
void
check_table_load_privileges(const Catalog_Namespace::SessionInfo &session_info, const std::string &table_name)¶
-
void
get_tables_impl(std::vector<std::string> &table_names, const Catalog_Namespace::SessionInfo &session_info, const GetTablesType get_tables_type, const std::string &database_name = {})¶
-
void
get_table_details_impl(TTableDetails &_return, query_state::StdLog &stdlog, const std::string &table_name, const bool get_system, const bool get_physical, const std::string &database_name = {})¶
-
void
check_read_only(const std::string &str)¶
-
void
check_session_exp_unsafe(const SessionMap::iterator &session_it)¶
-
void
validateGroups(const std::vector<std::string> &groups)¶
-
void
validateDashboardIdsForSharing(const Catalog_Namespace::SessionInfo &session_info, const std::vector<int32_t> &dashboard_ids)¶
-
std::shared_ptr<const Catalog_Namespace::SessionInfo>
get_const_session_ptr(const TSessionId &session)¶
-
template<typename
SESSION_MAP_LOCK>
SessionMap::iteratorget_session_it_unsafe(const TSessionId &session, SESSION_MAP_LOCK &lock)¶
-
template<typename
SESSION_MAP_LOCK>
voidexpire_idle_sessions_unsafe(SESSION_MAP_LOCK &lock)¶
-
std::pair<TPlanResult, lockmgr::LockedTableDescriptors>
parse_to_ra(QueryStateProxy query_state_proxy, const std::string &query_str, const std::vector<TFilterPushDownInfo> &filter_push_down_info, const bool acquire_locks, const SystemParameters &system_parameters, bool check_privileges = true)¶
-
int64_t
process_deferred_copy_from(const TSessionId &session_id)¶
-
void
sql_execute_impl(ExecutionResult &_return, QueryStateProxy query_state_proxy, const bool column_format, const ExecutorDeviceType executor_device_type, const int32_t first_n, const int32_t at_most_n, const bool use_calcite)¶
-
bool
user_can_access_table(const Catalog_Namespace::SessionInfo &session_info, const TableDescriptor *td, const AccessPrivileges acess_priv)¶
-
void
execute_distributed_copy_statement(Parser::CopyTableStmt *copy_stmt, const Catalog_Namespace::SessionInfo &session_info)¶
-
TQueryResult
validate_rel_alg(const std::string &query_ra, QueryStateProxy query_state_proxy)¶
-
std::vector<PushedDownFilterInfo>
execute_rel_alg(ExecutionResult &_return, QueryStateProxy query_state_proxy, const std::string &query_ra, const bool column_format, const ExecutorDeviceType executor_device_type, const int32_t first_n, const int32_t at_most_n, const bool just_validate, const bool find_push_down_candidates, const ExplainInfo &explain_info, const std::optional<size_t> executor_index = std::nullopt) const¶
-
void
execute_rel_alg_with_filter_push_down(ExecutionResult &_return, QueryStateProxy query_state_proxy, std::string &query_ra, const bool column_format, const ExecutorDeviceType executor_device_type, const int32_t first_n, const int32_t at_most_n, const bool just_explain, const bool just_calcite_explain, const std::vector<PushedDownFilterInfo> &filter_push_down_requests)¶
-
TColumnType
populateThriftColumnType(const Catalog_Namespace::Catalog *cat, const ColumnDescriptor *cd)¶
-
TRowDescriptor
fixup_row_descriptor(const TRowDescriptor &row_desc, const Catalog_Namespace::Catalog &cat)¶
-
void
set_execution_mode_nolock(Catalog_Namespace::SessionInfo *session_ptr, const TExecuteMode::type mode)¶
-
char
unescape_char(std::string str)¶
-
import_export::CopyParams
thrift_to_copyparams(const TCopyParams &cp)¶
-
TCopyParams
copyparams_to_thrift(const import_export::CopyParams &cp)¶
-
void
check_geospatial_files(const boost::filesystem::path file_path, const import_export::CopyParams ©_params)¶
-
void
render_rel_alg(TRenderResult &_return, const std::string &query_ra, const std::string &query_str, const Catalog_Namespace::SessionInfo &session_info, const std::string &render_type, const bool is_projection_query)¶
-
TColumnType
create_geo_column(const TDatumType::type type, const std::string &name, const bool is_array)¶
-
void
convertResultSet(ExecutionResult &result, const Catalog_Namespace::SessionInfo &session_info, const std::string &query_state_str, TQueryResult &_return)¶
-
std::vector<std::string>
getTargetNames(const std::vector<TargetMetaInfo> &targets) const¶
-
void
get_completion_hints_unsorted(std::vector<TCompletionHint> &hints, std::vector<std::string> &visible_tables, query_state::StdLog &stdlog, const std::string &sql, const int cursor)¶
-
void
get_token_based_completions(std::vector<TCompletionHint> &hints, query_state::StdLog &stdlog, std::vector<std::string> &visible_tables, const std::string &sql, const int cursor)¶
-
std::unordered_map<std::string, std::unordered_set<std::string>>
fill_column_names_by_table(std::vector<std::string> &table_names, query_state::StdLog &stdlog)¶
-
std::unordered_set<std::string>
get_uc_compatible_table_names_by_column(const std::unordered_set<std::string> &uc_column_names, std::vector<std::string> &table_names, query_state::StdLog &stdlog)¶
-
std::unique_ptr<lockmgr::AbstractLockContainer<const TableDescriptor *>>
prepare_loader_generic(const Catalog_Namespace::SessionInfo &session_info, const std::string &table_name, size_t num_cols, std::unique_ptr<import_export::Loader> *loader, std::vector<std::unique_ptr<import_export::TypedImportBuffer>> *import_buffers, const std::vector<std::string> &column_names, std::string load_type)¶
-
void
fillGeoColumns(const TSessionId &session, const Catalog_Namespace::Catalog &catalog, std::vector<std::unique_ptr<import_export::TypedImportBuffer>> &import_buffers, const ColumnDescriptor *cd, size_t &col_idx, size_t num_rows, const std::string &table_name, bool assign_render_groups)¶
-
void
fillMissingBuffers(const TSessionId &session, const Catalog_Namespace::Catalog &catalog, std::vector<std::unique_ptr<import_export::TypedImportBuffer>> &import_buffers, const std::list<const ColumnDescriptor *> &cds, const std::vector<int> &desc_id_to_column_id, size_t num_rows, const std::string &table_name, bool assign_render_groups)¶
-
bool
isInMemoryCalciteSession(const Catalog_Namespace::UserMetadata user_meta)¶
-
void
removeInMemoryCalciteSession(const std::string &session_id)¶
-
void
get_queries_info(std::vector<TQueryInfo> &_return, const TSessionId &session)¶
-
void
interruptQuery(const Catalog_Namespace::SessionInfo &session_info, const std::string &target_session)¶
-
void
loadTableBinaryColumnarInternal(const TSessionId &session, const std::string &table_name, const std::vector<TColumn> &cols, const std::vector<std::string> &column_names, const AssignRenderGroupsMode assign_render_groups_mode)¶
-
TRole::type
getServerRole() const¶
-
void
importGeoTableGlobFilterSort(const TSessionId &session, const std::string &table_name, const std::string &file_name, const import_export::CopyParams ©_params, const TRowDescriptor &row_desc, const TCreateParams &create_params)¶
-
void
importGeoTableSingle(const TSessionId &session, const std::string &table_name, const std::string &file_name, const import_export::CopyParams ©_params, const TRowDescriptor &row_desc, const TCreateParams &create_params)¶
Private Members
-
std::atomic<bool>
initialized_= {false}¶
-
query_state::QueryStates
query_states_¶
-
SessionMap
sessions_¶
-
bool
super_user_rights_¶
-
const int
idle_session_duration_¶
-
const int
max_session_duration_¶
-
const bool
runtime_udf_registration_enabled_¶
-
const bool
enable_rendering_¶
-
const bool
renderer_use_ppll_polys_¶
-
const bool
renderer_prefer_igpu_¶
-
const unsigned
renderer_vulkan_timeout_¶
-
const bool
enable_auto_clear_render_mem_¶
-
const int
render_oom_retry_threshold_¶
-
const size_t
max_concurrent_render_sessions_¶
-
const size_t
reserved_gpu_mem_¶
-
const bool
render_compositor_use_last_gpu_¶
-
const size_t
render_mem_bytes_¶
-
const size_t
num_reader_threads_¶
-
const File_Namespace::DiskCacheConfig &
disk_cache_config_¶
-
const std::string &
udf_filename_¶
-
const std::string &
clang_path_¶
-
const std::vector<std::string> &
clang_options_¶
-
DeferredCopyFromSessions
deferred_copy_from_sessions¶
-
std::mutex
handle_to_dev_ptr_mutex_¶
-
std::unordered_map<std::string, std::string>
ipc_handle_to_dev_ptr_¶
-
std::map<const std::string, const PermissionFuncPtr> DBHandler::permissionFuncMap_= { {"database"s, has_database_permission}, {"dashboard"s, has_dashboard_permission}, {"table"s, has_table_permission}, {"view"s, has_view_permission}, {"server"s, has_server_permission}}
-
RenderGroupAnalyzerSessionMap
render_group_assignment_map_¶
-
std::mutex
render_group_assignment_mutex_¶
-
mapd_shared_mutex
custom_expressions_mutex_¶
Private Static Functions
-
void
value_to_thrift_column(const TargetValue &tv, const SQLTypeInfo &ti, TColumn &column)¶
-
TDatum
value_to_thrift(const TargetValue &tv, const SQLTypeInfo &ti)¶
-
void
convertData(TQueryResult &_return, ExecutionResult &result, const QueryStateProxy &query_state_proxy, const std::string &query_str, const bool column_format, const int32_t first_n, const int32_t at_most_n)¶
-
void
convertRows(TQueryResult &_return, QueryStateProxy query_state_proxy, const std::vector<TargetMetaInfo> &targets, const ResultSet &results, const bool column_format, const int32_t first_n, const int32_t at_most_n)¶
-
void
createSimpleResult(TQueryResult &_return, const ResultSet &results, const bool column_format, const std::string label)¶
-
bool
has_database_permission(const AccessPrivileges &privs, const TDBObjectPermissions &permissions)¶
-
bool
has_table_permission(const AccessPrivileges &privs, const TDBObjectPermissions &permission)¶
-
bool
has_dashboard_permission(const AccessPrivileges &privs, const TDBObjectPermissions &permissions)¶
-
bool
has_view_permission(const AccessPrivileges &privs, const TDBObjectPermissions &permissions)¶
-
bool
has_server_permission(const AccessPrivileges &privs, const TDBObjectPermissions &permissions)¶
Friends
-
friend
DBHandler::RenderHandler::Impl
-
friend
DBHandler::MapDAggHandler
-
friend
DBHandler::MapDLeafHandler
-
struct
DeferredCopyFromSessions¶ Public Functions
-
std::optional<DeferredCopyFromState>
operator()(const std::string &session_id)¶
-
void
add(const std::string &session_id, const DeferredCopyFromState &state)¶
-
void
remove(const std::string &session_id)¶
Public Members
-
std::unordered_map<std::string, DeferredCopyFromState>
was_deferred_copy_from¶
-
std::mutex
deferred_copy_from_mutex¶
-
std::optional<DeferredCopyFromState>
-