CUBRID Engine
latest
|
#include "config.h"
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include "db_query.h"
#include "error_manager.h"
#include "storage_common.h"
#include "object_representation.h"
#include "object_primitive.h"
#include "db.h"
#include "schema_manager.h"
#include "server_interface.h"
#include "system_parameter.h"
#include "xasl_generation.h"
#include "network_interface_cl.h"
#include "transaction_cl.h"
#include "dbtype.h"
Go to the source code of this file.
Classes | |
struct | alloc_resource |
Macros | |
#define | DB_OID_INCLUDED(r) ((r)->oid_included == true) |
#define | DB_INVALID_INDEX(i, cnt) ((i) < 0 || (i) >= (cnt)) |
#define | DB_INVALID_RESTYPE(t) |
#define | PLAN_BUF_INITIAL_LENGTH (1024) |
Variables | |
struct { | |
int qres_cnt | |
int qres_closed_cnt | |
int entry_cnt | |
DB_QUERY_RESULT ** qres_list | |
struct alloc_resource alloc_res | |
} | Qres_table |
static const int | QP_QRES_LIST_INIT_CNT = 10 |
static const float | QP_QRES_LIST_INC_RATE = 1.25f |
static char * | db_Execution_plan = NULL |
static int | db_Execution_plan_length = -1 |
Definition at line 47 of file db_query.c.
Referenced by db_query_get_tuple_oid(), db_query_get_tuple_value(), and db_query_get_tuple_valuelist().
#define DB_INVALID_RESTYPE | ( | t | ) |
Definition at line 48 of file db_query.c.
Referenced by db_alloc_query_result(), db_init_query_result(), db_query_column_count(), and db_query_get_tuple_oid().
#define DB_OID_INCLUDED | ( | r | ) | ((r)->oid_included == true) |
Definition at line 46 of file db_query.c.
Referenced by db_query_column_count(), db_query_get_tuple_oid(), db_query_get_tuple_value(), and db_query_get_tuple_valuelist().
#define PLAN_BUF_INITIAL_LENGTH (1024) |
Definition at line 54 of file db_query.c.
Referenced by db_set_execution_plan().
|
static |
Definition at line 101 of file db_query.c.
References ARG_FILE_LINE, DB_SIZEOF, ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), db_query_result::next, NULL, and Qres_table.
Referenced by db_alloc_query_result().
DB_QUERY_TYPE* db_alloc_query_format | ( | int | cnt | ) |
Definition at line 807 of file db_query.c.
References ARG_FILE_LINE, db_query_type::attr_name, db_query_type::col_type, DB_COL_OTHER, db_free_query_format(), DB_SIZEOF, db_query_type::db_type, DB_TYPE_NULL, db_query_type::domain, ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), db_query_type::name, db_query_type::next, NULL, db_query_type::original_name, p, db_query_type::size, db_query_type::spec_name, db_query_type::src_domain, USER_COLUMN, and db_query_type::visible_type.
Referenced by db_cp_query_type(), db_execute_oid(), db_get_db_value_query_result(), db_get_query_type_list(), db_object_describe(), and db_object_fetch().
DB_QUERY_RESULT* db_alloc_query_result | ( | DB_RESULT_TYPE | r_type, |
int | col_cnt | ||
) |
Definition at line 868 of file db_query.c.
References allocate_query_result(), ARG_FILE_LINE, db_query_result::c, db_free_query_result(), DB_INVALID_RESTYPE, db_make_null(), DB_SIZEOF, ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, ER_QPROC_INVALID_RESTYPE, er_set(), db_query_result::g, NULL, db_query_result::o, QP_QRES_LIST_INC_RATE, QP_QRES_LIST_INIT_CNT, Qres_table, db_query_result::qtable_ind, db_query_result::query_type, db_query_result::res, T_CALL, T_GET, T_OBJFETCH, T_SELECT, db_get_result::tpl_list, db_query_result::type_cnt, db_call_result::val_ptr, and db_objfetch_result::valptr_list.
Referenced by db_execute_oid(), db_get_db_value_query_result(), db_object_fetch(), pt_make_cache_hit_result_descriptor(), and pt_new_query_result_descriptor().
void db_clear_client_query_result | ( | int | notify_server, |
bool | end_holdable | ||
) |
Definition at line 1208 of file db_query.c.
References db_query_end_internal(), NULL, Qres_table, and T_SELECT.
Referenced by tran_2pc_prepare(), tran_2pc_prepare_global_tran(), tran_abort(), tran_abort_only_client(), and tran_commit().
DB_QUERY_TYPE* db_cp_query_type | ( | DB_QUERY_TYPE * | query_type, |
int | copy_only_user | ||
) |
Definition at line 1329 of file db_query.c.
References ARG_FILE_LINE, db_query_type::attr_name, CHECK_CONNECT_NULL, db_alloc_query_format(), db_cp_query_type_helper(), db_free_query_format(), db_query_type::db_type, db_query_type::domain, ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), db_query_type::name, db_query_type::next, NULL, db_query_type::original_name, db_query_type::size, sm_domain_copy(), db_query_type::spec_name, db_query_type::src_domain, strlen, SYSTEM_ADDED_COLUMN, USER_COLUMN, and db_query_type::visible_type.
Referenced by db_execute_and_keep_statement_local(), db_get_query_result_format(), and db_get_query_type_list().
|
static |
Definition at line 1238 of file db_query.c.
References ARG_FILE_LINE, assert, db_query_type::attr_name, db_query_type::col_type, db_query_type::db_type, DB_TYPE_VARIABLE, db_query_type::domain, ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), db_query_type::name, NULL, db_query_type::original_name, db_query_type::size, sm_domain_copy(), db_query_type::spec_name, db_query_type::src_domain, strlen, TP_DOMAIN_COLL_NORMAL, TP_DOMAIN_COLLATION_FLAG, tp_domain_resolve_default(), TP_TYPE_HAS_COLLATION, and db_query_type::visible_type.
Referenced by db_cp_query_type().
int db_execute | ( | const char * | CSQL_query, |
DB_QUERY_RESULT ** | result, | ||
DB_QUERY_ERROR * | query_error | ||
) |
Definition at line 1836 of file db_query.c.
References db_compile_and_execute_queries_internal(), and DB_NO_OIDS.
Referenced by chksum_calculate_checksum(), chksum_drop_and_create_checksum_table(), chksum_get_next_lower_bound(), chksum_get_prev_checksum_results(), chksum_insert_schema_definition(), chksum_report_diff(), chksum_report_schema_diff(), chksum_report_summary(), chksum_update_current_schema_definition(), chksum_update_master_checksum(), delete_all_ha_apply_info(), get_codeset_from_db_root(), and la_update_query_execute().
int db_execute_oid | ( | const char * | CSQL_query, |
DB_QUERY_RESULT ** | result, | ||
DB_QUERY_ERROR * | query_error | ||
) |
Definition at line 1852 of file db_query.c.
References ARG_FILE_LINE, db_query_type::attr_name, C_BEFORE, CHECK_1ARG_NULL, CHECK_CONNECT_NULL, db_query_result::col_cnt, db_objfetch_result::crs_pos, db_alloc_query_format(), db_alloc_query_result(), db_compile_and_execute_queries_internal(), db_free_query_result(), db_init_query_result(), DB_NO_OIDS, DB_ROW_OIDS, db_query_type::db_type, db_value_copy(), DB_VALUE_TYPE, db_query_type::domain, ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), db_query_type::name, NULL, db_query_result::o, db_query_result::oid_included, db_query_type::original_name, db_query_result::query_type, db_query_result::res, db_query_type::size, db_query_type::spec_name, db_query_type::src_domain, strlen, T_OBJFETCH, db_query_result::type, db_query_result::type_cnt, and db_objfetch_result::valptr_list.
int db_execute_with_values | ( | const char * | CSQL_query, |
DB_QUERY_RESULT ** | result, | ||
DB_QUERY_ERROR * | query_error, | ||
int | arg_count, | ||
DB_VALUE * | vals | ||
) |
Definition at line 1511 of file db_query.c.
References db_close_session_local(), db_execute_statement_local(), DB_NO_OIDS, db_open_buffer_and_compile_first_statement(), db_push_values(), error(), and NULL.
Referenced by delete_all_slave_ha_apply_info(), insert_ha_apply_info(), la_get_ha_apply_info(), and la_update_query_execute_with_values().
void db_free_execution_plan | ( | void | ) |
Definition at line 3638 of file db_query.c.
References db_Execution_plan, db_Execution_plan_length, free_and_init, and NULL.
Referenced by db_shutdown().
void db_free_query_format | ( | DB_QUERY_TYPE * | q | ) |
Definition at line 154 of file db_query.c.
References db_query_type::attr_name, free_and_init, db_query_type::name, db_query_type::next, NULL, db_query_type::original_name, p, sm_domain_free(), db_query_type::spec_name, and db_query_type::src_domain.
Referenced by db_alloc_query_format(), db_close_session_local(), db_cp_query_type(), db_free_query_result(), db_object_describe(), db_parse_one_statement(), db_query_format_free(), do_create_entity(), pt_check_partitions(), pt_fillin_type_size(), pt_get_select_query_columns(), and pt_get_titles().
void db_free_query_result | ( | DB_QUERY_RESULT * | r | ) |
Definition at line 727 of file db_query.c.
References db_query_result::c, db_query_result::col_cnt, db_free_query_format(), db_value_clear(), db_value_free(), free_and_init, free_query_result(), db_query_result::g, db_get_result::n_tuple, NULL, db_query_result::o, Qres_table, db_query_result::qtable_ind, db_query_result::query_type, db_query_result::res, db_query_result::status, T_CALL, T_CLOSED, T_GET, T_OBJFETCH, T_SELECT, db_get_result::tpl_list, db_query_result::type, db_call_result::val_ptr, and db_objfetch_result::valptr_list.
Referenced by db_alloc_query_result(), db_execute_oid(), db_get_db_value_query_result(), db_object_fetch(), db_query_end_internal(), and pt_new_query_result_descriptor().
DB_QUERY_RESULT* db_get_db_value_query_result | ( | DB_VALUE * | val | ) |
Definition at line 1998 of file db_query.c.
References db_query_type::attr_name, db_query_result::c, C_BEFORE, CHECK_1ARG_NULL, CHECK_CONNECT_NULL, db_query_result::col_cnt, db_call_result::crs_pos, db_alloc_query_format(), db_alloc_query_result(), db_free_query_result(), db_init_query_result(), db_query_type::db_type, db_value_copy(), DB_VALUE_TYPE, db_query_type::domain, db_query_type::name, NULL, db_query_result::oid_included, db_query_type::original_name, db_query_result::query_type, db_query_result::res, db_query_type::size, db_query_type::spec_name, db_query_type::src_domain, T_CALL, db_query_result::type, db_query_result::type_cnt, and db_call_result::val_ptr.
Referenced by db_execute_and_keep_statement_local(), and uci_static().
char* db_get_execution_plan | ( | void | ) |
Definition at line 3621 of file db_query.c.
References db_Execution_plan, and NULL.
Referenced by fn_execute_array(), and fn_execute_internal().
int db_get_query_format | ( | const char * | CSQL_query, |
DB_QUERY_TYPE ** | result, | ||
DB_QUERY_ERROR * | query_error | ||
) |
Definition at line 1558 of file db_query.c.
References db_compile_and_execute_queries_internal(), DB_NO_OIDS, error(), and NO_ERROR.
int db_get_query_result_format | ( | DB_QUERY_RESULT * | result, |
DB_QUERY_TYPE ** | type_list | ||
) |
Definition at line 2055 of file db_query.c.
References ARG_FILE_LINE, assert, CHECK_1ARG_ERROR, CHECK_CONNECT_ERROR, db_cp_query_type(), er_errid(), ER_ERROR_SEVERITY, ER_QPROC_OPR_ON_CLOSED_QRES, er_set(), NO_ERROR, NULL, db_query_result::query_type, db_query_result::status, and T_CLOSED.
void db_init_prepare_info | ( | DB_PREPARE_INFO * | info | ) |
Definition at line 411 of file db_query.c.
References assert, db_prepare_info::auto_param_count, db_prepare_info::columns, db_prepare_info::host_var_expected_domains, db_prepare_info::host_variables, db_prepare_info::into_count, db_prepare_info::into_list, NULL, db_prepare_info::oids_included, db_prepare_info::recompile, db_value_array::size, db_prepare_info::statement, and db_value_array::vals.
Referenced by do_get_prepared_statement_info(), and do_process_prepare_statement().
void db_init_query_result | ( | DB_QUERY_RESULT * | r, |
DB_RESULT_TYPE | r_type | ||
) |
Definition at line 1011 of file db_query.c.
References ARG_FILE_LINE, db_query_result::c, C_BEFORE, db_select_result::cache_time, CACHE_TIME_RESET, db_query_result::col_cnt, db_call_result::crs_pos, db_objfetch_result::crs_pos, db_get_result::crs_pos, db_select_result::cursor_id, DB_INVALID_RESTYPE, DB_SIZEOF, ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, ER_QPROC_INVALID_RESTYPE, er_set(), db_query_result::g, i, cursor_id::list_id, db_get_result::n_tuple, db_query_result::next, NULL, db_query_result::o, db_query_result::oid_included, db_select_result::query_id, db_query_result::res, db_query_result::s, sm_domain_copy(), db_query_result::status, db_select_result::stmt_id, db_select_result::stmt_type, strlen, T_CALL, T_CLOSED, T_GET, T_OBJFETCH, T_OPEN, T_SELECT, db_get_result::tpl_idx, qfile_list_id::tuple_cnt, and db_query_result::type.
Referenced by db_execute_oid(), db_get_db_value_query_result(), db_object_fetch(), pt_make_cache_hit_result_descriptor(), and pt_new_query_result_descriptor().
bool db_is_client_cache_reusable | ( | DB_QUERY_RESULT * | result | ) |
Definition at line 3432 of file db_query.c.
References T_CACHE_HIT, and db_query_result::type.
Referenced by ux_execute(), and ux_execute_all().
int db_pack_prepare_info | ( | const DB_PREPARE_INFO * | info, |
char ** | buffer | ||
) |
Definition at line 433 of file db_query.c.
References ARG_FILE_LINE, assert, db_prepare_info::auto_param_count, db_prepare_info::columns, ER_ERROR_SEVERITY, ER_FAILED, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), db_prepare_info::host_var_expected_domains, db_prepare_info::host_variables, i, db_prepare_info::into_count, db_prepare_info::into_list, NULL, db_prepare_info::oids_included, OR_INT_SIZE, or_pack_db_value(), or_pack_domain(), or_pack_int(), or_pack_query_format(), or_pack_string(), or_pack_string_with_length(), or_packed_domain_size(), or_packed_query_format_size(), or_packed_string_length(), OR_VALUE_ALIGNED_SIZE, db_prepare_info::recompile, db_value_array::size, db_prepare_info::statement, db_prepare_info::stmt_type, and db_value_array::vals.
Referenced by do_process_prepare_statement().
int db_query_column_count | ( | DB_QUERY_RESULT * | result | ) |
Definition at line 3134 of file db_query.c.
References ARG_FILE_LINE, CHECK_1ARG_MINUSONE, db_query_result::col_cnt, DB_INVALID_RESTYPE, DB_OID_INCLUDED, ER_ERROR_SEVERITY, ER_QPROC_INVALID_RESTYPE, ER_QPROC_OPR_ON_CLOSED_QRES, er_set(), db_query_result::res, db_query_result::s, db_query_result::status, db_select_result::stmt_id, T_CLOSED, and db_query_result::type.
Referenced by chksum_get_next_lower_bound(), cur_tuple(), la_get_ha_apply_info(), uci_execute(), uci_fetch_cs(), uci_object_fetch(), and uci_static().
int db_query_end | ( | DB_QUERY_RESULT * | result | ) |
Definition at line 3362 of file db_query.c.
References db_query_end_internal(), and tran_was_latest_query_ended().
Referenced by au_compute_groups(), au_delete_auth_of_dropping_table(), au_drop_user(), au_dump_auth(), au_dump_to_file(), au_dump_user(), au_export_users(), au_find_user(), au_get_new_auth(), build_class_grant_list(), chksum_calculate_checksum(), chksum_drop_and_create_checksum_table(), chksum_get_next_lower_bound(), chksum_get_prev_checksum_results(), chksum_insert_schema_definition(), chksum_report_diff(), chksum_report_schema_diff(), chksum_report_summary(), chksum_update_current_schema_definition(), chksum_update_master_checksum(), collect_class_grants(), csql_display_trace(), csql_execute_statements(), db_validate(), delete_all_ha_apply_info(), delete_all_slave_ha_apply_info(), do_check_rows_for_null(), do_redistribute_partitions_data(), export_serial(), fn_get_query_info(), free_cursor(), get_codeset_from_db_root(), insert_ha_apply_info(), la_get_ha_apply_info(), la_update_query_execute(), la_update_query_execute_with_values(), ldr_exec_query_from_file(), rs_destroyf(), sch_query_execute(), stmt_exec_batch_query_internal(), stmt_exec_prepared_batch_internal(), synccoll_check(), tzc_compute_timezone_checksum(), uci_end(), uci_execute_immediate(), ux_execute_all(), ux_execute_array(), ux_execute_batch(), ux_free_result(), ux_next_result(), and vid_getall_mops().
int db_query_end_internal | ( | DB_QUERY_RESULT * | result, |
bool | notify_server | ||
) |
Definition at line 3473 of file db_query.c.
References ARG_FILE_LINE, assert, cursor_close(), db_select_result::cursor_id, db_Connect_status, DB_CONNECTION_STATUS_CONNECTED, db_free_query_result(), er_errid(), ER_ERROR_SEVERITY, ER_OBJ_NO_CONNECT, er_set(), error(), NO_ERROR, qmgr_end_query(), db_select_result::query_id, db_query_result::res, db_query_result::s, db_query_result::status, T_CLOSED, T_SELECT, and db_query_result::type.
Referenced by db_clear_client_query_result(), and db_query_end().
int db_query_execute | ( | const char * | CSQL_query, |
DB_QUERY_RESULT ** | result, | ||
DB_QUERY_ERROR * | query_error | ||
) |
Definition at line 1808 of file db_query.c.
References db_compile_and_execute_queries_internal(), DB_NO_OIDS, error(), and NO_ERROR.
int db_query_first_tuple | ( | DB_QUERY_RESULT * | result | ) |
Definition at line 2309 of file db_query.c.
References ARG_FILE_LINE, db_query_result::c, C_ON, CHECK_1ARG_ERROR, CHECK_CONNECT_ERROR, db_call_result::crs_pos, db_objfetch_result::crs_pos, db_get_result::crs_pos, cursor_first_tuple(), db_select_result::cursor_id, DB_CURSOR_END, DB_CURSOR_SUCCESS, ER_ERROR_SEVERITY, ER_QPROC_INVALID_RESTYPE, ER_QPROC_OPR_ON_CLOSED_QRES, er_set(), db_query_result::g, db_get_result::n_tuple, db_query_result::o, db_query_result::res, db_query_result::s, db_query_result::status, T_CALL, T_CLOSED, T_GET, T_OBJFETCH, T_SELECT, db_get_result::tpl_idx, and db_query_result::type.
Referenced by au_drop_user(), au_dump_to_file(), au_export_users(), au_find_user(), au_get_new_auth(), chksum_get_prev_checksum_results(), chksum_report_diff(), chksum_report_schema_diff(), chksum_report_summary(), chksum_update_master_checksum(), csql_display_trace(), csql_results(), db_query_seek_tuple(), do_check_rows_for_null(), export_serial(), fetch_result(), la_get_ha_apply_info(), uci_execute(), uci_object_fetch(), uci_static(), and write_results_to_stream().
char* db_query_format_attr_name | ( | DB_QUERY_TYPE * | query_type | ) |
Definition at line 1622 of file db_query.c.
References db_query_type::attr_name, and CHECK_1ARG_NULL.
Referenced by prepare_column_list_info_set().
const char* db_query_format_class_name | ( | DB_QUERY_TYPE * | query_type | ) |
Definition at line 1740 of file db_query.c.
References CHECK_1ARG_NULL, tp_domain::class_mop, db_get_class_name(), db_query_format_src_domain(), and NULL.
Referenced by prepare_column_list_info_set(), and ux_make_out_rs().
DB_COL_TYPE db_query_format_col_type | ( | DB_QUERY_TYPE * | query_type | ) |
Definition at line 1590 of file db_query.c.
References CHECK_1ARG_RETURN_EXPR, db_query_type::col_type, and DB_COL_OTHER.
Referenced by prepare_column_list_info_set().
SM_DOMAIN* db_query_format_domain | ( | DB_QUERY_TYPE * | query_type | ) |
Definition at line 1661 of file db_query.c.
References CHECK_1ARG_NULL, and db_query_type::domain.
Referenced by copy_column_spec_to_sqlda(), prepare_column_list_info_set(), and ux_make_out_rs().
void db_query_format_free | ( | DB_QUERY_TYPE * | query_type | ) |
Definition at line 1723 of file db_query.c.
References db_free_query_format(), and NULL.
Referenced by alloc_dynamic(), free_attr_spec(), free_dynamic(), hm_qresult_end(), prepare_column_list_info_set(), uci_object_describe(), and uci_prepare().
int db_query_format_is_non_null | ( | DB_QUERY_TYPE * | query_type | ) |
Definition at line 1766 of file db_query.c.
References db_query_type::attr_name, CHECK_1ARG_RETURN_EXPR, tp_domain::class_mop, db_attribute_is_non_null(), db_get_attribute(), db_query_format_src_domain(), ER_OBJ_INVALID_ARGUMENT, and NULL.
Referenced by prepare_column_list_info_set(), and ux_make_out_rs().
char* db_query_format_name | ( | DB_QUERY_TYPE * | query_type | ) |
Definition at line 1609 of file db_query.c.
References CHECK_1ARG_NULL, and db_query_type::name.
Referenced by copy_column_spec_to_sqlda(), create_select_to_insert_into(), csql_results(), do_add_attribute_from_select_column(), do_add_attributes(), prepare_column_list_info_set(), query_get_column_with_name(), and ux_make_out_rs().
DB_QUERY_TYPE* db_query_format_next | ( | DB_QUERY_TYPE * | query_type | ) |
Definition at line 1577 of file db_query.c.
References CHECK_1ARG_NULL, and db_query_type::next.
Referenced by copy_column_spec_to_sqlda(), create_select_to_insert_into(), csql_results(), do_add_attributes(), do_create_entity(), prepare_column_list_info_set(), pt_check_partitions(), query_get_column_with_name(), and ux_make_out_rs().
char* db_query_format_original_name | ( | DB_QUERY_TYPE * | query_type | ) |
Definition at line 1648 of file db_query.c.
References CHECK_1ARG_NULL, and db_query_type::original_name.
Referenced by prepare_column_list_info_set(), and ux_make_out_rs().
int db_query_format_size | ( | DB_QUERY_TYPE * | query_type | ) |
Definition at line 1704 of file db_query.c.
References CHECK_1ARG_MINUSONE, and db_query_type::size.
Referenced by copy_column_spec_to_sqlda().
char* db_query_format_spec_name | ( | DB_QUERY_TYPE * | query_type | ) |
Definition at line 1635 of file db_query.c.
References CHECK_1ARG_NULL, and db_query_type::spec_name.
SM_DOMAIN* db_query_format_src_domain | ( | DB_QUERY_TYPE * | query_type | ) |
Definition at line 1675 of file db_query.c.
References CHECK_1ARG_NULL, and db_query_type::src_domain.
Referenced by db_query_format_class_name(), and db_query_format_is_non_null().
DB_TYPE db_query_format_type | ( | DB_QUERY_TYPE * | query_type | ) |
Definition at line 1690 of file db_query.c.
References CHECK_1ARG_RETURN_EXPR, db_query_type::db_type, and DB_TYPE_NULL.
Referenced by csql_results().
void db_query_free_tplpos | ( | DB_QUERY_TPLPOS * | tplpos | ) |
Definition at line 2858 of file db_query.c.
References free_and_init.
Referenced by db_query_seek_tuple().
int db_query_get_cache_time | ( | DB_QUERY_RESULT * | result, |
CACHE_TIME * | cache_time | ||
) |
Definition at line 3451 of file db_query.c.
References db_select_result::cache_time, CACHE_TIME_RESET, NO_ERROR, NULL, db_query_result::res, db_query_result::s, db_query_result::status, T_CLOSED, T_SELECT, and db_query_result::type.
Referenced by execute_info_set().
DB_QUERY_TPLPOS* db_query_get_tplpos | ( | DB_QUERY_RESULT * | result | ) |
Definition at line 2737 of file db_query.c.
References ARG_FILE_LINE, db_query_result::c, CHECK_1ARG_NULL, CHECK_CONNECT_NULL, db_query_result::col_cnt, db_call_result::crs_pos, db_objfetch_result::crs_pos, db_get_result::crs_pos, db_query_tplpos::crs_pos, cursor_id::current_tuple_no, cursor_id::current_tuple_offset, cursor_id::current_vpid, db_select_result::cursor_id, DB_SIZEOF, ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, ER_QPROC_INVALID_RESTYPE, ER_QPROC_OPR_ON_CLOSED_QRES, er_set(), free_and_init, db_query_result::g, db_get_result::n_tuple, NULL, db_query_result::o, vpid::pageid, cursor_id::position, db_query_result::res, db_query_result::s, db_query_result::status, T_CALL, T_CLOSED, T_GET, T_OBJFETCH, T_SELECT, db_get_result::tpl_idx, db_query_tplpos::tpl_no, db_query_tplpos::tpl_off, db_query_result::type, vpid::volid, and db_query_tplpos::vpid.
Referenced by db_query_seek_tuple().
int db_query_get_tuple_oid | ( | DB_QUERY_RESULT * | result, |
DB_VALUE * | db_value | ||
) |
Definition at line 3195 of file db_query.c.
References ARG_FILE_LINE, db_query_result::c, CHECK_1ARG_MINUSONE, CHECK_1ARG_RETURN_EXPR, CHECK_2ARGS_ERROR, CHECK_CONNECT_ERROR, cursor_get_current_oid(), db_select_result::cursor_id, DB_INVALID_INDEX, DB_INVALID_RESTYPE, DB_OID_INCLUDED, db_query_type::db_type, DB_TYPE_NULL, db_value_print(), ER_ERROR_SEVERITY, ER_QPROC_INVALID_CRSOPR, ER_QPROC_INVALID_RESTYPE, ER_QPROC_INVALID_TPLVAL_INDEX, ER_QPROC_OPR_ON_CLOSED_QRES, er_set(), ER_WARNING_SEVERITY, cursor_id::list_id, NULL, db_select_result::query_id, db_query_result::query_type, db_query_result::res, db_query_result::s, db_query_type::size, db_query_result::status, T_CALL, T_CLOSED, T_SELECT, db_query_result::type, db_query_result::type_cnt, and db_call_result::val_ptr.
Referenced by fetch_result(), uci_delete_cs(), uci_psh_curr_csr_oid(), and ux_cursor_update().
int db_query_get_tuple_value | ( | DB_QUERY_RESULT * | result, |
int | index, | ||
DB_VALUE * | value | ||
) |
Definition at line 2873 of file db_query.c.
References ARG_FILE_LINE, db_query_result::c, CHECK_2ARGS_ERROR, CHECK_CONNECT_ERROR, db_query_result::col_cnt, cursor_get_tuple_value(), db_select_result::cursor_id, DB_INVALID_INDEX, DB_OID_INCLUDED, ER_ERROR_SEVERITY, ER_QPROC_INVALID_RESTYPE, ER_QPROC_INVALID_TPLVAL_INDEX, ER_QPROC_OPR_ON_CLOSED_QRES, er_set(), db_query_result::g, NO_ERROR, db_query_result::o, pr_clone_value(), db_query_result::res, db_query_result::s, db_query_result::status, T_CALL, T_CLOSED, T_GET, T_OBJFETCH, T_SELECT, db_get_result::tpl_idx, db_get_result::tpl_list, db_query_result::type, db_call_result::val_ptr, and db_objfetch_result::valptr_list.
Referenced by au_compute_groups(), au_drop_user(), au_dump_auth(), au_dump_to_file(), au_dump_user(), au_export_users(), au_find_user(), au_get_new_auth(), build_class_grant_list(), chksum_get_prev_checksum_results(), chksum_report_diff(), chksum_report_schema_diff(), chksum_report_summary(), chksum_update_master_checksum(), collect_class_grants(), csql_display_trace(), cur_tuple(), db_query_get_tuple_value_by_name(), db_query_get_tuple_valuelist(), do_check_rows_for_null(), execute_info_set(), export_serial(), fetch_attribute(), get_codeset_from_db_root(), get_current_result(), rs_get_db_value(), synccoll_check(), tzc_compute_timezone_checksum(), uci_get_db_value(), uci_get_next_column(), ux_execute_array(), ux_execute_batch(), ux_execute_call(), and ux_get_generated_keys_server_insert().
int db_query_get_tuple_value_by_name | ( | DB_QUERY_RESULT * | result, |
char * | column_name, | ||
DB_VALUE * | value | ||
) |
Definition at line 2959 of file db_query.c.
References ansisql_strcasecmp(), ARG_FILE_LINE, CHECK_3ARGS_ERROR, CHECK_CONNECT_ERROR, db_query_get_tuple_value(), ER_ERROR_SEVERITY, ER_QPROC_INVALID_COLNAME, ER_QPROC_INVALID_RESTYPE, ER_QPROC_OPR_ON_CLOSED_QRES, er_set(), db_query_type::next, NULL, db_query_result::query_type, db_query_result::status, T_CALL, T_CLOSED, T_GET, T_OBJFETCH, T_SELECT, and db_query_result::type.
Referenced by vid_getall_mops().
int db_query_get_tuple_valuelist | ( | DB_QUERY_RESULT * | result, |
int | size, | ||
DB_VALUE * | value_list | ||
) |
Definition at line 3025 of file db_query.c.
References ARG_FILE_LINE, assert, CHECK_2ARGS_ERROR, CHECK_CONNECT_ERROR, db_query_result::col_cnt, cursor_get_tuple_value_list(), db_select_result::cursor_id, DB_INVALID_INDEX, DB_OID_INCLUDED, db_query_get_tuple_value(), er_errid(), ER_ERROR_SEVERITY, ER_QPROC_INVALID_RESTYPE, ER_QPROC_INVALID_TPLVAL_INDEX, ER_QPROC_OPR_ON_CLOSED_QRES, er_set(), NO_ERROR, db_query_result::res, db_query_result::s, db_query_result::status, T_CALL, T_CLOSED, T_GET, T_OBJFETCH, T_SELECT, and db_query_result::type.
Referenced by chksum_get_next_lower_bound(), and la_get_ha_apply_info().
int db_query_last_tuple | ( | DB_QUERY_RESULT * | result | ) |
Definition at line 2374 of file db_query.c.
References ARG_FILE_LINE, db_query_result::c, C_ON, CHECK_1ARG_ERROR, CHECK_CONNECT_ERROR, db_query_result::col_cnt, db_call_result::crs_pos, db_objfetch_result::crs_pos, db_get_result::crs_pos, db_select_result::cursor_id, cursor_last_tuple(), DB_CURSOR_END, DB_CURSOR_SUCCESS, ER_ERROR_SEVERITY, ER_QPROC_INVALID_RESTYPE, ER_QPROC_OPR_ON_CLOSED_QRES, er_set(), db_query_result::g, db_get_result::n_tuple, db_query_result::o, db_query_result::res, db_query_result::s, db_query_result::status, T_CALL, T_CLOSED, T_GET, T_OBJFETCH, T_SELECT, db_get_result::tpl_idx, and db_query_result::type.
Referenced by chksum_get_next_lower_bound(), and db_query_seek_tuple().
int db_query_next_tuple | ( | DB_QUERY_RESULT * | result | ) |
Definition at line 2088 of file db_query.c.
References ARG_FILE_LINE, db_query_result::c, C_AFTER, C_BEFORE, C_ON, CHECK_1ARG_ERROR, CHECK_CONNECT_ERROR, db_query_result::col_cnt, db_call_result::crs_pos, db_objfetch_result::crs_pos, db_get_result::crs_pos, db_select_result::cursor_id, cursor_next_tuple(), DB_CURSOR_END, DB_CURSOR_SUCCESS, ER_ERROR_SEVERITY, ER_QPROC_INVALID_RESTYPE, ER_QPROC_OPR_ON_CLOSED_QRES, ER_QPROC_UNKNOWN_CRSPOS, er_set(), db_query_result::g, db_get_result::n_tuple, db_query_result::o, db_query_result::res, db_query_result::s, db_query_result::status, T_CALL, T_CLOSED, T_GET, T_OBJFETCH, T_SELECT, db_get_result::tpl_idx, and db_query_result::type.
Referenced by au_compute_groups(), au_drop_user(), au_dump_auth(), au_dump_to_file(), au_dump_user(), au_export_users(), au_get_new_auth(), build_class_grant_list(), chksum_get_prev_checksum_results(), chksum_report_diff(), chksum_report_schema_diff(), chksum_report_summary(), collect_class_grants(), db_query_seek_tuple(), export_serial(), fetch_attribute(), fetch_result(), get_codeset_from_db_root(), synccoll_check(), tzc_compute_timezone_checksum(), uci_fetch_cs(), ux_get_generated_keys_server_insert(), vid_getall_mops(), and write_results_to_stream().
int db_query_plan_dump_file | ( | char * | filename | ) |
Definition at line 3541 of file db_query.c.
References NO_ERROR, NULL, query_Plan_dump_filename, and strdup().
Referenced by cas_log_query_info_init().
int db_query_prefetch_columns | ( | DB_QUERY_RESULT * | result, |
int * | columns, | ||
int | col_count | ||
) |
Definition at line 3520 of file db_query.c.
References db_select_result::cursor_id, cursor_set_oid_columns(), ER_GENERIC_ERROR, error(), NO_ERROR, db_query_result::res, and db_query_result::s.
int db_query_prev_tuple | ( | DB_QUERY_RESULT * | result | ) |
Definition at line 2196 of file db_query.c.
References ARG_FILE_LINE, db_query_result::c, C_AFTER, C_BEFORE, C_ON, CHECK_1ARG_ERROR, CHECK_CONNECT_ERROR, db_query_result::col_cnt, db_call_result::crs_pos, db_objfetch_result::crs_pos, db_get_result::crs_pos, db_select_result::cursor_id, cursor_prev_tuple(), DB_CURSOR_END, DB_CURSOR_SUCCESS, ER_ERROR_SEVERITY, ER_QPROC_INVALID_RESTYPE, ER_QPROC_OPR_ON_CLOSED_QRES, ER_QPROC_UNKNOWN_CRSPOS, er_set(), db_query_result::g, db_get_result::n_tuple, db_query_result::o, db_query_result::res, db_query_result::s, db_query_result::status, T_CALL, T_CLOSED, T_GET, T_OBJFETCH, T_SELECT, db_get_result::tpl_idx, and db_query_result::type.
Referenced by db_query_seek_tuple().
int db_query_seek_tuple | ( | DB_QUERY_RESULT * | result, |
int | offset, | ||
int | seek_mode | ||
) |
Definition at line 2455 of file db_query.c.
References ARG_FILE_LINE, assert, db_query_result::c, C_AFTER, C_BEFORE, C_ON, CHECK_1ARG_ERROR, CHECK_CONNECT_ERROR, db_query_result::col_cnt, db_call_result::crs_pos, db_objfetch_result::crs_pos, db_get_result::crs_pos, db_select_result::cursor_id, DB_CURSOR_END, DB_CURSOR_SEEK_CUR, DB_CURSOR_SEEK_END, DB_CURSOR_SEEK_SET, DB_CURSOR_SUCCESS, db_query_first_tuple(), db_query_free_tplpos(), db_query_get_tplpos(), db_query_last_tuple(), db_query_next_tuple(), db_query_prev_tuple(), db_query_set_tplpos(), er_errid(), ER_ERROR_SEVERITY, ER_GENERIC_ERROR, ER_QPROC_INVALID_RESTYPE, ER_QPROC_OPR_ON_CLOSED_QRES, er_set(), db_query_result::g, cursor_id::list_id, db_get_result::n_tuple, NO_ERROR, NULL, db_query_result::o, db_query_result::res, db_query_result::s, db_query_result::status, T_CALL, T_CLOSED, T_GET, T_OBJFETCH, T_SELECT, db_get_result::tpl_idx, qfile_list_id::tuple_cnt, cursor_id::tuple_no, and db_query_result::type.
Referenced by fetch_attribute(), fetch_result(), res_fetch_internal(), ux_cursor_update(), ux_execute(), and ux_execute_all().
int db_query_set_copy_tplvalue | ( | DB_QUERY_RESULT * | result, |
int | copy | ||
) |
Definition at line 3386 of file db_query.c.
References ARG_FILE_LINE, CHECK_1ARG_ERROR, CHECK_CONNECT_ERROR, db_select_result::cursor_id, cursor_set_copy_tuple_value(), ER_ERROR_SEVERITY, ER_QPROC_INVALID_RESTYPE, ER_QPROC_OPR_ON_CLOSED_QRES, er_set(), NO_ERROR, db_query_result::res, db_query_result::s, db_query_result::status, T_CALL, T_CLOSED, T_GET, T_OBJFETCH, T_SELECT, and db_query_result::type.
Referenced by csql_display_trace(), do_check_rows_for_null(), get_current_result(), sch_query_execute(), ux_execute(), ux_execute_all(), ux_execute_array(), ux_execute_batch(), and ux_execute_call().
int db_query_set_tplpos | ( | DB_QUERY_RESULT * | result, |
DB_QUERY_TPLPOS * | tplpos | ||
) |
Definition at line 2800 of file db_query.c.
References ARG_FILE_LINE, db_query_result::c, CHECK_1ARG_ERROR, db_query_result::col_cnt, db_call_result::crs_pos, db_objfetch_result::crs_pos, db_get_result::crs_pos, db_query_tplpos::crs_pos, cursor_id::current_vpid, cursor_fetch_page_having_tuple(), db_select_result::cursor_id, ER_ERROR_SEVERITY, ER_FAILED, ER_QPROC_INVALID_RESTYPE, ER_QPROC_OPR_ON_CLOSED_QRES, er_set(), db_query_result::g, db_get_result::n_tuple, NO_ERROR, db_query_result::o, vpid::pageid, cursor_id::position, db_query_result::res, db_query_result::s, db_query_result::status, T_CALL, T_CLOSED, T_GET, T_OBJFETCH, T_SELECT, db_get_result::tpl_idx, db_query_tplpos::tpl_no, db_query_tplpos::tpl_off, db_query_result::type, vpid::volid, and db_query_tplpos::vpid.
Referenced by db_query_seek_tuple().
int db_query_tuple_count | ( | DB_QUERY_RESULT * | result | ) |
Definition at line 3089 of file db_query.c.
References ARG_FILE_LINE, CHECK_1ARG_MINUSONE, db_select_result::cursor_id, ER_ERROR_SEVERITY, ER_QPROC_INVALID_RESTYPE, ER_QPROC_OPR_ON_CLOSED_QRES, er_set(), db_query_result::g, cursor_id::list_id, db_get_result::n_tuple, db_query_result::res, db_query_result::s, db_query_result::status, T_CALL, T_CLOSED, T_GET, T_OBJFETCH, T_SELECT, qfile_list_id::tuple_cnt, and db_query_result::type.
Referenced by create_srv_handle_with_query_result(), db_execute_and_keep_statement_local(), uci_execute(), uci_static(), ux_execute(), ux_execute_all(), and vid_getall_mops().
void db_set_execution_plan | ( | char * | plan, |
int | length | ||
) |
Definition at line 3567 of file db_query.c.
References ARG_FILE_LINE, db_Execution_plan, db_Execution_plan_length, ER_NOTIFICATION_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), NULL, and PLAN_BUF_INITIAL_LENGTH.
Referenced by fn_execute_array(), fn_execute_internal(), and qmgr_execute_query().
int db_unpack_prepare_info | ( | DB_PREPARE_INFO * | info, |
char * | buffer | ||
) |
Definition at line 537 of file db_query.c.
References ARG_FILE_LINE, assert, db_query_type::attr_name, db_prepare_info::auto_param_count, db_prepare_info::columns, db_value_clear_array(), db_query_type::domain, ER_ERROR_SEVERITY, ER_FAILED, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), error(), free_and_init, db_prepare_info::host_var_expected_domains, db_prepare_info::host_variables, i, db_prepare_info::into_count, db_prepare_info::into_list, db_query_type::name, db_query_type::next, NO_ERROR, NULL, db_prepare_info::oids_included, or_unpack_db_value(), or_unpack_domain(), or_unpack_int(), or_unpack_query_format(), or_unpack_string_alloc(), db_query_type::original_name, db_prepare_info::recompile, db_value_array::size, sm_domain_free(), db_query_type::spec_name, db_query_type::src_domain, db_prepare_info::statement, db_prepare_info::stmt_type, tp_domain_free(), and db_value_array::vals.
Referenced by do_get_prepared_statement_info().
|
static |
Definition at line 131 of file db_query.c.
References free_and_init, db_query_result::next, and Qres_table.
Referenced by db_free_query_result().
|
static |
Definition at line 244 of file db_query.c.
References assert, db_query_type::attr_name, db_query_type::col_type, db_query_type::db_type, db_query_type::domain, db_query_type::name, db_query_type::next, NULL, or_pack_domain(), or_pack_int(), or_pack_string_with_length(), db_query_type::original_name, db_query_type::size, db_query_type::spec_name, db_query_type::src_domain, strlen, and db_query_type::visible_type.
Referenced by db_pack_prepare_info().
|
static |
Definition at line 194 of file db_query.c.
References db_query_type::attr_name, db_query_type::domain, db_query_type::name, db_query_type::next, NULL, OR_INT_SIZE, or_packed_domain_size(), or_packed_string_length(), db_query_type::original_name, db_query_type::spec_name, and db_query_type::src_domain.
Referenced by db_pack_prepare_info().
|
static |
Definition at line 308 of file db_query.c.
References ARG_FILE_LINE, db_query_type::attr_name, db_query_type::col_type, db_query_type::db_type, db_query_type::domain, ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), free_and_init, i, db_query_type::name, db_query_type::next, NULL, or_unpack_domain(), or_unpack_int(), or_unpack_string_alloc(), db_query_type::original_name, db_query_type::size, sm_domain_copy(), db_query_type::spec_name, db_query_type::src_domain, tp_domain_cache(), tp_domain_free(), and db_query_type::visible_type.
Referenced by db_unpack_prepare_info().
struct alloc_resource alloc_res |
Definition at line 71 of file db_query.c.
|
static |
Definition at line 84 of file db_query.c.
Referenced by db_free_execution_plan(), db_get_execution_plan(), and db_set_execution_plan().
|
static |
Definition at line 85 of file db_query.c.
Referenced by db_free_execution_plan(), and db_set_execution_plan().
int entry_cnt |
Definition at line 69 of file db_query.c.
|
static |
Definition at line 81 of file db_query.c.
Referenced by db_alloc_query_result().
|
static |
Definition at line 79 of file db_query.c.
Referenced by db_alloc_query_result().
int qres_closed_cnt |
Definition at line 68 of file db_query.c.
int qres_cnt |
Definition at line 67 of file db_query.c.
DB_QUERY_RESULT** qres_list |
Definition at line 70 of file db_query.c.
struct { ... } Qres_table |
Referenced by allocate_query_result(), db_alloc_query_result(), db_clear_client_query_result(), db_free_query_result(), and free_query_result().