OmniSciDB
a5dc49c757
|
#include <cmath>
#include <cstring>
#include <limits>
#include <stdexcept>
#include <type_traits>
#include <vector>
#include "DateTruncate.h"
#include "ExtractFromTime.h"
#include "TableFunctionMetadataType.h"
#include "Utils/FlatBuffer.h"
#include "DateAdd.h"
#include "../Shared/sqltypes_lite.h"
#include "../Shared/DateTimeParser.h"
#include "../Shared/InlineNullValues.h"
#include "../Shared/funcannotations.h"
#include "Shared/toString.h"
#include "StringDictionary/StringDictionaryProxy.h"
#include "../Geospatial/CompressionRuntime.h"
Go to the source code of this file.
Namespaces | |
anonymous_namespace{heavydbTypes.h} | |
flatbuffer | |
Geo | |
Macros | |
#define | EXTENSION_INLINE_HOST extern "C" RUNTIME_EXPORT ALWAYS_INLINE HOST |
#define | EXTENSION_NOINLINE_HOST extern "C" RUNTIME_EXPORT NEVER_INLINE HOST |
#define | EXTENSION_INLINE extern "C" RUNTIME_EXPORT ALWAYS_INLINE DEVICE |
#define | EXTENSION_NOINLINE extern "C" RUNTIME_EXPORT NEVER_INLINE DEVICE |
#define | TEMPLATE_INLINE ALWAYS_INLINE DEVICE |
#define | TEMPLATE_NOINLINE NEVER_INLINE DEVICE |
#define | FUNC_NAME (std::string(__func__).substr(0, std::string(__func__).find("__"))) |
#define | ERROR_STRING(MSG) |
#define | TABLE_FUNCTION_ERROR(MSG) table_function_error(ERROR_STRING(MSG)) |
#define | ERROR_MESSAGE(MSG) error_message(ERROR_STRING(MSG)) |
#define | SUCCESS table_function_success_code() |
#define | GET_DICT_DB_ID(mgr, arg_idx) (mgr.getDictDbId(__func__, arg_idx)) |
#define | GET_DICT_ID(mgr, arg_idx) (mgr.getDictId(__func__, arg_idx)) |
#define | NESTED_ARRAY_NDIM 4 |
#define | IS_VALUE_TYPE(T) |
Typedefs | |
typedef struct GeoPointStruct | GeoPoint |
typedef struct GeoMultiPointStruct | GeoMultiPoint |
typedef struct GeoLineStringStruct | GeoLineString |
typedef struct GeoMultiLineStringStruct | GeoMultiLineString |
typedef struct GeoPolygonStruct | GeoPolygon |
typedef struct GeoMultiPolygonStruct | GeoMultiPolygon |
Functions | |
EXTENSION_NOINLINE int8_t * | allocate_varlen_buffer (int64_t element_count, int64_t element_size) |
EXTENSION_NOINLINE_HOST void | set_output_item_values_total_number (int32_t index, int64_t output_item_values_total_number) |
EXTENSION_NOINLINE_HOST void | set_output_array_values_total_number (int32_t index, int64_t output_array_values_total_number) |
EXTENSION_NOINLINE_HOST void | set_output_row_size (int64_t num_rows) |
EXTENSION_NOINLINE_HOST void | TableFunctionManager_set_output_array_values_total_number (int8_t *mgr_ptr, int32_t index, int64_t output_array_values_total_number) |
EXTENSION_NOINLINE_HOST void | TableFunctionManager_set_output_item_values_total_number (int8_t *mgr_ptr, int32_t index, int64_t output_item_values_total_number) |
EXTENSION_NOINLINE_HOST void | TableFunctionManager_set_output_row_size (int8_t *mgr_ptr, int64_t num_rows) |
EXTENSION_NOINLINE_HOST int8_t * | TableFunctionManager_get_singleton () |
EXTENSION_NOINLINE_HOST int32_t | table_function_error (const char *message) |
EXTENSION_NOINLINE_HOST int32_t | table_function_success_code () |
EXTENSION_NOINLINE_HOST int32_t | TableFunctionManager_error_message (int8_t *mgr_ptr, const char *message) |
EXTENSION_NOINLINE_HOST void | TableFunctionManager_set_metadata (int8_t *mgr_ptr, const char *key, const uint8_t *raw_bytes, const size_t num_bytes, const TableFunctionMetadataType value_type) |
EXTENSION_NOINLINE_HOST void | TableFunctionManager_get_metadata (int8_t *mgr_ptr, const char *key, const uint8_t *&raw_bytes, size_t &num_bytes, TableFunctionMetadataType &value_type) |
EXTENSION_NOINLINE_HOST int32_t | TableFunctionManager_getNewDictDbId (int8_t *mgr_ptr) |
EXTENSION_NOINLINE_HOST int32_t | TableFunctionManager_getNewDictId (int8_t *mgr_ptr) |
EXTENSION_NOINLINE_HOST int8_t * | TableFunctionManager_getStringDictionaryProxy (int8_t *mgr_ptr, int32_t db_id, int32_t dict_id) |
std::string | TableFunctionManager_getString (int8_t *mgr_ptr, int32_t db_id, int32_t dict_id, int32_t string_id) |
EXTENSION_NOINLINE_HOST int32_t | TableFunctionManager_getOrAddTransient (int8_t *mgr_ptr, int32_t db_id, int32_t dict_id, std::string str) |
EXTENSION_NOINLINE_HOST int8_t * | TableFunctionManager_makeBuffer (int8_t *mgr_ptr, int64_t count, int64_t size) |
RUNTIME_EXPORT NEVER_INLINE HOST std::string | RowFunctionManager_getString (int8_t *mgr_ptr, int32_t db_id, int32_t dict_id, int32_t string_id) |
EXTENSION_NOINLINE_HOST int32_t | RowFunctionManager_getDictDbId (int8_t *mgr_ptr, const char *func_name, size_t arg_idx) |
EXTENSION_NOINLINE_HOST int32_t | RowFunctionManager_getDictId (int8_t *mgr_ptr, const char *func_name, size_t arg_idx) |
EXTENSION_NOINLINE_HOST int32_t | RowFunctionManager_getOrAddTransient (int8_t *mgr_ptr, int32_t db_id, int32_t dict_id, std::string str) |
EXTENSION_NOINLINE_HOST int8_t * | RowFunctionManager_makeBuffer (int8_t *mgr_ptr, int64_t count, int64_t size) |
EXTENSION_NOINLINE_HOST void | ColumnArray_getArray (int8_t *flatbuffer, const int64_t index, const int64_t expected_numel, int8_t *&ptr, int64_t &size, bool &is_null) |
EXTENSION_NOINLINE_HOST bool | ColumnArray_isNull (int8_t *flatbuffer, int64_t index) |
EXTENSION_NOINLINE_HOST void | ColumnArray_setNull (int8_t *flatbuffer, int64_t index) |
EXTENSION_NOINLINE_HOST void | ColumnArray_setArray (int8_t *flatbuffer, int64_t index, const int8_t *ptr, int64_t size, bool is_null) |
EXTENSION_NOINLINE_HOST void | ColumnArray_concatArray (int8_t *flatbuffer, int64_t index, const int8_t *ptr, int64_t size, bool is_null) |
EXTENSION_NOINLINE_HOST void | ColumnArray_getItem (int8_t *flatbuffer, const int64_t index, const int64_t expected_numel, int8_t *&ptr, int64_t &size, bool &is_null, int64_t sizeof_T) |
EXTENSION_NOINLINE_HOST void | ColumnArray_setItem (int8_t *flatbuffer, int64_t index, const int8_t *ptr, int64_t size, bool is_null, int64_t sizeof_T) |
EXTENSION_NOINLINE_HOST void | ColumnArray_concatItem (int8_t *flatbuffer, int64_t index, const int8_t *ptr, int64_t size, bool is_null, int64_t sizeof_T) |
template<> | |
DEVICE TextEncodingDict | inline_null_value () |
template<typename T > | |
TableFunctionMetadataType | anonymous_namespace{heavydbTypes.h}::get_metadata_type () |
template<> | |
DEVICE Timestamp | inline_null_value () |
DEVICE int32_t | Geo::compress_x_coord (const double *x, const int64_t index) |
DEVICE int32_t | Geo::compress_y_coord (const double *x, const int64_t index) |
DEVICE double | Geo::decompress_x_coord (const int8_t *data, const int64_t index, const bool is_geoint) |
DEVICE double | Geo::decompress_y_coord (const int8_t *data, const int64_t index, const bool is_geoint) |
DEVICE double | Geo::decompress_x_coord (const int8_t *data, const int64_t index, const bool is_geoint, const int32_t input_srid, const int32_t output_srid) |
DEVICE double | Geo::decompress_y_coord (const int8_t *data, const int64_t index, const bool is_geoint, const int32_t input_srid, const int32_t output_srid) |
DEVICE Point2D | Geo::get_point (const int8_t *data, const int64_t index, const int32_t input_srid, const int32_t output_srid, const bool is_geoint) |
template<typename CT > | |
void | Geo::points_to_vector (const int8_t *points_buf, const int64_t nof_points, const bool is_geoint, std::vector< CT > &result) |
std::vector< int32_t > | Geo::compress_coords (const int8_t *data, const int64_t size, const bool is_geoint) |
std::vector< double > | Geo::decompress_coords (const int8_t *data, const int64_t size, const bool is_geoint) |
std::vector< int32_t > | Geo::compress_coords (const std::vector< double > &coords) |
std::vector< double > | Geo::decompress_coords (const std::vector< int32_t > &coords) |
std::vector< std::vector < int32_t > > | Geo::compress_coords (const std::vector< std::vector< double >> &coords) |
std::vector< std::vector < double > > | Geo::decompress_coords (const std::vector< std::vector< int32_t >> &coords) |
std::vector< std::vector < std::vector< int32_t > > > | Geo::compress_coords (const std::vector< std::vector< std::vector< double >>> &coords) |
std::vector< std::vector < std::vector< double > > > | Geo::decompress_coords (const std::vector< std::vector< std::vector< int32_t >>> &coords) |
bool | Geo::get_is_geoint (const int8_t *flatbuffer) |
int32_t | Geo::get_input_srid (const int8_t *flatbuffer) |
int32_t | Geo::get_output_srid (const int8_t *flatbuffer) |
template<> | |
CONSTEXPR DEVICE void | set_null< Timestamp > (Timestamp &t) |
#define ERROR_MESSAGE | ( | MSG | ) | error_message(ERROR_STRING(MSG)) |
Definition at line 75 of file heavydbTypes.h.
#define ERROR_STRING | ( | MSG | ) |
Definition at line 70 of file heavydbTypes.h.
#define EXTENSION_INLINE extern "C" RUNTIME_EXPORT ALWAYS_INLINE DEVICE |
Definition at line 57 of file heavydbTypes.h.
#define EXTENSION_INLINE_HOST extern "C" RUNTIME_EXPORT ALWAYS_INLINE HOST |
Definition at line 54 of file heavydbTypes.h.
#define EXTENSION_NOINLINE extern "C" RUNTIME_EXPORT NEVER_INLINE DEVICE |
Definition at line 58 of file heavydbTypes.h.
#define EXTENSION_NOINLINE_HOST extern "C" RUNTIME_EXPORT NEVER_INLINE HOST |
Definition at line 55 of file heavydbTypes.h.
#define FUNC_NAME (std::string(__func__).substr(0, std::string(__func__).find("__"))) |
Definition at line 68 of file heavydbTypes.h.
#define GET_DICT_DB_ID | ( | mgr, | |
arg_idx | |||
) | (mgr.getDictDbId(__func__, arg_idx)) |
Definition at line 139 of file heavydbTypes.h.
Referenced by array_first_half__t32(), array_second_half__t32(), strtok_to_array__1(), tarray_append(), text_encoding_dict_concat(), text_encoding_dict_concat2(), text_encoding_dict_concat3(), text_encoding_dict_copy(), and text_encoding_dict_copy_from().
#define GET_DICT_ID | ( | mgr, | |
arg_idx | |||
) | (mgr.getDictId(__func__, arg_idx)) |
Definition at line 141 of file heavydbTypes.h.
Referenced by array_first_half__t32(), array_second_half__t32(), strtok_to_array__1(), tarray_append(), text_encoding_dict_concat(), text_encoding_dict_concat2(), text_encoding_dict_concat3(), text_encoding_dict_copy(), and text_encoding_dict_copy_from().
#define IS_VALUE_TYPE | ( | T | ) |
Definition at line 454 of file heavydbTypes.h.
Referenced by flatbuffer::NestedArray< char >::getItem(), flatbuffer::NestedArray< char >::getRawBuffer(), and flatbuffer::NestedArray< char >::getValue().
#define NESTED_ARRAY_NDIM 4 |
Definition at line 452 of file heavydbTypes.h.
Referenced by flatbuffer::NestedArray< char >::extend(), flatbuffer::NestedArray< char >::getRawBuffer(), flatbuffer::NestedArray< char >::isNull(), and flatbuffer::NestedArray< char >::size().
#define SUCCESS table_function_success_code() |
Definition at line 76 of file heavydbTypes.h.
Referenced by generate_series__cpu_template(), generate_series_parallel(), and row_repeater__cpu_template().
#define TABLE_FUNCTION_ERROR | ( | MSG | ) | table_function_error(ERROR_STRING(MSG)) |
Definition at line 74 of file heavydbTypes.h.
Referenced by column_list_safe_row_sum__cpu_template(), and ct_sleep1__cpu_().
#define TEMPLATE_INLINE ALWAYS_INLINE DEVICE |
Definition at line 59 of file heavydbTypes.h.
#define TEMPLATE_NOINLINE NEVER_INLINE DEVICE |
Definition at line 60 of file heavydbTypes.h.
typedef struct GeoLineStringStruct GeoLineString |
Definition at line 999 of file heavydbTypes.h.
typedef struct GeoMultiLineStringStruct GeoMultiLineString |
Definition at line 1025 of file heavydbTypes.h.
typedef struct GeoMultiPointStruct GeoMultiPoint |
Definition at line 981 of file heavydbTypes.h.
typedef struct GeoMultiPolygonStruct GeoMultiPolygon |
Definition at line 1077 of file heavydbTypes.h.
typedef struct GeoPointStruct GeoPoint |
Definition at line 963 of file heavydbTypes.h.
typedef struct GeoPolygonStruct GeoPolygon |
Definition at line 1048 of file heavydbTypes.h.
EXTENSION_NOINLINE int8_t* allocate_varlen_buffer | ( | int64_t | element_count, |
int64_t | element_size | ||
) |
EXTENSION_NOINLINE_HOST void ColumnArray_concatArray | ( | int8_t * | flatbuffer, |
int64_t | index, | ||
const int8_t * | ptr, | ||
int64_t | size, | ||
bool | is_null | ||
) |
EXTENSION_NOINLINE_HOST void ColumnArray_concatItem | ( | int8_t * | flatbuffer, |
int64_t | index, | ||
const int8_t * | ptr, | ||
int64_t | size, | ||
bool | is_null, | ||
int64_t | sizeof_T | ||
) |
EXTENSION_NOINLINE_HOST void ColumnArray_getArray | ( | int8_t * | flatbuffer, |
const int64_t | index, | ||
const int64_t | expected_numel, | ||
int8_t *& | ptr, | ||
int64_t & | size, | ||
bool & | is_null | ||
) |
EXTENSION_NOINLINE_HOST void ColumnArray_getItem | ( | int8_t * | flatbuffer, |
const int64_t | index, | ||
const int64_t | expected_numel, | ||
int8_t *& | ptr, | ||
int64_t & | size, | ||
bool & | is_null, | ||
int64_t | sizeof_T | ||
) |
EXTENSION_NOINLINE_HOST bool ColumnArray_isNull | ( | int8_t * | flatbuffer, |
int64_t | index | ||
) |
EXTENSION_NOINLINE_HOST void ColumnArray_setArray | ( | int8_t * | flatbuffer, |
int64_t | index, | ||
const int8_t * | ptr, | ||
int64_t | size, | ||
bool | is_null | ||
) |
EXTENSION_NOINLINE_HOST void ColumnArray_setItem | ( | int8_t * | flatbuffer, |
int64_t | index, | ||
const int8_t * | ptr, | ||
int64_t | size, | ||
bool | is_null, | ||
int64_t | sizeof_T | ||
) |
EXTENSION_NOINLINE_HOST void ColumnArray_setNull | ( | int8_t * | flatbuffer, |
int64_t | index | ||
) |
|
inline |
Definition at line 279 of file heavydbTypes.h.
References TextEncodingDict::value.
Definition at line 849 of file heavydbTypes.h.
EXTENSION_NOINLINE_HOST int32_t RowFunctionManager_getDictDbId | ( | int8_t * | mgr_ptr, |
const char * | func_name, | ||
size_t | arg_idx | ||
) |
EXTENSION_NOINLINE_HOST int32_t RowFunctionManager_getDictId | ( | int8_t * | mgr_ptr, |
const char * | func_name, | ||
size_t | arg_idx | ||
) |
EXTENSION_NOINLINE_HOST int32_t RowFunctionManager_getOrAddTransient | ( | int8_t * | mgr_ptr, |
int32_t | db_id, | ||
int32_t | dict_id, | ||
std::string | str | ||
) |
RUNTIME_EXPORT NEVER_INLINE HOST std::string RowFunctionManager_getString | ( | int8_t * | mgr_ptr, |
int32_t | db_id, | ||
int32_t | dict_id, | ||
int32_t | string_id | ||
) |
EXTENSION_NOINLINE_HOST int8_t* RowFunctionManager_makeBuffer | ( | int8_t * | mgr_ptr, |
int64_t | count, | ||
int64_t | size | ||
) |
Definition at line 2476 of file heavydbTypes.h.
References set_null().
EXTENSION_NOINLINE_HOST void set_output_array_values_total_number | ( | int32_t | index, |
int64_t | output_array_values_total_number | ||
) |
EXTENSION_NOINLINE_HOST void set_output_item_values_total_number | ( | int32_t | index, |
int64_t | output_item_values_total_number | ||
) |
EXTENSION_NOINLINE_HOST void set_output_row_size | ( | int64_t | num_rows | ) |
Referenced by column_list_row_sum__cpu_(), column_list_safe_row_sum__cpu_template(), ct_binding_column2__cpu_template(), ct_binding_column__cpu_template(), ct_binding_columnlist__cpu_template(), ct_binding_dict_encoded2__cpu_1(), ct_binding_dict_encoded3__cpu_1(), ct_binding_dict_encoded4__cpu_1(), ct_binding_dict_encoded5__cpu_1(), ct_binding_dict_encoded6__cpu_1(), ct_binding_scalar_multiply__cpu_template(), ct_binding_str_equals__cpu_(), ct_binding_str_length__cpu_(), ct_binding_template__cpu_template(), ct_named_output__cpu_template(), ct_no_arg_runtime_sizing__cpu_template(), ct_overload_column_list_test2__cpu_template(), ct_overload_column_list_test__cpu_template(), ct_overload_column_test__cpu_template(), ct_overload_scalar_test__cpu_template(), ct_require__cpu_(), ct_require_and__cpu_(), ct_require_cursor__cpu_(), ct_require_mgr(), ct_require_or_str__cpu_(), ct_require_str__cpu_(), ct_require_str_diff__cpu_(), ct_require_templating__cpu_template(), ct_require_text_collist_enc_dict__cpu_(), ct_require_text_enc_dict__cpu_(), ct_scalar_1_arg_runtime_sizing__cpu_template(), ct_sleep1__cpu_(), ct_string_to_chars__cpu_(), row_copier2__cpu__(), and sort_column_limit__cpu_template().
EXTENSION_NOINLINE_HOST int32_t table_function_error | ( | const char * | message | ) |
EXTENSION_NOINLINE_HOST int32_t table_function_success_code | ( | ) |
EXTENSION_NOINLINE_HOST int32_t TableFunctionManager_error_message | ( | int8_t * | mgr_ptr, |
const char * | message | ||
) |
EXTENSION_NOINLINE_HOST void TableFunctionManager_get_metadata | ( | int8_t * | mgr_ptr, |
const char * | key, | ||
const uint8_t *& | raw_bytes, | ||
size_t & | num_bytes, | ||
TableFunctionMetadataType & | value_type | ||
) |
EXTENSION_NOINLINE_HOST int8_t* TableFunctionManager_get_singleton | ( | ) |
EXTENSION_NOINLINE_HOST int32_t TableFunctionManager_getNewDictDbId | ( | int8_t * | mgr_ptr | ) |
EXTENSION_NOINLINE_HOST int32_t TableFunctionManager_getNewDictId | ( | int8_t * | mgr_ptr | ) |
EXTENSION_NOINLINE_HOST int32_t TableFunctionManager_getOrAddTransient | ( | int8_t * | mgr_ptr, |
int32_t | db_id, | ||
int32_t | dict_id, | ||
std::string | str | ||
) |
Referenced by TableFunctionManager::getOrAddTransient().
std::string TableFunctionManager_getString | ( | int8_t * | mgr_ptr, |
int32_t | db_id, | ||
int32_t | dict_id, | ||
int32_t | string_id | ||
) |
EXTENSION_NOINLINE_HOST int8_t* TableFunctionManager_getStringDictionaryProxy | ( | int8_t * | mgr_ptr, |
int32_t | db_id, | ||
int32_t | dict_id | ||
) |
Referenced by TableFunctionManager::getStringDictionaryProxy().
EXTENSION_NOINLINE_HOST int8_t* TableFunctionManager_makeBuffer | ( | int8_t * | mgr_ptr, |
int64_t | count, | ||
int64_t | size | ||
) |
EXTENSION_NOINLINE_HOST void TableFunctionManager_set_metadata | ( | int8_t * | mgr_ptr, |
const char * | key, | ||
const uint8_t * | raw_bytes, | ||
const size_t | num_bytes, | ||
const TableFunctionMetadataType | value_type | ||
) |
EXTENSION_NOINLINE_HOST void TableFunctionManager_set_output_array_values_total_number | ( | int8_t * | mgr_ptr, |
int32_t | index, | ||
int64_t | output_array_values_total_number | ||
) |
Referenced by TableFunctionManager::set_output_array_values_total_number().
EXTENSION_NOINLINE_HOST void TableFunctionManager_set_output_item_values_total_number | ( | int8_t * | mgr_ptr, |
int32_t | index, | ||
int64_t | output_item_values_total_number | ||
) |
Referenced by TableFunctionManager::set_output_item_values_total_number().
EXTENSION_NOINLINE_HOST void TableFunctionManager_set_output_row_size | ( | int8_t * | mgr_ptr, |
int64_t | num_rows | ||
) |
Referenced by TableFunctionManager::set_output_row_size().