Skip to content

File shard_statement.c

FileList > broker > shard_statement.c

Go to the source code of this file

  • #include <stdio.h>
  • #include <stdlib.h>
  • #include <string.h>
  • #include <assert.h>
  • #include "cas_common.h"
  • #include "shard_proxy.h"
  • #include "shard_proxy_common.h"
  • #include "shard_statement.h"
  • #include "shard_shm.h"

Public Attributes

Type Name
T_PROXY_INFO * proxy_info_p
T_SHARD_STMT_GLOBAL shard_Stmt
int shard_Stmt_max_num_alloc = (8192)
T_SHM_SHARD_KEY * shm_key_p

Public Functions

Type Name
void shard_statement_wait_timer (void)
int shard_stmt_add_srv_h_id_for_shard_cas (int stmt_h_id, int shard_id, int cas_id, int srv_h_id)
void shard_stmt_check_waiter_and_wakeup (T_SHARD_STMT * stmt_p)
void shard_stmt_del_all_srv_h_id_for_shard_cas (int shard_id, int cas_id)
void shard_stmt_del_srv_h_id_for_shard_cas (int stmt_h_id, int shard_id, int cas_id)
void shard_stmt_destroy (void)
T_SHARD_STMT * shard_stmt_find_by_sql (char * sql_stmt, const char * db_user, T_BROKER_VERSION client_version)
T_SHARD_STMT * shard_stmt_find_by_stmt_h_id (int stmt_h_id)
int shard_stmt_find_srv_h_id_for_shard_cas (int stmt_h_id, int shard_id, int cas_id)
void shard_stmt_free (T_SHARD_STMT * stmt_p)
int shard_stmt_get_hint_type (T_SHARD_STMT * stmt_p)
int shard_stmt_initialize (int initial_size)
T_SHARD_STMT * shard_stmt_new_exclusive (char * sql_stmt, int ctx_cid, unsigned int ctx_uid, T_BROKER_VERSION client_version)
T_SHARD_STMT * shard_stmt_new_prepared_stmt (char * sql_stmt, int ctx_cid, unsigned int ctx_uid, T_BROKER_VERSION client_version)
T_SHARD_STMT * shard_stmt_new_schema_info (int ctx_cid, unsigned int ctx_uid)
int shard_stmt_pin (T_SHARD_STMT * stmt_p)
char * shard_stmt_rewrite_sql (bool * has_shard_val_hint, char * sql_stmt, char appl_server)
int shard_stmt_save_prepare_request (T_SHARD_STMT * stmt_p, bool has_shard_val_hint, char ** prepare_req, int * prepare_req_len, char * argv_sql_stmt, char * argv_remainder, char * orgzd_sql)
int shard_stmt_set_hint_list (T_SHARD_STMT * stmt_p)
void shard_stmt_set_status_complete (int stmt_h_id)
void shard_stmt_set_status_invalid (int stmt_h_id)
int shard_stmt_unpin (T_SHARD_STMT * stmt_p)
char * shard_str_stmt (T_SHARD_STMT * stmt_p)

Public Static Functions

Type Name
int shard_stmt_change_shard_val_to_id (char ** sql_stmt, const char ** buf, char appl_server)
void shard_stmt_del_statement_from_map (T_SHARD_STMT * stmt_p)
int shard_stmt_find_srv_h_id (T_SHARD_STMT * stmt_p, int shard_id, int cas_id)
T_SHARD_STMT * shard_stmt_find_unused (void)
T_SHARD_STMT * shard_stmt_get_lru (void)
int shard_stmt_lru_delete (T_SHARD_STMT * stmt_p)
int shard_stmt_lru_insert (T_SHARD_STMT * stmt_p)
T_BROKER_VERSION shard_stmt_make_protocol_version (T_BROKER_VERSION client_version)
T_SHARD_STMT * shard_stmt_new_internal (int stmt_type, char * sql_stmt, int ctx_cid, unsigned int ctx_uid, T_BROKER_VERSION client_version)
int * shard_stmt_pos_srv_h_id (T_SHARD_STMT * stmt_p, int shard_id, int cas_id)
void shard_stmt_put_statement_to_map (const char * sql_stmt, T_SHARD_STMT * stmt_p)
int shard_stmt_set_srv_h_id (T_SHARD_STMT * stmt_p, int shard_id, int cas_id, int srv_h_id)
void shard_stmt_set_status (int stmt_h_id, int status)
char * shard_stmt_write_buf_to_sql (char * sql_stmt, const char * buf, int length, bool is_to_upper, char appl_server)

Public Attributes Documentation

variable proxy_info_p

T_PROXY_INFO* proxy_info_p;

variable shard_Stmt

T_SHARD_STMT_GLOBAL shard_Stmt;

variable shard_Stmt_max_num_alloc

int shard_Stmt_max_num_alloc;

variable shm_key_p

T_SHM_SHARD_KEY* shm_key_p;

Public Functions Documentation

function shard_statement_wait_timer

void shard_statement_wait_timer (
    void
) 

function shard_stmt_add_srv_h_id_for_shard_cas

int shard_stmt_add_srv_h_id_for_shard_cas (
    int stmt_h_id,
    int shard_id,
    int cas_id,
    int srv_h_id
) 

function shard_stmt_check_waiter_and_wakeup

void shard_stmt_check_waiter_and_wakeup (
    T_SHARD_STMT * stmt_p
) 

function shard_stmt_del_all_srv_h_id_for_shard_cas

void shard_stmt_del_all_srv_h_id_for_shard_cas (
    int shard_id,
    int cas_id
) 

function shard_stmt_del_srv_h_id_for_shard_cas

void shard_stmt_del_srv_h_id_for_shard_cas (
    int stmt_h_id,
    int shard_id,
    int cas_id
) 

function shard_stmt_destroy

void shard_stmt_destroy (
    void
) 

function shard_stmt_find_by_sql

T_SHARD_STMT * shard_stmt_find_by_sql (
    char * sql_stmt,
    const  char * db_user,
    T_BROKER_VERSION client_version
) 

function shard_stmt_find_by_stmt_h_id

T_SHARD_STMT * shard_stmt_find_by_stmt_h_id (
    int stmt_h_id
) 

function shard_stmt_find_srv_h_id_for_shard_cas

int shard_stmt_find_srv_h_id_for_shard_cas (
    int stmt_h_id,
    int shard_id,
    int cas_id
) 

function shard_stmt_free

void shard_stmt_free (
    T_SHARD_STMT * stmt_p
) 

function shard_stmt_get_hint_type

int shard_stmt_get_hint_type (
    T_SHARD_STMT * stmt_p
) 

function shard_stmt_initialize

int shard_stmt_initialize (
    int initial_size
) 

function shard_stmt_new_exclusive

T_SHARD_STMT * shard_stmt_new_exclusive (
    char * sql_stmt,
    int ctx_cid,
    unsigned  int ctx_uid,
    T_BROKER_VERSION client_version
) 

function shard_stmt_new_prepared_stmt

T_SHARD_STMT * shard_stmt_new_prepared_stmt (
    char * sql_stmt,
    int ctx_cid,
    unsigned  int ctx_uid,
    T_BROKER_VERSION client_version
) 

function shard_stmt_new_schema_info

T_SHARD_STMT * shard_stmt_new_schema_info (
    int ctx_cid,
    unsigned  int ctx_uid
) 

function shard_stmt_pin

int shard_stmt_pin (
    T_SHARD_STMT * stmt_p
) 

function shard_stmt_rewrite_sql

char * shard_stmt_rewrite_sql (
    bool * has_shard_val_hint,
    char * sql_stmt,
    char appl_server
) 

function shard_stmt_save_prepare_request

int shard_stmt_save_prepare_request (
    T_SHARD_STMT * stmt_p,
    bool has_shard_val_hint,
    char ** prepare_req,
    int * prepare_req_len,
    char * argv_sql_stmt,
    char * argv_remainder,
    char * orgzd_sql
) 

function shard_stmt_set_hint_list

int shard_stmt_set_hint_list (
    T_SHARD_STMT * stmt_p
) 

function shard_stmt_set_status_complete

void shard_stmt_set_status_complete (
    int stmt_h_id
) 

function shard_stmt_set_status_invalid

void shard_stmt_set_status_invalid (
    int stmt_h_id
) 

function shard_stmt_unpin

int shard_stmt_unpin (
    T_SHARD_STMT * stmt_p
) 

function shard_str_stmt

char * shard_str_stmt (
    T_SHARD_STMT * stmt_p
) 

Public Static Functions Documentation

function shard_stmt_change_shard_val_to_id

static int shard_stmt_change_shard_val_to_id (
    char ** sql_stmt,
    const  char ** buf,
    char appl_server
) 

function shard_stmt_del_statement_from_map

static void shard_stmt_del_statement_from_map (
    T_SHARD_STMT * stmt_p
) 

function shard_stmt_find_srv_h_id

static int shard_stmt_find_srv_h_id (
    T_SHARD_STMT * stmt_p,
    int shard_id,
    int cas_id
) 

function shard_stmt_find_unused

static T_SHARD_STMT * shard_stmt_find_unused (
    void
) 

function shard_stmt_get_lru

static T_SHARD_STMT * shard_stmt_get_lru (
    void
) 

function shard_stmt_lru_delete

static int shard_stmt_lru_delete (
    T_SHARD_STMT * stmt_p
) 

function shard_stmt_lru_insert

static int shard_stmt_lru_insert (
    T_SHARD_STMT * stmt_p
) 

function shard_stmt_make_protocol_version

static T_BROKER_VERSION shard_stmt_make_protocol_version (
    T_BROKER_VERSION client_version
) 

function shard_stmt_new_internal

static T_SHARD_STMT * shard_stmt_new_internal (
    int stmt_type,
    char * sql_stmt,
    int ctx_cid,
    unsigned  int ctx_uid,
    T_BROKER_VERSION client_version
) 

function shard_stmt_pos_srv_h_id

static int * shard_stmt_pos_srv_h_id (
    T_SHARD_STMT * stmt_p,
    int shard_id,
    int cas_id
) 

function shard_stmt_put_statement_to_map

static void shard_stmt_put_statement_to_map (
    const  char * sql_stmt,
    T_SHARD_STMT * stmt_p
) 

function shard_stmt_set_srv_h_id

static int shard_stmt_set_srv_h_id (
    T_SHARD_STMT * stmt_p,
    int shard_id,
    int cas_id,
    int srv_h_id
) 

function shard_stmt_set_status

static void shard_stmt_set_status (
    int stmt_h_id,
    int status
) 

function shard_stmt_write_buf_to_sql

static char * shard_stmt_write_buf_to_sql (
    char * sql_stmt,
    const  char * buf,
    int length,
    bool is_to_upper,
    char appl_server
) 


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