34 #if defined(CUB_PROXY) 38 #define PROXY_LOG(level, fmt, ...) 40 #define PROXY_LOG(level, fmt, args...) 57 "Failed to load " "shard hashing library. " "(library_name:[%s], function:[%s]).\n",
64 "Loading shard hashing " "library was completed. " "(library_name:[%s], function:[%s]).\n",
70 #if defined(SHARD_VERBOSE_DEBUG) 71 printf (
"FN_GET_SHARD_KEY REGISTER DEFAULT DONE\n");
92 "Invalid modular key. " "Shard modular key value couldn't be negative integer. " "(modular_key:%d).",
100 ival = (
unsigned int) (*(
unsigned int *) value);
101 return ival % modular_key;
106 sval = (
unsigned short) (*(
unsigned short *) value);
107 return sval % modular_key;
112 lval = (UINT64) (*(UINT64 *) value);
113 return lval % modular_key;
125 int shard_key_id = -1;
126 INT64 shard_key_val_int;
127 char *shard_key_val_string;
128 int shard_key_val_len;
132 shard_key_val_int = value_p->
integer;
133 shard_key_id = (*fn_get_shard_key) (key_column,
SHARD_U_TYPE_BIGINT, &shard_key_val_int,
sizeof (INT64));
139 shard_key_id = (*fn_get_shard_key) (key_column,
SHARD_U_TYPE_STRING, shard_key_val_string, shard_key_val_len);
char shard_key_library_name[SHM_PROXY_NAME_MAX]
#define ERROR_ON_MAKE_SHARD_KEY
#define ERROR_ON_ARGUMENT
int fn_get_shard_key_default(const char *shard_key, T_SHARD_U_TYPE type, const void *value, int value_len)
int proxy_find_shard_id_by_hint_value(SP_VALUE *value_p, const char *key_column)
char shard_key_function_name[SHM_PROXY_NAME_MAX]
static void error(const char *msg)
T_SHM_PROXY * shm_proxy_p
#define PROXY_LOG(level, fmt, args...)
struct sp_value::@40 string
int register_fn_get_shard_key(void)