Skip to content

File query_manager.c

FileList > cubrid > src > query > query_manager.c

Go to the source code of this file

  • #include "config.h"
  • #include <stdio.h>
  • #include <string.h>
  • #include <assert.h>
  • #include "query_manager.h"
  • #include "file_manager.h"
  • #include "compile_context.h"
  • #include "log_append.hpp"
  • #include "object_primitive.h"
  • #include "object_representation.h"
  • #include "xserver_interface.h"
  • #include "query_executor.h"
  • #include "stream_to_xasl.h"
  • #include "session.h"
  • #include "filter_pred_cache.h"
  • #include "crypt_opfunc.h"
  • #include "thread_entry.hpp"
  • #include "xasl_cache.h"
  • #include "xasl_unpack_info.hpp"
  • #include "memory_wrapper.hpp"

Classes

Type Name
struct oid_block_list
struct qmgr_query_table
struct qmgr_temp_file_list
struct qmgr_tran_entry

Public Types

Type Name
typedef struct oid_block_list OID_BLOCK_LIST
typedef enum qmgr_page_type QMGR_PAGE_TYPE
typedef struct qmgr_query_table QMGR_QUERY_TABLE
typedef struct qmgr_temp_file_list QMGR_TEMP_FILE_LIST
typedef struct qmgr_tran_entry QMGR_TRAN_ENTRY
enum qmgr_page_type

Public Attributes

Type Name
QMGR_QUERY_TABLE qmgr_Query_table = /* multi line expression */

Public Functions

Type Name
void qmgr_add_modified_class (THREAD_ENTRY * thread_p, const OID * class_oid_p)
int qmgr_allocate_tran_entries (THREAD_ENTRY * thread_p, int num_new_entries)
QMGR_TRAN_STATUS qmgr_check_dblink_trans (THREAD_ENTRY * thread_p, bool is_abort)
void qmgr_clear_trans_wakeup (THREAD_ENTRY * thread_p, int tran_index, bool is_tran_died, bool is_abort)
QMGR_TEMP_FILE * qmgr_create_new_temp_file (THREAD_ENTRY * thread_p, QUERY_ID query_id, QMGR_TEMP_FILE_MEMBUF_TYPE membuf_type)
QMGR_TEMP_FILE * qmgr_create_result_file (THREAD_ENTRY * thread_p, QUERY_ID query_id)
int qmgr_dblink_add_conn_handle (THREAD_ENTRY * thread_p, int conn_handle, char * conn_url, char * user_name, char * password, bool set_participant)
void qmgr_dblink_clear_conn_entry (THREAD_ENTRY * thread_p)
int qmgr_dblink_find_conn_handle (THREAD_ENTRY * thread_p, char * conn_url, char * user_name, char * password, bool set_participant)
DBLINK_CONN_ENTRY * qmgr_dblink_get_conn_entry (THREAD_ENTRY * thread_p)
void qmgr_dump (void)
void qmgr_finalize (THREAD_ENTRY * thread_p)
int qmgr_free_list_temp_file (THREAD_ENTRY * thread_p, QUERY_ID query_id, QMGR_TEMP_FILE * tfile_vfid_p)
void qmgr_free_old_page (THREAD_ENTRY * thread_p, PAGE_PTR page_p, QMGR_TEMP_FILE * tfile_vfid_p)
void qmgr_free_old_page_simple_fix (THREAD_ENTRY * thread_p, PAGE_PTR page_p, QMGR_TEMP_FILE * tfile_vfid_p)
int qmgr_free_temp_file_list (THREAD_ENTRY * thread_p, QMGR_TEMP_FILE * tfile_vfid_p, QUERY_ID query_id, bool is_error)
QUERY_ID qmgr_get_current_query_id (THREAD_ENTRY * thread_p)
PAGE_PTR qmgr_get_new_page (THREAD_ENTRY * thread_p, VPID * vpid_p, QMGR_TEMP_FILE * tfile_vfid_p)
PAGE_PTR qmgr_get_old_page (THREAD_ENTRY * thread_p, VPID * vpid_p, QMGR_TEMP_FILE * tfile_vfid_p)
PAGE_PTR qmgr_get_old_page_read_only (THREAD_ENTRY * thread_p, VPID * vpid_p, QMGR_TEMP_FILE * tfile_vfid_p)
PAGE_PTR qmgr_get_old_page_simple_fix (THREAD_ENTRY * thread_p, VPID * vpid_p, QMGR_TEMP_FILE * tfile_vfid_p)
QMGR_QUERY_ENTRY * qmgr_get_query_entry (THREAD_ENTRY * thread_p, QUERY_ID query_id, int tran_index)
int qmgr_get_query_error_with_entry (QMGR_QUERY_ENTRY * query_p)
char * qmgr_get_query_sql_user_text (THREAD_ENTRY * thread_p, QUERY_ID query_id, int tran_index)
struct drand48_data * qmgr_get_rand_buf (THREAD_ENTRY * thread_p)
int qmgr_get_sql_id (THREAD_ENTRY * thread_p, char ** sql_id_buf, char * query, size_t sql_len)
int qmgr_get_temp_file_membuf_pages (QMGR_TEMP_FILE * temp_file_p)
QMGR_TRAN_STATUS qmgr_get_tran_status (THREAD_ENTRY * thread_p, int tran_index)
int qmgr_initialize (THREAD_ENTRY * thread_p)
bool qmgr_is_query_interrupted (THREAD_ENTRY * thread_p, QUERY_ID query_id)
void qmgr_set_dirty_page (THREAD_ENTRY * thread_p, PAGE_PTR page_p, int free_page, LOG_DATA_ADDR * addr_p, QMGR_TEMP_FILE * tfile_vfid_p)
void qmgr_set_query_error (THREAD_ENTRY * thread_p, QUERY_ID query_id)
void qmgr_set_tran_status (THREAD_ENTRY * thread_p, int tran_index, QMGR_TRAN_STATUS trans_status)
void qmgr_setup_empty_list_file (char * page_p)
int xqmgr_drop_all_query_plans (THREAD_ENTRY * thread_p)
int xqmgr_drop_query_plans_by_sha1 (THREAD_ENTRY * thread_p, char * sha1)
void xqmgr_dump_query_cache (THREAD_ENTRY * thread_p, FILE * out_fp)
void xqmgr_dump_query_plans (THREAD_ENTRY * thread_p, FILE * out_fp)
int xqmgr_end_query (THREAD_ENTRY * thread_p, QUERY_ID query_id)
QFILE_LIST_ID * xqmgr_execute_query (THREAD_ENTRY * thread_p, const XASL_ID * xasl_id_p, QUERY_ID * query_id_p, int dbval_count, void * dbval_p, QUERY_FLAG * flag_p, CACHE_TIME * client_cache_time_p, CACHE_TIME * server_cache_time_p, int query_timeout, xasl_cache_ent ** ret_cache_entry_p)
QFILE_LIST_ID * xqmgr_prepare_and_execute_query (THREAD_ENTRY * thread_p, char * xasl_stream, int xasl_stream_size, QUERY_ID * query_id_p, int dbval_count, void * dbval_p, QUERY_FLAG * flag_p, int query_timeout)
int xqmgr_prepare_query (THREAD_ENTRY * thread_p, COMPILE_CONTEXT * context, xasl_stream * stream)

Public Static Functions

Type Name
int copy_bind_value_to_tdes (THREAD_ENTRY * thread_p, int num_bind_vals, DB_VALUE * bind_vals)
void qmgr_add_query_entry (THREAD_ENTRY * thread_p, QMGR_QUERY_ENTRY * q_ptr, int trans_ind)
OID_BLOCK_LIST * qmgr_allocate_oid_block (THREAD_ENTRY * thread_p)
QMGR_QUERY_ENTRY * qmgr_allocate_query_entry (THREAD_ENTRY * thread_p, QMGR_TRAN_ENTRY * tran_entry_p)
QMGR_TEMP_FILE * qmgr_allocate_tempfile_with_buffer (int num_buffer_pages)
bool qmgr_can_get_from_cache (QUERY_FLAG flag)
bool qmgr_can_get_result_from_cache (QUERY_FLAG flag)
void qmgr_clear_relative_cache_entries (THREAD_ENTRY * thread_p, QMGR_TRAN_ENTRY * tran_entry_p)
void qmgr_deallocate_dblink_entries (DBLINK_CONN_ENTRY * dblink_p)
void qmgr_deallocate_oid_blocks (OID_BLOCK_LIST * oid_block)
void qmgr_deallocate_query_entries (QMGR_QUERY_ENTRY * q_ptr)
void qmgr_delete_query_entry (THREAD_ENTRY * thread_p, QUERY_ID query_id, int trans_ind)
void qmgr_dump_query_entry (QMGR_QUERY_ENTRY * query_p)
void qmgr_finalize_temp_file_list (QMGR_TEMP_FILE_LIST * temp_file_list_p)
XASL_NODE * qmgr_find_leaf (XASL_NODE * xasl)
QMGR_QUERY_ENTRY * qmgr_find_query_entry (QMGR_QUERY_ENTRY * query_list_p, QUERY_ID query_id)
void qmgr_free_oid_block (THREAD_ENTRY * thread_p, OID_BLOCK_LIST * oid_block)
void qmgr_free_query_entry (THREAD_ENTRY * thread_p, QMGR_TRAN_ENTRY * tran_entry_p, QMGR_QUERY_ENTRY * q_ptr)
int qmgr_free_query_temp_file (THREAD_ENTRY * thread_p, QMGR_QUERY_ENTRY * qptr, int tran_idx)
int qmgr_free_query_temp_file_helper (THREAD_ENTRY * thread_p, QMGR_QUERY_ENTRY * query_p)
void qmgr_free_tran_entries (void)
PAGE_PTR qmgr_get_external_file_page (THREAD_ENTRY * thread_p, VPID * vpid, QMGR_TEMP_FILE * vfid)
QMGR_PAGE_TYPE qmgr_get_page_type (PAGE_PTR page_p, QMGR_TEMP_FILE * temp_file_p)
QMGR_TEMP_FILE * qmgr_get_temp_file_from_list (QMGR_TEMP_FILE_LIST * temp_file_list_p)
const char * qmgr_get_tran_status_string (QMGR_TRAN_STATUS stat)
int qmgr_init_external_file_page (THREAD_ENTRY * thread_p, PAGE_PTR page, void * args)
void qmgr_initialize_temp_file_list (QMGR_TEMP_FILE_LIST * temp_file_list_p, QMGR_TEMP_FILE_MEMBUF_TYPE membuf_type)
void qmgr_initialize_tran_entry (QMGR_TRAN_ENTRY * tran_entry_p)
bool qmgr_is_allowed_result_cache (QUERY_FLAG flag)
bool qmgr_is_related_class_modified (THREAD_ENTRY * thread_p, XASL_CACHE_ENTRY * xasl_cache, int tran_index)
void qmgr_mark_query_as_completed (QMGR_QUERY_ENTRY * query_p)
QFILE_LIST_ID * qmgr_process_query (THREAD_ENTRY * thread_p, XASL_NODE * xasl_tree, char * xasl_stream, int xasl_stream_size, int dbval_count, const DB_VALUE * dbvals_p, QUERY_FLAG flag, QMGR_QUERY_ENTRY * query_p, QMGR_TRAN_ENTRY * tran_entry_p)
void qmgr_put_page_header (PAGE_PTR page_p, QFILE_PAGE_HEADER * header_p)
void qmgr_put_temp_file_into_list (QMGR_TEMP_FILE * temp_file_p)
void qmgr_reset_query_exec_info (int tran_index)
void qmgr_set_query_exec_info_to_tdes (int tran_index, int query_timeout, const XASL_ID * xasl_id)

Macros

Type Name
define OID_BLOCK_ARRAY_SIZE 10
define QMGR_IS_VALID_MEMBUF_TYPE (m) ((m) == TEMP\_FILE\_MEMBUF\_NORMAL \|\| (m) == TEMP\_FILE\_MEMBUF\_KEY\_BUFFER)
define QMGR_NUM_TEMP_FILE_LISTS (TEMP\_FILE\_MEMBUF\_NUM\_TYPES)
define QMGR_SQL_ID_LENGTH 13
define QMGR_TEMP_FILE_FREE_LIST_SIZE 100

Public Types Documentation

typedef OID_BLOCK_LIST

typedef struct oid_block_list OID_BLOCK_LIST;

typedef QMGR_PAGE_TYPE

typedef enum qmgr_page_type QMGR_PAGE_TYPE;

typedef QMGR_QUERY_TABLE

typedef struct qmgr_query_table QMGR_QUERY_TABLE;

typedef QMGR_TEMP_FILE_LIST

typedef struct qmgr_temp_file_list QMGR_TEMP_FILE_LIST;

typedef QMGR_TRAN_ENTRY

typedef struct qmgr_tran_entry QMGR_TRAN_ENTRY;

enum qmgr_page_type

enum qmgr_page_type {
    QMGR_UNKNOWN_PAGE,
    QMGR_MEMBUF_PAGE,
    QMGR_TEMP_FILE_PAGE
};

Public Attributes Documentation

variable qmgr_Query_table

QMGR_QUERY_TABLE qmgr_Query_table;

Public Functions Documentation

function qmgr_add_modified_class

void qmgr_add_modified_class (
    THREAD_ENTRY * thread_p,
    const  OID * class_oid_p
) 

function qmgr_allocate_tran_entries

int qmgr_allocate_tran_entries (
    THREAD_ENTRY * thread_p,
    int num_new_entries
) 

QMGR_TRAN_STATUS qmgr_check_dblink_trans (
    THREAD_ENTRY * thread_p,
    bool is_abort
) 

function qmgr_clear_trans_wakeup

void qmgr_clear_trans_wakeup (
    THREAD_ENTRY * thread_p,
    int tran_index,
    bool is_tran_died,
    bool is_abort
) 

function qmgr_create_new_temp_file

QMGR_TEMP_FILE * qmgr_create_new_temp_file (
    THREAD_ENTRY * thread_p,
    QUERY_ID query_id,
    QMGR_TEMP_FILE_MEMBUF_TYPE membuf_type
) 

function qmgr_create_result_file

QMGR_TEMP_FILE * qmgr_create_result_file (
    THREAD_ENTRY * thread_p,
    QUERY_ID query_id
) 

int qmgr_dblink_add_conn_handle (
    THREAD_ENTRY * thread_p,
    int conn_handle,
    char * conn_url,
    char * user_name,
    char * password,
    bool set_participant
) 

function qmgr_dblink_clear_conn_entry

void qmgr_dblink_clear_conn_entry (
    THREAD_ENTRY * thread_p
) 

int qmgr_dblink_find_conn_handle (
    THREAD_ENTRY * thread_p,
    char * conn_url,
    char * user_name,
    char * password,
    bool set_participant
) 

function qmgr_dblink_get_conn_entry

DBLINK_CONN_ENTRY * qmgr_dblink_get_conn_entry (
    THREAD_ENTRY * thread_p
) 

function qmgr_dump

void qmgr_dump (
    void
) 

function qmgr_finalize

void qmgr_finalize (
    THREAD_ENTRY * thread_p
) 

function qmgr_free_list_temp_file

int qmgr_free_list_temp_file (
    THREAD_ENTRY * thread_p,
    QUERY_ID query_id,
    QMGR_TEMP_FILE * tfile_vfid_p
) 

function qmgr_free_old_page

void qmgr_free_old_page (
    THREAD_ENTRY * thread_p,
    PAGE_PTR page_p,
    QMGR_TEMP_FILE * tfile_vfid_p
) 

function qmgr_free_old_page_simple_fix

void qmgr_free_old_page_simple_fix (
    THREAD_ENTRY * thread_p,
    PAGE_PTR page_p,
    QMGR_TEMP_FILE * tfile_vfid_p
) 

function qmgr_free_temp_file_list

int qmgr_free_temp_file_list (
    THREAD_ENTRY * thread_p,
    QMGR_TEMP_FILE * tfile_vfid_p,
    QUERY_ID query_id,
    bool is_error
) 

function qmgr_get_current_query_id

QUERY_ID qmgr_get_current_query_id (
    THREAD_ENTRY * thread_p
) 

function qmgr_get_new_page

PAGE_PTR qmgr_get_new_page (
    THREAD_ENTRY * thread_p,
    VPID * vpid_p,
    QMGR_TEMP_FILE * tfile_vfid_p
) 

function qmgr_get_old_page

PAGE_PTR qmgr_get_old_page (
    THREAD_ENTRY * thread_p,
    VPID * vpid_p,
    QMGR_TEMP_FILE * tfile_vfid_p
) 

function qmgr_get_old_page_read_only

PAGE_PTR qmgr_get_old_page_read_only (
    THREAD_ENTRY * thread_p,
    VPID * vpid_p,
    QMGR_TEMP_FILE * tfile_vfid_p
) 

function qmgr_get_old_page_simple_fix

PAGE_PTR qmgr_get_old_page_simple_fix (
    THREAD_ENTRY * thread_p,
    VPID * vpid_p,
    QMGR_TEMP_FILE * tfile_vfid_p
) 

function qmgr_get_query_entry

QMGR_QUERY_ENTRY * qmgr_get_query_entry (
    THREAD_ENTRY * thread_p,
    QUERY_ID query_id,
    int tran_index
) 

function qmgr_get_query_error_with_entry

int qmgr_get_query_error_with_entry (
    QMGR_QUERY_ENTRY * query_p
) 

function qmgr_get_query_sql_user_text

char * qmgr_get_query_sql_user_text (
    THREAD_ENTRY * thread_p,
    QUERY_ID query_id,
    int tran_index
) 

function qmgr_get_rand_buf

struct  drand48_data * qmgr_get_rand_buf (
    THREAD_ENTRY * thread_p
) 

function qmgr_get_sql_id

int qmgr_get_sql_id (
    THREAD_ENTRY * thread_p,
    char ** sql_id_buf,
    char * query,
    size_t sql_len
) 

function qmgr_get_temp_file_membuf_pages

int qmgr_get_temp_file_membuf_pages (
    QMGR_TEMP_FILE * temp_file_p
) 

function qmgr_get_tran_status

QMGR_TRAN_STATUS qmgr_get_tran_status (
    THREAD_ENTRY * thread_p,
    int tran_index
) 

function qmgr_initialize

int qmgr_initialize (
    THREAD_ENTRY * thread_p
) 

function qmgr_is_query_interrupted

bool qmgr_is_query_interrupted (
    THREAD_ENTRY * thread_p,
    QUERY_ID query_id
) 

function qmgr_set_dirty_page

void qmgr_set_dirty_page (
    THREAD_ENTRY * thread_p,
    PAGE_PTR page_p,
    int free_page,
    LOG_DATA_ADDR * addr_p,
    QMGR_TEMP_FILE * tfile_vfid_p
) 

function qmgr_set_query_error

void qmgr_set_query_error (
    THREAD_ENTRY * thread_p,
    QUERY_ID query_id
) 

function qmgr_set_tran_status

void qmgr_set_tran_status (
    THREAD_ENTRY * thread_p,
    int tran_index,
    QMGR_TRAN_STATUS trans_status
) 

function qmgr_setup_empty_list_file

void qmgr_setup_empty_list_file (
    char * page_p
) 

function xqmgr_drop_all_query_plans

int xqmgr_drop_all_query_plans (
    THREAD_ENTRY * thread_p
) 

function xqmgr_drop_query_plans_by_sha1

int xqmgr_drop_query_plans_by_sha1 (
    THREAD_ENTRY * thread_p,
    char * sha1
) 

function xqmgr_dump_query_cache

void xqmgr_dump_query_cache (
    THREAD_ENTRY * thread_p,
    FILE * out_fp
) 

function xqmgr_dump_query_plans

void xqmgr_dump_query_plans (
    THREAD_ENTRY * thread_p,
    FILE * out_fp
) 

function xqmgr_end_query

int xqmgr_end_query (
    THREAD_ENTRY * thread_p,
    QUERY_ID query_id
) 

function xqmgr_execute_query

QFILE_LIST_ID * xqmgr_execute_query (
    THREAD_ENTRY * thread_p,
    const  XASL_ID * xasl_id_p,
    QUERY_ID * query_id_p,
    int dbval_count,
    void * dbval_p,
    QUERY_FLAG * flag_p,
    CACHE_TIME * client_cache_time_p,
    CACHE_TIME * server_cache_time_p,
    int query_timeout,
    xasl_cache_ent ** ret_cache_entry_p
) 

function xqmgr_prepare_and_execute_query

QFILE_LIST_ID * xqmgr_prepare_and_execute_query (
    THREAD_ENTRY * thread_p,
    char * xasl_stream,
    int xasl_stream_size,
    QUERY_ID * query_id_p,
    int dbval_count,
    void * dbval_p,
    QUERY_FLAG * flag_p,
    int query_timeout
) 

function xqmgr_prepare_query

int xqmgr_prepare_query (
    THREAD_ENTRY * thread_p,
    COMPILE_CONTEXT * context,
    xasl_stream * stream
) 

Public Static Functions Documentation

function copy_bind_value_to_tdes

static int copy_bind_value_to_tdes (
    THREAD_ENTRY * thread_p,
    int num_bind_vals,
    DB_VALUE * bind_vals
) 

function qmgr_add_query_entry

static void qmgr_add_query_entry (
    THREAD_ENTRY * thread_p,
    QMGR_QUERY_ENTRY * q_ptr,
    int trans_ind
) 

function qmgr_allocate_oid_block

static OID_BLOCK_LIST * qmgr_allocate_oid_block (
    THREAD_ENTRY * thread_p
) 

function qmgr_allocate_query_entry

static QMGR_QUERY_ENTRY * qmgr_allocate_query_entry (
    THREAD_ENTRY * thread_p,
    QMGR_TRAN_ENTRY * tran_entry_p
) 

function qmgr_allocate_tempfile_with_buffer

static QMGR_TEMP_FILE * qmgr_allocate_tempfile_with_buffer (
    int num_buffer_pages
) 

function qmgr_can_get_from_cache

static bool qmgr_can_get_from_cache (
    QUERY_FLAG flag
) 

function qmgr_can_get_result_from_cache

static bool qmgr_can_get_result_from_cache (
    QUERY_FLAG flag
) 

function qmgr_clear_relative_cache_entries

static void qmgr_clear_relative_cache_entries (
    THREAD_ENTRY * thread_p,
    QMGR_TRAN_ENTRY * tran_entry_p
) 

static void qmgr_deallocate_dblink_entries (
    DBLINK_CONN_ENTRY * dblink_p
) 

function qmgr_deallocate_oid_blocks

static void qmgr_deallocate_oid_blocks (
    OID_BLOCK_LIST * oid_block
) 

function qmgr_deallocate_query_entries

static void qmgr_deallocate_query_entries (
    QMGR_QUERY_ENTRY * q_ptr
) 

function qmgr_delete_query_entry

static void qmgr_delete_query_entry (
    THREAD_ENTRY * thread_p,
    QUERY_ID query_id,
    int trans_ind
) 

function qmgr_dump_query_entry

static void qmgr_dump_query_entry (
    QMGR_QUERY_ENTRY * query_p
) 

function qmgr_finalize_temp_file_list

static void qmgr_finalize_temp_file_list (
    QMGR_TEMP_FILE_LIST * temp_file_list_p
) 

function qmgr_find_leaf

static XASL_NODE * qmgr_find_leaf (
    XASL_NODE * xasl
) 

function qmgr_find_query_entry

static QMGR_QUERY_ENTRY * qmgr_find_query_entry (
    QMGR_QUERY_ENTRY * query_list_p,
    QUERY_ID query_id
) 

function qmgr_free_oid_block

static void qmgr_free_oid_block (
    THREAD_ENTRY * thread_p,
    OID_BLOCK_LIST * oid_block
) 

function qmgr_free_query_entry

static void qmgr_free_query_entry (
    THREAD_ENTRY * thread_p,
    QMGR_TRAN_ENTRY * tran_entry_p,
    QMGR_QUERY_ENTRY * q_ptr
) 

function qmgr_free_query_temp_file

static int qmgr_free_query_temp_file (
    THREAD_ENTRY * thread_p,
    QMGR_QUERY_ENTRY * qptr,
    int tran_idx
) 

function qmgr_free_query_temp_file_helper

static int qmgr_free_query_temp_file_helper (
    THREAD_ENTRY * thread_p,
    QMGR_QUERY_ENTRY * query_p
) 

function qmgr_free_tran_entries

static void qmgr_free_tran_entries (
    void
) 

function qmgr_get_external_file_page

static PAGE_PTR qmgr_get_external_file_page (
    THREAD_ENTRY * thread_p,
    VPID * vpid,
    QMGR_TEMP_FILE * vfid
) 

function qmgr_get_page_type

static QMGR_PAGE_TYPE qmgr_get_page_type (
    PAGE_PTR page_p,
    QMGR_TEMP_FILE * temp_file_p
) 

function qmgr_get_temp_file_from_list

static QMGR_TEMP_FILE * qmgr_get_temp_file_from_list (
    QMGR_TEMP_FILE_LIST * temp_file_list_p
) 

function qmgr_get_tran_status_string

static const  char * qmgr_get_tran_status_string (
    QMGR_TRAN_STATUS stat
) 

function qmgr_init_external_file_page

static int qmgr_init_external_file_page (
    THREAD_ENTRY * thread_p,
    PAGE_PTR page,
    void * args
) 

function qmgr_initialize_temp_file_list

static void qmgr_initialize_temp_file_list (
    QMGR_TEMP_FILE_LIST * temp_file_list_p,
    QMGR_TEMP_FILE_MEMBUF_TYPE membuf_type
) 

function qmgr_initialize_tran_entry

static void qmgr_initialize_tran_entry (
    QMGR_TRAN_ENTRY * tran_entry_p
) 

function qmgr_is_allowed_result_cache

static bool qmgr_is_allowed_result_cache (
    QUERY_FLAG flag
) 

static bool qmgr_is_related_class_modified (
    THREAD_ENTRY * thread_p,
    XASL_CACHE_ENTRY * xasl_cache,
    int tran_index
) 

function qmgr_mark_query_as_completed

static void qmgr_mark_query_as_completed (
    QMGR_QUERY_ENTRY * query_p
) 

function qmgr_process_query

static QFILE_LIST_ID * qmgr_process_query (
    THREAD_ENTRY * thread_p,
    XASL_NODE * xasl_tree,
    char * xasl_stream,
    int xasl_stream_size,
    int dbval_count,
    const  DB_VALUE * dbvals_p,
    QUERY_FLAG flag,
    QMGR_QUERY_ENTRY * query_p,
    QMGR_TRAN_ENTRY * tran_entry_p
) 

function qmgr_put_page_header

static void qmgr_put_page_header (
    PAGE_PTR page_p,
    QFILE_PAGE_HEADER * header_p
) 

function qmgr_put_temp_file_into_list

static void qmgr_put_temp_file_into_list (
    QMGR_TEMP_FILE * temp_file_p
) 

function qmgr_reset_query_exec_info

static void qmgr_reset_query_exec_info (
    int tran_index
) 

function qmgr_set_query_exec_info_to_tdes

static void qmgr_set_query_exec_info_to_tdes (
    int tran_index,
    int query_timeout,
    const  XASL_ID * xasl_id
) 

Macro Definition Documentation

define OID_BLOCK_ARRAY_SIZE

#define OID_BLOCK_ARRAY_SIZE `10`

define QMGR_IS_VALID_MEMBUF_TYPE

#define QMGR_IS_VALID_MEMBUF_TYPE (
    m
) `((m) == TEMP_FILE_MEMBUF_NORMAL || (m) == TEMP_FILE_MEMBUF_KEY_BUFFER )`

define QMGR_NUM_TEMP_FILE_LISTS

#define QMGR_NUM_TEMP_FILE_LISTS `( TEMP_FILE_MEMBUF_NUM_TYPES )`

define QMGR_SQL_ID_LENGTH

#define QMGR_SQL_ID_LENGTH `13`

define QMGR_TEMP_FILE_FREE_LIST_SIZE

#define QMGR_TEMP_FILE_FREE_LIST_SIZE `100`


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