OmniSciDB  cde582ebc3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
heavydbTypes.h File Reference
#include <cstring>
#include <limits>
#include <stdexcept>
#include <type_traits>
#include "DateTruncate.h"
#include "ExtractFromTime.h"
#include "../Shared/DateTimeParser.h"
#include "../Shared/InlineNullValues.h"
#include "../Shared/funcannotations.h"
#include "../StringDictionary/StringDictionaryProxy.h"
+ Include dependency graph for heavydbTypes.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  TextEncodingDict
 
struct  Array< T >
 
struct  TextEncodingNone
 
struct  Timestamp
 
struct  GeoPoint
 
struct  GeoLineString
 
struct  GeoPolygon
 Simplified core of GeoJSON Polygon coordinates definition. More...
 
struct  GeoMultiPolygon
 Simplified core of GeoJSON MultiPolygon coordinates definition. More...
 
struct  Column< T >
 
struct  Column< TextEncodingDict >
 
struct  ColumnList< T >
 
struct  ColumnList< TextEncodingDict >
 
struct  TableFunctionManager
 

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))
 

Functions

EXTENSION_NOINLINE int8_t * allocate_varlen_buffer (int64_t element_count, int64_t element_size)
 
EXTENSION_NOINLINE_HOST void set_output_row_size (int64_t num_rows)
 
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 TableFunctionManager_error_message (int8_t *mgr_ptr, const char *message)
 
template<>
DEVICE TextEncodingDict inline_null_value ()
 
template<>
DEVICE Timestamp inline_null_value ()
 
template<>
CONSTEXPR DEVICE void set_null< Timestamp > (Timestamp &t)
 

Macro Definition Documentation

#define ERROR_MESSAGE (   MSG)    error_message(ERROR_STRING(MSG))

Definition at line 64 of file heavydbTypes.h.

#define ERROR_STRING (   MSG)
Value:
(std::string(__FILE__).substr(std::string(__FILE__).rfind("/") + 1) + ":" + \
std::to_string(__LINE__) + " " + FUNC_NAME + ": " + MSG) \
.c_str()
std::string to_string(char const *&&v)
#define FUNC_NAME
Definition: heavydbTypes.h:57

Definition at line 59 of file heavydbTypes.h.

#define EXTENSION_INLINE   extern "C" RUNTIME_EXPORT ALWAYS_INLINE DEVICE

Definition at line 46 of file heavydbTypes.h.

#define EXTENSION_INLINE_HOST   extern "C" RUNTIME_EXPORT ALWAYS_INLINE HOST

Definition at line 43 of file heavydbTypes.h.

#define EXTENSION_NOINLINE   extern "C" RUNTIME_EXPORT NEVER_INLINE DEVICE

Definition at line 47 of file heavydbTypes.h.

#define EXTENSION_NOINLINE_HOST   extern "C" RUNTIME_EXPORT NEVER_INLINE HOST

Definition at line 44 of file heavydbTypes.h.

#define FUNC_NAME   (std::string(__func__).substr(0, std::string(__func__).find("__")))

Definition at line 57 of file heavydbTypes.h.

#define TABLE_FUNCTION_ERROR (   MSG)    table_function_error(ERROR_STRING(MSG))

Definition at line 63 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 48 of file heavydbTypes.h.

#define TEMPLATE_NOINLINE   NEVER_INLINE DEVICE

Definition at line 49 of file heavydbTypes.h.

Function Documentation

EXTENSION_NOINLINE int8_t* allocate_varlen_buffer ( int64_t  element_count,
int64_t  element_size 
)

Referenced by Array< T >::Array().

+ Here is the caller graph for this function:

template<>
DEVICE TextEncodingDict inline_null_value ( )
inline

Definition at line 127 of file heavydbTypes.h.

References TextEncodingDict::value.

127  {
128 #ifndef __CUDACC__
129  return TextEncodingDict(inline_int_null_value<int32_t>());
130 #else
131  TextEncodingDict null_val;
132  null_val.value = inline_int_null_value<int32_t>();
133  return null_val;
134 #endif
135 }
template<>
DEVICE Timestamp inline_null_value ( )
inline

Definition at line 354 of file heavydbTypes.h.

354  {
355  return Timestamp(inline_int_null_value<int64_t>());
356 }
template<>
CONSTEXPR DEVICE void set_null< Timestamp > ( Timestamp t)
inline

Definition at line 577 of file heavydbTypes.h.

References set_null().

577  {
578  set_null(t.time);
579 }
int64_t time
Definition: heavydbTypes.h:213
CONSTEXPR DEVICE void set_null(T &value)

+ Here is the call graph for this function:

EXTENSION_NOINLINE_HOST int32_t table_function_error ( const char *  message)
EXTENSION_NOINLINE_HOST int32_t TableFunctionManager_error_message ( int8_t *  mgr_ptr,
const char *  message 
)

Referenced by TableFunctionManager::error_message().

+ Here is the caller graph for this function:

EXTENSION_NOINLINE_HOST int8_t* TableFunctionManager_get_singleton ( )

Referenced by TableFunctionManager::get_singleton().

+ Here is the caller graph for this function:

EXTENSION_NOINLINE_HOST void TableFunctionManager_set_output_row_size ( int8_t *  mgr_ptr,
int64_t  num_rows 
)

Referenced by TableFunctionManager::set_output_row_size().

+ Here is the caller graph for this function: