1
0
mirror of https://github.com/MariaDB/server.git synced 2025-06-13 13:01:51 +03:00

optimize encryption api

only one encryption key lookup in most cases instead of three
(has_key, get_key_size, get_key).
This commit is contained in:
Sergei Golubchik
2015-03-31 19:00:51 +02:00
parent c91e3260e2
commit ef5b4889c2
17 changed files with 90 additions and 145 deletions

View File

@ -201,13 +201,11 @@ int thd_setspecific(void* thd, MYSQL_THD_KEY_T key, void *value);
extern struct encryption_keys_service_st {
unsigned int (*get_latest_encryption_key_version_func)();
unsigned int (*has_encryption_key_func)(unsigned int);
unsigned int (*get_encryption_key_size_func)(unsigned int);
int (*get_encryption_key_func)(unsigned int, unsigned char*, unsigned int);
unsigned int (*get_encryption_key_func)(unsigned int, unsigned char*, unsigned int*);
} *encryption_keys_service;
unsigned int get_latest_encryption_key_version();
unsigned int has_encryption_key(unsigned int version);
unsigned int get_encryption_key_size(unsigned int version);
int get_encryption_key(unsigned int version, unsigned char* key, unsigned int keybufsize);
unsigned int get_encryption_key(unsigned int version, unsigned char* key, unsigned int *keybufsize);
struct st_mysql_xid {
long formatID;
long gtrid_length;