Skip to content

File db_query.c

FileList > compat > db_query.c

Go to the source code of this file

  • #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"

Classes

Type Name
struct alloc_resource

Public Attributes

Type Name
struct alloc_resource alloc_res
int entry_cnt
int qres_closed_cnt
int qres_cnt
DB_QUERY_RESULT ** qres_list

Public Static Attributes

Type Name
const float QP_QRES_LIST_INC_RATE = 1.25f
const int QP_QRES_LIST_INIT_CNT = 10
struct Qres_table = /* multi line expression */
char * db_Execution_plan = [**NULL**](freelistheap_8h.md#define-null)
int db_Execution_plan_length = -1

Public Functions

Type Name
DB_QUERY_TYPE * db_alloc_query_format (int cnt)
DB_QUERY_RESULT * db_alloc_query_result (DB_RESULT_TYPE r_type, int col_cnt)
void db_clear_client_query_result (int notify_server, bool end_holdable)
char ** db_cp_colname_list (char ** colname_list, int cnt)
SM_DOMAIN ** db_cp_domain_list (SM_DOMAIN ** domain_list, int cnt)
DB_QUERY_TYPE * db_cp_query_type (DB_QUERY_TYPE * query_type, int copy_only_user)
void db_dump_query_result (DB_QUERY_RESULT * r)
int db_execute (const char * CSQL_query, DB_QUERY_RESULT ** result, DB_QUERY_ERROR * query_error)
int db_execute_oid (const char * CSQL_query, DB_QUERY_RESULT ** result, DB_QUERY_ERROR * query_error)
int db_execute_with_values (const char * CSQL_query, DB_QUERY_RESULT ** result, DB_QUERY_ERROR * query_error, int arg_count, DB_VALUE * vals)
void db_free_colname_list (char ** colname_list, int cnt)
void db_free_domain_list (SM_DOMAIN ** domain_list, int cnt)
void db_free_execution_plan (void)
void db_free_query_format (DB_QUERY_TYPE * q)
void db_free_query_result (DB_QUERY_RESULT * r)
DB_QUERY_RESULT * db_get_db_value_query_result (DB_VALUE * val)
char * db_get_execution_plan (void)
DB_QUERY_RESULT * db_get_objfetch_query_result (DB_VALUE * val_list, int val_cnt, int * size_list, char ** colname_list, char ** attrname_list)
int db_get_query_format (const char * CSQL_query, DB_QUERY_TYPE ** result, DB_QUERY_ERROR * query_error)
int db_get_query_result_format (DB_QUERY_RESULT * result, DB_QUERY_TYPE ** type_list)
DB_QUERY_TYPE * db_get_query_type (DB_TYPE * type_list, int * size_list, char ** colname_list, char ** attrname_list, SM_DOMAIN ** domain_list, SM_DOMAIN ** src_domain_list, int cnt, bool oid_included)
void db_init_prepare_info (DB_PREPARE_INFO * info)
void db_init_query_result (DB_QUERY_RESULT * r, DB_RESULT_TYPE r_type)
bool db_is_client_cache_reusable (DB_QUERY_RESULT * result)
int db_pack_prepare_info (const DB_PREPARE_INFO * info, char ** buffer)
int db_query_column_count (DB_QUERY_RESULT * result)
int db_query_end (DB_QUERY_RESULT * result)
int db_query_end_internal (DB_QUERY_RESULT * result, bool notify_server)
int db_query_execute (const char * CSQL_query, DB_QUERY_RESULT ** result, DB_QUERY_ERROR * query_error)
int db_query_execute_immediate (const char * CSQL_query, DB_QUERY_RESULT ** result, DB_QUERY_ERROR * query_error)
int db_query_first_tuple (DB_QUERY_RESULT * result)
char * db_query_format_attr_name (DB_QUERY_TYPE * query_type)
const char * db_query_format_class_name (DB_QUERY_TYPE * query_type)
DB_COL_TYPE db_query_format_col_type (DB_QUERY_TYPE * query_type)
SM_DOMAIN * db_query_format_domain (DB_QUERY_TYPE * query_type)
void db_query_format_free (DB_QUERY_TYPE * query_type)
int db_query_format_is_non_null (DB_QUERY_TYPE * query_type)
char * db_query_format_name (DB_QUERY_TYPE * query_type)
DB_QUERY_TYPE * db_query_format_next (DB_QUERY_TYPE * query_type)
char * db_query_format_original_name (DB_QUERY_TYPE * query_type)
int db_query_format_size (DB_QUERY_TYPE * query_type)
char * db_query_format_spec_name (DB_QUERY_TYPE * query_type)
SM_DOMAIN * db_query_format_src_domain (DB_QUERY_TYPE * query_type)
DB_TYPE db_query_format_type (DB_QUERY_TYPE * query_type)
void db_query_free_tplpos (DB_QUERY_TPLPOS * tplpos)
int db_query_get_cache_time (DB_QUERY_RESULT * result, CACHE_TIME * cache_time)
char * db_query_get_plan_dump_file ()
FILE * db_query_get_plan_dump_fp ()
DB_QUERY_TPLPOS * db_query_get_tplpos (DB_QUERY_RESULT * result)
int db_query_get_tuple_oid (DB_QUERY_RESULT * result, DB_VALUE * db_value)
int db_query_get_tuple_value (DB_QUERY_RESULT * result, int index, DB_VALUE * value)
int db_query_get_tuple_value_by_name (DB_QUERY_RESULT * result, char * column_name, DB_VALUE * value)
int db_query_get_tuple_valuelist (DB_QUERY_RESULT * result, int size, DB_VALUE * value_list)
int db_query_get_value_length (DB_QUERY_RESULT * result, int index)
DB_TYPE db_query_get_value_type (DB_QUERY_RESULT * result, int index)
bool db_query_is_plan_dump_opened ()
int db_query_last_tuple (DB_QUERY_RESULT * result)
int db_query_next_tuple (DB_QUERY_RESULT * result)
int db_query_plan_dump_file (char * filename)
void db_query_plan_dump_fp_close ()
FILE * db_query_plan_dump_fp_open ()
int db_query_prefetch_columns (DB_QUERY_RESULT * result, int * columns, int col_count)
int db_query_prev_tuple (DB_QUERY_RESULT * result)
int db_query_seek_tuple (DB_QUERY_RESULT * result, int offset, int seek_mode)
int db_query_set_copy_tplvalue (DB_QUERY_RESULT * result, int copy)
int db_query_set_tplpos (DB_QUERY_RESULT * result, DB_QUERY_TPLPOS * tplpos)
int db_query_stmt_id (DB_QUERY_RESULT * result)
int db_query_tuple_count (DB_QUERY_RESULT * result)
void db_set_execution_plan (char * plan, int length)
void db_sqlx_debug_print_result (DB_QUERY_RESULT * result)
int db_unpack_prepare_info (DB_PREPARE_INFO * info, char * buffer)

Public Static Functions

Type Name
DB_QUERY_RESULT * allocate_query_result (void)
DB_QUERY_TYPE * db_cp_query_type_helper (DB_QUERY_TYPE * src, DB_QUERY_TYPE * dest)
void free_query_result (DB_QUERY_RESULT * q_res)
char * or_pack_query_format (char * buf, const DB_QUERY_TYPE * q, const int count)
int or_packed_query_format_size (const DB_QUERY_TYPE * q, int * count)
char * or_unpack_query_format (char * buf, DB_QUERY_TYPE ** q)

Macros

Type Name
define DB_INVALID_INDEX (i, cnt) (([**i**](dynamic__load_8c.md#variable-i)) &lt; 0 \|\| ([**i**](dynamic__load_8c.md#variable-i)) &gt;= (cnt))
define DB_INVALID_RESTYPE (t) /* multi line expression */
define DB_OID_INCLUDED (r) ((r)-&gt;oid\_included == [**true**](broker__monitor_8c.md#function-timeout))
define PLAN_BUF_INITIAL_LENGTH (1024)

Public Attributes Documentation

variable alloc_res

struct alloc_resource alloc_res;

variable entry_cnt

int entry_cnt;

variable qres_closed_cnt

int qres_closed_cnt;

variable qres_cnt

int qres_cnt;

variable qres_list

DB_QUERY_RESULT** qres_list;

Public Static Attributes Documentation

variable QP_QRES_LIST_INC_RATE

const float QP_QRES_LIST_INC_RATE;

variable QP_QRES_LIST_INIT_CNT

const int QP_QRES_LIST_INIT_CNT;

variable Qres_table

struct  Qres_table;

variable db_Execution_plan

char* db_Execution_plan;

variable db_Execution_plan_length

int db_Execution_plan_length;

Public Functions Documentation

function db_alloc_query_format

DB_QUERY_TYPE * db_alloc_query_format (
    int cnt
) 

function db_alloc_query_result

DB_QUERY_RESULT * db_alloc_query_result (
    DB_RESULT_TYPE r_type,
    int col_cnt
) 

function db_clear_client_query_result

void db_clear_client_query_result (
    int notify_server,
    bool end_holdable
) 

function db_cp_colname_list

char ** db_cp_colname_list (
    char ** colname_list,
    int cnt
) 

function db_cp_domain_list

SM_DOMAIN ** db_cp_domain_list (
    SM_DOMAIN ** domain_list,
    int cnt
) 

function db_cp_query_type

DB_QUERY_TYPE * db_cp_query_type (
    DB_QUERY_TYPE * query_type,
    int copy_only_user
) 

function db_dump_query_result

void db_dump_query_result (
    DB_QUERY_RESULT * r
) 

function db_execute

int db_execute (
    const  char * CSQL_query,
    DB_QUERY_RESULT ** result,
    DB_QUERY_ERROR * query_error
) 

function db_execute_oid

int db_execute_oid (
    const  char * CSQL_query,
    DB_QUERY_RESULT ** result,
    DB_QUERY_ERROR * query_error
) 

function db_execute_with_values

int db_execute_with_values (
    const  char * CSQL_query,
    DB_QUERY_RESULT ** result,
    DB_QUERY_ERROR * query_error,
    int arg_count,
    DB_VALUE * vals
) 

function db_free_colname_list

void db_free_colname_list (
    char ** colname_list,
    int cnt
) 

function db_free_domain_list

void db_free_domain_list (
    SM_DOMAIN ** domain_list,
    int cnt
) 

function db_free_execution_plan

void db_free_execution_plan (
    void
) 

function db_free_query_format

void db_free_query_format (
    DB_QUERY_TYPE * q
) 

function db_free_query_result

void db_free_query_result (
    DB_QUERY_RESULT * r
) 

function db_get_db_value_query_result

DB_QUERY_RESULT * db_get_db_value_query_result (
    DB_VALUE * val
) 

function db_get_execution_plan

char * db_get_execution_plan (
    void
) 

function db_get_objfetch_query_result

DB_QUERY_RESULT * db_get_objfetch_query_result (
    DB_VALUE * val_list,
    int val_cnt,
    int * size_list,
    char ** colname_list,
    char ** attrname_list
) 

function db_get_query_format

int db_get_query_format (
    const  char * CSQL_query,
    DB_QUERY_TYPE ** result,
    DB_QUERY_ERROR * query_error
) 

function db_get_query_result_format

int db_get_query_result_format (
    DB_QUERY_RESULT * result,
    DB_QUERY_TYPE ** type_list
) 

function db_get_query_type

DB_QUERY_TYPE * db_get_query_type (
    DB_TYPE * type_list,
    int * size_list,
    char ** colname_list,
    char ** attrname_list,
    SM_DOMAIN ** domain_list,
    SM_DOMAIN ** src_domain_list,
    int cnt,
    bool oid_included
) 

function db_init_prepare_info

void db_init_prepare_info (
    DB_PREPARE_INFO * info
) 

function db_init_query_result

void db_init_query_result (
    DB_QUERY_RESULT * r,
    DB_RESULT_TYPE r_type
) 

function db_is_client_cache_reusable

bool db_is_client_cache_reusable (
    DB_QUERY_RESULT * result
) 

function db_pack_prepare_info

int db_pack_prepare_info (
    const  DB_PREPARE_INFO * info,
    char ** buffer
) 

function db_query_column_count

int db_query_column_count (
    DB_QUERY_RESULT * result
) 

function db_query_end

int db_query_end (
    DB_QUERY_RESULT * result
) 

function db_query_end_internal

int db_query_end_internal (
    DB_QUERY_RESULT * result,
    bool notify_server
) 

function db_query_execute

int db_query_execute (
    const  char * CSQL_query,
    DB_QUERY_RESULT ** result,
    DB_QUERY_ERROR * query_error
) 

function db_query_execute_immediate

int db_query_execute_immediate (
    const  char * CSQL_query,
    DB_QUERY_RESULT ** result,
    DB_QUERY_ERROR * query_error
) 

function db_query_first_tuple

int db_query_first_tuple (
    DB_QUERY_RESULT * result
) 

function db_query_format_attr_name

char * db_query_format_attr_name (
    DB_QUERY_TYPE * query_type
) 

function db_query_format_class_name

const  char * db_query_format_class_name (
    DB_QUERY_TYPE * query_type
) 

function db_query_format_col_type

DB_COL_TYPE db_query_format_col_type (
    DB_QUERY_TYPE * query_type
) 

function db_query_format_domain

SM_DOMAIN * db_query_format_domain (
    DB_QUERY_TYPE * query_type
) 

function db_query_format_free

void db_query_format_free (
    DB_QUERY_TYPE * query_type
) 

function db_query_format_is_non_null

int db_query_format_is_non_null (
    DB_QUERY_TYPE * query_type
) 

function db_query_format_name

char * db_query_format_name (
    DB_QUERY_TYPE * query_type
) 

function db_query_format_next

DB_QUERY_TYPE * db_query_format_next (
    DB_QUERY_TYPE * query_type
) 

function db_query_format_original_name

char * db_query_format_original_name (
    DB_QUERY_TYPE * query_type
) 

function db_query_format_size

int db_query_format_size (
    DB_QUERY_TYPE * query_type
) 

function db_query_format_spec_name

char * db_query_format_spec_name (
    DB_QUERY_TYPE * query_type
) 

function db_query_format_src_domain

SM_DOMAIN * db_query_format_src_domain (
    DB_QUERY_TYPE * query_type
) 

function db_query_format_type

DB_TYPE db_query_format_type (
    DB_QUERY_TYPE * query_type
) 

function db_query_free_tplpos

void db_query_free_tplpos (
    DB_QUERY_TPLPOS * tplpos
) 

function db_query_get_cache_time

int db_query_get_cache_time (
    DB_QUERY_RESULT * result,
    CACHE_TIME * cache_time
) 

function db_query_get_plan_dump_file

char * db_query_get_plan_dump_file () 

function db_query_get_plan_dump_fp

FILE * db_query_get_plan_dump_fp () 

function db_query_get_tplpos

DB_QUERY_TPLPOS * db_query_get_tplpos (
    DB_QUERY_RESULT * result
) 

function db_query_get_tuple_oid

int db_query_get_tuple_oid (
    DB_QUERY_RESULT * result,
    DB_VALUE * db_value
) 

function db_query_get_tuple_value

int db_query_get_tuple_value (
    DB_QUERY_RESULT * result,
    int index,
    DB_VALUE * value
) 

function db_query_get_tuple_value_by_name

int db_query_get_tuple_value_by_name (
    DB_QUERY_RESULT * result,
    char * column_name,
    DB_VALUE * value
) 

function db_query_get_tuple_valuelist

int db_query_get_tuple_valuelist (
    DB_QUERY_RESULT * result,
    int size,
    DB_VALUE * value_list
) 

function db_query_get_value_length

int db_query_get_value_length (
    DB_QUERY_RESULT * result,
    int index
) 

function db_query_get_value_type

DB_TYPE db_query_get_value_type (
    DB_QUERY_RESULT * result,
    int index
) 

function db_query_is_plan_dump_opened

bool db_query_is_plan_dump_opened () 

function db_query_last_tuple

int db_query_last_tuple (
    DB_QUERY_RESULT * result
) 

function db_query_next_tuple

int db_query_next_tuple (
    DB_QUERY_RESULT * result
) 

function db_query_plan_dump_file

int db_query_plan_dump_file (
    char * filename
) 

function db_query_plan_dump_fp_close

void db_query_plan_dump_fp_close () 

function db_query_plan_dump_fp_open

FILE * db_query_plan_dump_fp_open () 

function db_query_prefetch_columns

int db_query_prefetch_columns (
    DB_QUERY_RESULT * result,
    int * columns,
    int col_count
) 

function db_query_prev_tuple

int db_query_prev_tuple (
    DB_QUERY_RESULT * result
) 

function db_query_seek_tuple

int db_query_seek_tuple (
    DB_QUERY_RESULT * result,
    int offset,
    int seek_mode
) 

function db_query_set_copy_tplvalue

int db_query_set_copy_tplvalue (
    DB_QUERY_RESULT * result,
    int copy
) 

function db_query_set_tplpos

int db_query_set_tplpos (
    DB_QUERY_RESULT * result,
    DB_QUERY_TPLPOS * tplpos
) 

function db_query_stmt_id

int db_query_stmt_id (
    DB_QUERY_RESULT * result
) 

function db_query_tuple_count

int db_query_tuple_count (
    DB_QUERY_RESULT * result
) 

function db_set_execution_plan

void db_set_execution_plan (
    char * plan,
    int length
) 

function db_sqlx_debug_print_result

void db_sqlx_debug_print_result (
    DB_QUERY_RESULT * result
) 

function db_unpack_prepare_info

int db_unpack_prepare_info (
    DB_PREPARE_INFO * info,
    char * buffer
) 

Public Static Functions Documentation

function allocate_query_result

static DB_QUERY_RESULT * allocate_query_result (
    void
) 

function db_cp_query_type_helper

static DB_QUERY_TYPE * db_cp_query_type_helper (
    DB_QUERY_TYPE * src,
    DB_QUERY_TYPE * dest
) 

function free_query_result

static void free_query_result (
    DB_QUERY_RESULT * q_res
) 

function or_pack_query_format

static char * or_pack_query_format (
    char * buf,
    const  DB_QUERY_TYPE * q,
    const  int count
) 

function or_packed_query_format_size

static int or_packed_query_format_size (
    const  DB_QUERY_TYPE * q,
    int * count
) 

function or_unpack_query_format

static char * or_unpack_query_format (
    char * buf,
    DB_QUERY_TYPE ** q
) 

Macro Definition Documentation

define DB_INVALID_INDEX

#define DB_INVALID_INDEX (
    i,
    cnt
) `(( i ) < 0 || ( i ) >= (cnt))`

define DB_INVALID_RESTYPE

#define DB_INVALID_RESTYPE (
    t
) `/* multi line expression */`

define DB_OID_INCLUDED

#define DB_OID_INCLUDED (
    r
) `((r)->oid_included == true )`

define PLAN_BUF_INITIAL_LENGTH

#define PLAN_BUF_INITIAL_LENGTH `(1024)`


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