Skip to content

File external_sort.h

FileList > cubrid > src > storage > external_sort.h

Go to the source code of this file

  • #include "error_manager.h"
  • #include "query_list.h"
  • #include "storage_common.h"
  • #include "thread_compat.hpp"

Classes

Type Name
struct SORTKEY_INFO
struct SORT_INFO
struct SORT_REC
struct SUBKEY_INFO

Public Types

Type Name
typedef struct SORTKEY_INFO SORTKEY_INFO
typedef int SORT_CMP_FUNC
enum SORT_DUP_OPTION
typedef SORT_STATUS SORT_GET_FUNC
typedef struct SORT_INFO SORT_INFO
enum SORT_PARALLEL_TYPE
typedef int SORT_PUT_FUNC
typedef struct SORT_REC SORT_REC
enum SORT_STATUS
typedef struct SUBKEY_INFO SUBKEY_INFO

Public Functions

Type Name
SORT_STATUS btree_sort_get_next_parallel (THREAD_ENTRY * thread_p, RECDES * temp_recdes, void * arg)
int sort_listfile (THREAD_ENTRY * thread_p, INT16 volid, int est_inp_pg_cnt, SORT_GET_FUNC * get_fn, void * get_arg, SORT_PUT_FUNC * put_fn, void * put_arg, SORT_CMP_FUNC * cmp_fn, void * cmp_arg, SORT_DUP_OPTION option, int limit, bool includes_tde_class, SORT_PARALLEL_TYPE sort_parallel_type)

Macros

Type Name
define NO_SORT_LIMIT (-1)
define SORT_PUT_STOP 2
define SORT_RECORD_LENGTH (item_p) (\*(([**int**](broker__monitor_8c.md#function-timeout) \*) (([**item\_p**](broker__monitor_8c.md#function-timeout)) - [**SORT\_RECORD\_LENGTH\_SIZE**](external__sort_8h.md#define-sort_record_length_size))))
define SORT_RECORD_LENGTH_SIZE ([**sizeof**](broker__monitor_8c.md#function-timeout)([**INT64**](broker__monitor_8c.md#function-timeout))) /\* [**for**](dynamic__load_8c.md#function-for) 8[**byte**](broker__monitor_8c.md#function-timeout) align \*/

Public Types Documentation

typedef SORTKEY_INFO

typedef struct SORTKEY_INFO SORTKEY_INFO;

typedef SORT_CMP_FUNC

typedef int SORT_CMP_FUNC(const void *, const void *, void *);

enum SORT_DUP_OPTION

enum SORT_DUP_OPTION {
    SORT_ELIM_DUP,
    SORT_DUP
};

typedef SORT_GET_FUNC

typedef SORT_STATUS SORT_GET_FUNC(THREAD_ENTRY *thread_p, RECDES *, void *);

typedef SORT_INFO

typedef struct SORT_INFO SORT_INFO;

enum SORT_PARALLEL_TYPE

enum SORT_PARALLEL_TYPE {
    SORT_ORDER_BY,
    SORT_ORDER_WITH_LIMIT,
    SORT_GROUP_BY,
    SORT_ANALYTIC,
    SORT_INDEX_LEAF
};

typedef SORT_PUT_FUNC

typedef int SORT_PUT_FUNC(THREAD_ENTRY *thread_p, const RECDES *, void *);

typedef SORT_REC

typedef struct SORT_REC SORT_REC;

enum SORT_STATUS

enum SORT_STATUS {
    SORT_REC_DOESNT_FIT,
    SORT_SUCCESS,
    SORT_NOMORE_RECS,
    SORT_ERROR_OCCURRED
};

typedef SUBKEY_INFO

typedef struct SUBKEY_INFO SUBKEY_INFO;

Public Functions Documentation

function btree_sort_get_next_parallel

SORT_STATUS btree_sort_get_next_parallel (
    THREAD_ENTRY * thread_p,
    RECDES * temp_recdes,
    void * arg
) 

function sort_listfile

int sort_listfile (
    THREAD_ENTRY * thread_p,
    INT16 volid,
    int est_inp_pg_cnt,
    SORT_GET_FUNC * get_fn,
    void * get_arg,
    SORT_PUT_FUNC * put_fn,
    void * put_arg,
    SORT_CMP_FUNC * cmp_fn,
    void * cmp_arg,
    SORT_DUP_OPTION option,
    int limit,
    bool includes_tde_class,
    SORT_PARALLEL_TYPE sort_parallel_type
) 

Macro Definition Documentation

define NO_SORT_LIMIT

#define NO_SORT_LIMIT `(-1)`

define SORT_PUT_STOP

#define SORT_PUT_STOP `2`

define SORT_RECORD_LENGTH

#define SORT_RECORD_LENGTH (
    item_p
) `(*(( int *) (( item_p ) - SORT_RECORD_LENGTH_SIZE )))`

define SORT_RECORD_LENGTH_SIZE

#define SORT_RECORD_LENGTH_SIZE `( sizeof ( INT64 ))    /* for 8 byte align */`


The documentation for this class was generated from the following file cubrid/src/storage/external_sort.h