OmniSciDB
a5dc49c757
|
Reduction part of the row set interface. More...
#include "DynamicWatchdog.h"
#include "Execute.h"
#include "ResultSet.h"
#include "ResultSetReductionInterpreter.h"
#include "ResultSetReductionJIT.h"
#include "RuntimeFunctions.h"
#include "Shared/SqlTypesLayout.h"
#include "Shared/likely.h"
#include "Shared/thread_count.h"
#include <llvm/ExecutionEngine/GenericValue.h>
#include <algorithm>
#include <future>
#include <numeric>
Go to the source code of this file.
Namespaces | |
anonymous_namespace{ResultSetReduction.cpp} | |
Macros | |
#define | mapd_cas(address, compare, val) __sync_val_compare_and_swap(address, compare, val) |
#define | cas_cst(ptr, expected, desired) |
#define | store_cst(ptr, val) __atomic_store_n(ptr, val, __ATOMIC_SEQ_CST) |
#define | load_cst(ptr) __atomic_load_n(ptr, __ATOMIC_SEQ_CST) |
#define | AGGREGATE_ONE_VALUE(agg_kind__, val_ptr__, other_ptr__, chosen_bytes__, agg_info__) |
#define | AGGREGATE_ONE_NULLABLE_VALUE(agg_kind__, val_ptr__, other_ptr__, init_val__, chosen_bytes__, agg_info__) |
#define | AGGREGATE_ONE_COUNT(val_ptr__, other_ptr__, chosen_bytes__) |
#define | AGGREGATE_ONE_NULLABLE_COUNT(val_ptr__, other_ptr__, init_val__, chosen_bytes__, agg_info__) |
#define | AGGREGATE_ONE_VALUE_SMALL(agg_kind__, val_ptr__, other_ptr__, chosen_bytes__, agg_info__) |
#define | AGGREGATE_ONE_NULLABLE_VALUE_SMALL(agg_kind__, val_ptr__, other_ptr__, init_val__, chosen_bytes__, agg_info__) |
Functions | |
bool | anonymous_namespace{ResultSetReduction.cpp}::use_multithreaded_reduction (const size_t entry_count) |
size_t | anonymous_namespace{ResultSetReduction.cpp}::get_row_qw_count (const QueryMemoryDescriptor &query_mem_desc) |
std::vector< int64_t > | anonymous_namespace{ResultSetReduction.cpp}::make_key (const int64_t *buff, const size_t entry_count, const size_t key_count) |
void | anonymous_namespace{ResultSetReduction.cpp}::fill_slots (int64_t *dst_entry, const size_t dst_entry_count, const int64_t *src_buff, const size_t src_entry_idx, const size_t src_entry_count, const QueryMemoryDescriptor &query_mem_desc) |
ALWAYS_INLINE void | anonymous_namespace{ResultSetReduction.cpp}::fill_empty_key_32 (int32_t *key_ptr_i32, const size_t key_count) |
ALWAYS_INLINE void | anonymous_namespace{ResultSetReduction.cpp}::fill_empty_key_64 (int64_t *key_ptr_i64, const size_t key_count) |
int64_t | anonymous_namespace{ResultSetReduction.cpp}::get_component (const int8_t *group_by_buffer, const size_t comp_sz, const size_t index=0) |
void | anonymous_namespace{ResultSetReduction.cpp}::run_reduction_code (const size_t executor_id, const ReductionCode &reduction_code, int8_t *this_buff, const int8_t *that_buff, const int32_t start_entry_index, const int32_t end_entry_index, const int32_t that_entry_count, const void *this_qmd, const void *that_qmd, const void *serialized_varlen_buffer) |
ALWAYS_INLINE void | anonymous_namespace{ResultSetReduction.cpp}::check_watchdog () |
ALWAYS_INLINE void | anonymous_namespace{ResultSetReduction.cpp}::check_watchdog_with_seed (const size_t sample_seed) |
GroupValueInfo | anonymous_namespace{ResultSetReduction.cpp}::get_matching_group_value_columnar_reduction (int64_t *groups_buffer, const uint32_t h, const int64_t *key, const uint32_t key_qw_count, const size_t entry_count) |
GroupValueInfo | anonymous_namespace{ResultSetReduction.cpp}::get_group_value_columnar_reduction (int64_t *groups_buffer, const uint32_t groups_buffer_entry_count, const int64_t *key, const uint32_t key_qw_count) |
template<typename T = int64_t> | |
GroupValueInfo | anonymous_namespace{ResultSetReduction.cpp}::get_matching_group_value_reduction (int64_t *groups_buffer, const uint32_t h, const T *key, const uint32_t key_count, const QueryMemoryDescriptor &query_mem_desc, const int64_t *that_buff_i64, const size_t that_entry_idx, const size_t that_entry_count, const uint32_t row_size_quad) |
GroupValueInfo | anonymous_namespace{ResultSetReduction.cpp}::get_matching_group_value_reduction (int64_t *groups_buffer, const uint32_t h, const int64_t *key, const uint32_t key_count, const size_t key_width, const QueryMemoryDescriptor &query_mem_desc, const int64_t *that_buff_i64, const size_t that_entry_idx, const size_t that_entry_count, const uint32_t row_size_quad) |
Variables | |
bool | g_enable_dynamic_watchdog |
Reduction part of the row set interface.
Definition in file ResultSetReduction.cpp.
#define AGGREGATE_ONE_COUNT | ( | val_ptr__, | |
other_ptr__, | |||
chosen_bytes__ | |||
) |
Definition at line 1310 of file ResultSetReduction.cpp.
Referenced by ResultSetStorage::reduceOneSlot(), and ResultSetStorage::reduceSingleRow().
#define AGGREGATE_ONE_NULLABLE_COUNT | ( | val_ptr__, | |
other_ptr__, | |||
init_val__, | |||
chosen_bytes__, | |||
agg_info__ | |||
) |
Definition at line 1323 of file ResultSetReduction.cpp.
Referenced by ResultSetStorage::reduceSingleRow().
#define AGGREGATE_ONE_NULLABLE_VALUE | ( | agg_kind__, | |
val_ptr__, | |||
other_ptr__, | |||
init_val__, | |||
chosen_bytes__, | |||
agg_info__ | |||
) |
Definition at line 1274 of file ResultSetReduction.cpp.
Referenced by ResultSetStorage::reduceOneSlot(), and ResultSetStorage::reduceSingleRow().
#define AGGREGATE_ONE_NULLABLE_VALUE_SMALL | ( | agg_kind__, | |
val_ptr__, | |||
other_ptr__, | |||
init_val__, | |||
chosen_bytes__, | |||
agg_info__ | |||
) |
Definition at line 1376 of file ResultSetReduction.cpp.
Referenced by ResultSetStorage::reduceOneSlot(), and ResultSetStorage::reduceSingleRow().
#define AGGREGATE_ONE_VALUE | ( | agg_kind__, | |
val_ptr__, | |||
other_ptr__, | |||
chosen_bytes__, | |||
agg_info__ | |||
) |
Definition at line 1249 of file ResultSetReduction.cpp.
#define AGGREGATE_ONE_VALUE_SMALL | ( | agg_kind__, | |
val_ptr__, | |||
other_ptr__, | |||
chosen_bytes__, | |||
agg_info__ | |||
) |
Definition at line 1359 of file ResultSetReduction.cpp.
#define cas_cst | ( | ptr, | |
expected, | |||
desired | |||
) |
Definition at line 689 of file ResultSetReduction.cpp.
Referenced by anonymous_namespace{ResultSetReduction.cpp}::get_matching_group_value_reduction().
#define load_cst | ( | ptr | ) | __atomic_load_n(ptr, __ATOMIC_SEQ_CST) |
Definition at line 693 of file ResultSetReduction.cpp.
Referenced by anonymous_namespace{ResultSetReduction.cpp}::get_matching_group_value_reduction().
#define mapd_cas | ( | address, | |
compare, | |||
val | |||
) | __sync_val_compare_and_swap(address, compare, val) |
Definition at line 625 of file ResultSetReduction.cpp.
Referenced by anonymous_namespace{ResultSetReduction.cpp}::get_matching_group_value_columnar_reduction().
#define store_cst | ( | ptr, | |
val | |||
) | __atomic_store_n(ptr, val, __ATOMIC_SEQ_CST) |
Definition at line 692 of file ResultSetReduction.cpp.
Referenced by anonymous_namespace{ResultSetReduction.cpp}::get_matching_group_value_reduction().
bool g_enable_dynamic_watchdog |
Definition at line 81 of file Execute.cpp.