CUBRID Engine
latest
|
#include "config.h"
#include <stdio.h>
#include <string.h>
#include <float.h>
#include <math.h>
#include <assert.h>
#include "query_opfunc.h"
#include "system_parameter.h"
#include "error_manager.h"
#include "fetch.h"
#include "list_file.h"
#include "object_domain.h"
#include "object_primitive.h"
#include "object_representation.h"
#include "set_object.h"
#include "query_executor.h"
#include "databases_file.h"
#include "tz_support.h"
#include "memory_hash.h"
#include "numeric_opfunc.h"
#include "db_date.h"
#include "dbtype.h"
#include "query_dump.h"
#include "query_list.h"
#include "db_json.hpp"
#include "arithmetic.h"
#include "xasl.h"
#include "xasl_aggregate.hpp"
#include "xasl_analytic.hpp"
#include <chrono>
#include <regex>
Go to the source code of this file.
Macros | |
#define | NOT_NULL_VALUE(a, b) ((a) ? (a) : (b)) |
#define | INITIAL_OID_STACK_SIZE 1 |
#define | SYS_CONNECT_BY_PATH_MEM_STEP 256 |
Functions | |
static bool | qdata_is_zero_value_date (DB_VALUE *dbval_p) |
static int | qdata_add_short (short s, DB_VALUE *dbval_p, DB_VALUE *result_p) |
static int | qdata_add_int (int i1, int i2, DB_VALUE *result_p) |
static int | qdata_add_bigint (DB_BIGINT i1, DB_BIGINT i2, DB_VALUE *result_p) |
static int | qdata_add_float (float f1, float f2, DB_VALUE *result_p) |
static int | qdata_add_double (double d1, double d2, DB_VALUE *result_p) |
static double | qdata_coerce_numeric_to_double (DB_VALUE *numeric_val_p) |
static void | qdata_coerce_dbval_to_numeric (DB_VALUE *dbval_p, DB_VALUE *result_p) |
static int | qdata_add_numeric (DB_VALUE *numeric_val_p, DB_VALUE *dbval_p, DB_VALUE *result_p) |
static int | qdata_add_numeric_to_monetary (DB_VALUE *numeric_val_p, DB_VALUE *monetary_val_p, DB_VALUE *result_p) |
static int | qdata_add_monetary (double d1, double d2, DB_CURRENCY type, DB_VALUE *result_p) |
static int | qdata_add_bigint_to_time (DB_VALUE *time_val_p, DB_BIGINT add_time, DB_VALUE *result_p) |
static int | qdata_add_short_to_utime_asymmetry (DB_VALUE *utime_val_p, short s, unsigned int *utime, DB_VALUE *result_p, TP_DOMAIN *domain_p) |
static int | qdata_add_int_to_utime_asymmetry (DB_VALUE *utime_val_p, int i, unsigned int *utime, DB_VALUE *result_p, TP_DOMAIN *domain_p) |
static int | qdata_add_short_to_utime (DB_VALUE *utime_val_p, short s, DB_VALUE *result_p, TP_DOMAIN *domain_p) |
static int | qdata_add_int_to_utime (DB_VALUE *utime_val_p, int i, DB_VALUE *result_p, TP_DOMAIN *domain_p) |
static int | qdata_add_bigint_to_utime (DB_VALUE *utime_val_p, DB_BIGINT bi, DB_VALUE *result_p, TP_DOMAIN *domain_p) |
static int | qdata_add_short_to_timestamptz (DB_VALUE *ts_tz_val_p, short s, DB_VALUE *result_p, TP_DOMAIN *domain_p) |
static int | qdata_add_int_to_timestamptz (DB_VALUE *ts_tz_val_p, int i, DB_VALUE *result_p, TP_DOMAIN *domain_p) |
static int | qdata_add_bigint_to_timestamptz (DB_VALUE *ts_tz_val_p, DB_BIGINT bi, DB_VALUE *result_p, TP_DOMAIN *domain_p) |
static int | qdata_add_short_to_datetime (DB_VALUE *datetime_val_p, short s, DB_VALUE *result_p, TP_DOMAIN *domain_p) |
static int | qdata_add_int_to_datetime (DB_VALUE *datetime_val_p, int i, DB_VALUE *result_p, TP_DOMAIN *domain_p) |
static int | qdata_add_bigint_to_datetime (DB_VALUE *datetime_val_p, DB_BIGINT bi, DB_VALUE *result_p, TP_DOMAIN *domain_p) |
static int | qdata_add_short_to_date (DB_VALUE *date_val_p, short s, DB_VALUE *result_p, TP_DOMAIN *domain_p) |
static int | qdata_add_int_to_date (DB_VALUE *date_val_p, int i, DB_VALUE *result_p, TP_DOMAIN *domain_p) |
static int | qdata_add_bigint_to_date (DB_VALUE *date_val_p, DB_BIGINT i, DB_VALUE *result_p, TP_DOMAIN *domain_p) |
static int | qdata_add_short_to_dbval (DB_VALUE *short_val_p, DB_VALUE *dbval_p, DB_VALUE *result_p, TP_DOMAIN *domain_p) |
static int | qdata_add_int_to_dbval (DB_VALUE *int_val_p, DB_VALUE *dbval_p, DB_VALUE *result_p, TP_DOMAIN *domain_p) |
static int | qdata_add_bigint_to_dbval (DB_VALUE *bigint_val_p, DB_VALUE *dbval_p, DB_VALUE *result_p, TP_DOMAIN *domain_p) |
static int | qdata_add_float_to_dbval (DB_VALUE *float_val_p, DB_VALUE *dbval_p, DB_VALUE *result_p) |
static int | qdata_add_double_to_dbval (DB_VALUE *double_val_p, DB_VALUE *dbval_p, DB_VALUE *result_p) |
static int | qdata_add_numeric_to_dbval (DB_VALUE *numeric_val_p, DB_VALUE *dbval_p, DB_VALUE *result_p) |
static int | qdata_add_monetary_to_dbval (DB_VALUE *monetary_val_p, DB_VALUE *dbval_p, DB_VALUE *result_p) |
static int | qdata_add_chars_to_dbval (DB_VALUE *dbval1_p, DB_VALUE *dbval2_p, DB_VALUE *result_p) |
static int | qdata_add_sequence_to_dbval (DB_VALUE *seq_val_p, DB_VALUE *dbval_p, DB_VALUE *result_p, TP_DOMAIN *domain_p) |
static int | qdata_add_time_to_dbval (DB_VALUE *time_val_p, DB_VALUE *dbval_p, DB_VALUE *result_p) |
static int | qdata_add_utime_to_dbval (DB_VALUE *utime_val_p, DB_VALUE *dbval_p, DB_VALUE *result_p, TP_DOMAIN *domain_p) |
static int | qdata_add_timestamptz_to_dbval (DB_VALUE *ts_tz_val_p, DB_VALUE *dbval_p, DB_VALUE *result_p) |
static int | qdata_add_datetime_to_dbval (DB_VALUE *datetime_val_p, DB_VALUE *dbval_p, DB_VALUE *result_p, TP_DOMAIN *domain_p) |
static int | qdata_add_datetimetz_to_dbval (DB_VALUE *datetimetz_val_p, DB_VALUE *dbval_p, DB_VALUE *result_p) |
static int | qdata_add_date_to_dbval (DB_VALUE *date_val_p, DB_VALUE *dbval_p, DB_VALUE *result_p, TP_DOMAIN *domain_p) |
static int | qdata_coerce_result_to_domain (DB_VALUE *result_p, TP_DOMAIN *domain_p) |
static int | qdata_cast_to_domain (DB_VALUE *dbval_p, DB_VALUE *result_p, TP_DOMAIN *domain_p) |
static int | qdata_subtract_short (short s1, short s2, DB_VALUE *result_p) |
static int | qdata_subtract_int (int i1, int i2, DB_VALUE *result_p) |
static int | qdata_subtract_bigint (DB_BIGINT i1, DB_BIGINT i2, DB_VALUE *result_p) |
static int | qdata_subtract_float (float f1, float f2, DB_VALUE *result_p) |
static int | qdata_subtract_double (double d1, double d2, DB_VALUE *result_p) |
static int | qdata_subtract_monetary (double d1, double d2, DB_CURRENCY currency, DB_VALUE *result_p) |
static int | qdata_subtract_time (DB_TIME u1, DB_TIME u2, DB_VALUE *result_p) |
static int | qdata_subtract_utime (DB_UTIME u1, DB_UTIME u2, DB_VALUE *result_p) |
static int | qdata_subtract_utime_to_short_asymmetry (DB_VALUE *utime_val_p, short s, unsigned int *utime, DB_VALUE *result_p, TP_DOMAIN *domain_p) |
static int | qdata_subtract_utime_to_int_asymmetry (DB_VALUE *utime_val_p, int i, unsigned int *utime, DB_VALUE *result_p, TP_DOMAIN *domain_p) |
static int | qdata_subtract_datetime_to_int (DB_DATETIME *dt1, DB_BIGINT i2, DB_VALUE *result_p) |
static int | qdata_subtract_datetime (DB_DATETIME *dt1, DB_DATETIME *dt2, DB_VALUE *result_p) |
static int | qdata_subtract_datetime_to_int_asymmetry (DB_VALUE *datetime_val_p, DB_BIGINT i, DB_DATETIME *datetime, DB_VALUE *result_p, TP_DOMAIN *domain_p) |
static int | qdata_subtract_short_to_dbval (DB_VALUE *short_val_p, DB_VALUE *dbval_p, DB_VALUE *result_p) |
static int | qdata_subtract_int_to_dbval (DB_VALUE *int_val_p, DB_VALUE *dbval_p, DB_VALUE *result_p) |
static int | qdata_subtract_bigint_to_dbval (DB_VALUE *bigint_val_p, DB_VALUE *dbval_p, DB_VALUE *result_p) |
static int | qdata_subtract_float_to_dbval (DB_VALUE *float_val_p, DB_VALUE *dbval_p, DB_VALUE *result_p) |
static int | qdata_subtract_double_to_dbval (DB_VALUE *double_val_p, DB_VALUE *dbval_p, DB_VALUE *result_p) |
static int | qdata_subtract_numeric_to_dbval (DB_VALUE *numeric_val_p, DB_VALUE *dbval_p, DB_VALUE *result_p) |
static int | qdata_subtract_monetary_to_dbval (DB_VALUE *monetary_val_p, DB_VALUE *dbval_p, DB_VALUE *result_p) |
static int | qdata_subtract_sequence_to_dbval (DB_VALUE *seq_val_p, DB_VALUE *dbval_p, DB_VALUE *result_p, TP_DOMAIN *domain_p) |
static int | qdata_subtract_time_to_dbval (DB_VALUE *time_val_p, DB_VALUE *dbval_p, DB_VALUE *result_p) |
static int | qdata_subtract_utime_to_dbval (DB_VALUE *utime_val_p, DB_VALUE *dbval_p, DB_VALUE *result_p, TP_DOMAIN *domain_p) |
static int | qdata_subtract_timestampltz_to_dbval (DB_VALUE *ts_ltz_val_p, DB_VALUE *dbval_p, DB_VALUE *result_p, TP_DOMAIN *domain_p) |
static int | qdata_subtract_timestamptz_to_dbval (DB_VALUE *utime_val_p, DB_VALUE *dbval_p, DB_VALUE *result_p, TP_DOMAIN *domain_p) |
static int | qdata_subtract_datetime_to_dbval (DB_VALUE *datetime_val_p, DB_VALUE *dbval_p, DB_VALUE *result_p, TP_DOMAIN *domain_p) |
static int | qdata_subtract_datetimetz_to_dbval (DB_VALUE *dt_tz_val_p, DB_VALUE *dbval_p, DB_VALUE *result_p, TP_DOMAIN *domain_p) |
static int | qdata_subtract_date_to_dbval (DB_VALUE *date_val_p, DB_VALUE *dbval_p, DB_VALUE *result_p, TP_DOMAIN *domain_p) |
static int | qdata_multiply_short (DB_VALUE *short_val_p, short s2, DB_VALUE *result_p) |
static int | qdata_multiply_int (DB_VALUE *int_val_p, int i2, DB_VALUE *result_p) |
static int | qdata_multiply_bigint (DB_VALUE *bigint_val_p, DB_BIGINT bi2, DB_VALUE *result_p) |
static int | qdata_multiply_float (DB_VALUE *float_val_p, float f2, DB_VALUE *result_p) |
static int | qdata_multiply_double (double d1, double d2, DB_VALUE *result_p) |
static int | qdata_multiply_numeric (DB_VALUE *numeric_val_p, DB_VALUE *dbval, DB_VALUE *result_p) |
static int | qdata_multiply_monetary (DB_VALUE *monetary_val_p, double d, DB_VALUE *result_p) |
static int | qdata_multiply_short_to_dbval (DB_VALUE *short_val_p, DB_VALUE *dbval_p, DB_VALUE *result_p) |
static int | qdata_multiply_int_to_dbval (DB_VALUE *int_val_p, DB_VALUE *dbval_p, DB_VALUE *result_p) |
static int | qdata_multiply_bigint_to_dbval (DB_VALUE *bigint_val_p, DB_VALUE *dbval_p, DB_VALUE *result_p) |
static int | qdata_multiply_float_to_dbval (DB_VALUE *float_val_p, DB_VALUE *dbval_p, DB_VALUE *result_p) |
static int | qdata_multiply_double_to_dbval (DB_VALUE *double_val_p, DB_VALUE *dbval_p, DB_VALUE *result_p) |
static int | qdata_multiply_numeric_to_dbval (DB_VALUE *numeric_val_p, DB_VALUE *dbval_p, DB_VALUE *result_p) |
static int | qdata_multiply_monetary_to_dbval (DB_VALUE *monetary_val_p, DB_VALUE *dbval_p, DB_VALUE *result_p) |
static int | qdata_multiply_sequence_to_dbval (DB_VALUE *seq_val_p, DB_VALUE *dbval_p, DB_VALUE *result_p, TP_DOMAIN *domain_p) |
static bool | qdata_is_divided_zero (DB_VALUE *dbval_p) |
static int | qdata_divide_short (short s1, short s2, DB_VALUE *result_p) |
static int | qdata_divide_int (int i1, int i2, DB_VALUE *result_p) |
static int | qdata_divide_bigint (DB_BIGINT bi1, DB_BIGINT bi2, DB_VALUE *result_p) |
static int | qdata_divide_float (float f1, float f2, DB_VALUE *result_p) |
static int | qdata_divide_double (double d1, double d2, DB_VALUE *result_p, bool is_check_overflow) |
static int | qdata_divide_monetary (double d1, double d2, DB_CURRENCY currency, DB_VALUE *result_p, bool is_check_overflow) |
static int | qdata_divide_short_to_dbval (DB_VALUE *short_val_p, DB_VALUE *dbval_p, DB_VALUE *result_p) |
static int | qdata_divide_int_to_dbval (DB_VALUE *int_val_p, DB_VALUE *dbval_p, DB_VALUE *result_p) |
static int | qdata_divide_bigint_to_dbval (DB_VALUE *bigint_val_p, DB_VALUE *dbval_p, DB_VALUE *result_p) |
static int | qdata_divide_float_to_dbval (DB_VALUE *float_val_p, DB_VALUE *dbval_p, DB_VALUE *result_p) |
static int | qdata_divide_double_to_dbval (DB_VALUE *double_val_p, DB_VALUE *dbval_p, DB_VALUE *result_p) |
static int | qdata_divide_numeric_to_dbval (DB_VALUE *numeric_val_p, DB_VALUE *dbval_p, DB_VALUE *result_p) |
static int | qdata_divide_monetary_to_dbval (DB_VALUE *monetary_val_p, DB_VALUE *dbval_p, DB_VALUE *result_p) |
static DB_VALUE * | qdata_get_dbval_from_constant_regu_variable (THREAD_ENTRY *thread_p, REGU_VARIABLE *regu_var, VAL_DESCR *val_desc_p) |
static int | qdata_convert_dbvals_to_set (THREAD_ENTRY *thread_p, DB_TYPE stype, REGU_VARIABLE *func, VAL_DESCR *val_desc_p, OID *obj_oid_p, QFILE_TUPLE tuple) |
static int | qdata_evaluate_generic_function (THREAD_ENTRY *thread_p, FUNCTION_TYPE *function_p, VAL_DESCR *val_desc_p, OID *obj_oid_p, QFILE_TUPLE tuple) |
static int | qdata_get_class_of_function (THREAD_ENTRY *thread_p, FUNCTION_TYPE *function_p, VAL_DESCR *val_desc_p, OID *obj_oid_p, QFILE_TUPLE tuple) |
static int | qdata_convert_table_to_set (THREAD_ENTRY *thread_p, DB_TYPE stype, REGU_VARIABLE *func, VAL_DESCR *val_desc_p) |
static int | qdata_insert_substring_function (THREAD_ENTRY *thread_p, FUNCTION_TYPE *function_p, VAL_DESCR *val_desc_p, OID *obj_oid_p, QFILE_TUPLE tuple) |
static int | qdata_elt (THREAD_ENTRY *thread_p, FUNCTION_TYPE *function_p, VAL_DESCR *val_desc_p, OID *obj_oid_p, QFILE_TUPLE tuple) |
static int | qdata_benchmark (THREAD_ENTRY *thread_p, FUNCTION_TYPE *function_p, VAL_DESCR *val_desc_p, OID *obj_oid_p, QFILE_TUPLE tuple) |
static int | qdata_regexp_function (THREAD_ENTRY *thread_p, FUNCTION_TYPE *function_p, VAL_DESCR *val_desc_p, OID *obj_oid_p, QFILE_TUPLE tuple) |
static int | qdata_convert_operands_to_value_and_call (THREAD_ENTRY *thread_p, FUNCTION_TYPE *function_p, VAL_DESCR *val_desc_p, OID *obj_oid_p, QFILE_TUPLE tuple, int(*function_to_call)(DB_VALUE *, DB_VALUE *const *, int const)) |
void | qdata_set_value_list_to_null (val_list_node *val_list_p) |
bool | qdata_copy_db_value (DB_VALUE *dest_p, const DB_VALUE *src_p) |
int | qdata_copy_db_value_to_tuple_value (DB_VALUE *dbval_p, bool clear_compressed_string, char *tuple_val_p, int *tuple_val_size) |
int | qdata_copy_valptr_list_to_tuple (THREAD_ENTRY *thread_p, valptr_list_node *valptr_list_p, val_descr *val_desc_p, qfile_tuple_record *tuple_record_p) |
QPROC_TPLDESCR_STATUS | qdata_generate_tuple_desc_for_valptr_list (THREAD_ENTRY *thread_p, valptr_list_node *valptr_list_p, val_descr *val_desc_p, qfile_tuple_descriptor *tuple_desc_p) |
int | qdata_set_valptr_list_unbound (THREAD_ENTRY *thread_p, valptr_list_node *valptr_list_p, val_descr *val_desc_p) |
static int | qdata_add_bigint_to_utime_asymmetry (DB_VALUE *utime_val_p, DB_BIGINT bi, unsigned int *utime, DB_VALUE *result_p, TP_DOMAIN *domain_p) |
int | qdata_add_dbval (DB_VALUE *dbval1_p, DB_VALUE *dbval2_p, DB_VALUE *result_p, tp_domain *domain_p) |
int | qdata_concatenate_dbval (THREAD_ENTRY *thread_p, DB_VALUE *dbval1_p, DB_VALUE *dbval2_p, DB_VALUE *result_p, tp_domain *domain_p, const int max_allowed_size, const char *warning_context) |
int | qdata_increment_dbval (DB_VALUE *dbval_p, DB_VALUE *result_p, int inc_val) |
static int | qdata_subtract_utime_to_bigint_asymmetry (DB_VALUE *utime_val_p, DB_BIGINT bi, unsigned int *utime, DB_VALUE *result_p, TP_DOMAIN *domain_p) |
int | qdata_subtract_dbval (DB_VALUE *dbval1_p, DB_VALUE *dbval2_p, DB_VALUE *result_p, tp_domain *domain_p) |
int | qdata_multiply_dbval (DB_VALUE *dbval1_p, DB_VALUE *dbval2_p, DB_VALUE *result_p, tp_domain *domain_p) |
int | qdata_divide_dbval (DB_VALUE *dbval1_p, DB_VALUE *dbval2_p, DB_VALUE *result_p, tp_domain *domain_p) |
int | qdata_unary_minus_dbval (DB_VALUE *result_p, DB_VALUE *dbval_p) |
int | qdata_extract_dbval (const MISC_OPERAND extr_operand, DB_VALUE *dbval_p, DB_VALUE *result_p, tp_domain *domain_p) |
int | qdata_strcat_dbval (DB_VALUE *dbval1_p, DB_VALUE *dbval2_p, DB_VALUE *result_p, tp_domain *domain_p) |
int | qdata_get_tuple_value_size_from_dbval (DB_VALUE *dbval_p) |
int | qdata_get_single_tuple_from_list_id (THREAD_ENTRY *thread_p, qfile_list_id *list_id_p, val_list_node *single_tuple_p) |
int | qdata_get_valptr_type_list (THREAD_ENTRY *thread_p, valptr_list_node *valptr_list_p, qfile_tuple_value_type_list *type_list_p) |
int | qdata_evaluate_function (THREAD_ENTRY *thread_p, regu_variable_node *function_p, val_descr *val_desc_p, OID *obj_oid_p, QFILE_TUPLE tuple) |
bool | qdata_evaluate_connect_by_root (THREAD_ENTRY *thread_p, void *xasl_p, regu_variable_node *regu_p, DB_VALUE *result_val_p, val_descr *vd) |
bool | qdata_evaluate_qprior (THREAD_ENTRY *thread_p, void *xasl_p, regu_variable_node *regu_p, DB_VALUE *result_val_p, val_descr *vd) |
bool | qdata_evaluate_sys_connect_by_path (THREAD_ENTRY *thread_p, void *xasl_p, regu_variable_node *regu_p, DB_VALUE *value_char, DB_VALUE *result_p, val_descr *vd) |
int | qdata_bit_not_dbval (DB_VALUE *dbval_p, DB_VALUE *result_p, tp_domain *domain_p) |
int | qdata_bit_and_dbval (DB_VALUE *dbval1_p, DB_VALUE *dbval2_p, DB_VALUE *result_p, tp_domain *domain_p) |
int | qdata_bit_or_dbval (DB_VALUE *dbval1_p, DB_VALUE *dbval2_p, DB_VALUE *result_p, tp_domain *domain_p) |
int | qdata_bit_xor_dbval (DB_VALUE *dbval1_p, DB_VALUE *dbval2_p, DB_VALUE *result_p, tp_domain *domain_p) |
int | qdata_bit_shift_dbval (DB_VALUE *dbval1_p, DB_VALUE *dbval2_p, OPERATOR_TYPE op, DB_VALUE *result_p, tp_domain *domain_p) |
int | qdata_divmod_dbval (DB_VALUE *dbval1_p, DB_VALUE *dbval2_p, OPERATOR_TYPE op, DB_VALUE *result_p, tp_domain *domain_p) |
int | qdata_list_dbs (THREAD_ENTRY *thread_p, DB_VALUE *result_p, tp_domain *domain_p) |
int | qdata_regu_list_to_regu_array (function_node *function_p, const int array_size, regu_variable_node *regu_array[], int *num_regu) |
int | qdata_get_cardinality (THREAD_ENTRY *thread_p, DB_VALUE *db_class_name, DB_VALUE *db_index_name, DB_VALUE *db_key_position, DB_VALUE *result_p) |
int | qdata_tuple_to_values_array (THREAD_ENTRY *thread_p, qfile_tuple_descriptor *tuple, DB_VALUE **values) |
int | qdata_apply_interpolation_function_coercion (DB_VALUE *f_value, tp_domain **result_dom, DB_VALUE *result, FUNC_TYPE function) |
int | qdata_interpolation_function_values (DB_VALUE *f_value, DB_VALUE *c_value, double row_num_d, double f_row_num_d, double c_row_num_d, tp_domain **result_dom, DB_VALUE *result, FUNC_TYPE function) |
int | qdata_get_interpolation_function_result (THREAD_ENTRY *thread_p, QFILE_LIST_SCAN_ID *scan_id, tp_domain *domain, int pos, double row_num_d, double f_row_num_d, double c_row_num_d, DB_VALUE *result, tp_domain **result_dom, FUNC_TYPE function) |
int | qdata_update_interpolation_func_value_and_domain (DB_VALUE *src_val, DB_VALUE *dest_val, TP_DOMAIN **domain) |
#define INITIAL_OID_STACK_SIZE 1 |
Definition at line 65 of file query_opfunc.c.
#define NOT_NULL_VALUE | ( | a, | |
b | |||
) | ((a) ? (a) : (b)) |
Definition at line 64 of file query_opfunc.c.
#define SYS_CONNECT_BY_PATH_MEM_STEP 256 |
Definition at line 67 of file query_opfunc.c.
Referenced by qdata_evaluate_sys_connect_by_path().
Definition at line 694 of file query_opfunc.c.
References ARG_FILE_LINE, db_make_bigint(), ER_ERROR_SEVERITY, ER_QPROC_OVERFLOW_ADDITION, er_set(), NO_ERROR, and OR_CHECK_ADD_OVERFLOW.
Referenced by qdata_add_bigint_to_dbval(), qdata_add_int_to_dbval(), and qdata_add_short_to_dbval().
|
static |
Definition at line 1573 of file query_opfunc.c.
References ARG_FILE_LINE, COMPAT_MYSQL, db_date_decode(), DB_DATE_MAX, db_get_date(), db_make_bigint(), db_make_date(), DB_TYPE_BIGINT, DB_VALUE_DOMAIN_TYPE, ER_ERROR_SEVERITY, ER_QPROC_OVERFLOW_ADDITION, er_set(), NO_ERROR, OR_CHECK_UNS_ADD_OVERFLOW, prm_get_integer_value(), PRM_ID_COMPAT_MODE, and qdata_add_bigint_to_utime_asymmetry().
Referenced by qdata_add_bigint_to_dbval(), and qdata_add_date_to_dbval().
|
static |
Definition at line 1460 of file query_opfunc.c.
References db_add_int_to_datetime(), db_get_datetime(), db_make_datetime(), error(), and NO_ERROR.
Referenced by qdata_add_bigint_to_dbval(), and qdata_add_datetime_to_dbval().
|
static |
Definition at line 1806 of file query_opfunc.c.
References db_get_bigint(), db_get_datetime(), db_get_double(), db_get_float(), db_get_int(), db_get_monetary(), db_get_short(), db_get_timestamp(), db_get_timestamptz(), db_make_bigint(), db_make_datetimeltz(), db_make_timestampltz(), db_make_timestamptz(), DB_TYPE_BIGINT, DB_TYPE_DATE, DB_TYPE_DATETIME, DB_TYPE_DATETIMELTZ, DB_TYPE_DATETIMETZ, DB_TYPE_DOUBLE, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_MONETARY, DB_TYPE_NUMERIC, DB_TYPE_SHORT, DB_TYPE_TIME, DB_TYPE_TIMESTAMP, DB_TYPE_TIMESTAMPLTZ, DB_TYPE_TIMESTAMPTZ, DB_VALUE_DOMAIN_TYPE, DB_VALUE_TYPE, err, NO_ERROR, qdata_add_bigint(), qdata_add_bigint_to_date(), qdata_add_bigint_to_datetime(), qdata_add_bigint_to_time(), qdata_add_bigint_to_timestamptz(), qdata_add_bigint_to_utime(), qdata_add_datetimetz_to_dbval(), qdata_add_double(), qdata_add_float(), qdata_add_monetary(), qdata_add_numeric(), db_timestamptz::timestamp, tz_create_session_tzid_for_timestamp(), and db_timestamptz::tz_id.
Referenced by qdata_add_dbval(), and qdata_strcat_dbval().
|
static |
Definition at line 857 of file query_opfunc.c.
References COMPAT_MYSQL, db_get_time(), db_make_bigint(), db_make_int(), db_make_time(), db_time_decode(), DB_TYPE_BIGINT, DB_TYPE_INTEGER, DB_VALUE_DOMAIN_TYPE, error(), NO_ERROR, prm_get_integer_value(), PRM_ID_COMPAT_MODE, qdata_subtract_time(), and SECONDS_OF_ONE_DAY.
Referenced by qdata_add_bigint_to_dbval(), qdata_add_int_to_dbval(), qdata_add_short_to_dbval(), qdata_add_time_to_dbval(), and qdata_subtract_time_to_dbval().
|
static |
Definition at line 1329 of file query_opfunc.c.
References ARG_FILE_LINE, assert, COMPAT_MYSQL, db_date_decode(), db_get_timestamp(), db_get_timestamptz(), db_make_bigint(), db_make_timestamp(), db_make_timestamptz(), db_time_decode(), db_timestamp_decode_w_tz_id(), DB_TYPE_BIGINT, DB_TYPE_TIMESTAMP, DB_VALUE_DOMAIN_TYPE, DB_VALUE_TYPE, ER_ERROR_SEVERITY, ER_QPROC_OVERFLOW_ADDITION, er_set(), err, NO_ERROR, OR_CHECK_UNS_ADD_OVERFLOW, prm_get_integer_value(), PRM_ID_COMPAT_MODE, qdata_add_bigint_to_utime_asymmetry(), db_timestamptz::timestamp, tp_domain_resolve_default(), db_timestamptz::tz_id, and tz_timestamptz_fix_zone().
Referenced by qdata_add_bigint_to_dbval(), and qdata_add_timestamptz_to_dbval().
|
static |
Definition at line 1079 of file query_opfunc.c.
References ARG_FILE_LINE, COMPAT_MYSQL, db_date_decode(), db_get_timestamp(), db_make_bigint(), db_make_timestamp(), db_time_decode(), db_timestamp_decode_ses(), DB_TYPE_BIGINT, DB_VALUE_DOMAIN_TYPE, ER_ERROR_SEVERITY, ER_QPROC_OVERFLOW_ADDITION, er_set(), NO_ERROR, OR_CHECK_UNS_ADD_OVERFLOW, prm_get_integer_value(), PRM_ID_COMPAT_MODE, and qdata_add_bigint_to_utime_asymmetry().
Referenced by qdata_add_bigint_to_dbval(), and qdata_add_utime_to_dbval().
|
static |
Definition at line 945 of file query_opfunc.c.
References ARG_FILE_LINE, DB_BIGINT_MIN, db_make_bigint(), ER_ERROR_SEVERITY, ER_QPROC_TIME_UNDERFLOW, er_set(), and qdata_subtract_dbval().
Referenced by qdata_add_bigint_to_date(), qdata_add_bigint_to_timestamptz(), and qdata_add_bigint_to_utime().
|
static |
Definition at line 2060 of file query_opfunc.c.
References DATA_STATUS_OK, db_string_concatenate(), ER_FAILED, and NO_ERROR.
Referenced by qdata_add_dbval(), qdata_concatenate_dbval(), and qdata_strcat_dbval().
|
static |
Definition at line 2273 of file query_opfunc.c.
References ARG_FILE_LINE, db_get_bigint(), db_get_int(), db_get_short(), DB_TYPE_BIGINT, DB_TYPE_INTEGER, DB_TYPE_SHORT, DB_VALUE_DOMAIN_TYPE, ER_ERROR_SEVERITY, ER_QPROC_INVALID_DATATYPE, er_set(), NO_ERROR, prm_get_bool_value(), PRM_ID_RETURN_NULL_ON_FUNCTION_ERRORS, qdata_add_bigint_to_date(), qdata_add_int_to_date(), and qdata_add_short_to_date().
Referenced by qdata_add_dbval(), and qdata_strcat_dbval().
|
static |
Definition at line 2220 of file query_opfunc.c.
References db_get_bigint(), db_get_int(), db_get_short(), DB_TYPE_BIGINT, DB_TYPE_INTEGER, DB_TYPE_SHORT, DB_VALUE_DOMAIN_TYPE, NO_ERROR, qdata_add_bigint_to_datetime(), qdata_add_int_to_datetime(), and qdata_add_short_to_datetime().
Referenced by qdata_add_datetimetz_to_dbval(), qdata_add_dbval(), and qdata_strcat_dbval().
|
static |
Definition at line 2245 of file query_opfunc.c.
References db_datetimetz::datetime, db_get_datetime(), db_get_datetimetz(), db_make_datetime(), db_make_datetimetz(), DB_TYPE_DATETIME, error(), NO_ERROR, qdata_add_datetime_to_dbval(), tp_domain_resolve_default(), tz_datetimetz_fix_zone(), and db_datetimetz::tz_id.
Referenced by qdata_add_bigint_to_dbval(), qdata_add_dbval(), qdata_add_int_to_dbval(), qdata_add_short_to_dbval(), and qdata_strcat_dbval().
int qdata_add_dbval | ( | DB_VALUE * | dbval1_p, |
DB_VALUE * | dbval2_p, | ||
DB_VALUE * | result_p, | ||
tp_domain * | domain_p | ||
) |
Definition at line 2358 of file query_opfunc.c.
References ARG_FILE_LINE, assert, db_get_datetime(), db_get_timestamp(), db_get_timestamptz(), DB_IS_NULL, db_make_datetimeltz(), db_make_null(), db_make_timestampltz(), db_make_timestamptz(), DB_TYPE_BIGINT, DB_TYPE_BIT, DB_TYPE_CHAR, DB_TYPE_DATE, DB_TYPE_DATETIME, DB_TYPE_DATETIMELTZ, DB_TYPE_DATETIMETZ, DB_TYPE_DOUBLE, DB_TYPE_ENUMERATION, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_MONETARY, DB_TYPE_MULTISET, DB_TYPE_NCHAR, DB_TYPE_NULL, DB_TYPE_NUMERIC, DB_TYPE_SEQUENCE, DB_TYPE_SET, DB_TYPE_SHORT, DB_TYPE_SMALLINT, DB_TYPE_TIME, DB_TYPE_TIMESTAMP, DB_TYPE_TIMESTAMPLTZ, DB_TYPE_TIMESTAMPTZ, DB_TYPE_VARBIT, DB_TYPE_VARCHAR, DB_TYPE_VARNCHAR, DB_VALUE_DOMAIN_TYPE, DB_VALUE_TYPE, DOMAIN_COMPATIBLE, ER_ATTEMPT_TO_USE_ZERODATE, ER_ERROR_SEVERITY, ER_QPROC_INVALID_DATATYPE, er_set(), error(), NO_ERROR, NULL, pr_clear_value(), pr_clone_value(), prm_get_bool_value(), PRM_ID_PLUS_AS_CONCAT, PRM_ID_RETURN_NULL_ON_FUNCTION_ERRORS, qdata_add_bigint_to_dbval(), qdata_add_chars_to_dbval(), qdata_add_date_to_dbval(), qdata_add_datetime_to_dbval(), qdata_add_datetimetz_to_dbval(), qdata_add_dbval(), qdata_add_double_to_dbval(), qdata_add_float_to_dbval(), qdata_add_int_to_dbval(), qdata_add_monetary_to_dbval(), qdata_add_numeric_to_dbval(), qdata_add_sequence_to_dbval(), qdata_add_short_to_dbval(), qdata_add_time_to_dbval(), qdata_add_timestamptz_to_dbval(), qdata_add_utime_to_dbval(), qdata_coerce_result_to_domain(), qdata_is_zero_value_date(), qdata_strcat_dbval(), db_timestamptz::timestamp, tp_domain_resolve_default(), tp_domain_status_er_set(), TP_DOMAIN_TYPE, TP_IS_CHAR_BIT_TYPE, TP_IS_CHAR_TYPE, TP_IS_DATE_OR_TIME_TYPE, TP_IS_FLOATING_NUMBER_TYPE, TP_IS_NUMERIC_TYPE, TP_IS_SET_TYPE, tp_value_auto_cast(), tz_create_session_tzid_for_timestamp(), and db_timestamptz::tz_id.
Referenced by fetch_peek_arith(), qdata_add_dbval(), qdata_aggregate_accumulator_to_accumulator(), qdata_aggregate_value_to_accumulator(), qdata_evaluate_aggregate_hierarchy(), qdata_evaluate_analytic_func(), qdata_finalize_aggregate_list(), qdata_finalize_analytic_func(), qdata_subtract_datetime_to_int_asymmetry(), qdata_subtract_utime_to_bigint_asymmetry(), qdata_subtract_utime_to_int_asymmetry(), and qdata_subtract_utime_to_short_asymmetry().
|
static |
Definition at line 728 of file query_opfunc.c.
References ARG_FILE_LINE, db_make_double(), ER_ERROR_SEVERITY, ER_QPROC_OVERFLOW_ADDITION, er_set(), NO_ERROR, and OR_CHECK_DOUBLE_OVERFLOW.
Referenced by qdata_add_bigint_to_dbval(), qdata_add_double_to_dbval(), qdata_add_float_to_dbval(), qdata_add_int_to_dbval(), qdata_add_numeric_to_dbval(), and qdata_add_short_to_dbval().
|
static |
Definition at line 1940 of file query_opfunc.c.
References d1, db_get_bigint(), db_get_double(), db_get_float(), db_get_int(), db_get_monetary(), db_get_short(), DB_TYPE_BIGINT, DB_TYPE_DOUBLE, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_MONETARY, DB_TYPE_NUMERIC, DB_TYPE_SHORT, DB_VALUE_DOMAIN_TYPE, NO_ERROR, qdata_add_double(), qdata_add_monetary(), and qdata_coerce_numeric_to_double().
Referenced by qdata_add_dbval(), and qdata_strcat_dbval().
|
static |
Definition at line 711 of file query_opfunc.c.
References ARG_FILE_LINE, db_make_float(), ER_ERROR_SEVERITY, ER_QPROC_OVERFLOW_ADDITION, er_set(), NO_ERROR, and OR_CHECK_FLOAT_OVERFLOW.
Referenced by qdata_add_bigint_to_dbval(), qdata_add_float_to_dbval(), qdata_add_int_to_dbval(), and qdata_add_short_to_dbval().
|
static |
Definition at line 1901 of file query_opfunc.c.
References db_get_bigint(), db_get_double(), db_get_float(), db_get_int(), db_get_monetary(), db_get_short(), DB_TYPE_BIGINT, DB_TYPE_DOUBLE, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_MONETARY, DB_TYPE_NUMERIC, DB_TYPE_SHORT, DB_VALUE_DOMAIN_TYPE, NO_ERROR, qdata_add_double(), qdata_add_float(), qdata_add_monetary(), and qdata_coerce_numeric_to_double().
Referenced by qdata_add_dbval(), and qdata_strcat_dbval().
|
static |
Definition at line 677 of file query_opfunc.c.
References ARG_FILE_LINE, db_make_int(), ER_ERROR_SEVERITY, ER_QPROC_OVERFLOW_ADDITION, er_set(), NO_ERROR, and OR_CHECK_ADD_OVERFLOW.
Referenced by qdata_add_int_to_dbval(), and qdata_add_short_to_dbval().
|
static |
Definition at line 1525 of file query_opfunc.c.
References ARG_FILE_LINE, COMPAT_MYSQL, db_date_decode(), DB_DATE_MAX, db_get_date(), db_make_date(), db_make_int(), DB_TYPE_INTEGER, DB_VALUE_DOMAIN_TYPE, ER_ERROR_SEVERITY, ER_QPROC_OVERFLOW_ADDITION, er_set(), NO_ERROR, OR_CHECK_UNS_ADD_OVERFLOW, prm_get_integer_value(), PRM_ID_COMPAT_MODE, and qdata_add_int_to_utime_asymmetry().
Referenced by qdata_add_date_to_dbval(), and qdata_add_int_to_dbval().
|
static |
Definition at line 1443 of file query_opfunc.c.
References db_add_int_to_datetime(), db_get_datetime(), db_make_datetime(), error(), and NO_ERROR.
Referenced by qdata_add_datetime_to_dbval(), and qdata_add_int_to_dbval().
|
static |
Definition at line 1714 of file query_opfunc.c.
References db_get_bigint(), db_get_datetime(), db_get_double(), db_get_float(), db_get_int(), db_get_monetary(), db_get_short(), db_get_timestamp(), db_get_timestamptz(), db_make_datetimeltz(), db_make_int(), db_make_timestampltz(), db_make_timestamptz(), DB_TYPE_BIGINT, DB_TYPE_DATE, DB_TYPE_DATETIME, DB_TYPE_DATETIMELTZ, DB_TYPE_DATETIMETZ, DB_TYPE_DOUBLE, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_MONETARY, DB_TYPE_NUMERIC, DB_TYPE_SHORT, DB_TYPE_TIME, DB_TYPE_TIMESTAMP, DB_TYPE_TIMESTAMPLTZ, DB_TYPE_TIMESTAMPTZ, DB_VALUE_DOMAIN_TYPE, DB_VALUE_TYPE, err, i, NO_ERROR, qdata_add_bigint(), qdata_add_bigint_to_time(), qdata_add_datetimetz_to_dbval(), qdata_add_double(), qdata_add_float(), qdata_add_int(), qdata_add_int_to_date(), qdata_add_int_to_datetime(), qdata_add_int_to_timestamptz(), qdata_add_int_to_utime(), qdata_add_monetary(), qdata_add_numeric(), db_timestamptz::timestamp, tz_create_session_tzid_for_timestamp(), and db_timestamptz::tz_id.
Referenced by qdata_add_dbval(), and qdata_strcat_dbval().
|
static |
Definition at line 1233 of file query_opfunc.c.
References ARG_FILE_LINE, assert, COMPAT_MYSQL, db_date_decode(), db_get_timestamp(), db_get_timestamptz(), db_make_bigint(), db_make_timestamp(), db_make_timestamptz(), db_time_decode(), db_timestamp_decode_w_tz_id(), DB_TYPE_BIGINT, DB_TYPE_TIMESTAMP, DB_VALUE_DOMAIN_TYPE, DB_VALUE_TYPE, ER_ERROR_SEVERITY, ER_QPROC_OVERFLOW_ADDITION, er_set(), err, i, NO_ERROR, OR_CHECK_UNS_ADD_OVERFLOW, prm_get_integer_value(), PRM_ID_COMPAT_MODE, qdata_add_int_to_utime_asymmetry(), db_timestamptz::timestamp, tp_domain_resolve_default(), db_timestamptz::tz_id, and tz_timestamptz_fix_zone().
Referenced by qdata_add_int_to_dbval(), and qdata_add_timestamptz_to_dbval().
|
static |
Definition at line 1023 of file query_opfunc.c.
References ARG_FILE_LINE, COMPAT_MYSQL, db_date_decode(), db_get_timestamp(), db_make_bigint(), db_make_timestamp(), db_time_decode(), db_timestamp_decode_ses(), DB_TYPE_BIGINT, DB_VALUE_DOMAIN_TYPE, ER_ERROR_SEVERITY, ER_QPROC_OVERFLOW_ADDITION, er_set(), i, NO_ERROR, OR_CHECK_UNS_ADD_OVERFLOW, prm_get_integer_value(), PRM_ID_COMPAT_MODE, and qdata_add_int_to_utime_asymmetry().
Referenced by qdata_add_int_to_dbval(), and qdata_add_utime_to_dbval().
|
static |
Definition at line 923 of file query_opfunc.c.
References ARG_FILE_LINE, DB_INT32_MIN, db_make_int(), ER_ERROR_SEVERITY, ER_QPROC_TIME_UNDERFLOW, er_set(), and qdata_subtract_dbval().
Referenced by qdata_add_int_to_date(), qdata_add_int_to_timestamptz(), and qdata_add_int_to_utime().
|
static |
Definition at line 797 of file query_opfunc.c.
References ARG_FILE_LINE, COMPAT_MYSQL, db_get_time(), db_make_int(), db_make_monetary(), db_make_short(), db_make_time(), db_time_decode(), DB_TYPE_INTEGER, DB_TYPE_SHORT, DB_VALUE_DOMAIN_TYPE, ER_ERROR_SEVERITY, ER_QPROC_OVERFLOW_ADDITION, er_set(), NO_ERROR, OR_CHECK_DOUBLE_OVERFLOW, prm_get_integer_value(), PRM_ID_COMPAT_MODE, and SECONDS_OF_ONE_DAY.
Referenced by qdata_add_bigint_to_dbval(), qdata_add_double_to_dbval(), qdata_add_float_to_dbval(), qdata_add_int_to_dbval(), qdata_add_monetary_to_dbval(), and qdata_add_short_to_dbval().
|
static |
Definition at line 2017 of file query_opfunc.c.
References d1, db_get_bigint(), db_get_double(), db_get_float(), db_get_int(), db_get_monetary(), db_get_short(), DB_TYPE_BIGINT, DB_TYPE_DOUBLE, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_MONETARY, DB_TYPE_NUMERIC, DB_TYPE_SHORT, DB_VALUE_DOMAIN_TYPE, NO_ERROR, qdata_add_monetary(), and qdata_add_numeric_to_monetary().
Referenced by qdata_add_dbval(), and qdata_strcat_dbval().
|
static |
Definition at line 766 of file query_opfunc.c.
References ARG_FILE_LINE, ER_ERROR_SEVERITY, ER_QPROC_OVERFLOW_ADDITION, er_set(), NO_ERROR, numeric_db_value_add(), and qdata_coerce_dbval_to_numeric().
Referenced by qdata_add_bigint_to_dbval(), qdata_add_int_to_dbval(), qdata_add_numeric_to_dbval(), and qdata_add_short_to_dbval().
|
static |
Definition at line 1979 of file query_opfunc.c.
References ARG_FILE_LINE, db_get_double(), db_get_float(), DB_TYPE_BIGINT, DB_TYPE_DOUBLE, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_MONETARY, DB_TYPE_NUMERIC, DB_TYPE_SHORT, DB_VALUE_DOMAIN_TYPE, ER_ERROR_SEVERITY, ER_QPROC_OVERFLOW_ADDITION, er_set(), NO_ERROR, numeric_db_value_add(), qdata_add_double(), qdata_add_numeric(), qdata_add_numeric_to_monetary(), and qdata_coerce_numeric_to_double().
Referenced by qdata_add_dbval(), and qdata_strcat_dbval().
|
static |
Definition at line 782 of file query_opfunc.c.
References d1, db_get_monetary(), db_make_monetary(), NO_ERROR, and qdata_coerce_numeric_to_double().
Referenced by qdata_add_monetary_to_dbval(), and qdata_add_numeric_to_dbval().
|
static |
Definition at line 2073 of file query_opfunc.c.
References assert, db_get_set(), db_make_null(), db_seq_get(), db_seq_put(), db_seq_size(), DB_TYPE_SEQUENCE, DB_VALUE_DOMAIN_TYPE, DOMAIN_COMPATIBLE, ER_FAILED, i, NO_ERROR, NULL, pr_clear_value(), set_make_collection(), set_union(), TP_DOMAIN_TYPE, TP_IS_SET_TYPE, and tp_value_coerce().
Referenced by qdata_add_dbval(), and qdata_strcat_dbval().
Definition at line 659 of file query_opfunc.c.
References ARG_FILE_LINE, db_get_short(), db_make_short(), ER_ERROR_SEVERITY, ER_QPROC_OVERFLOW_ADDITION, er_set(), NO_ERROR, and OR_CHECK_ADD_OVERFLOW.
Referenced by qdata_add_short_to_dbval().
|
static |
Definition at line 1477 of file query_opfunc.c.
References ARG_FILE_LINE, COMPAT_MYSQL, db_date_decode(), DB_DATE_MAX, db_get_date(), db_make_date(), db_make_short(), DB_TYPE_SHORT, DB_VALUE_DOMAIN_TYPE, ER_ERROR_SEVERITY, ER_QPROC_OVERFLOW_ADDITION, er_set(), NO_ERROR, OR_CHECK_UNS_ADD_OVERFLOW, prm_get_integer_value(), PRM_ID_COMPAT_MODE, and qdata_add_short_to_utime_asymmetry().
Referenced by qdata_add_date_to_dbval(), and qdata_add_short_to_dbval().
|
static |
Definition at line 1426 of file query_opfunc.c.
References db_add_int_to_datetime(), db_get_datetime(), db_make_datetime(), error(), and NO_ERROR.
Referenced by qdata_add_datetime_to_dbval(), and qdata_add_short_to_dbval().
|
static |
Definition at line 1623 of file query_opfunc.c.
References db_get_bigint(), db_get_datetime(), db_get_double(), db_get_float(), db_get_int(), db_get_monetary(), db_get_short(), db_get_timestamp(), db_get_timestamptz(), db_make_datetimeltz(), db_make_short(), db_make_timestampltz(), db_make_timestamptz(), DB_TYPE_BIGINT, DB_TYPE_DATE, DB_TYPE_DATETIME, DB_TYPE_DATETIMELTZ, DB_TYPE_DATETIMETZ, DB_TYPE_DOUBLE, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_MONETARY, DB_TYPE_NUMERIC, DB_TYPE_SHORT, DB_TYPE_TIME, DB_TYPE_TIMESTAMP, DB_TYPE_TIMESTAMPLTZ, DB_TYPE_TIMESTAMPTZ, DB_VALUE_DOMAIN_TYPE, DB_VALUE_TYPE, err, NO_ERROR, qdata_add_bigint(), qdata_add_bigint_to_time(), qdata_add_datetimetz_to_dbval(), qdata_add_double(), qdata_add_float(), qdata_add_int(), qdata_add_monetary(), qdata_add_numeric(), qdata_add_short(), qdata_add_short_to_date(), qdata_add_short_to_datetime(), qdata_add_short_to_timestamptz(), qdata_add_short_to_utime(), db_timestamptz::timestamp, tz_create_session_tzid_for_timestamp(), and db_timestamptz::tz_id.
Referenced by qdata_add_dbval(), and qdata_strcat_dbval().
|
static |
Definition at line 1137 of file query_opfunc.c.
References ARG_FILE_LINE, assert, COMPAT_MYSQL, db_date_decode(), db_get_timestamp(), db_get_timestamptz(), db_make_bigint(), db_make_timestamp(), db_make_timestamptz(), db_time_decode(), db_timestamp_decode_w_tz_id(), DB_TYPE_BIGINT, DB_TYPE_TIMESTAMP, DB_VALUE_DOMAIN_TYPE, DB_VALUE_TYPE, ER_ERROR_SEVERITY, ER_QPROC_OVERFLOW_ADDITION, er_set(), err, NO_ERROR, OR_CHECK_UNS_ADD_OVERFLOW, prm_get_integer_value(), PRM_ID_COMPAT_MODE, qdata_add_short_to_utime_asymmetry(), db_timestamptz::timestamp, tp_domain_resolve_default(), db_timestamptz::tz_id, and tz_timestamptz_fix_zone().
Referenced by qdata_add_short_to_dbval(), and qdata_add_timestamptz_to_dbval().
|
static |
Definition at line 967 of file query_opfunc.c.
References ARG_FILE_LINE, COMPAT_MYSQL, db_date_decode(), db_get_timestamp(), db_make_bigint(), db_make_timestamp(), db_time_decode(), db_timestamp_decode_ses(), DB_TYPE_BIGINT, DB_VALUE_DOMAIN_TYPE, ER_ERROR_SEVERITY, ER_QPROC_OVERFLOW_ADDITION, er_set(), NO_ERROR, OR_CHECK_UNS_ADD_OVERFLOW, prm_get_integer_value(), PRM_ID_COMPAT_MODE, and qdata_add_short_to_utime_asymmetry().
Referenced by qdata_add_short_to_dbval(), and qdata_add_utime_to_dbval().
|
static |
Definition at line 901 of file query_opfunc.c.
References ARG_FILE_LINE, DB_INT16_MIN, db_make_short(), ER_ERROR_SEVERITY, ER_QPROC_TIME_UNDERFLOW, er_set(), and qdata_subtract_dbval().
Referenced by qdata_add_short_to_date(), qdata_add_short_to_timestamptz(), and qdata_add_short_to_utime().
|
static |
Definition at line 2142 of file query_opfunc.c.
References db_get_bigint(), db_get_int(), db_get_short(), DB_TYPE_BIGINT, DB_TYPE_INTEGER, DB_TYPE_SHORT, DB_VALUE_DOMAIN_TYPE, NO_ERROR, and qdata_add_bigint_to_time().
Referenced by qdata_add_dbval(), and qdata_strcat_dbval().
|
static |
Definition at line 2192 of file query_opfunc.c.
References db_get_bigint(), db_get_int(), db_get_short(), DB_TYPE_BIGINT, DB_TYPE_INTEGER, DB_TYPE_SHORT, DB_TYPE_TIMESTAMPTZ, DB_VALUE_DOMAIN_TYPE, NO_ERROR, qdata_add_bigint_to_timestamptz(), qdata_add_int_to_timestamptz(), qdata_add_short_to_timestamptz(), and tp_domain_resolve_default().
Referenced by qdata_add_dbval(), and qdata_strcat_dbval().
|
static |
Definition at line 2167 of file query_opfunc.c.
References db_get_bigint(), db_get_int(), db_get_short(), DB_TYPE_BIGINT, DB_TYPE_INTEGER, DB_TYPE_SHORT, DB_VALUE_DOMAIN_TYPE, NO_ERROR, qdata_add_bigint_to_utime(), qdata_add_int_to_utime(), and qdata_add_short_to_utime().
Referenced by qdata_add_dbval(), and qdata_strcat_dbval().
int qdata_apply_interpolation_function_coercion | ( | DB_VALUE * | f_value, |
tp_domain ** | result_dom, | ||
DB_VALUE * | result, | ||
FUNC_TYPE | function | ||
) |
Definition at line 8764 of file query_opfunc.c.
References ARG_FILE_LINE, assert, db_get_bigint(), db_get_double(), db_get_float(), db_get_int(), db_get_monetary(), db_get_short(), db_locate_numeric, db_make_double(), DB_TYPE_BIGINT, DB_TYPE_DATE, DB_TYPE_DATETIME, DB_TYPE_DATETIMELTZ, DB_TYPE_DATETIMETZ, DB_TYPE_DOUBLE, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_MONETARY, DB_TYPE_NUMERIC, DB_TYPE_SHORT, DB_TYPE_TIME, DB_TYPE_TIMESTAMP, DB_TYPE_TIMESTAMPLTZ, DB_TYPE_TIMESTAMPTZ, db_value_coerce(), DB_VALUE_SCALE, db_value_type(), ER_ARG_CAN_NOT_BE_CASTED_TO_DESIRED_DOMAIN, ER_ERROR_SEVERITY, ER_FAILED, er_set(), error(), fcode_get_uppercase_name(), NO_ERROR, NULL, numeric_coerce_num_to_double(), pr_clone_value(), PT_PERCENTILE_DISC, qdata_update_interpolation_func_value_and_domain(), TP_DOMAIN_TYPE, TP_IS_DATE_OR_TIME_TYPE, and TP_IS_NUMERIC_TYPE.
Referenced by qdata_get_interpolation_function_result(), and qexec_analytic_evaluate_interpolation_function().
|
static |
Definition at line 8395 of file query_opfunc.c.
References ARG_FILE_LINE, assert, ASSERT_ERROR, assert_release, cubregex::count(), db_get_bigint(), db_get_int(), db_get_short(), db_make_double(), db_make_null(), DB_TYPE_BIGINT, DB_TYPE_INTEGER, DB_TYPE_SMALLINT, db_value_domain_type(), db_value_is_null(), ER_ERROR_SEVERITY, ER_FAILED, ER_OBJ_INVALID_ARGUMENTS, er_set(), error(), fetch_force_not_const_recursive(), fetch_peek_dbval(), regu_variable_list_node::next, NO_ERROR, NULL, function_node::operand, pr_clear_value(), STATIC_CAST, function_node::value, and regu_variable_list_node::value.
Referenced by qdata_evaluate_function().
int qdata_bit_and_dbval | ( | DB_VALUE * | dbval1_p, |
DB_VALUE * | dbval2_p, | ||
DB_VALUE * | result_p, | ||
tp_domain * | domain_p | ||
) |
Definition at line 7732 of file query_opfunc.c.
References ARG_FILE_LINE, db_get_bigint(), db_get_int(), db_get_short(), DB_IS_NULL, db_make_bigint(), db_make_null(), DB_TYPE_BIGINT, DB_TYPE_INTEGER, DB_TYPE_NULL, DB_TYPE_SHORT, DB_VALUE_DOMAIN_TYPE, ER_ERROR_SEVERITY, ER_QPROC_INVALID_DATATYPE, er_set(), i, NO_ERROR, NULL, and TP_DOMAIN_TYPE.
Referenced by fetch_peek_arith(), and qdata_aggregate_value_to_accumulator().
Definition at line 7685 of file query_opfunc.c.
References ARG_FILE_LINE, db_get_bigint(), db_get_int(), db_get_short(), DB_IS_NULL, db_make_bigint(), db_make_null(), DB_TYPE_BIGINT, DB_TYPE_INTEGER, DB_TYPE_NULL, DB_TYPE_SHORT, DB_VALUE_DOMAIN_TYPE, ER_ERROR_SEVERITY, ER_QPROC_INVALID_DATATYPE, er_set(), NO_ERROR, NULL, and TP_DOMAIN_TYPE.
Referenced by fetch_peek_arith().
int qdata_bit_or_dbval | ( | DB_VALUE * | dbval1_p, |
DB_VALUE * | dbval2_p, | ||
DB_VALUE * | result_p, | ||
tp_domain * | domain_p | ||
) |
Definition at line 7794 of file query_opfunc.c.
References ARG_FILE_LINE, db_get_bigint(), db_get_int(), db_get_short(), DB_IS_NULL, db_make_bigint(), db_make_null(), DB_TYPE_BIGINT, DB_TYPE_INTEGER, DB_TYPE_NULL, DB_TYPE_SHORT, DB_VALUE_DOMAIN_TYPE, ER_ERROR_SEVERITY, ER_QPROC_INVALID_DATATYPE, er_set(), i, NO_ERROR, NULL, and TP_DOMAIN_TYPE.
Referenced by fetch_peek_arith(), and qdata_aggregate_value_to_accumulator().
int qdata_bit_shift_dbval | ( | DB_VALUE * | dbval1_p, |
DB_VALUE * | dbval2_p, | ||
OPERATOR_TYPE | op, | ||
DB_VALUE * | result_p, | ||
tp_domain * | domain_p | ||
) |
Definition at line 7918 of file query_opfunc.c.
References ARG_FILE_LINE, db_get_bigint(), db_get_int(), db_get_short(), DB_IS_NULL, db_make_bigint(), db_make_null(), DB_TYPE_BIGINT, DB_TYPE_INTEGER, DB_TYPE_NULL, DB_TYPE_SHORT, DB_VALUE_DOMAIN_TYPE, ER_ERROR_SEVERITY, ER_QPROC_INVALID_DATATYPE, er_set(), i, NO_ERROR, NULL, T_BITSHIFT_LEFT, and TP_DOMAIN_TYPE.
Referenced by fetch_peek_arith().
int qdata_bit_xor_dbval | ( | DB_VALUE * | dbval1_p, |
DB_VALUE * | dbval2_p, | ||
DB_VALUE * | result_p, | ||
tp_domain * | domain_p | ||
) |
Definition at line 7856 of file query_opfunc.c.
References ARG_FILE_LINE, db_get_bigint(), db_get_int(), db_get_short(), DB_IS_NULL, db_make_bigint(), db_make_null(), DB_TYPE_BIGINT, DB_TYPE_INTEGER, DB_TYPE_NULL, DB_TYPE_SHORT, DB_VALUE_DOMAIN_TYPE, ER_ERROR_SEVERITY, ER_QPROC_INVALID_DATATYPE, er_set(), i, NO_ERROR, NULL, and TP_DOMAIN_TYPE.
Referenced by fetch_peek_arith(), and qdata_aggregate_value_to_accumulator().
|
static |
Definition at line 2322 of file query_opfunc.c.
References ARG_FILE_LINE, assert_release, DOMAIN_COMPATIBLE, error(), NO_ERROR, NULL, tp_domain_status_er_set(), and tp_value_cast().
Referenced by qdata_evaluate_sys_connect_by_path().
Definition at line 757 of file query_opfunc.c.
References DB_DEFAULT_PRECISION, DB_DEFAULT_SCALE, DB_TYPE_NUMERIC, db_value_domain_init(), and numeric_db_value_coerce_to_num().
Referenced by qdata_add_numeric(), qdata_divide_bigint_to_dbval(), qdata_divide_int_to_dbval(), qdata_divide_numeric_to_dbval(), qdata_divide_short_to_dbval(), qdata_multiply_numeric(), qdata_subtract_bigint_to_dbval(), qdata_subtract_int_to_dbval(), qdata_subtract_numeric_to_dbval(), and qdata_subtract_short_to_dbval().
|
static |
Definition at line 745 of file query_opfunc.c.
References DB_DEFAULT_PRECISION, DB_DEFAULT_SCALE, db_get_double(), DB_TYPE_DOUBLE, db_value_domain_init(), and numeric_db_value_coerce_from_num().
Referenced by qdata_add_double_to_dbval(), qdata_add_float_to_dbval(), qdata_add_numeric_to_dbval(), qdata_add_numeric_to_monetary(), qdata_divide_double_to_dbval(), qdata_divide_float_to_dbval(), qdata_divide_monetary_to_dbval(), qdata_divide_numeric_to_dbval(), qdata_multiply_double_to_dbval(), qdata_multiply_float_to_dbval(), qdata_multiply_monetary_to_dbval(), qdata_multiply_numeric_to_dbval(), qdata_subtract_double_to_dbval(), qdata_subtract_float_to_dbval(), qdata_subtract_monetary_to_dbval(), and qdata_subtract_numeric_to_dbval().
Definition at line 2303 of file query_opfunc.c.
References ARG_FILE_LINE, assert_release, DOMAIN_COMPATIBLE, error(), NO_ERROR, NULL, tp_domain_status_er_set(), and tp_value_coerce().
Referenced by qdata_add_dbval(), qdata_divide_dbval(), qdata_multiply_dbval(), qdata_strcat_dbval(), and qdata_subtract_dbval().
int qdata_concatenate_dbval | ( | THREAD_ENTRY * | thread_p, |
DB_VALUE * | dbval1_p, | ||
DB_VALUE * | dbval2_p, | ||
DB_VALUE * | result_p, | ||
tp_domain * | domain_p, | ||
const int | max_allowed_size, | ||
const char * | warning_context | ||
) |
Definition at line 2674 of file query_opfunc.c.
References ARG_FILE_LINE, assert, db_get_string(), db_get_string_codeset(), db_get_string_collation(), db_get_string_size(), DB_IS_NULL, db_make_null(), db_string_limit_size_string(), DB_TYPE_BIGINT, DB_TYPE_BIT, DB_TYPE_CHAR, DB_TYPE_DATE, DB_TYPE_DATETIME, DB_TYPE_DATETIMELTZ, DB_TYPE_DATETIMETZ, DB_TYPE_DOUBLE, DB_TYPE_ENUMERATION, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_MONETARY, DB_TYPE_NCHAR, DB_TYPE_NULL, DB_TYPE_NUMERIC, DB_TYPE_SHORT, DB_TYPE_TIME, DB_TYPE_TIMESTAMP, DB_TYPE_TIMESTAMPLTZ, DB_TYPE_TIMESTAMPTZ, DB_TYPE_VARBIT, DB_TYPE_VARCHAR, DB_TYPE_VARNCHAR, DB_VALUE_DOMAIN_TYPE, DB_VALUE_PRECISION, DOMAIN_COMPATIBLE, ER_ERROR_SEVERITY, ER_NOTIFICATION_SEVERITY, ER_QPROC_INVALID_DATATYPE, ER_QPROC_SIZE_STRING_TRUNCATED, er_set(), error(), db_value::need_clear, NO_ERROR, NULL, pr_clear_value(), qdata_add_chars_to_dbval(), QSTR_IS_ANY_CHAR_OR_BIT, qstr_make_typed_string(), tp_domain_status_er_set(), TP_DOMAIN_TYPE, and tp_value_cast().
Referenced by qdata_group_concat_first_value(), and qdata_group_concat_value().
|
static |
Definition at line 6549 of file query_opfunc.c.
References DB_IS_NULL, db_make_null(), db_seq_create(), db_set_create_basic(), db_set_create_multi(), DB_TYPE_MULTISET, DB_TYPE_SEQUENCE, DB_TYPE_SET, DB_TYPE_VOBJ, db_value_alter_type(), ER_FAILED, error(), fetch_copy_dbval(), regu_variable_list_node::next, NO_ERROR, NULL, pr_clear_value(), SET_DUPLICATE_VALUE, set_free(), set_get_setobj(), set_make_collection(), setobj_put_domain(), and setobj_put_value().
Referenced by qdata_evaluate_function().
|
static |
Definition at line 8578 of file query_opfunc.c.
References assert, db_private_alloc, db_private_free, fetch_peek_dbval(), regu_variable_list_node::next, NO_ERROR, NULL, function_node::operand, function_node::value, and regu_variable_list_node::value.
Referenced by qdata_evaluate_function().
|
static |
Definition at line 6917 of file query_opfunc.c.
References CHECK_REGU_VARIABLE_XASL_STATUS, pr_type::data_readval(), db_make_null(), db_seq_create(), db_set_create_basic(), db_set_create_multi(), DB_TYPE_MULTISET, DB_TYPE_SEQUENCE, DB_TYPE_SET, DB_TYPE_VOBJ, qfile_tuple_value_type_list::domp, ER_FAILED, error(), EXECUTE_REGU_VARIABLE_XASL, i, NO_ERROR, NULL, or_init(), PEEK, pr_clear_value(), pr_type_from_id(), qfile_close_scan(), qfile_locate_tuple_value(), qfile_open_list_scan(), qfile_scan_list_next(), S_SUCCESS, SET_DUPLICATE_VALUE, set_free(), set_get_setobj(), set_make_collection(), setobj_put_domain(), setobj_put_value(), TP_DOMAIN_TYPE, qfile_tuple_record::tpl, qfile_list_id::tuple_cnt, qfile_tuple_value_type_list::type_cnt, qfile_list_id::type_list, V_BOUND, and regu_variable_list_node::value.
Referenced by qdata_evaluate_function().
Definition at line 310 of file query_opfunc.c.
References DB_VALUE_DOMAIN_TYPE, NO_ERROR, NULL, pr_clear_value(), pr_type_from_id(), and pr_type::setval().
Referenced by btree_insert_list::add_key(), fetch_copy_dbval(), fetch_peek_arith(), qdata_finalize_analytic_func(), qexec_analytic_start_group(), qexec_execute_insert(), and scan_next_method_scan().
int qdata_copy_db_value_to_tuple_value | ( | DB_VALUE * | dbval_p, |
bool | clear_compressed_string, | ||
char * | tuple_val_p, | ||
int * | tuple_val_size | ||
) |
Definition at line 353 of file query_opfunc.c.
References HL::align(), assert, pr_type::data_writeval(), DB_ALIGN, DB_IS_NULL, DB_TYPE_VARCHAR, DB_TYPE_VARNCHAR, DB_VALUE_DOMAIN_TYPE, ER_FAILED, ER_TF_BUFFER_OVERFLOW, MAX_ALIGNMENT, NO_ERROR, NULL, OR_BUF_INIT, pr_clear_compressed_string(), pr_data_writeval_disk_size(), pr_type_from_id(), QFILE_PUT_TUPLE_VALUE_FLAG, QFILE_PUT_TUPLE_VALUE_LENGTH, QFILE_TUPLE_VALUE_HEADER_SIZE, rc, V_BOUND, and V_UNBOUND.
Referenced by qdata_copy_valptr_list_to_tuple(), qexec_ordby_put_next(), qfile_copy_tuple_descr_to_tuple(), and qfile_save_normal_tuple().
int qdata_copy_valptr_list_to_tuple | ( | THREAD_ENTRY * | thread_p, |
valptr_list_node * | valptr_list_p, | ||
val_descr * | val_desc_p, | ||
qfile_tuple_record * | tuple_record_p | ||
) |
Definition at line 434 of file query_opfunc.c.
References DB_PAGESIZE, db_private_alloc, db_private_realloc, ER_FAILED, regu_variable_list_node::next, NO_ERROR, NULL, qdata_copy_db_value_to_tuple_value(), qdata_get_dbval_from_constant_regu_variable(), qdata_get_tuple_value_size_from_dbval(), QFILE_PUT_TUPLE_LENGTH, QFILE_TUPLE_LENGTH_SIZE, REGU_VARIABLE_CLEAR_AT_CLONE_DECACHE, REGU_VARIABLE_HIDDEN_COLUMN, REGU_VARIABLE_IS_FLAGED(), qfile_tuple_record::size, qfile_tuple_record::tpl, valptr_list_node::valptr_cnt, and valptr_list_node::valptrp.
Referenced by qexec_end_buildvalueblock_iterations(), qexec_end_one_iteration(), qexec_execute_connect_by(), qexec_gby_finalize_group(), qexec_insert_tuple_into_list(), qexec_update_connect_by_lists(), and scan_dump_key_into_tuple().
Definition at line 5362 of file query_opfunc.c.
References db_make_bigint(), and NO_ERROR.
Referenced by qdata_divide_bigint_to_dbval(), qdata_divide_int_to_dbval(), and qdata_divide_short_to_dbval().
|
static |
Definition at line 5518 of file query_opfunc.c.
References ARG_FILE_LINE, db_get_bigint(), db_get_double(), db_get_float(), db_get_int(), db_get_monetary(), db_get_short(), DB_TYPE_BIGINT, DB_TYPE_DOUBLE, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_MONETARY, DB_TYPE_NUMERIC, DB_TYPE_SHORT, DB_VALUE_DOMAIN_TYPE, ER_ERROR_SEVERITY, ER_FAILED, ER_QPROC_OVERFLOW_DIVISION, er_set(), NO_ERROR, numeric_db_value_div(), qdata_coerce_dbval_to_numeric(), qdata_divide_bigint(), qdata_divide_double(), qdata_divide_float(), and qdata_divide_monetary().
Referenced by qdata_divide_dbval().
int qdata_divide_dbval | ( | DB_VALUE * | dbval1_p, |
DB_VALUE * | dbval2_p, | ||
DB_VALUE * | result_p, | ||
tp_domain * | domain_p | ||
) |
Definition at line 5755 of file query_opfunc.c.
References ARG_FILE_LINE, DB_IS_NULL, db_make_null(), DB_TYPE_BIGINT, DB_TYPE_DATE, DB_TYPE_DATETIME, DB_TYPE_DATETIMELTZ, DB_TYPE_DATETIMETZ, DB_TYPE_DOUBLE, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_MONETARY, DB_TYPE_MULTISET, DB_TYPE_NULL, DB_TYPE_NUMERIC, DB_TYPE_SEQUENCE, DB_TYPE_SET, DB_TYPE_SHORT, DB_TYPE_STRING, DB_TYPE_TIME, DB_TYPE_TIMESTAMP, DB_TYPE_TIMESTAMPLTZ, DB_TYPE_TIMESTAMPTZ, DB_VALUE_DOMAIN_TYPE, DOMAIN_COMPATIBLE, ER_ERROR_SEVERITY, ER_FAILED, ER_QPROC_INVALID_DATATYPE, ER_QPROC_ZERO_DIVIDE, er_set(), error(), NO_ERROR, NULL, prm_get_bool_value(), PRM_ID_RETURN_NULL_ON_FUNCTION_ERRORS, qdata_coerce_result_to_domain(), qdata_divide_bigint_to_dbval(), qdata_divide_double_to_dbval(), qdata_divide_float_to_dbval(), qdata_divide_int_to_dbval(), qdata_divide_monetary_to_dbval(), qdata_divide_numeric_to_dbval(), qdata_divide_short_to_dbval(), qdata_is_divided_zero(), tp_domain_resolve_default(), tp_domain_status_er_set(), TP_DOMAIN_TYPE, TP_IS_CHAR_TYPE, TP_IS_NUMERIC_TYPE, and tp_value_auto_cast().
Referenced by fetch_peek_arith(), qdata_finalize_aggregate_list(), and qdata_finalize_analytic_func().
|
static |
Definition at line 5390 of file query_opfunc.c.
References ARG_FILE_LINE, db_make_double(), ER_ERROR_SEVERITY, ER_FAILED, ER_QPROC_OVERFLOW_DIVISION, er_set(), NO_ERROR, and OR_CHECK_DOUBLE_OVERFLOW.
Referenced by qdata_divide_bigint_to_dbval(), qdata_divide_double_to_dbval(), qdata_divide_float_to_dbval(), qdata_divide_int_to_dbval(), qdata_divide_numeric_to_dbval(), and qdata_divide_short_to_dbval().
|
static |
Definition at line 5605 of file query_opfunc.c.
References db_get_bigint(), db_get_double(), db_get_float(), db_get_int(), db_get_monetary(), db_get_short(), DB_TYPE_BIGINT, DB_TYPE_DOUBLE, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_MONETARY, DB_TYPE_NUMERIC, DB_TYPE_SHORT, DB_VALUE_DOMAIN_TYPE, NO_ERROR, qdata_coerce_numeric_to_double(), qdata_divide_double(), and qdata_divide_monetary().
Referenced by qdata_divide_dbval().
|
static |
Definition at line 5373 of file query_opfunc.c.
References ARG_FILE_LINE, db_make_float(), ER_ERROR_SEVERITY, ER_FAILED, ER_QPROC_OVERFLOW_DIVISION, er_set(), NO_ERROR, and OR_CHECK_FLOAT_OVERFLOW.
Referenced by qdata_divide_bigint_to_dbval(), qdata_divide_float_to_dbval(), qdata_divide_int_to_dbval(), and qdata_divide_short_to_dbval().
|
static |
Definition at line 5565 of file query_opfunc.c.
References db_get_bigint(), db_get_double(), db_get_float(), db_get_int(), db_get_monetary(), db_get_short(), DB_TYPE_BIGINT, DB_TYPE_DOUBLE, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_MONETARY, DB_TYPE_NUMERIC, DB_TYPE_SHORT, DB_VALUE_DOMAIN_TYPE, NO_ERROR, qdata_coerce_numeric_to_double(), qdata_divide_double(), qdata_divide_float(), and qdata_divide_monetary().
Referenced by qdata_divide_dbval().
|
static |
Definition at line 5351 of file query_opfunc.c.
References db_make_int(), and NO_ERROR.
Referenced by qdata_divide_int_to_dbval(), and qdata_divide_short_to_dbval().
|
static |
Definition at line 5471 of file query_opfunc.c.
References ARG_FILE_LINE, db_get_bigint(), db_get_double(), db_get_float(), db_get_int(), db_get_monetary(), db_get_short(), DB_TYPE_BIGINT, DB_TYPE_DOUBLE, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_MONETARY, DB_TYPE_NUMERIC, DB_TYPE_SHORT, DB_VALUE_DOMAIN_TYPE, ER_ERROR_SEVERITY, ER_FAILED, ER_QPROC_OVERFLOW_DIVISION, er_set(), i, NO_ERROR, numeric_db_value_div(), qdata_coerce_dbval_to_numeric(), qdata_divide_bigint(), qdata_divide_double(), qdata_divide_float(), qdata_divide_int(), and qdata_divide_monetary().
Referenced by qdata_divide_dbval().
|
static |
Definition at line 5407 of file query_opfunc.c.
References ARG_FILE_LINE, db_make_monetary(), ER_ERROR_SEVERITY, ER_FAILED, ER_QPROC_OVERFLOW_DIVISION, er_set(), NO_ERROR, and OR_CHECK_DOUBLE_OVERFLOW.
Referenced by qdata_divide_bigint_to_dbval(), qdata_divide_double_to_dbval(), qdata_divide_float_to_dbval(), qdata_divide_int_to_dbval(), qdata_divide_monetary_to_dbval(), qdata_divide_numeric_to_dbval(), and qdata_divide_short_to_dbval().
|
static |
Definition at line 5693 of file query_opfunc.c.
References db_get_bigint(), db_get_double(), db_get_float(), db_get_int(), db_get_monetary(), db_get_short(), DB_TYPE_BIGINT, DB_TYPE_DOUBLE, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_MONETARY, DB_TYPE_NUMERIC, DB_TYPE_SHORT, DB_VALUE_DOMAIN_TYPE, NO_ERROR, qdata_coerce_numeric_to_double(), and qdata_divide_monetary().
Referenced by qdata_divide_dbval().
|
static |
Definition at line 5645 of file query_opfunc.c.
References ARG_FILE_LINE, db_get_double(), db_get_float(), db_get_monetary(), DB_TYPE_BIGINT, DB_TYPE_DOUBLE, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_MONETARY, DB_TYPE_NUMERIC, DB_TYPE_SHORT, DB_VALUE_DOMAIN_TYPE, ER_ERROR_SEVERITY, ER_FAILED, ER_QPROC_OVERFLOW_DIVISION, er_set(), NO_ERROR, numeric_db_value_div(), qdata_coerce_dbval_to_numeric(), qdata_coerce_numeric_to_double(), qdata_divide_double(), and qdata_divide_monetary().
Referenced by qdata_divide_dbval().
|
static |
Definition at line 5340 of file query_opfunc.c.
References db_make_short(), and NO_ERROR.
Referenced by qdata_divide_short_to_dbval().
|
static |
Definition at line 5424 of file query_opfunc.c.
References ARG_FILE_LINE, db_get_bigint(), db_get_double(), db_get_float(), db_get_int(), db_get_monetary(), db_get_short(), DB_TYPE_BIGINT, DB_TYPE_DOUBLE, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_MONETARY, DB_TYPE_NUMERIC, DB_TYPE_SHORT, DB_VALUE_DOMAIN_TYPE, ER_ERROR_SEVERITY, ER_FAILED, ER_QPROC_OVERFLOW_DIVISION, er_set(), NO_ERROR, numeric_db_value_div(), qdata_coerce_dbval_to_numeric(), qdata_divide_bigint(), qdata_divide_double(), qdata_divide_float(), qdata_divide_int(), qdata_divide_monetary(), and qdata_divide_short().
Referenced by qdata_divide_dbval().
int qdata_divmod_dbval | ( | DB_VALUE * | dbval1_p, |
DB_VALUE * | dbval2_p, | ||
OPERATOR_TYPE | op, | ||
DB_VALUE * | result_p, | ||
tp_domain * | domain_p | ||
) |
Definition at line 7995 of file query_opfunc.c.
References ARG_FILE_LINE, db_get_bigint(), db_get_int(), db_get_short(), DB_IS_NULL, db_make_bigint(), db_make_int(), db_make_null(), db_make_short(), DB_TYPE_BIGINT, DB_TYPE_INTEGER, DB_TYPE_NULL, DB_TYPE_SHORT, DB_VALUE_DOMAIN_TYPE, ER_ERROR_SEVERITY, ER_QPROC_INVALID_DATATYPE, ER_QPROC_OVERFLOW_ADDITION, ER_QPROC_ZERO_DIVIDE, er_set(), i, NO_ERROR, NULL, OR_CHECK_BIGINT_DIV_OVERFLOW, OR_CHECK_INT_DIV_OVERFLOW, OR_CHECK_SHORT_DIV_OVERFLOW, T_INTDIV, and TP_DOMAIN_TYPE.
Referenced by fetch_peek_arith().
|
static |
Definition at line 8305 of file query_opfunc.c.
References ARG_FILE_LINE, assert, db_get_bigint(), db_get_int(), db_get_short(), db_make_null(), DB_TYPE_BIGINT, DB_TYPE_INTEGER, DB_TYPE_NULL, DB_TYPE_SMALLINT, DB_VALUE_DOMAIN_TYPE, ER_ERROR_SEVERITY, ER_QPROC_INVALID_DATATYPE, er_set(), fetch_peek_dbval(), regu_variable_list_node::next, NO_ERROR, NULL, function_node::operand, pr_clone_value(), function_node::value, and regu_variable_list_node::value.
Referenced by qdata_evaluate_function().
bool qdata_evaluate_connect_by_root | ( | THREAD_ENTRY * | thread_p, |
void * | xasl_p, | ||
regu_variable_node * | regu_p, | ||
DB_VALUE * | result_val_p, | ||
val_descr * | vd | ||
) |
Definition at line 7060 of file query_opfunc.c.
References xasl_node::connect_by, xasl_node::connect_by_ptr, connectby_proc_node::curr_tuple, db_get_bit(), regu_variable_node::regu_data_value::dbvalptr, regu_variable_node::domain, i, xasl_node::instnum_val, xasl_node::list_id, qproc_db_value_list::next, NO_ERROR, NULL, qfile_tuple_position::offset, xasl_node::outptr_list, PCOL_PARENTPOS_TUPLE_OFFSET, PEEK, qfile_tuple_position::position, pr_clone_value(), xasl_node::proc, qexec_get_tuple_column_value(), qfile_close_scan(), qfile_jump_scan_tuple_position(), qfile_open_list_scan(), REINTERPRET_CAST, S_ON, S_SUCCESS, qfile_tuple_position::status, qfile_list_scan_id::status, tp_Bit_domain, qfile_tuple_record::tpl, qfile_tuple_position::tpl, qfile_tuple_position::tplno, regu_variable_node::type, TYPE_CONSTANT, qproc_db_value_list::val, xasl_node::val_list, val_list_node::valp, valptr_list_node::valptr_cnt, regu_variable_node::value, qfile_tuple_position::vpid, XASL_HAS_CONNECT_BY, and XASL_IS_FLAGED.
Referenced by fetch_peek_arith().
int qdata_evaluate_function | ( | THREAD_ENTRY * | thread_p, |
regu_variable_node * | function_p, | ||
val_descr * | val_desc_p, | ||
OID * | obj_oid_p, | ||
QFILE_TUPLE | tuple | ||
) |
Definition at line 6753 of file query_opfunc.c.
References ARG_FILE_LINE, db_evaluate_json_array(), db_evaluate_json_array_append(), db_evaluate_json_array_insert(), db_evaluate_json_contains(), db_evaluate_json_contains_path(), db_evaluate_json_depth(), db_evaluate_json_extract(), db_evaluate_json_get_all_paths(), db_evaluate_json_insert(), db_evaluate_json_keys(), db_evaluate_json_length(), db_evaluate_json_merge_patch(), db_evaluate_json_merge_preserve(), db_evaluate_json_object(), db_evaluate_json_pretty(), db_evaluate_json_quote(), db_evaluate_json_remove(), db_evaluate_json_replace(), db_evaluate_json_search(), db_evaluate_json_set(), db_evaluate_json_type_dbval(), db_evaluate_json_unquote(), db_evaluate_json_valid(), DB_TYPE_MULTISET, DB_TYPE_SEQUENCE, DB_TYPE_SET, DB_TYPE_VOBJ, ER_ERROR_SEVERITY, ER_FAILED, ER_QPROC_INVALID_XASLNODE, er_set(), F_BENCHMARK, F_CLASS_OF, F_ELT, F_GENERIC, F_INSERT_SUBSTRING, F_JSON_ARRAY, F_JSON_ARRAY_APPEND, F_JSON_ARRAY_INSERT, F_JSON_CONTAINS, F_JSON_CONTAINS_PATH, F_JSON_DEPTH, F_JSON_EXTRACT, F_JSON_GET_ALL_PATHS, F_JSON_INSERT, F_JSON_KEYS, F_JSON_LENGTH, F_JSON_MERGE, F_JSON_MERGE_PATCH, F_JSON_OBJECT, F_JSON_PRETTY, F_JSON_QUOTE, F_JSON_REMOVE, F_JSON_REPLACE, F_JSON_SEARCH, F_JSON_SET, F_JSON_TYPE, F_JSON_UNQUOTE, F_JSON_VALID, F_MULTISET, F_REGEXP_COUNT, F_REGEXP_INSTR, F_REGEXP_LIKE, F_REGEXP_REPLACE, F_REGEXP_SUBSTR, F_SEQUENCE, F_SET, F_TABLE_MULTISET, F_TABLE_SEQUENCE, F_TABLE_SET, F_VID, function_node::ftype, regu_variable_node::regu_data_value::funcp, pr_clear_value(), qdata_benchmark(), qdata_convert_dbvals_to_set(), qdata_convert_operands_to_value_and_call(), qdata_convert_table_to_set(), qdata_elt(), qdata_evaluate_generic_function(), qdata_get_class_of_function(), qdata_insert_substring_function(), qdata_regexp_function(), function_node::value, and regu_variable_node::value.
Referenced by fetch_peek_dbval().
|
static |
Definition at line 6673 of file query_opfunc.c.
References ARG_FILE_LINE, ER_ERROR_SEVERITY, ER_FAILED, ER_QPROC_GENERIC_FUNCTION_FAILURE, and er_set().
Referenced by qdata_evaluate_function().
bool qdata_evaluate_qprior | ( | THREAD_ENTRY * | thread_p, |
void * | xasl_p, | ||
regu_variable_node * | regu_p, | ||
DB_VALUE * | result_val_p, | ||
val_descr * | vd | ||
) |
Definition at line 7188 of file query_opfunc.c.
References xasl_node::connect_by, xasl_node::connect_by_ptr, connectby_proc_node::curr_tuple, db_get_bit(), db_make_null(), fetch_copy_dbval(), fetch_val_list(), xasl_node::list_id, NO_ERROR, NULL, qfile_tuple_position::offset, xasl_node::outptr_list, PCOL_PARENTPOS_TUPLE_OFFSET, PEEK, qfile_tuple_position::position, connectby_proc_node::prior_regu_list_pred, connectby_proc_node::prior_regu_list_rest, xasl_node::proc, qexec_get_tuple_column_value(), qexec_replace_prior_regu_vars_prior_expr(), qfile_close_scan(), qfile_jump_scan_tuple_position(), qfile_open_list_scan(), REINTERPRET_CAST, S_ON, S_SUCCESS, qfile_tuple_position::status, qfile_list_scan_id::status, tp_Bit_domain, qfile_tuple_record::tpl, qfile_tuple_position::tpl, qfile_tuple_position::tplno, valptr_list_node::valptr_cnt, qfile_tuple_position::vpid, XASL_HAS_CONNECT_BY, and XASL_IS_FLAGED.
Referenced by fetch_peek_arith().
bool qdata_evaluate_sys_connect_by_path | ( | THREAD_ENTRY * | thread_p, |
void * | xasl_p, | ||
regu_variable_node * | regu_p, | ||
DB_VALUE * | value_char, | ||
DB_VALUE * | result_p, | ||
val_descr * | vd | ||
) |
Definition at line 7305 of file query_opfunc.c.
References regu_variable_node::regu_data_value::arithptr, assert, xasl_node::connect_by, xasl_node::connect_by_ptr, connectby_proc_node::curr_tuple, db_get_bit(), DB_GET_STRING_SAFE, db_get_string_size(), DB_IS_NULL, db_make_null(), db_make_string(), db_private_alloc, db_private_free_and_init, db_value_copy(), regu_variable_node::regu_data_value::dbvalptr, regu_variable_node::domain, error(), fetch_peek_dbval(), fetch_val_list(), i, xasl_node::instnum_val, xasl_node::list_id, db_value::need_clear, qproc_db_value_list::next, NO_ERROR, NULL, qfile_tuple_position::offset, arith_list_node::opcode, xasl_node::outptr_list, PCOL_PARENTPOS_TUPLE_OFFSET, PEEK, qfile_tuple_position::position, pr_clear_value(), pr_clone_value(), pr_free_ext_value(), xasl_node::proc, qdata_cast_to_domain(), qexec_get_tuple_column_value(), qfile_close_scan(), qfile_jump_scan_tuple_position(), qfile_open_list_scan(), connectby_proc_node::regu_list_pred, connectby_proc_node::regu_list_rest, REINTERPRET_CAST, arith_list_node::rightptr, S_ON, S_SUCCESS, qfile_tuple_position::status, qfile_list_scan_id::status, strlen, SYS_CONNECT_BY_PATH_MEM_STEP, T_CAST, tp_Bit_domain, tp_String_domain, qfile_tuple_record::tpl, qfile_tuple_position::tpl, qfile_tuple_position::tplno, regu_variable_node::type, TYPE_CONSTANT, TYPE_INARITH, qproc_db_value_list::val, val_list_node::val_cnt, xasl_node::val_list, val_list_node::valp, valptr_list_node::valptr_cnt, regu_variable_node::value, qfile_tuple_position::vpid, XASL_HAS_CONNECT_BY, and XASL_IS_FLAGED.
Referenced by fetch_peek_arith().
int qdata_extract_dbval | ( | const MISC_OPERAND | extr_operand, |
DB_VALUE * | dbval_p, | ||
DB_VALUE * | result_p, | ||
tp_domain * | domain_p | ||
) |
Definition at line 6009 of file query_opfunc.c.
References db_string_extract_dbval(), ER_FAILED, and NO_ERROR.
Referenced by fetch_peek_arith().
QPROC_TPLDESCR_STATUS qdata_generate_tuple_desc_for_valptr_list | ( | THREAD_ENTRY * | thread_p, |
valptr_list_node * | valptr_list_p, | ||
val_descr * | val_desc_p, | ||
qfile_tuple_descriptor * | tuple_desc_p | ||
) |
Definition at line 538 of file query_opfunc.c.
References assert, qfile_tuple_descriptor::clear_f_val_at_clone_decache, DB_VALUE_DOMAIN_TYPE, ER_FAILED, qfile_tuple_descriptor::f_cnt, qfile_tuple_descriptor::f_valp, i, regu_variable_list_node::next, NULL, pr_is_set_type(), qdata_get_dbval_from_constant_regu_variable(), qdata_get_tuple_value_size_from_dbval(), QFILE_MAX_TUPLE_SIZE_IN_PAGE, QFILE_TUPLE_LENGTH_SIZE, QPROC_TPLDESCR_FAILURE, QPROC_TPLDESCR_RETRY_BIG_REC, QPROC_TPLDESCR_RETRY_SET_TYPE, QPROC_TPLDESCR_SUCCESS, REGU_VARIABLE_CLEAR_AT_CLONE_DECACHE, REGU_VARIABLE_HIDDEN_COLUMN, REGU_VARIABLE_IS_FLAGED(), qfile_tuple_descriptor::tpl_size, valptr_list_node::valptr_cnt, valptr_list_node::valptrp, and regu_variable_list_node::value.
Referenced by qexec_generate_tuple_descriptor().
int qdata_get_cardinality | ( | THREAD_ENTRY * | thread_p, |
DB_VALUE * | db_class_name, | ||
DB_VALUE * | db_index_name, | ||
DB_VALUE * | db_key_position, | ||
DB_VALUE * | result_p | ||
) |
Definition at line 8643 of file query_opfunc.c.
References ARG_FILE_LINE, catalog_get_cardinality_by_name(), db_get_int(), db_get_string(), db_get_string_size(), DB_IS_NULL, db_make_int(), db_make_null(), DB_TYPE_INTEGER, DB_VALUE_DOMAIN_TYPE, ER_ERROR_SEVERITY, er_set(), ER_UNEXPECTED, error(), NO_ERROR, QSTR_IS_CHAR, and SM_MAX_IDENTIFIER_LENGTH.
Referenced by fetch_peek_arith().
|
static |
Definition at line 6691 of file query_opfunc.c.
References ASSERT_ERROR_AND_SET, db_get_oid(), db_get_set(), DB_IS_NULL, db_make_null(), db_make_oid(), db_seq_get(), DB_TYPE_OID, DB_TYPE_VOBJ, DB_VALUE_DOMAIN_TYPE, ER_FAILED, err, fetch_peek_dbval(), heap_get_class_oid(), NO_ERROR, NULL, function_node::operand, S_SUCCESS, function_node::value, and regu_variable_list_node::value.
Referenced by qdata_evaluate_function().
|
static |
Definition at line 6462 of file query_opfunc.c.
References ARG_FILE_LINE, assert, db_change_private_heap(), DB_IS_NULL, DB_TYPE_NULL, DB_TYPE_NUMERIC, DB_TYPE_OID, DB_TYPE_VOBJ, DB_VALUE_TYPE, db_value::domain, DOMAIN_COMPATIBLE, fetch_peek_dbval(), NO_ERROR, NULL, db_domain_info::numeric_info, db_domain_info::numeric_info::precision, prm_get_bool_value(), PRM_ID_RETURN_NULL_ON_FUNCTION_ERRORS, REGU_VARIABLE_ANALYTIC_WINDOW, REGU_VARIABLE_CLEAR_AT_CLONE_DECACHE, REGU_VARIABLE_IS_FLAGED(), REGU_VARIABLE_SET_FLAG(), REGU_VARIABLE_STRICT_TYPE_CAST, REGU_VARIABLE_UPD_INS_LIST, db_domain_info::numeric_info::scale, tp_domain_status_er_set(), TP_DOMAIN_TYPE, and tp_value_auto_cast().
Referenced by qdata_copy_valptr_list_to_tuple(), qdata_generate_tuple_desc_for_valptr_list(), and qdata_set_valptr_list_unbound().
int qdata_get_interpolation_function_result | ( | THREAD_ENTRY * | thread_p, |
QFILE_LIST_SCAN_ID * | scan_id, | ||
tp_domain * | domain, | ||
int | pos, | ||
double | row_num_d, | ||
double | f_row_num_d, | ||
double | c_row_num_d, | ||
DB_VALUE * | result, | ||
tp_domain ** | result_dom, | ||
FUNC_TYPE | function | ||
) |
Definition at line 9184 of file query_opfunc.c.
References ARG_FILE_LINE, assert, db_make_null(), ER_ERROR_SEVERITY, ER_FAILED, ER_IT_DATA_OVERFLOW, er_set(), error(), fetch_peek_dbval(), NO_ERROR, NULL, OR_CHECK_BIGINT_OVERFLOW, PEEK, pr_clear_value(), qdata_apply_interpolation_function_coercion(), qdata_interpolation_function_values(), qfile_scan_list_next(), S_SUCCESS, qfile_tuple_record::tpl, and TYPE_POSITION.
Referenced by qdata_aggregate_interpolation(), and qdata_analytic_interpolation().
int qdata_get_single_tuple_from_list_id | ( | THREAD_ENTRY * | thread_p, |
qfile_list_id * | list_id_p, | ||
val_list_node * | single_tuple_p | ||
) |
Definition at line 6300 of file query_opfunc.c.
References ARG_FILE_LINE, pr_type::data_readval(), DB_DEFAULT_PRECISION, DB_DEFAULT_SCALE, db_value_domain_init(), qfile_tuple_value_type_list::domp, ER_ERROR_SEVERITY, ER_FAILED, ER_QPROC_INVALID_QRY_SINGLE_TUPLE, er_set(), i, pr_type::id, qproc_db_value_list::next, NO_ERROR, NULL, OR_BUF_INIT, PEEK, tp_domain::precision, qfile_close_scan(), qfile_locate_tuple_value(), qfile_open_list_scan(), qfile_scan_list_next(), S_SUCCESS, tp_domain::scale, TP_DOMAIN_TYPE, qfile_tuple_record::tpl, qfile_list_id::tuple_cnt, tp_domain::type, qfile_tuple_value_type_list::type_cnt, qfile_list_id::type_list, V_BOUND, qproc_db_value_list::val, and val_list_node::valp.
Referenced by qexec_execute_mainblock_internal().
int qdata_get_tuple_value_size_from_dbval | ( | DB_VALUE * | dbval_p | ) |
Definition at line 6233 of file query_opfunc.c.
References HL::align(), ARG_FILE_LINE, assert_release, DB_ALIGN, db_get_string_length(), DB_IS_NULL, DB_MAX_STRING_LENGTH, db_string_truncate(), DB_VALUE_DOMAIN_TYPE, DB_VALUE_PRECISION, ER_DATA_IS_TRUNCATED_TO_PRECISION, ER_FAILED, ER_NOTIFICATION_SEVERITY, er_set(), pr_type::get_disk_size_of_value(), pr_type::is_size_computed(), MAX_ALIGNMENT, NO_ERROR, pr_is_string_type(), pr_type_from_id(), QFILE_TUPLE_VALUE_HEADER_SIZE, and TP_FLOATING_PRECISION_VALUE.
Referenced by qdata_copy_valptr_list_to_tuple(), qdata_generate_tuple_desc_for_valptr_list(), qdata_save_agg_hentry_to_list(), and qexec_topn_tuples_to_list_id().
int qdata_get_valptr_type_list | ( | THREAD_ENTRY * | thread_p, |
valptr_list_node * | valptr_list_p, | ||
qfile_tuple_value_type_list * | type_list_p | ||
) |
Definition at line 6399 of file query_opfunc.c.
References ARG_FILE_LINE, cubregex::count(), db_private_alloc, qfile_tuple_value_type_list::domp, ER_ERROR_SEVERITY, ER_FAILED, ER_GENERIC_ERROR, er_set(), i, regu_variable_list_node::next, NO_ERROR, NULL, REGU_VARIABLE_HIDDEN_COLUMN, REGU_VARIABLE_IS_FLAGED(), qfile_tuple_value_type_list::type_cnt, valptr_list_node::valptr_cnt, valptr_list_node::valptrp, and regu_variable_list_node::value.
Referenced by qexec_end_buildvalueblock_iterations(), qexec_execute_analytic(), qexec_execute_connect_by(), qexec_groupby(), qexec_groupby_index(), qexec_start_connect_by_lists(), qexec_start_mainblock_iterations(), and scan_init_indx_coverage().
Definition at line 2835 of file query_opfunc.c.
References ARG_FILE_LINE, db_get_bigint(), db_get_int(), db_get_short(), db_make_bigint(), db_make_int(), db_make_short(), DB_TYPE_BIGINT, DB_TYPE_INTEGER, DB_TYPE_SHORT, DB_VALUE_DOMAIN_TYPE, ER_ERROR_SEVERITY, ER_FAILED, ER_QPROC_INVALID_DATATYPE, er_set(), NO_ERROR, OR_CHECK_ADD_OVERFLOW, and OR_CHECK_SUB_UNDERFLOW.
Referenced by heap_attrinfo_transform_to_disk_internal().
|
static |
Definition at line 8249 of file query_opfunc.c.
References ARG_FILE_LINE, assert, db_string_insert_substring(), ER_ERROR_SEVERITY, ER_FAILED, ER_QPROC_GENERIC_FUNCTION_FAILURE, er_set(), error(), fetch_peek_dbval(), i, NO_ERROR, NULL, NUM_F_INSERT_SUBSTRING_ARGS, qdata_regu_list_to_regu_array(), and function_node::value.
Referenced by qdata_evaluate_function().
int qdata_interpolation_function_values | ( | DB_VALUE * | f_value, |
DB_VALUE * | c_value, | ||
double | row_num_d, | ||
double | f_row_num_d, | ||
double | c_row_num_d, | ||
tp_domain ** | result_dom, | ||
DB_VALUE * | result, | ||
FUNC_TYPE | function | ||
) |
Definition at line 8881 of file query_opfunc.c.
References ARG_FILE_LINE, assert, d1, db_datetime::date, db_datetimetz::datetime, db_get_bigint(), db_get_date(), db_get_datetime(), db_get_datetimetz(), db_get_double(), db_get_float(), db_get_int(), db_get_monetary(), db_get_short(), db_get_time(), db_get_timestamp(), db_get_timestamptz(), db_locate_numeric, db_make_datetime(), db_make_datetimeltz(), db_make_datetimetz(), db_make_double(), db_make_timestamp(), db_make_timestampltz(), db_make_timestamptz(), db_timestamp_decode_utc(), db_timestamp_encode_utc(), DB_TYPE_BIGINT, DB_TYPE_DATE, DB_TYPE_DATETIME, DB_TYPE_DATETIMELTZ, DB_TYPE_DATETIMETZ, DB_TYPE_DOUBLE, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_MONETARY, DB_TYPE_NUMERIC, DB_TYPE_SHORT, DB_TYPE_TIME, DB_TYPE_TIMESTAMP, DB_TYPE_TIMESTAMPLTZ, DB_TYPE_TIMESTAMPTZ, db_value_coerce(), db_value_put_encoded_date(), db_value_put_encoded_time(), DB_VALUE_SCALE, db_value_type(), ER_ARG_CAN_NOT_BE_CASTED_TO_DESIRED_DOMAIN, ER_ERROR_SEVERITY, ER_FAILED, er_set(), error(), fcode_get_uppercase_name(), MILLISECONDS_OF_ONE_DAY, NO_ERROR, NULL, numeric_coerce_num_to_double(), qdata_update_interpolation_func_value_and_domain(), db_datetime::time, db_timestamptz::timestamp, TP_DOMAIN_TYPE, TP_IS_DATE_OR_TIME_TYPE, TP_IS_NUMERIC_TYPE, tz_datetimetz_fix_zone(), db_timestamptz::tz_id, db_datetimetz::tz_id, and tz_timestamptz_fix_zone().
Referenced by qdata_get_interpolation_function_result(), and qexec_analytic_evaluate_interpolation_function().
Definition at line 5303 of file query_opfunc.c.
References db_monetary::amount, db_get_bigint(), db_get_double(), db_get_float(), db_get_int(), db_get_monetary(), db_get_short(), DB_TYPE_BIGINT, DB_TYPE_DOUBLE, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_MONETARY, DB_TYPE_NUMERIC, DB_TYPE_SHORT, DB_VALUE_DOMAIN_TYPE, and numeric_db_value_is_zero().
Referenced by qdata_divide_dbval().
Definition at line 228 of file query_opfunc.c.
References db_datetime::date, db_datetimetz::datetime, db_get_date(), db_get_datetime(), db_get_datetimetz(), db_get_timestamp(), db_get_timestamptz(), DB_IS_NULL, DB_TYPE_DATE, DB_TYPE_DATETIME, DB_TYPE_DATETIMELTZ, DB_TYPE_DATETIMETZ, DB_TYPE_TIMESTAMP, DB_TYPE_TIMESTAMPLTZ, DB_TYPE_TIMESTAMPTZ, DB_VALUE_DOMAIN_TYPE, db_datetime::time, db_timestamptz::timestamp, and TP_IS_DATE_TYPE.
Referenced by qdata_add_dbval(), and qdata_subtract_dbval().
int qdata_list_dbs | ( | THREAD_ENTRY * | thread_p, |
DB_VALUE * | result_p, | ||
tp_domain * | domain_p | ||
) |
Definition at line 8107 of file query_opfunc.c.
References ARG_FILE_LINE, assert, cfg_free_directory(), cfg_read_directory(), DATABASES_FILENAME, db_make_null(), db_make_string(), db_private_alloc, db_string_put_cs_and_collation(), DB_VALUE_TYPE, ER_CFG_NO_FILE, er_errid(), ER_ERROR_SEVERITY, er_set(), error(), database_info::name, db_value::need_clear, database_info::next, NO_ERROR, NULL, strlen, TP_DOMAIN_CODESET, TP_DOMAIN_COLLATION, and TP_DOMAIN_TYPE.
Referenced by fetch_peek_arith().
|
static |
Definition at line 4762 of file query_opfunc.c.
References ARG_FILE_LINE, db_get_bigint(), db_make_bigint(), ER_ERROR_SEVERITY, ER_FAILED, ER_QPROC_OVERFLOW_MULTIPLICATION, er_set(), NO_ERROR, and OR_CHECK_MULT_OVERFLOW.
Referenced by qdata_multiply_bigint_to_dbval(), qdata_multiply_int_to_dbval(), and qdata_multiply_short_to_dbval().
|
static |
Definition at line 4926 of file query_opfunc.c.
References db_get_bigint(), db_get_double(), db_get_int(), db_get_short(), DB_TYPE_BIGINT, DB_TYPE_DOUBLE, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_MONETARY, DB_TYPE_NUMERIC, DB_TYPE_SHORT, DB_VALUE_DOMAIN_TYPE, NO_ERROR, qdata_multiply_bigint(), qdata_multiply_double(), qdata_multiply_float(), qdata_multiply_monetary(), and qdata_multiply_numeric().
Referenced by qdata_multiply_dbval().
int qdata_multiply_dbval | ( | DB_VALUE * | dbval1_p, |
DB_VALUE * | dbval2_p, | ||
DB_VALUE * | result_p, | ||
tp_domain * | domain_p | ||
) |
Definition at line 5151 of file query_opfunc.c.
References ARG_FILE_LINE, DB_IS_NULL, db_make_null(), DB_TYPE_BIGINT, DB_TYPE_DATE, DB_TYPE_DATETIME, DB_TYPE_DATETIMELTZ, DB_TYPE_DATETIMETZ, DB_TYPE_DOUBLE, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_MONETARY, DB_TYPE_MULTISET, DB_TYPE_NULL, DB_TYPE_NUMERIC, DB_TYPE_SEQUENCE, DB_TYPE_SET, DB_TYPE_SHORT, DB_TYPE_STRING, DB_TYPE_TIME, DB_TYPE_TIMESTAMP, DB_TYPE_TIMESTAMPLTZ, DB_TYPE_TIMESTAMPTZ, DB_VALUE_DOMAIN_TYPE, DOMAIN_COMPATIBLE, ER_ERROR_SEVERITY, ER_QPROC_INVALID_DATATYPE, er_set(), error(), NO_ERROR, NULL, prm_get_bool_value(), PRM_ID_RETURN_NULL_ON_FUNCTION_ERRORS, qdata_coerce_result_to_domain(), qdata_multiply_bigint_to_dbval(), qdata_multiply_double_to_dbval(), qdata_multiply_float_to_dbval(), qdata_multiply_int_to_dbval(), qdata_multiply_monetary_to_dbval(), qdata_multiply_numeric_to_dbval(), qdata_multiply_sequence_to_dbval(), qdata_multiply_short_to_dbval(), tp_domain_resolve_default(), tp_domain_status_er_set(), TP_DOMAIN_TYPE, TP_IS_CHAR_TYPE, TP_IS_NUMERIC_TYPE, TP_IS_SET_TYPE, and tp_value_auto_cast().
Referenced by fetch_peek_arith(), qdata_aggregate_value_to_accumulator(), qdata_evaluate_analytic_func(), qdata_finalize_aggregate_list(), and qdata_finalize_analytic_func().
|
static |
Definition at line 4799 of file query_opfunc.c.
References ARG_FILE_LINE, db_make_double(), ER_ERROR_SEVERITY, ER_FAILED, ER_QPROC_OVERFLOW_MULTIPLICATION, er_set(), NO_ERROR, and OR_CHECK_DOUBLE_OVERFLOW.
Referenced by qdata_multiply_bigint_to_dbval(), qdata_multiply_double_to_dbval(), qdata_multiply_float_to_dbval(), qdata_multiply_int_to_dbval(), qdata_multiply_numeric_to_dbval(), and qdata_multiply_short_to_dbval().
|
static |
Definition at line 5000 of file query_opfunc.c.
References db_get_bigint(), db_get_double(), db_get_float(), db_get_int(), db_get_short(), DB_TYPE_BIGINT, DB_TYPE_DOUBLE, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_MONETARY, DB_TYPE_NUMERIC, DB_TYPE_SHORT, DB_VALUE_DOMAIN_TYPE, NO_ERROR, qdata_coerce_numeric_to_double(), qdata_multiply_double(), and qdata_multiply_monetary().
Referenced by qdata_multiply_dbval().
Definition at line 4781 of file query_opfunc.c.
References ARG_FILE_LINE, db_get_float(), db_make_float(), ER_ERROR_SEVERITY, ER_FAILED, ER_QPROC_OVERFLOW_MULTIPLICATION, er_set(), NO_ERROR, and OR_CHECK_FLOAT_OVERFLOW.
Referenced by qdata_multiply_bigint_to_dbval(), qdata_multiply_float_to_dbval(), qdata_multiply_int_to_dbval(), and qdata_multiply_short_to_dbval().
|
static |
Definition at line 4963 of file query_opfunc.c.
References db_get_bigint(), db_get_double(), db_get_float(), db_get_int(), db_get_short(), DB_TYPE_BIGINT, DB_TYPE_DOUBLE, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_MONETARY, DB_TYPE_NUMERIC, DB_TYPE_SHORT, DB_VALUE_DOMAIN_TYPE, NO_ERROR, qdata_coerce_numeric_to_double(), qdata_multiply_double(), qdata_multiply_float(), and qdata_multiply_monetary().
Referenced by qdata_multiply_dbval().
Definition at line 4743 of file query_opfunc.c.
References ARG_FILE_LINE, db_get_int(), db_make_int(), ER_ERROR_SEVERITY, ER_FAILED, ER_QPROC_OVERFLOW_MULTIPLICATION, er_set(), NO_ERROR, and OR_CHECK_MULT_OVERFLOW.
Referenced by qdata_multiply_int_to_dbval(), and qdata_multiply_short_to_dbval().
|
static |
Definition at line 4889 of file query_opfunc.c.
References db_get_double(), db_get_int(), db_get_short(), DB_TYPE_BIGINT, DB_TYPE_DOUBLE, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_MONETARY, DB_TYPE_NUMERIC, DB_TYPE_SHORT, DB_VALUE_DOMAIN_TYPE, NO_ERROR, qdata_multiply_bigint(), qdata_multiply_double(), qdata_multiply_float(), qdata_multiply_int(), qdata_multiply_monetary(), and qdata_multiply_numeric().
Referenced by qdata_multiply_dbval().
|
static |
Definition at line 4832 of file query_opfunc.c.
References ARG_FILE_LINE, db_get_monetary(), db_make_monetary(), ER_ERROR_SEVERITY, ER_FAILED, ER_QPROC_OVERFLOW_MULTIPLICATION, er_set(), NO_ERROR, and OR_CHECK_DOUBLE_OVERFLOW.
Referenced by qdata_multiply_bigint_to_dbval(), qdata_multiply_double_to_dbval(), qdata_multiply_float_to_dbval(), qdata_multiply_int_to_dbval(), qdata_multiply_monetary_to_dbval(), qdata_multiply_numeric_to_dbval(), and qdata_multiply_short_to_dbval().
|
static |
Definition at line 5078 of file query_opfunc.c.
References db_get_bigint(), db_get_double(), db_get_float(), db_get_int(), db_get_monetary(), db_get_short(), DB_TYPE_BIGINT, DB_TYPE_DOUBLE, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_MONETARY, DB_TYPE_NUMERIC, DB_TYPE_SHORT, DB_VALUE_DOMAIN_TYPE, NO_ERROR, qdata_coerce_numeric_to_double(), and qdata_multiply_monetary().
Referenced by qdata_multiply_dbval().
|
static |
Definition at line 4816 of file query_opfunc.c.
References ARG_FILE_LINE, ER_ERROR_SEVERITY, ER_FAILED, ER_QPROC_OVERFLOW_MULTIPLICATION, er_set(), NO_ERROR, numeric_db_value_mul(), and qdata_coerce_dbval_to_numeric().
Referenced by qdata_multiply_bigint_to_dbval(), qdata_multiply_int_to_dbval(), qdata_multiply_numeric_to_dbval(), and qdata_multiply_short_to_dbval().
|
static |
Definition at line 5040 of file query_opfunc.c.
References ARG_FILE_LINE, db_get_double(), db_get_float(), DB_TYPE_BIGINT, DB_TYPE_DOUBLE, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_MONETARY, DB_TYPE_NUMERIC, DB_TYPE_SHORT, DB_VALUE_DOMAIN_TYPE, ER_ERROR_SEVERITY, ER_FAILED, ER_QPROC_OVERFLOW_MULTIPLICATION, er_set(), NO_ERROR, numeric_db_value_mul(), qdata_coerce_numeric_to_double(), qdata_multiply_double(), qdata_multiply_monetary(), and qdata_multiply_numeric().
Referenced by qdata_multiply_dbval().
|
static |
Definition at line 5116 of file query_opfunc.c.
References assert, db_get_set(), DB_VALUE_DOMAIN_TYPE, ER_FAILED, NO_ERROR, NULL, set_intersection(), set_make_collection(), and TP_IS_SET_TYPE.
Referenced by qdata_multiply_dbval().
Definition at line 4723 of file query_opfunc.c.
References ARG_FILE_LINE, db_get_short(), db_make_short(), ER_ERROR_SEVERITY, ER_FAILED, ER_QPROC_OVERFLOW_MULTIPLICATION, er_set(), NO_ERROR, and OR_CHECK_MULT_OVERFLOW.
Referenced by qdata_multiply_short_to_dbval().
|
static |
Definition at line 4850 of file query_opfunc.c.
References db_get_double(), db_get_short(), DB_TYPE_BIGINT, DB_TYPE_DOUBLE, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_MONETARY, DB_TYPE_NUMERIC, DB_TYPE_SHORT, DB_VALUE_DOMAIN_TYPE, NO_ERROR, qdata_multiply_bigint(), qdata_multiply_double(), qdata_multiply_float(), qdata_multiply_int(), qdata_multiply_monetary(), qdata_multiply_numeric(), and qdata_multiply_short().
Referenced by qdata_multiply_dbval().
|
static |
Definition at line 8493 of file query_opfunc.c.
References assert, function_tmp_obj::compiled_regex, db_private_alloc, db_private_free, db_string_regexp_count(), db_string_regexp_instr(), db_string_regexp_like(), db_string_regexp_replace(), db_string_regexp_substr(), F_REGEXP_COUNT, F_REGEXP_INSTR, F_REGEXP_LIKE, F_REGEXP_REPLACE, F_REGEXP_SUBSTR, fetch_peek_dbval(), function_node::ftype, regu_variable_list_node::next, NO_ERROR, NULL, function_node::operand, function_node::tmp_obj, function_node::value, and regu_variable_list_node::value.
Referenced by qdata_evaluate_function().
int qdata_regu_list_to_regu_array | ( | function_node * | function_p, |
const int | array_size, | ||
regu_variable_node * | regu_array[], | ||
int * | num_regu | ||
) |
Definition at line 8206 of file query_opfunc.c.
References assert, ER_FAILED, i, regu_variable_list_node::next, NO_ERROR, NULL, function_node::operand, and regu_variable_list_node::value.
Referenced by fetch_peek_dbval(), and qdata_insert_substring_function().
int qdata_set_valptr_list_unbound | ( | THREAD_ENTRY * | thread_p, |
valptr_list_node * | valptr_list_p, | ||
val_descr * | val_desc_p | ||
) |
Definition at line 622 of file query_opfunc.c.
References DB_DEFAULT_PRECISION, DB_DEFAULT_SCALE, db_value_domain_init(), DB_VALUE_DOMAIN_TYPE, ER_FAILED, i, regu_variable_list_node::next, NO_ERROR, NULL, pr_clear_value(), qdata_get_dbval_from_constant_regu_variable(), REGU_VARIABLE_CLEAR_AT_CLONE_DECACHE, REGU_VARIABLE_IS_FLAGED(), valptr_list_node::valptr_cnt, valptr_list_node::valptrp, and regu_variable_list_node::value.
Referenced by qexec_end_buildvalueblock_iterations().
void qdata_set_value_list_to_null | ( | val_list_node * | val_list_p | ) |
Definition at line 280 of file query_opfunc.c.
References qproc_db_value_list::next, NULL, pr_clear_value(), qproc_db_value_list::val, and val_list_node::valp.
Referenced by qexec_execute_obj_fetch(), and scan_handle_single_scan().
int qdata_strcat_dbval | ( | DB_VALUE * | dbval1_p, |
DB_VALUE * | dbval2_p, | ||
DB_VALUE * | result_p, | ||
tp_domain * | domain_p | ||
) |
Definition at line 6027 of file query_opfunc.c.
References ARG_FILE_LINE, db_get_datetime(), db_get_timestamp(), DB_IS_NULL, db_make_datetimeltz(), db_make_null(), db_make_timestampltz(), DB_TYPE_BIGINT, DB_TYPE_BIT, DB_TYPE_CHAR, DB_TYPE_DATE, DB_TYPE_DATETIME, DB_TYPE_DATETIMELTZ, DB_TYPE_DATETIMETZ, DB_TYPE_DOUBLE, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_MONETARY, DB_TYPE_MULTISET, DB_TYPE_NCHAR, DB_TYPE_NULL, DB_TYPE_NUMERIC, DB_TYPE_SEQUENCE, DB_TYPE_SET, DB_TYPE_SHORT, DB_TYPE_TIME, DB_TYPE_TIMESTAMP, DB_TYPE_TIMESTAMPLTZ, DB_TYPE_TIMESTAMPTZ, DB_TYPE_VARBIT, DB_TYPE_VARCHAR, DB_TYPE_VARNCHAR, DB_VALUE_DOMAIN_TYPE, DOMAIN_COMPATIBLE, ER_ERROR_SEVERITY, ER_FAILED, ER_QPROC_INVALID_DATATYPE, er_set(), error(), NO_ERROR, NULL, pr_clear_value(), prm_get_bool_value(), PRM_ID_ORACLE_STYLE_EMPTY_STRING, qdata_add_bigint_to_dbval(), qdata_add_chars_to_dbval(), qdata_add_date_to_dbval(), qdata_add_datetime_to_dbval(), qdata_add_datetimetz_to_dbval(), qdata_add_double_to_dbval(), qdata_add_float_to_dbval(), qdata_add_int_to_dbval(), qdata_add_monetary_to_dbval(), qdata_add_numeric_to_dbval(), qdata_add_sequence_to_dbval(), qdata_add_short_to_dbval(), qdata_add_time_to_dbval(), qdata_add_timestamptz_to_dbval(), qdata_add_utime_to_dbval(), qdata_coerce_result_to_domain(), QSTR_IS_ANY_CHAR_OR_BIT, tp_domain_resolve_value(), tp_domain_status_er_set(), TP_DOMAIN_TYPE, TP_IS_CHAR_TYPE, TP_IS_DATE_OR_TIME_TYPE, TP_IS_NUMERIC_TYPE, TP_IS_SET_TYPE, and tp_value_auto_cast().
Referenced by fetch_peek_arith(), and qdata_add_dbval().
Definition at line 2925 of file query_opfunc.c.
References ARG_FILE_LINE, db_make_bigint(), ER_ERROR_SEVERITY, ER_FAILED, ER_QPROC_OVERFLOW_SUBTRACTION, er_set(), NO_ERROR, and OR_CHECK_SUB_UNDERFLOW.
Referenced by qdata_subtract_bigint_to_dbval(), qdata_subtract_int_to_dbval(), and qdata_subtract_short_to_dbval().
|
static |
Definition at line 3382 of file query_opfunc.c.
References ARG_FILE_LINE, db_date_decode(), db_get_bigint(), db_get_date(), db_get_double(), db_get_float(), db_get_int(), db_get_monetary(), db_get_short(), db_get_time(), db_get_timestamp(), db_get_timestamptz(), db_make_date(), db_make_timestampltz(), db_make_timestamptz(), DB_TYPE_BIGINT, DB_TYPE_DATE, DB_TYPE_DOUBLE, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_MONETARY, DB_TYPE_NUMERIC, DB_TYPE_SHORT, DB_TYPE_TIME, DB_TYPE_TIMESTAMP, DB_TYPE_TIMESTAMPLTZ, DB_TYPE_TIMESTAMPTZ, DB_VALUE_DOMAIN_TYPE, ER_ERROR_SEVERITY, ER_FAILED, ER_QPROC_DATE_UNDERFLOW, ER_QPROC_OVERFLOW_SUBTRACTION, er_set(), err, NO_ERROR, numeric_db_value_sub(), OR_CHECK_UNS_SUB_UNDERFLOW, qdata_coerce_dbval_to_numeric(), qdata_subtract_bigint(), qdata_subtract_double(), qdata_subtract_float(), qdata_subtract_monetary(), qdata_subtract_time(), qdata_subtract_utime(), SECONDS_OF_ONE_DAY, db_timestamptz::timestamp, db_timestamptz::tz_id, and tz_timestamptz_fix_zone().
Referenced by qdata_subtract_dbval(), qdata_subtract_int_to_dbval(), and qdata_subtract_short_to_dbval().
|
static |
Definition at line 4337 of file query_opfunc.c.
References ARG_FILE_LINE, db_date_decode(), DB_DATE_MIN, db_get_bigint(), db_get_date(), db_get_int(), db_get_short(), db_make_date(), db_make_int(), DB_TYPE_BIGINT, DB_TYPE_DATE, DB_TYPE_INTEGER, DB_TYPE_SHORT, DB_VALUE_DOMAIN_TYPE, ER_ERROR_SEVERITY, ER_FAILED, ER_QPROC_DATE_UNDERFLOW, er_set(), NO_ERROR, OR_CHECK_SUB_UNDERFLOW, OR_CHECK_UINT_OVERFLOW, OR_CHECK_UNS_SUB_UNDERFLOW, qdata_subtract_utime_to_bigint_asymmetry(), qdata_subtract_utime_to_int_asymmetry(), and qdata_subtract_utime_to_short_asymmetry().
Referenced by qdata_subtract_dbval().
|
static |
Definition at line 3118 of file query_opfunc.c.
References ARG_FILE_LINE, db_datetime::date, db_make_bigint(), ER_ERROR_SEVERITY, ER_FAILED, ER_QPROC_TIME_UNDERFLOW, er_set(), MILLISECONDS_OF_ONE_DAY, NO_ERROR, OR_CHECK_SUB_UNDERFLOW, and db_datetime::time.
Referenced by qdata_subtract_int_to_dbval(), qdata_subtract_timestamptz_to_dbval(), and qdata_subtract_utime_to_dbval().
|
static |
Definition at line 4025 of file query_opfunc.c.
References db_datetime::date, db_datetimetz::datetime, db_get_bigint(), db_get_date(), db_get_datetime(), db_get_datetimetz(), db_get_int(), db_get_short(), db_get_timestamp(), db_get_timestamptz(), db_make_bigint(), db_timestamp_decode_ses(), DB_TYPE_BIGINT, DB_TYPE_DATE, DB_TYPE_DATETIME, DB_TYPE_DATETIMELTZ, DB_TYPE_DATETIMETZ, DB_TYPE_INTEGER, DB_TYPE_SHORT, DB_TYPE_TIMESTAMP, DB_TYPE_TIMESTAMPLTZ, DB_TYPE_TIMESTAMPTZ, DB_VALUE_DOMAIN_TYPE, err, MILLISECONDS_OF_ONE_DAY, NO_ERROR, qdata_subtract_datetime_to_int(), qdata_subtract_datetime_to_int_asymmetry(), db_datetime::time, db_timestamptz::timestamp, tz_create_datetimetz_from_ses(), db_datetimetz::tz_id, and tz_utc_datetimetz_to_local().
Referenced by qdata_subtract_datetimetz_to_dbval(), and qdata_subtract_dbval().
|
static |
Definition at line 3102 of file query_opfunc.c.
References db_make_datetime(), db_subtract_int_from_datetime(), error(), and NO_ERROR.
Referenced by qdata_subtract_datetime_to_dbval().
|
static |
Definition at line 3137 of file query_opfunc.c.
References db_datetime::date, DB_BIGINT_MIN, db_make_bigint(), error(), MILLISECONDS_OF_ONE_DAY, NO_ERROR, qdata_add_dbval(), and db_datetime::time.
Referenced by qdata_subtract_datetime_to_dbval().
|
static |
Definition at line 4191 of file query_opfunc.c.
References db_datetime::date, db_datetimetz::datetime, db_get_date(), db_get_datetime(), db_get_datetimetz(), db_get_timestamp(), db_get_timestamptz(), db_make_bigint(), db_make_datetime(), db_make_datetimetz(), db_timestamp_decode_utc(), DB_TYPE_BIGINT, DB_TYPE_DATE, DB_TYPE_DATETIME, DB_TYPE_DATETIMELTZ, DB_TYPE_DATETIMETZ, DB_TYPE_INTEGER, DB_TYPE_SHORT, DB_TYPE_TIMESTAMP, DB_TYPE_TIMESTAMPLTZ, DB_TYPE_TIMESTAMPTZ, DB_VALUE_DOMAIN_TYPE, err, MILLISECONDS_OF_ONE_DAY, NO_ERROR, qdata_subtract_datetime_to_dbval(), db_datetime::time, db_timestamptz::timestamp, tp_domain_resolve_default(), tz_datetimetz_fix_zone(), db_datetimetz::tz_id, and tz_utc_datetimetz_to_local().
Referenced by qdata_subtract_dbval().
int qdata_subtract_dbval | ( | DB_VALUE * | dbval1_p, |
DB_VALUE * | dbval2_p, | ||
DB_VALUE * | result_p, | ||
tp_domain * | domain_p | ||
) |
Definition at line 4448 of file query_opfunc.c.
References ARG_FILE_LINE, db_datetimetz::datetime, db_get_datetime(), DB_IS_NULL, db_make_datetimetz(), db_make_null(), DB_TYPE_BIGINT, DB_TYPE_DATE, DB_TYPE_DATETIME, DB_TYPE_DATETIMELTZ, DB_TYPE_DATETIMETZ, DB_TYPE_DOUBLE, DB_TYPE_ENUMERATION, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_MONETARY, DB_TYPE_MULTISET, DB_TYPE_NULL, DB_TYPE_NUMERIC, DB_TYPE_SEQUENCE, DB_TYPE_SET, DB_TYPE_SHORT, DB_TYPE_SMALLINT, DB_TYPE_STRING, DB_TYPE_TIME, DB_TYPE_TIMESTAMP, DB_TYPE_TIMESTAMPLTZ, DB_TYPE_TIMESTAMPTZ, DB_VALUE_DOMAIN_TYPE, DOMAIN_COMPATIBLE, ER_ATTEMPT_TO_USE_ZERODATE, ER_ERROR_SEVERITY, ER_QPROC_INVALID_DATATYPE, er_set(), error(), NO_ERROR, NULL, prm_get_bool_value(), PRM_ID_RETURN_NULL_ON_FUNCTION_ERRORS, qdata_coerce_result_to_domain(), qdata_is_zero_value_date(), qdata_subtract_bigint_to_dbval(), qdata_subtract_date_to_dbval(), qdata_subtract_datetime_to_dbval(), qdata_subtract_datetimetz_to_dbval(), qdata_subtract_dbval(), qdata_subtract_double_to_dbval(), qdata_subtract_float_to_dbval(), qdata_subtract_int_to_dbval(), qdata_subtract_monetary_to_dbval(), qdata_subtract_numeric_to_dbval(), qdata_subtract_sequence_to_dbval(), qdata_subtract_short_to_dbval(), qdata_subtract_time_to_dbval(), qdata_subtract_timestampltz_to_dbval(), qdata_subtract_timestamptz_to_dbval(), qdata_subtract_utime_to_dbval(), tp_domain_resolve_default(), tp_domain_status_er_set(), TP_DOMAIN_TYPE, TP_IS_CHAR_TYPE, TP_IS_DATE_OR_TIME_TYPE, TP_IS_FLOATING_NUMBER_TYPE, TP_IS_NUMERIC_TYPE, TP_IS_SET_TYPE, tp_value_auto_cast(), tz_create_session_tzid_for_datetime(), and db_datetimetz::tz_id.
Referenced by fetch_peek_arith(), qdata_add_bigint_to_utime_asymmetry(), qdata_add_int_to_utime_asymmetry(), qdata_add_short_to_utime_asymmetry(), qdata_finalize_aggregate_list(), qdata_finalize_analytic_func(), qdata_subtract_dbval(), and qexec_get_orderbynum_upper_bound().
|
static |
Definition at line 2959 of file query_opfunc.c.
References ARG_FILE_LINE, db_make_double(), ER_ERROR_SEVERITY, ER_FAILED, ER_QPROC_OVERFLOW_SUBTRACTION, er_set(), NO_ERROR, and OR_CHECK_DOUBLE_OVERFLOW.
Referenced by qdata_subtract_bigint_to_dbval(), qdata_subtract_double_to_dbval(), qdata_subtract_float_to_dbval(), qdata_subtract_int_to_dbval(), qdata_subtract_numeric_to_dbval(), and qdata_subtract_short_to_dbval().
|
static |
Definition at line 3543 of file query_opfunc.c.
References db_get_bigint(), db_get_double(), db_get_float(), db_get_int(), db_get_monetary(), db_get_short(), DB_TYPE_BIGINT, DB_TYPE_DOUBLE, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_MONETARY, DB_TYPE_NUMERIC, DB_TYPE_SHORT, DB_VALUE_DOMAIN_TYPE, NO_ERROR, qdata_coerce_numeric_to_double(), qdata_subtract_double(), and qdata_subtract_monetary().
Referenced by qdata_subtract_dbval().
|
static |
Definition at line 2942 of file query_opfunc.c.
References ARG_FILE_LINE, db_make_float(), ER_ERROR_SEVERITY, ER_FAILED, ER_QPROC_OVERFLOW_SUBTRACTION, er_set(), NO_ERROR, and OR_CHECK_FLOAT_OVERFLOW.
Referenced by qdata_subtract_bigint_to_dbval(), qdata_subtract_float_to_dbval(), qdata_subtract_int_to_dbval(), and qdata_subtract_short_to_dbval().
|
static |
Definition at line 3503 of file query_opfunc.c.
References db_get_bigint(), db_get_double(), db_get_float(), db_get_int(), db_get_monetary(), db_get_short(), DB_TYPE_BIGINT, DB_TYPE_DOUBLE, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_MONETARY, DB_TYPE_NUMERIC, DB_TYPE_SHORT, DB_VALUE_DOMAIN_TYPE, NO_ERROR, qdata_coerce_numeric_to_double(), qdata_subtract_double(), qdata_subtract_float(), and qdata_subtract_monetary().
Referenced by qdata_subtract_dbval().
|
static |
Definition at line 2908 of file query_opfunc.c.
References ARG_FILE_LINE, db_make_int(), ER_ERROR_SEVERITY, ER_FAILED, ER_QPROC_OVERFLOW_SUBTRACTION, er_set(), NO_ERROR, and OR_CHECK_SUB_UNDERFLOW.
Referenced by qdata_subtract_int_to_dbval(), and qdata_subtract_short_to_dbval().
|
static |
Definition at line 3260 of file query_opfunc.c.
References ARG_FILE_LINE, db_datetime::date, db_datetimetz::datetime, db_date_decode(), db_get_bigint(), db_get_date(), db_get_datetime(), db_get_datetimetz(), db_get_double(), db_get_float(), db_get_int(), db_get_monetary(), db_get_short(), db_make_bigint(), db_make_date(), DB_TYPE_BIGINT, DB_TYPE_DATE, DB_TYPE_DATETIME, DB_TYPE_DATETIMELTZ, DB_TYPE_DATETIMETZ, DB_TYPE_DOUBLE, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_MONETARY, DB_TYPE_NUMERIC, DB_TYPE_SHORT, DB_TYPE_TIME, DB_TYPE_TIMESTAMP, DB_TYPE_TIMESTAMPLTZ, DB_TYPE_TIMESTAMPTZ, DB_VALUE_DOMAIN_TYPE, ER_ERROR_SEVERITY, ER_FAILED, ER_QPROC_DATE_UNDERFLOW, ER_QPROC_OVERFLOW_SUBTRACTION, er_set(), err, i, MILLISECONDS_OF_ONE_DAY, NO_ERROR, numeric_db_value_sub(), OR_CHECK_UNS_SUB_UNDERFLOW, qdata_coerce_dbval_to_numeric(), qdata_subtract_bigint(), qdata_subtract_bigint_to_dbval(), qdata_subtract_datetime(), qdata_subtract_double(), qdata_subtract_float(), qdata_subtract_int(), qdata_subtract_monetary(), db_datetime::time, tz_datetimeltz_to_local(), db_datetimetz::tz_id, and tz_utc_datetimetz_to_local().
Referenced by qdata_subtract_dbval(), and qdata_subtract_short_to_dbval().
|
static |
Definition at line 2976 of file query_opfunc.c.
References ARG_FILE_LINE, db_make_monetary(), ER_ERROR_SEVERITY, ER_FAILED, ER_QPROC_OVERFLOW_SUBTRACTION, er_set(), NO_ERROR, and OR_CHECK_DOUBLE_OVERFLOW.
Referenced by qdata_subtract_bigint_to_dbval(), qdata_subtract_double_to_dbval(), qdata_subtract_float_to_dbval(), qdata_subtract_int_to_dbval(), qdata_subtract_monetary_to_dbval(), qdata_subtract_numeric_to_dbval(), and qdata_subtract_short_to_dbval().
|
static |
Definition at line 3633 of file query_opfunc.c.
References db_get_bigint(), db_get_double(), db_get_float(), db_get_int(), db_get_monetary(), db_get_short(), DB_TYPE_BIGINT, DB_TYPE_DOUBLE, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_MONETARY, DB_TYPE_NUMERIC, DB_TYPE_SHORT, DB_VALUE_DOMAIN_TYPE, NO_ERROR, qdata_coerce_numeric_to_double(), and qdata_subtract_monetary().
Referenced by qdata_subtract_dbval().
|
static |
Definition at line 3583 of file query_opfunc.c.
References ARG_FILE_LINE, db_get_double(), db_get_float(), db_get_monetary(), DB_TYPE_BIGINT, DB_TYPE_DOUBLE, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_MONETARY, DB_TYPE_NUMERIC, DB_TYPE_SHORT, DB_VALUE_DOMAIN_TYPE, ER_ERROR_SEVERITY, ER_FAILED, ER_QPROC_OVERFLOW_SUBTRACTION, er_set(), NO_ERROR, numeric_db_value_sub(), qdata_coerce_dbval_to_numeric(), qdata_coerce_numeric_to_double(), qdata_subtract_double(), and qdata_subtract_monetary().
Referenced by qdata_subtract_dbval().
|
static |
Definition at line 3675 of file query_opfunc.c.
References assert, db_get_set(), DB_VALUE_DOMAIN_TYPE, ER_FAILED, NO_ERROR, NULL, set_difference(), set_make_collection(), and TP_IS_SET_TYPE.
Referenced by qdata_subtract_dbval().
|
static |
Definition at line 2891 of file query_opfunc.c.
References ARG_FILE_LINE, db_make_short(), ER_ERROR_SEVERITY, ER_FAILED, ER_QPROC_OVERFLOW_SUBTRACTION, er_set(), NO_ERROR, and OR_CHECK_SUB_UNDERFLOW.
Referenced by qdata_subtract_short_to_dbval().
|
static |
Definition at line 3162 of file query_opfunc.c.
References ARG_FILE_LINE, db_get_bigint(), db_get_date(), db_get_double(), db_get_float(), db_get_int(), db_get_monetary(), db_get_short(), db_get_time(), db_make_bigint(), db_make_int(), db_make_time(), db_time_decode(), DB_TYPE_BIGINT, DB_TYPE_DATE, DB_TYPE_DATETIME, DB_TYPE_DATETIMELTZ, DB_TYPE_DATETIMETZ, DB_TYPE_DOUBLE, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_MONETARY, DB_TYPE_NUMERIC, DB_TYPE_SHORT, DB_TYPE_TIME, DB_TYPE_TIMESTAMP, DB_TYPE_TIMESTAMPLTZ, DB_TYPE_TIMESTAMPTZ, DB_VALUE_DOMAIN_TYPE, ER_ERROR_SEVERITY, ER_FAILED, ER_QPROC_DATE_UNDERFLOW, ER_QPROC_OVERFLOW_SUBTRACTION, er_set(), err, NO_ERROR, numeric_db_value_sub(), OR_CHECK_UNS_SUB_UNDERFLOW, qdata_coerce_dbval_to_numeric(), qdata_subtract_bigint(), qdata_subtract_bigint_to_dbval(), qdata_subtract_double(), qdata_subtract_float(), qdata_subtract_int(), qdata_subtract_int_to_dbval(), qdata_subtract_monetary(), qdata_subtract_short(), qdata_subtract_time(), and SECONDS_OF_ONE_DAY.
Referenced by qdata_subtract_dbval().
Definition at line 2993 of file query_opfunc.c.
References db_make_time(), db_time_decode(), NO_ERROR, and SECONDS_OF_ONE_DAY.
Referenced by qdata_add_bigint_to_time(), qdata_subtract_bigint_to_dbval(), qdata_subtract_short_to_dbval(), and qdata_subtract_time_to_dbval().
|
static |
Definition at line 3705 of file query_opfunc.c.
References db_get_bigint(), db_get_int(), db_get_short(), db_get_time(), db_make_int(), DB_TYPE_BIGINT, DB_TYPE_INTEGER, DB_TYPE_SHORT, DB_TYPE_TIME, DB_VALUE_DOMAIN_TYPE, err, NO_ERROR, qdata_add_bigint_to_time(), qdata_subtract_time(), and SECONDS_OF_ONE_DAY.
Referenced by qdata_subtract_dbval().
|
static |
Definition at line 3843 of file query_opfunc.c.
References assert, db_get_timestamp(), db_make_timestamp(), db_make_timestampltz(), DB_TYPE_BIGINT, DB_TYPE_DATETIME, DB_TYPE_DATETIMELTZ, DB_TYPE_DATETIMETZ, DB_TYPE_INTEGER, DB_TYPE_SHORT, DB_TYPE_TIMESTAMP, DB_TYPE_TIMESTAMPLTZ, DB_TYPE_TIMESTAMPTZ, DB_VALUE_DOMAIN_TYPE, DB_VALUE_TYPE, err, db_value::need_clear, NO_ERROR, pr_clone_value(), qdata_subtract_utime_to_dbval(), and tp_domain_resolve_default().
Referenced by qdata_subtract_dbval().
|
static |
Definition at line 3893 of file query_opfunc.c.
References assert, db_value::data, db_datetime::date, db_datetimetz::datetime, db_get_bigint(), db_get_datetime(), db_get_datetimetz(), db_get_int(), db_get_short(), db_get_timestamp(), db_get_timestamptz(), db_make_int(), db_make_timestamptz(), db_timestamp_decode_utc(), db_timestamp_decode_w_tz_id(), DB_TYPE_BIGINT, DB_TYPE_DATETIME, DB_TYPE_DATETIMELTZ, DB_TYPE_DATETIMETZ, DB_TYPE_INTEGER, DB_TYPE_SHORT, DB_TYPE_TIMESTAMP, DB_TYPE_TIMESTAMPLTZ, DB_TYPE_TIMESTAMPTZ, DB_VALUE_DOMAIN_TYPE, DB_VALUE_TYPE, err, NO_ERROR, NULL, qdata_subtract_datetime(), qdata_subtract_utime(), qdata_subtract_utime_to_bigint_asymmetry(), qdata_subtract_utime_to_int_asymmetry(), qdata_subtract_utime_to_short_asymmetry(), db_datetime::time, db_timestamptz::timestamp, db_timestamptz::tz_id, tz_timestamptz_fix_zone(), and db_data::utime.
Referenced by qdata_subtract_dbval().
Definition at line 3011 of file query_opfunc.c.
References ARG_FILE_LINE, db_make_timestamp(), ER_ERROR_SEVERITY, ER_FAILED, ER_QPROC_TIME_UNDERFLOW, er_set(), NO_ERROR, and OR_CHECK_UNS_SUB_UNDERFLOW.
Referenced by qdata_subtract_bigint_to_dbval(), qdata_subtract_timestamptz_to_dbval(), and qdata_subtract_utime_to_dbval().
|
static |
Definition at line 3077 of file query_opfunc.c.
References ARG_FILE_LINE, DB_BIGINT_MIN, db_make_bigint(), DB_UINT32_MAX, ER_ERROR_SEVERITY, ER_QPROC_OVERFLOW_ADDITION, er_set(), error(), NO_ERROR, and qdata_add_dbval().
Referenced by qdata_subtract_date_to_dbval(), qdata_subtract_timestamptz_to_dbval(), and qdata_subtract_utime_to_dbval().
|
static |
Definition at line 3754 of file query_opfunc.c.
References db_datetime::date, db_datetimetz::datetime, db_get_bigint(), db_get_datetime(), db_get_datetimetz(), db_get_int(), db_get_short(), db_get_timestamp(), db_get_timestamptz(), db_make_int(), db_timestamp_decode_ses(), db_timestamp_decode_utc(), DB_TYPE_BIGINT, DB_TYPE_DATETIME, DB_TYPE_DATETIMELTZ, DB_TYPE_DATETIMETZ, DB_TYPE_INTEGER, DB_TYPE_SHORT, DB_TYPE_TIMESTAMP, DB_TYPE_TIMESTAMPLTZ, DB_TYPE_TIMESTAMPTZ, DB_VALUE_DOMAIN_TYPE, NO_ERROR, qdata_subtract_datetime(), qdata_subtract_utime(), qdata_subtract_utime_to_bigint_asymmetry(), qdata_subtract_utime_to_int_asymmetry(), qdata_subtract_utime_to_short_asymmetry(), db_datetime::time, and db_timestamptz::timestamp.
Referenced by qdata_subtract_dbval(), and qdata_subtract_timestampltz_to_dbval().
|
static |
Definition at line 3052 of file query_opfunc.c.
References ARG_FILE_LINE, DB_INT32_MIN, db_make_int(), DB_UINT32_MAX, ER_ERROR_SEVERITY, ER_QPROC_OVERFLOW_ADDITION, er_set(), error(), NO_ERROR, and qdata_add_dbval().
Referenced by qdata_subtract_date_to_dbval(), qdata_subtract_timestamptz_to_dbval(), and qdata_subtract_utime_to_dbval().
|
static |
Definition at line 3027 of file query_opfunc.c.
References ARG_FILE_LINE, DB_INT16_MIN, db_make_short(), DB_UINT32_MAX, ER_ERROR_SEVERITY, ER_QPROC_OVERFLOW_ADDITION, er_set(), error(), NO_ERROR, and qdata_add_dbval().
Referenced by qdata_subtract_date_to_dbval(), qdata_subtract_timestamptz_to_dbval(), and qdata_subtract_utime_to_dbval().
int qdata_tuple_to_values_array | ( | THREAD_ENTRY * | thread_p, |
qfile_tuple_descriptor * | tuple, | ||
DB_VALUE ** | values | ||
) |
Definition at line 8713 of file query_opfunc.c.
References assert_release, db_private_alloc, db_private_free, ER_FAILED, error(), qfile_tuple_descriptor::f_cnt, qfile_tuple_descriptor::f_valp, i, NO_ERROR, NULL, pr_clear_value(), and pr_clone_value().
Referenced by qexec_add_tuple_to_topn().
Definition at line 5900 of file query_opfunc.c.
References ARG_FILE_LINE, assert, DB_BIGINT_MIN, db_get_bigint(), db_get_double(), db_get_float(), db_get_int(), db_get_monetary(), db_get_numeric(), db_get_short(), DB_IS_NULL, db_make_bigint(), db_make_double(), db_make_float(), db_make_int(), db_make_monetary(), db_make_numeric(), db_make_short(), DB_TYPE_BIGINT, DB_TYPE_CHAR, DB_TYPE_DOUBLE, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_MONETARY, DB_TYPE_NCHAR, DB_TYPE_NULL, DB_TYPE_NUMERIC, DB_TYPE_SHORT, DB_TYPE_VARCHAR, DB_TYPE_VARNCHAR, DB_VALUE_DOMAIN_TYPE, DB_VALUE_PRECISION, DB_VALUE_SCALE, ER_ERROR_SEVERITY, ER_FAILED, ER_QPROC_INVALID_DATATYPE, ER_QPROC_OVERFLOW_UMINUS, er_set(), NO_ERROR, numeric_db_value_negate(), prm_get_bool_value(), PRM_ID_RETURN_NULL_ON_FUNCTION_ERRORS, and tp_value_str_auto_cast_to_number().
Referenced by fetch_peek_arith().
int qdata_update_interpolation_func_value_and_domain | ( | DB_VALUE * | src_val, |
DB_VALUE * | dest_val, | ||
TP_DOMAIN ** | domain | ||
) |
Definition at line 9290 of file query_opfunc.c.
References assert, DB_TYPE_DATETIME, DB_TYPE_DOUBLE, DB_TYPE_TIME, DOMAIN_COMPATIBLE, ER_ARG_CAN_NOT_BE_CASTED_TO_DESIRED_DOMAIN, error(), NO_ERROR, NULL, tp_domain_resolve_default(), and tp_value_cast().
Referenced by qdata_apply_interpolation_function_coercion(), qdata_interpolation_function_values(), qdata_update_agg_interpolation_func_value_and_domain(), and qfile_compare_with_interpolation_domain().