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