Skip to content

File shard_statement.h

FileList > broker > shard_statement.h

Go to the source code of this file

  • #include "shard_parser.h"
  • #include "broker_config.h"
  • #include "shard_proxy_queue.h"
  • #include "cas_protocol.h"

Classes

Type Name
struct t_shard_stmt
struct t_shard_stmt_global

Public Types

Type Name
typedef struct t_shard_stmt T_SHARD_STMT
typedef struct t_shard_stmt_global T_SHARD_STMT_GLOBAL
enum shard__statement_8h_1a394b3903fbf00ba2b6243f60689a5a5f
enum shard__statement_8h_1ac205be2172292384dd687b5471a87edd

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)

Macros

Type Name
define SHARD_STMT_INVALID_HANDLE_ID (-1)
define SHARD_STMT_MAX_NUM_ALLOC (8192)

Public Types Documentation

typedef T_SHARD_STMT

typedef struct t_shard_stmt T_SHARD_STMT;

typedef T_SHARD_STMT_GLOBAL

typedef struct t_shard_stmt_global T_SHARD_STMT_GLOBAL;

enum shard__statement_8h_1a394b3903fbf00ba2b6243f60689a5a5f

enum shard__statement_8h_1a394b3903fbf00ba2b6243f60689a5a5f {
    SHARD_STMT_STATUS_UNUSED = 0,
    SHARD_STMT_STATUS_IN_PROGRESS = 1,
    SHARD_STMT_STATUS_COMPLETE = 2,
    SHARD_STMT_STATUS_INVALID = 3
};

enum shard__statement_8h_1ac205be2172292384dd687b5471a87edd

enum shard__statement_8h_1ac205be2172292384dd687b5471a87edd {
    SHARD_STMT_TYPE_PREPARED = 0,
    SHARD_STMT_TYPE_SCHEMA_INFO = 1,
    SHARD_STMT_TYPE_EXCLUSIVE = 2
};

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
) 

Macro Definition Documentation

define SHARD_STMT_INVALID_HANDLE_ID

#define SHARD_STMT_INVALID_HANDLE_ID `(-1)`

define SHARD_STMT_MAX_NUM_ALLOC

#define SHARD_STMT_MAX_NUM_ALLOC `(8192)`


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