Skip to content

File arithmetic.c

FileList > cubrid > src > query > arithmetic.c

Go to the source code of this file

  • #include "arithmetic.h"
  • #include "config.h"
  • #include "crypt_opfunc.h"
  • #include "db_date.h"
  • #include "db_json.hpp"
  • #include "db_json_path.hpp"
  • #include "dbtype.h"
  • #include "error_manager.h"
  • #include "memory_private_allocator.hpp"
  • #include "memory_reference_store.hpp"
  • #include "numeric_opfunc.h"
  • #include "object_primitive.h"
  • #include "object_representation.h"
  • #include "string_opfunc.h"
  • #include "tz_support.h"
  • #include <algorithm>
  • #include <assert.h>
  • #include <cctype>
  • #include <float.h>
  • #include <math.h>
  • #include <stdio.h>
  • #include <stdlib.h>
  • #include <string.h>
  • #include "memory_wrapper.hpp"

Public Functions

Type Name
int db_abs_dbval (DB_VALUE * result, DB_VALUE * value)
int db_accumulate_json_arrayagg (const DB_VALUE * json_db_val, DB_VALUE * json_res)
int db_accumulate_json_objectagg (const DB_VALUE * json_key, const DB_VALUE * json_db_val, DB_VALUE * json_res)
int db_acos_dbval (DB_VALUE * result, DB_VALUE * value)
int db_asin_dbval (DB_VALUE * result, DB_VALUE * value)
int db_atan2_dbval (DB_VALUE * result, DB_VALUE * value, DB_VALUE * value2)
int db_atan_dbval (DB_VALUE * result, DB_VALUE * value)
int db_bit_count_dbval (DB_VALUE * result, DB_VALUE * value)
int db_ceil_dbval (DB_VALUE * result, DB_VALUE * value)
int db_cos_dbval (DB_VALUE * result, DB_VALUE * value)
int db_cot_dbval (DB_VALUE * result, DB_VALUE * value)
int db_crc32_dbval (DB_VALUE * result, DB_VALUE * value)
int db_degrees_dbval (DB_VALUE * result, DB_VALUE * value)
int db_drandom_dbval (DB_VALUE * result)
int db_evaluate_json_array (DB_VALUE * result, DB_VALUE *const * arg, int const num_args)
int db_evaluate_json_array_append (DB_VALUE * result, DB_VALUE *const * arg, int const num_args)
int db_evaluate_json_array_insert (DB_VALUE * result, DB_VALUE *const * arg, int const num_args)
int db_evaluate_json_contains (DB_VALUE * result, DB_VALUE *const * arg, int const num_args)
int db_evaluate_json_contains_path (DB_VALUE * result, DB_VALUE *const * arg, const int num_args)
int db_evaluate_json_depth (DB_VALUE * result, DB_VALUE *const * arg, int const num_args)
int db_evaluate_json_extract (DB_VALUE * result, DB_VALUE *const * args, int num_args)
int db_evaluate_json_get_all_paths (DB_VALUE * result, DB_VALUE *const * arg, int const num_args)
int db_evaluate_json_insert (DB_VALUE * result, DB_VALUE *const * arg, int const num_args)
int db_evaluate_json_keys (DB_VALUE * result, DB_VALUE *const * arg, int const num_args)
int db_evaluate_json_length (DB_VALUE * result, DB_VALUE *const * arg, int const num_args)
int db_evaluate_json_merge_patch (DB_VALUE * result, DB_VALUE *const * arg, const int num_args)
int db_evaluate_json_merge_preserve (DB_VALUE * result, DB_VALUE *const * arg, const int num_args)
int db_evaluate_json_object (DB_VALUE * result, DB_VALUE *const * arg, int const num_args)
int db_evaluate_json_pretty (DB_VALUE * result, DB_VALUE *const * arg, int const num_args)
int db_evaluate_json_quote (DB_VALUE * result, DB_VALUE *const * arg, int const num_args)
int db_evaluate_json_remove (DB_VALUE * result, DB_VALUE *const * arg, int const num_args)
int db_evaluate_json_replace (DB_VALUE * result, DB_VALUE *const * arg, int const num_args)
int db_evaluate_json_search (DB_VALUE * result, DB_VALUE *const * args, const int num_args)
int db_evaluate_json_set (DB_VALUE * result, DB_VALUE *const * arg, int const num_args)
int db_evaluate_json_type_dbval (DB_VALUE * result, DB_VALUE *const * arg, int const num_args)
int db_evaluate_json_unquote (DB_VALUE * result, DB_VALUE *const * arg, int const num_args)
int db_evaluate_json_valid (DB_VALUE * result, DB_VALUE *const * arg, int const num_args)
int db_exp_dbval (DB_VALUE * result, DB_VALUE * value)
int db_floor_dbval (DB_VALUE * result, DB_VALUE * value)
int db_least_or_greatest (DB_VALUE * arg1, DB_VALUE * arg2, DB_VALUE * result, bool least)
int db_log_dbval (DB_VALUE * result, DB_VALUE * value1, DB_VALUE * value2)
int db_log_generic_dbval (DB_VALUE * result, DB_VALUE * value, long b)
int db_mod_dbval (DB_VALUE * result, DB_VALUE * value1, DB_VALUE * value2)
int db_power_dbval (DB_VALUE * result, DB_VALUE * value1, DB_VALUE * value2)
int db_radians_dbval (DB_VALUE * result, DB_VALUE * value)
int db_random_dbval (DB_VALUE * result)
int db_round_dbval (DB_VALUE * result, DB_VALUE * value1, DB_VALUE * value2)
int db_sign_dbval (DB_VALUE * result, DB_VALUE * value)
int db_sin_dbval (DB_VALUE * result, DB_VALUE * value)
int db_sleep (DB_VALUE * result, DB_VALUE * value)
int db_sqrt_dbval (DB_VALUE * result, DB_VALUE * value)
int db_tan_dbval (DB_VALUE * result, DB_VALUE * value)
int db_trunc_dbval (DB_VALUE * result, DB_VALUE * value1, DB_VALUE * value2)
int db_typeof_dbval (DB_VALUE * result, DB_VALUE * value)
int db_width_bucket (DB_VALUE * result, const DB_VALUE * value1, const DB_VALUE * value2, const DB_VALUE * value3, const DB_VALUE * value4)

Public Static Functions

Type Name
int db_mod_bigint (DB_VALUE * value, DB_VALUE * value1, DB_VALUE * value2)
int db_mod_double (DB_VALUE * value, DB_VALUE * value1, DB_VALUE * value2)
int db_mod_float (DB_VALUE * value, DB_VALUE * value1, DB_VALUE * value2)
int db_mod_int (DB_VALUE * value, DB_VALUE * value1, DB_VALUE * value2)
int db_mod_monetary (DB_VALUE * value, DB_VALUE * value1, DB_VALUE * value2)
int db_mod_numeric (DB_VALUE * value, DB_VALUE * value1, DB_VALUE * value2)
int db_mod_short (DB_VALUE * value, DB_VALUE * value1, DB_VALUE * value2)
int db_mod_string (DB_VALUE * value, DB_VALUE * value1, DB_VALUE * value2)
int db_width_bucket_calculate_numeric (double * result, const DB_VALUE * value1, const DB_VALUE * value2, const DB_VALUE * value3, const DB_VALUE * value4)
int get_number_dbval_as_double (double * d, const DB_VALUE * value)
int get_number_dbval_as_long_double (long double * ld, const DB_VALUE * value)
bool is_any_arg_null (DB_VALUE *const * args, int num_args)
int is_str_find_all (DB_VALUE * val, bool & find_all)
int move_n_days (int * monthp, int * dayp, int * yearp, const int interval)
int round_date (DB_VALUE * result, DB_VALUE * value1, DB_VALUE * value2)
double round_double (double num, double integer)
DB_BIGINT truncate_bigint (DB_BIGINT num, DB_BIGINT integer)
int truncate_date (DB_DATE * date, const DB_VALUE * format_str)
double truncate_double (double num, double integer)

Macros

Type Name
define MAX_DOMAIN_NAME_SIZE 150
define RETURN_ERROR (err) /* multi line expression */
define RETURN_ERROR_WITH_ARG (err, arg) /* multi line expression */

Public Functions Documentation

function db_abs_dbval

int db_abs_dbval (
    DB_VALUE * result,
    DB_VALUE * value
) 

function db_accumulate_json_arrayagg

int db_accumulate_json_arrayagg (
    const  DB_VALUE * json_db_val,
    DB_VALUE * json_res
) 

function db_accumulate_json_objectagg

int db_accumulate_json_objectagg (
    const  DB_VALUE * json_key,
    const  DB_VALUE * json_db_val,
    DB_VALUE * json_res
) 

function db_acos_dbval

int db_acos_dbval (
    DB_VALUE * result,
    DB_VALUE * value
) 

function db_asin_dbval

int db_asin_dbval (
    DB_VALUE * result,
    DB_VALUE * value
) 

function db_atan2_dbval

int db_atan2_dbval (
    DB_VALUE * result,
    DB_VALUE * value,
    DB_VALUE * value2
) 

function db_atan_dbval

int db_atan_dbval (
    DB_VALUE * result,
    DB_VALUE * value
) 

function db_bit_count_dbval

int db_bit_count_dbval (
    DB_VALUE * result,
    DB_VALUE * value
) 

function db_ceil_dbval

int db_ceil_dbval (
    DB_VALUE * result,
    DB_VALUE * value
) 

function db_cos_dbval

int db_cos_dbval (
    DB_VALUE * result,
    DB_VALUE * value
) 

function db_cot_dbval

int db_cot_dbval (
    DB_VALUE * result,
    DB_VALUE * value
) 

function db_crc32_dbval

int db_crc32_dbval (
    DB_VALUE * result,
    DB_VALUE * value
) 

function db_degrees_dbval

int db_degrees_dbval (
    DB_VALUE * result,
    DB_VALUE * value
) 

function db_drandom_dbval

int db_drandom_dbval (
    DB_VALUE * result
) 

function db_evaluate_json_array

int db_evaluate_json_array (
    DB_VALUE * result,
    DB_VALUE * const * arg,
    int  const num_args
) 

function db_evaluate_json_array_append

int db_evaluate_json_array_append (
    DB_VALUE * result,
    DB_VALUE * const * arg,
    int  const num_args
) 

function db_evaluate_json_array_insert

int db_evaluate_json_array_insert (
    DB_VALUE * result,
    DB_VALUE * const * arg,
    int  const num_args
) 

function db_evaluate_json_contains

int db_evaluate_json_contains (
    DB_VALUE * result,
    DB_VALUE * const * arg,
    int  const num_args
) 

function db_evaluate_json_contains_path

int db_evaluate_json_contains_path (
    DB_VALUE * result,
    DB_VALUE * const * arg,
    const  int num_args
) 

function db_evaluate_json_depth

int db_evaluate_json_depth (
    DB_VALUE * result,
    DB_VALUE * const * arg,
    int  const num_args
) 

function db_evaluate_json_extract

int db_evaluate_json_extract (
    DB_VALUE * result,
    DB_VALUE * const * args,
    int num_args
) 

function db_evaluate_json_get_all_paths

int db_evaluate_json_get_all_paths (
    DB_VALUE * result,
    DB_VALUE * const * arg,
    int  const num_args
) 

function db_evaluate_json_insert

int db_evaluate_json_insert (
    DB_VALUE * result,
    DB_VALUE * const * arg,
    int  const num_args
) 

function db_evaluate_json_keys

int db_evaluate_json_keys (
    DB_VALUE * result,
    DB_VALUE * const * arg,
    int  const num_args
) 

function db_evaluate_json_length

int db_evaluate_json_length (
    DB_VALUE * result,
    DB_VALUE * const * arg,
    int  const num_args
) 

function db_evaluate_json_merge_patch

int db_evaluate_json_merge_patch (
    DB_VALUE * result,
    DB_VALUE * const * arg,
    const  int num_args
) 

function db_evaluate_json_merge_preserve

int db_evaluate_json_merge_preserve (
    DB_VALUE * result,
    DB_VALUE * const * arg,
    const  int num_args
) 

function db_evaluate_json_object

int db_evaluate_json_object (
    DB_VALUE * result,
    DB_VALUE * const * arg,
    int  const num_args
) 

function db_evaluate_json_pretty

int db_evaluate_json_pretty (
    DB_VALUE * result,
    DB_VALUE * const * arg,
    int  const num_args
) 

function db_evaluate_json_quote

int db_evaluate_json_quote (
    DB_VALUE * result,
    DB_VALUE * const * arg,
    int  const num_args
) 

function db_evaluate_json_remove

int db_evaluate_json_remove (
    DB_VALUE * result,
    DB_VALUE * const * arg,
    int  const num_args
) 

function db_evaluate_json_replace

int db_evaluate_json_replace (
    DB_VALUE * result,
    DB_VALUE * const * arg,
    int  const num_args
) 

int db_evaluate_json_search (
    DB_VALUE * result,
    DB_VALUE * const * args,
    const  int num_args
) 

function db_evaluate_json_set

int db_evaluate_json_set (
    DB_VALUE * result,
    DB_VALUE * const * arg,
    int  const num_args
) 

function db_evaluate_json_type_dbval

int db_evaluate_json_type_dbval (
    DB_VALUE * result,
    DB_VALUE * const * arg,
    int  const num_args
) 

function db_evaluate_json_unquote

int db_evaluate_json_unquote (
    DB_VALUE * result,
    DB_VALUE * const * arg,
    int  const num_args
) 

function db_evaluate_json_valid

int db_evaluate_json_valid (
    DB_VALUE * result,
    DB_VALUE * const * arg,
    int  const num_args
) 

function db_exp_dbval

int db_exp_dbval (
    DB_VALUE * result,
    DB_VALUE * value
) 

function db_floor_dbval

int db_floor_dbval (
    DB_VALUE * result,
    DB_VALUE * value
) 

function db_least_or_greatest

int db_least_or_greatest (
    DB_VALUE * arg1,
    DB_VALUE * arg2,
    DB_VALUE * result,
    bool least
) 

function db_log_dbval

int db_log_dbval (
    DB_VALUE * result,
    DB_VALUE * value1,
    DB_VALUE * value2
) 

function db_log_generic_dbval

int db_log_generic_dbval (
    DB_VALUE * result,
    DB_VALUE * value,
    long b
) 

function db_mod_dbval

int db_mod_dbval (
    DB_VALUE * result,
    DB_VALUE * value1,
    DB_VALUE * value2
) 

function db_power_dbval

int db_power_dbval (
    DB_VALUE * result,
    DB_VALUE * value1,
    DB_VALUE * value2
) 

function db_radians_dbval

int db_radians_dbval (
    DB_VALUE * result,
    DB_VALUE * value
) 

function db_random_dbval

int db_random_dbval (
    DB_VALUE * result
) 

function db_round_dbval

int db_round_dbval (
    DB_VALUE * result,
    DB_VALUE * value1,
    DB_VALUE * value2
) 

function db_sign_dbval

int db_sign_dbval (
    DB_VALUE * result,
    DB_VALUE * value
) 

function db_sin_dbval

int db_sin_dbval (
    DB_VALUE * result,
    DB_VALUE * value
) 

function db_sleep

int db_sleep (
    DB_VALUE * result,
    DB_VALUE * value
) 

function db_sqrt_dbval

int db_sqrt_dbval (
    DB_VALUE * result,
    DB_VALUE * value
) 

function db_tan_dbval

int db_tan_dbval (
    DB_VALUE * result,
    DB_VALUE * value
) 

function db_trunc_dbval

int db_trunc_dbval (
    DB_VALUE * result,
    DB_VALUE * value1,
    DB_VALUE * value2
) 

function db_typeof_dbval

int db_typeof_dbval (
    DB_VALUE * result,
    DB_VALUE * value
) 

function db_width_bucket

int db_width_bucket (
    DB_VALUE * result,
    const  DB_VALUE * value1,
    const  DB_VALUE * value2,
    const  DB_VALUE * value3,
    const  DB_VALUE * value4
) 

Public Static Functions Documentation

function db_mod_bigint

static int db_mod_bigint (
    DB_VALUE * value,
    DB_VALUE * value1,
    DB_VALUE * value2
) 

function db_mod_double

static int db_mod_double (
    DB_VALUE * value,
    DB_VALUE * value1,
    DB_VALUE * value2
) 

function db_mod_float

static int db_mod_float (
    DB_VALUE * value,
    DB_VALUE * value1,
    DB_VALUE * value2
) 

function db_mod_int

static int db_mod_int (
    DB_VALUE * value,
    DB_VALUE * value1,
    DB_VALUE * value2
) 

function db_mod_monetary

static int db_mod_monetary (
    DB_VALUE * value,
    DB_VALUE * value1,
    DB_VALUE * value2
) 

function db_mod_numeric

static int db_mod_numeric (
    DB_VALUE * value,
    DB_VALUE * value1,
    DB_VALUE * value2
) 

function db_mod_short

static int db_mod_short (
    DB_VALUE * value,
    DB_VALUE * value1,
    DB_VALUE * value2
) 

function db_mod_string

static int db_mod_string (
    DB_VALUE * value,
    DB_VALUE * value1,
    DB_VALUE * value2
) 

function db_width_bucket_calculate_numeric

static int db_width_bucket_calculate_numeric (
    double * result,
    const  DB_VALUE * value1,
    const  DB_VALUE * value2,
    const  DB_VALUE * value3,
    const  DB_VALUE * value4
) 

function get_number_dbval_as_double

static int get_number_dbval_as_double (
    double * d,
    const  DB_VALUE * value
) 

function get_number_dbval_as_long_double

static int get_number_dbval_as_long_double (
    long  double * ld,
    const  DB_VALUE * value
) 

function is_any_arg_null

static bool is_any_arg_null (
    DB_VALUE * const * args,
    int num_args
) 

function is_str_find_all

static int is_str_find_all (
    DB_VALUE * val,
    bool & find_all
) 

function move_n_days

static int move_n_days (
    int * monthp,
    int * dayp,
    int * yearp,
    const  int interval
) 

function round_date

static int round_date (
    DB_VALUE * result,
    DB_VALUE * value1,
    DB_VALUE * value2
) 

function round_double

static double round_double (
    double num,
    double integer
) 

function truncate_bigint

static DB_BIGINT truncate_bigint (
    DB_BIGINT num,
    DB_BIGINT integer
) 

function truncate_date

static int truncate_date (
    DB_DATE * date,
    const  DB_VALUE * format_str
) 

function truncate_double

static double truncate_double (
    double num,
    double integer
) 

Macro Definition Documentation

define MAX_DOMAIN_NAME_SIZE

#define MAX_DOMAIN_NAME_SIZE `150`

define RETURN_ERROR

#define RETURN_ERROR (
    err
) `/* multi line expression */`

define RETURN_ERROR_WITH_ARG

#define RETURN_ERROR_WITH_ARG (
    err,
    arg
) `/* multi line expression */`


The documentation for this class was generated from the following file cubrid/src/query/arithmetic.c