Skip to content

File histogram_cl.hpp

FileList > cubrid > src > optimizer > histogram > histogram_cl.hpp

Go to the source code of this file

  • #include <cstdio>
  • #include <cstdint>
  • #include <string>
  • #include "thread_compat.hpp"

Namespaces

Type Name
namespace hist

Classes

Type Name
struct histogram_key

Public Types

Type Name
typedef struct db_value DB_VALUE
typedef struct hist_stats HIST_STATS
typedef struct parser_node PT_NODE

Public Static Attributes

Type Name
const char * HISTOGRAM_QUERY_TEMPLATE
const char * HISTOGRAM_WITH_SAMPLING_SCAN_QUERY_TEMPLATE
const char * MCV_COUNT_QUERY_TEMPLATE = /* multi line expression */
const char * NULL_FREQUENCY_QUERY_TEMPLATE = /* multi line expression */
const char * NULL_FREQUENCY_WITH_SAMPLING_SCAN_QUERY_TEMPLATE = /* multi line expression */

Public Functions

Type Name
int analyze_classes (THREAD_ENTRY * thread_p, const char * tbl_name, const char * attr_name, int max_number_of_buckets, bool with_fullscan, MOP classop)
int db_get_histogram (MOP classop, const char * attr_name, DB_OBJECT ** histogram_obj)
int dump_histogram (MOP classop, const char * attr_name, DB_TYPE attr_type, bool with_fullscan, bool detailed, int error, FILE * f)
int get_histogram (THREAD_ENTRY * thread_p, const char * tbl_name, const char * attr_name, int max_number_of_buckets, bool with_fullscan, char ** histogram_blob, int * histogram_total_length)
int get_null_frequency (THREAD_ENTRY * thread_p, const char * tbl_name, const char * attr_name, bool with_fullscan, MOP classop)
void histogram_get_comp_selectivity (PT_NODE * lhs, DB_VALUE * rhs_db_value, bool is_ge, bool include_equal, double * selectivity, bool * success)
void histogram_get_equal_selectivity (PT_NODE * lhs, DB_VALUE * rhs_db_value, double * selectivity, bool * success)
void histogram_get_like_selectivity (PT_NODE * lhs, DB_VALUE * rhs_db_value, double * selectivity, bool * success)
bool is_histogrammable_type (DB_TYPE type)
int set_histogram (THREAD_ENTRY * thread_p, const char * tbl_name, const char * attr_name, char * histogram_blob, int histogram_total_length, MOP classop)
int stats_free_histogram_and_init (HIST_STATS * histogram)
int stats_get_histogram (MOP classop, HIST_STATS ** histogram)

Public Types Documentation

typedef DB_VALUE

typedef struct db_value DB_VALUE;

typedef HIST_STATS

typedef struct hist_stats HIST_STATS;

typedef PT_NODE

typedef struct parser_node PT_NODE;

Public Static Attributes Documentation

variable HISTOGRAM_QUERY_TEMPLATE

const char* HISTOGRAM_QUERY_TEMPLATE;

variable HISTOGRAM_WITH_SAMPLING_SCAN_QUERY_TEMPLATE

const char* HISTOGRAM_WITH_SAMPLING_SCAN_QUERY_TEMPLATE;

variable MCV_COUNT_QUERY_TEMPLATE

const char* MCV_COUNT_QUERY_TEMPLATE;

variable NULL_FREQUENCY_QUERY_TEMPLATE

const char* NULL_FREQUENCY_QUERY_TEMPLATE;

variable NULL_FREQUENCY_WITH_SAMPLING_SCAN_QUERY_TEMPLATE

const char* NULL_FREQUENCY_WITH_SAMPLING_SCAN_QUERY_TEMPLATE;

Public Functions Documentation

function analyze_classes

int analyze_classes (
    THREAD_ENTRY * thread_p,
    const  char * tbl_name,
    const  char * attr_name,
    int max_number_of_buckets,
    bool with_fullscan,
    MOP classop
) 

function db_get_histogram

int db_get_histogram (
    MOP classop,
    const  char * attr_name,
    DB_OBJECT ** histogram_obj
) 

function dump_histogram

int dump_histogram (
    MOP classop,
    const  char * attr_name,
    DB_TYPE attr_type,
    bool with_fullscan,
    bool detailed,
    int error,
    FILE * f
) 

function get_histogram

int get_histogram (
    THREAD_ENTRY * thread_p,
    const  char * tbl_name,
    const  char * attr_name,
    int max_number_of_buckets,
    bool with_fullscan,
    char ** histogram_blob,
    int * histogram_total_length
) 

function get_null_frequency

int get_null_frequency (
    THREAD_ENTRY * thread_p,
    const  char * tbl_name,
    const  char * attr_name,
    bool with_fullscan,
    MOP classop
) 

function histogram_get_comp_selectivity

void histogram_get_comp_selectivity (
    PT_NODE * lhs,
    DB_VALUE * rhs_db_value,
    bool is_ge,
    bool include_equal,
    double * selectivity,
    bool * success
) 

function histogram_get_equal_selectivity

void histogram_get_equal_selectivity (
    PT_NODE * lhs,
    DB_VALUE * rhs_db_value,
    double * selectivity,
    bool * success
) 

function histogram_get_like_selectivity

void histogram_get_like_selectivity (
    PT_NODE * lhs,
    DB_VALUE * rhs_db_value,
    double * selectivity,
    bool * success
) 

function is_histogrammable_type

bool is_histogrammable_type (
    DB_TYPE type
) 

function set_histogram

int set_histogram (
    THREAD_ENTRY * thread_p,
    const  char * tbl_name,
    const  char * attr_name,
    char * histogram_blob,
    int histogram_total_length,
    MOP classop
) 

function stats_free_histogram_and_init

int stats_free_histogram_and_init (
    HIST_STATS * histogram
) 

function stats_get_histogram

int stats_get_histogram (
    MOP classop,
    HIST_STATS ** histogram
) 


The documentation for this class was generated from the following file cubrid/src/optimizer/histogram/histogram_cl.hpp