diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/atomic/gcc_builtins.h | 4 | ||||
-rw-r--r-- | include/my_stacktrace.h | 3 | ||||
-rw-r--r-- | include/myisamchk.h | 1 | ||||
-rw-r--r-- | include/mysql.h | 6 | ||||
-rw-r--r-- | include/mysql.h.pp | 9 | ||||
-rw-r--r-- | include/mysql/client_plugin.h.pp | 2 | ||||
-rw-r--r-- | include/mysql/plugin_audit.h.pp | 16 | ||||
-rw-r--r-- | include/mysql/plugin_auth.h.pp | 17 | ||||
-rw-r--r-- | include/mysql/plugin_ftparser.h.pp | 15 | ||||
-rw-r--r-- | include/mysql/psi/mysql_statement.h | 26 | ||||
-rw-r--r-- | include/mysql/psi/psi.h | 57 | ||||
-rw-r--r-- | include/mysql/psi/psi_abi_v0.h.pp | 2 | ||||
-rw-r--r-- | include/mysql/psi/psi_abi_v1.h.pp | 25 | ||||
-rw-r--r-- | include/mysql/psi/psi_abi_v2.h.pp | 3 | ||||
-rw-r--r-- | include/mysql_com.h | 5 | ||||
-rw-r--r-- | include/violite.h | 2 | ||||
-rw-r--r-- | include/welcome_copyright_notice.h | 6 |
17 files changed, 52 insertions, 147 deletions
diff --git a/include/atomic/gcc_builtins.h b/include/atomic/gcc_builtins.h index 6e807b3c51c..56a0323aedf 100644 --- a/include/atomic/gcc_builtins.h +++ b/include/atomic/gcc_builtins.h @@ -31,8 +31,8 @@ #define make_atomic_store_body(S) *a= v #define MY_ATOMIC_MODE "gcc-builtins-up" -#elif defined(__ATOMIC_SEQ_CST) -#define MY_ATOMIC_MODE "gcc-builtins-smp" +#elif defined(HAVE_GCC_C11_ATOMICS) +#define MY_ATOMIC_MODE "gcc-atomics-smp" #define make_atomic_load_body(S) \ ret= __atomic_load_n(a, __ATOMIC_SEQ_CST) #define make_atomic_store_body(S) \ diff --git a/include/my_stacktrace.h b/include/my_stacktrace.h index ad05a7df9ab..fb2525e3a12 100644 --- a/include/my_stacktrace.h +++ b/include/my_stacktrace.h @@ -35,8 +35,7 @@ #define HAVE_WRITE_CORE -#if HAVE_BACKTRACE && HAVE_BACKTRACE_SYMBOLS && \ - HAVE_CXXABI_H && HAVE_ABI_CXA_DEMANGLE && \ +#if HAVE_BACKTRACE && HAVE_BACKTRACE_SYMBOLS && HAVE_ABI_CXA_DEMANGLE && \ HAVE_WEAK_SYMBOL #define BACKTRACE_DEMANGLE 1 #endif diff --git a/include/myisamchk.h b/include/myisamchk.h index 7abbcea3302..64724de1789 100644 --- a/include/myisamchk.h +++ b/include/myisamchk.h @@ -34,6 +34,7 @@ #define TT_USEFRM 1 #define TT_FOR_UPGRADE 2 +#define TT_FROM_MYSQL 4 /* Bits set in out_flag */ #define O_NEW_DATA 2 diff --git a/include/mysql.h b/include/mysql.h index 63e86937063..d9d9739dd1f 100644 --- a/include/mysql.h +++ b/include/mysql.h @@ -865,6 +865,12 @@ my_socket STDCALL mysql_get_socket(const MYSQL *mysql); unsigned int STDCALL mysql_get_timeout_value(const MYSQL *mysql); unsigned int STDCALL mysql_get_timeout_value_ms(const MYSQL *mysql); +/******************************************************************** + mysql_net_ functions - low-level API to MySQL protocol +*********************************************************************/ +unsigned long STDCALL mysql_net_read_packet(MYSQL *mysql); +unsigned long STDCALL mysql_net_field_length(unsigned char **packet); + /* status return codes */ #define MYSQL_NO_DATA 100 #define MYSQL_DATA_TRUNCATED 101 diff --git a/include/mysql.h.pp b/include/mysql.h.pp index dd794e856e1..2c8e47b454f 100644 --- a/include/mysql.h.pp +++ b/include/mysql.h.pp @@ -1,7 +1,5 @@ typedef char my_bool; typedef int my_socket; -#include "mysql_version.h" -#include "mysql_com.h" enum enum_server_command { COM_SLEEP, COM_QUIT, COM_INIT_DB, COM_QUERY, COM_FIELD_LIST, @@ -145,7 +143,6 @@ void get_tty_password_buff(const char *opt_message, char *to, size_t length); const char *mysql_errno_to_sqlstate(unsigned int mysql_errno); my_bool my_thread_init(void); void my_thread_end(void); -#include "mysql_time.h" typedef long my_time_t; enum enum_mysql_timestamp_type { @@ -159,7 +156,6 @@ typedef struct st_mysql_time my_bool neg; enum enum_mysql_timestamp_type time_type; } MYSQL_TIME; -#include "my_list.h" typedef struct st_list { struct st_list *prev,*next; void *data; @@ -201,8 +197,6 @@ typedef struct st_mysql_field { typedef char **MYSQL_ROW; typedef unsigned int MYSQL_FIELD_OFFSET; typedef unsigned long long my_ulonglong; -#include "typelib.h" -#include "my_alloc.h" typedef struct st_used_mem { struct st_used_mem *next; @@ -246,7 +240,6 @@ typedef struct st_mysql_rows { unsigned long length; } MYSQL_ROWS; typedef MYSQL_ROWS *MYSQL_ROW_OFFSET; -#include "my_alloc.h" typedef struct embedded_query_result EMBEDDED_QUERY_RESULT; typedef struct st_mysql_data { MYSQL_ROWS *data; @@ -747,3 +740,5 @@ int mysql_close_cont(MYSQL *sock, int status); my_socket mysql_get_socket(const MYSQL *mysql); unsigned int mysql_get_timeout_value(const MYSQL *mysql); unsigned int mysql_get_timeout_value_ms(const MYSQL *mysql); +unsigned long mysql_net_read_packet(MYSQL *mysql); +unsigned long mysql_net_field_length(unsigned char **packet); diff --git a/include/mysql/client_plugin.h.pp b/include/mysql/client_plugin.h.pp index f3a0b5769df..b6ba9cf08ad 100644 --- a/include/mysql/client_plugin.h.pp +++ b/include/mysql/client_plugin.h.pp @@ -3,7 +3,6 @@ struct st_mysql_client_plugin int type; unsigned int interface_version; const char *name; const char *author; const char *desc; unsigned int version[3]; const char *license; void *mysql_api; int (*init)(char *, size_t, int, va_list); int (*deinit)(); int (*options)(const char *option, const void *); }; struct st_mysql; -#include <mysql/plugin_auth_common.h> typedef struct st_plugin_vio_info { enum { MYSQL_VIO_INVALID, MYSQL_VIO_TCP, MYSQL_VIO_SOCKET, @@ -24,7 +23,6 @@ struct st_mysql_client_plugin_AUTHENTICATION int type; unsigned int interface_version; const char *name; const char *author; const char *desc; unsigned int version[3]; const char *license; void *mysql_api; int (*init)(char *, size_t, int, va_list); int (*deinit)(); int (*options)(const char *option, const void *); int (*authenticate_user)(MYSQL_PLUGIN_VIO *vio, struct st_mysql *mysql); }; -#include <mysql/auth_dialog_client.h> struct st_mysql; typedef char *(*mysql_authentication_dialog_ask_t)(struct st_mysql *mysql, int type, const char *prompt, char *buf, int buf_len); diff --git a/include/mysql/plugin_audit.h.pp b/include/mysql/plugin_audit.h.pp index 98fd089570d..2f8edfe192f 100644 --- a/include/mysql/plugin_audit.h.pp +++ b/include/mysql/plugin_audit.h.pp @@ -1,15 +1,11 @@ -#include "plugin.h" typedef char my_bool; typedef void * MYSQL_PLUGIN; -#include <mysql/services.h> -#include <mysql/service_my_snprintf.h> extern struct my_snprintf_service_st { size_t (*my_snprintf_type)(char*, size_t, const char*, ...); size_t (*my_vsnprintf_type)(char *, size_t, const char*, va_list); } *my_snprintf_service; size_t my_snprintf(char* to, size_t n, const char* fmt, ...); size_t my_vsnprintf(char *to, size_t n, const char* fmt, va_list ap); -#include <mysql/service_thd_alloc.h> struct st_mysql_lex_string { char *str; @@ -33,7 +29,6 @@ void *thd_memdup(void* thd, const void* str, unsigned int size); MYSQL_LEX_STRING *thd_make_lex_string(void* thd, MYSQL_LEX_STRING *lex_str, const char *str, unsigned int size, int allocate_lex_string); -#include <mysql/service_thd_wait.h> typedef enum _thd_wait_type_e { THD_WAIT_SLEEP= 1, THD_WAIT_DISKIO= 2, @@ -54,7 +49,6 @@ extern struct thd_wait_service_st { } *thd_wait_service; void thd_wait_begin(void* thd, int wait_type); void thd_wait_end(void* thd); -#include <mysql/service_progress_report.h> extern struct progress_report_service_st { void (*thd_progress_init_func)(void* thd, unsigned int max_stage); void (*thd_progress_report_func)(void* thd, @@ -75,9 +69,7 @@ void thd_progress_next_stage(void* thd); void thd_progress_end(void* thd); const char *set_thd_proc_info(void*, const char * info, const char *func, const char *file, unsigned int line); -#include <mysql/service_debug_sync.h> extern void (*debug_sync_C_callback_ptr)(void*, const char *, size_t); -#include <mysql/service_kill_statement.h> enum thd_kill_levels { THD_IS_NOT_KILLED=0, THD_ABORT_SOFTLY=50, @@ -87,8 +79,6 @@ extern struct kill_statement_service_st { enum thd_kill_levels (*thd_kill_level_func)(const void*); } *thd_kill_statement_service; enum thd_kill_levels thd_kill_level(const void*); -#include <mysql/service_thd_timezone.h> -#include "mysql_time.h" typedef long my_time_t; enum enum_mysql_timestamp_type { @@ -108,14 +98,12 @@ extern struct thd_timezone_service_st { } *thd_timezone_service; my_time_t thd_TIME_to_gmt_sec(void* thd, const MYSQL_TIME *ltime, unsigned int *errcode); void thd_gmt_sec_to_TIME(void* thd, MYSQL_TIME *ltime, my_time_t t); -#include <mysql/service_sha1.h> extern struct my_sha1_service_st { void (*my_sha1_type)(unsigned char*, const char*, size_t); void (*my_sha1_multi_type)(unsigned char*, ...); } *my_sha1_service; void my_sha1(unsigned char*, const char*, size_t); void my_sha1_multi(unsigned char*, ...); -#include <mysql/service_logger.h> typedef struct logger_handle_st LOGGER_HANDLE; extern struct logger_service_st { void (*logger_init_mutexes)(); @@ -137,14 +125,12 @@ extern struct logger_service_st { int logger_printf(LOGGER_HANDLE *log, const char *fmt, ...); int logger_write(LOGGER_HANDLE *log, const char *buffer, size_t size); int logger_rotate(LOGGER_HANDLE *log); -#include <mysql/service_thd_autoinc.h> extern struct thd_autoinc_service_st { void (*thd_get_autoinc_func)(const void* thd, unsigned long* off, unsigned long* inc); } *thd_autoinc_service; void thd_get_autoinc(const void* thd, unsigned long* off, unsigned long* inc); -#include <mysql/service_thd_error_context.h> extern struct thd_error_context_service_st { const char *(*thd_get_error_message_func)(const void* thd); unsigned int (*thd_get_error_number_func)(const void* thd); @@ -223,8 +209,6 @@ struct st_maria_plugin const char *version_info; unsigned int maturity; }; -#include "plugin_ftparser.h" -#include "plugin.h" enum enum_ftparser_mode { MYSQL_FTPARSER_SIMPLE_MODE= 0, diff --git a/include/mysql/plugin_auth.h.pp b/include/mysql/plugin_auth.h.pp index 6d52c5be7f0..d052c550896 100644 --- a/include/mysql/plugin_auth.h.pp +++ b/include/mysql/plugin_auth.h.pp @@ -1,15 +1,11 @@ -#include <mysql/plugin.h> typedef char my_bool; typedef void * MYSQL_PLUGIN; -#include <mysql/services.h> -#include <mysql/service_my_snprintf.h> extern struct my_snprintf_service_st { size_t (*my_snprintf_type)(char*, size_t, const char*, ...); size_t (*my_vsnprintf_type)(char *, size_t, const char*, va_list); } *my_snprintf_service; size_t my_snprintf(char* to, size_t n, const char* fmt, ...); size_t my_vsnprintf(char *to, size_t n, const char* fmt, va_list ap); -#include <mysql/service_thd_alloc.h> struct st_mysql_lex_string { char *str; @@ -33,7 +29,6 @@ void *thd_memdup(void* thd, const void* str, unsigned int size); MYSQL_LEX_STRING *thd_make_lex_string(void* thd, MYSQL_LEX_STRING *lex_str, const char *str, unsigned int size, int allocate_lex_string); -#include <mysql/service_thd_wait.h> typedef enum _thd_wait_type_e { THD_WAIT_SLEEP= 1, THD_WAIT_DISKIO= 2, @@ -54,7 +49,6 @@ extern struct thd_wait_service_st { } *thd_wait_service; void thd_wait_begin(void* thd, int wait_type); void thd_wait_end(void* thd); -#include <mysql/service_progress_report.h> extern struct progress_report_service_st { void (*thd_progress_init_func)(void* thd, unsigned int max_stage); void (*thd_progress_report_func)(void* thd, @@ -75,9 +69,7 @@ void thd_progress_next_stage(void* thd); void thd_progress_end(void* thd); const char *set_thd_proc_info(void*, const char * info, const char *func, const char *file, unsigned int line); -#include <mysql/service_debug_sync.h> extern void (*debug_sync_C_callback_ptr)(void*, const char *, size_t); -#include <mysql/service_kill_statement.h> enum thd_kill_levels { THD_IS_NOT_KILLED=0, THD_ABORT_SOFTLY=50, @@ -87,8 +79,6 @@ extern struct kill_statement_service_st { enum thd_kill_levels (*thd_kill_level_func)(const void*); } *thd_kill_statement_service; enum thd_kill_levels thd_kill_level(const void*); -#include <mysql/service_thd_timezone.h> -#include "mysql_time.h" typedef long my_time_t; enum enum_mysql_timestamp_type { @@ -108,14 +98,12 @@ extern struct thd_timezone_service_st { } *thd_timezone_service; my_time_t thd_TIME_to_gmt_sec(void* thd, const MYSQL_TIME *ltime, unsigned int *errcode); void thd_gmt_sec_to_TIME(void* thd, MYSQL_TIME *ltime, my_time_t t); -#include <mysql/service_sha1.h> extern struct my_sha1_service_st { void (*my_sha1_type)(unsigned char*, const char*, size_t); void (*my_sha1_multi_type)(unsigned char*, ...); } *my_sha1_service; void my_sha1(unsigned char*, const char*, size_t); void my_sha1_multi(unsigned char*, ...); -#include <mysql/service_logger.h> typedef struct logger_handle_st LOGGER_HANDLE; extern struct logger_service_st { void (*logger_init_mutexes)(); @@ -137,14 +125,12 @@ extern struct logger_service_st { int logger_printf(LOGGER_HANDLE *log, const char *fmt, ...); int logger_write(LOGGER_HANDLE *log, const char *buffer, size_t size); int logger_rotate(LOGGER_HANDLE *log); -#include <mysql/service_thd_autoinc.h> extern struct thd_autoinc_service_st { void (*thd_get_autoinc_func)(const void* thd, unsigned long* off, unsigned long* inc); } *thd_autoinc_service; void thd_get_autoinc(const void* thd, unsigned long* off, unsigned long* inc); -#include <mysql/service_thd_error_context.h> extern struct thd_error_context_service_st { const char *(*thd_get_error_message_func)(const void* thd); unsigned int (*thd_get_error_number_func)(const void* thd); @@ -223,8 +209,6 @@ struct st_maria_plugin const char *version_info; unsigned int maturity; }; -#include "plugin_ftparser.h" -#include "plugin.h" enum enum_ftparser_mode { MYSQL_FTPARSER_SIMPLE_MODE= 0, @@ -314,7 +298,6 @@ void *thd_get_ha_data(const void* thd, const struct handlerton *hton); void thd_set_ha_data(void* thd, const struct handlerton *hton, const void *ha_data); void thd_wakeup_subsequent_commits(void* thd, int wakeup_error); -#include <mysql/plugin_auth_common.h> typedef struct st_plugin_vio_info { enum { MYSQL_VIO_INVALID, MYSQL_VIO_TCP, MYSQL_VIO_SOCKET, diff --git a/include/mysql/plugin_ftparser.h.pp b/include/mysql/plugin_ftparser.h.pp index cb3e7cafc97..45eb06974f4 100644 --- a/include/mysql/plugin_ftparser.h.pp +++ b/include/mysql/plugin_ftparser.h.pp @@ -1,15 +1,11 @@ -#include "plugin.h" typedef char my_bool; typedef void * MYSQL_PLUGIN; -#include <mysql/services.h> -#include <mysql/service_my_snprintf.h> extern struct my_snprintf_service_st { size_t (*my_snprintf_type)(char*, size_t, const char*, ...); size_t (*my_vsnprintf_type)(char *, size_t, const char*, va_list); } *my_snprintf_service; size_t my_snprintf(char* to, size_t n, const char* fmt, ...); size_t my_vsnprintf(char *to, size_t n, const char* fmt, va_list ap); -#include <mysql/service_thd_alloc.h> struct st_mysql_lex_string { char *str; @@ -33,7 +29,6 @@ void *thd_memdup(void* thd, const void* str, unsigned int size); MYSQL_LEX_STRING *thd_make_lex_string(void* thd, MYSQL_LEX_STRING *lex_str, const char *str, unsigned int size, int allocate_lex_string); -#include <mysql/service_thd_wait.h> typedef enum _thd_wait_type_e { THD_WAIT_SLEEP= 1, THD_WAIT_DISKIO= 2, @@ -54,7 +49,6 @@ extern struct thd_wait_service_st { } *thd_wait_service; void thd_wait_begin(void* thd, int wait_type); void thd_wait_end(void* thd); -#include <mysql/service_progress_report.h> extern struct progress_report_service_st { void (*thd_progress_init_func)(void* thd, unsigned int max_stage); void (*thd_progress_report_func)(void* thd, @@ -75,9 +69,7 @@ void thd_progress_next_stage(void* thd); void thd_progress_end(void* thd); const char *set_thd_proc_info(void*, const char * info, const char *func, const char *file, unsigned int line); -#include <mysql/service_debug_sync.h> extern void (*debug_sync_C_callback_ptr)(void*, const char *, size_t); -#include <mysql/service_kill_statement.h> enum thd_kill_levels { THD_IS_NOT_KILLED=0, THD_ABORT_SOFTLY=50, @@ -87,8 +79,6 @@ extern struct kill_statement_service_st { enum thd_kill_levels (*thd_kill_level_func)(const void*); } *thd_kill_statement_service; enum thd_kill_levels thd_kill_level(const void*); -#include <mysql/service_thd_timezone.h> -#include "mysql_time.h" typedef long my_time_t; enum enum_mysql_timestamp_type { @@ -108,14 +98,12 @@ extern struct thd_timezone_service_st { } *thd_timezone_service; my_time_t thd_TIME_to_gmt_sec(void* thd, const MYSQL_TIME *ltime, unsigned int *errcode); void thd_gmt_sec_to_TIME(void* thd, MYSQL_TIME *ltime, my_time_t t); -#include <mysql/service_sha1.h> extern struct my_sha1_service_st { void (*my_sha1_type)(unsigned char*, const char*, size_t); void (*my_sha1_multi_type)(unsigned char*, ...); } *my_sha1_service; void my_sha1(unsigned char*, const char*, size_t); void my_sha1_multi(unsigned char*, ...); -#include <mysql/service_logger.h> typedef struct logger_handle_st LOGGER_HANDLE; extern struct logger_service_st { void (*logger_init_mutexes)(); @@ -137,14 +125,12 @@ extern struct logger_service_st { int logger_printf(LOGGER_HANDLE *log, const char *fmt, ...); int logger_write(LOGGER_HANDLE *log, const char *buffer, size_t size); int logger_rotate(LOGGER_HANDLE *log); -#include <mysql/service_thd_autoinc.h> extern struct thd_autoinc_service_st { void (*thd_get_autoinc_func)(const void* thd, unsigned long* off, unsigned long* inc); } *thd_autoinc_service; void thd_get_autoinc(const void* thd, unsigned long* off, unsigned long* inc); -#include <mysql/service_thd_error_context.h> extern struct thd_error_context_service_st { const char *(*thd_get_error_message_func)(const void* thd); unsigned int (*thd_get_error_number_func)(const void* thd); @@ -223,7 +209,6 @@ struct st_maria_plugin const char *version_info; unsigned int maturity; }; -#include "plugin_ftparser.h" struct st_mysql_daemon { int interface_version; diff --git a/include/mysql/psi/mysql_statement.h b/include/mysql/psi/mysql_statement.h index d7a76ee25e4..3d5943fa55a 100644 --- a/include/mysql/psi/mysql_statement.h +++ b/include/mysql/psi/mysql_statement.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -41,7 +41,6 @@ do {} while (0) #endif -#ifdef HAVE_PSI_STATEMENT_INTERFACE #ifdef HAVE_PSI_STATEMENT_DIGEST_INTERFACE #define MYSQL_DIGEST_START(LOCKER) \ inline_mysql_digest_start(LOCKER) @@ -49,17 +48,13 @@ #define MYSQL_DIGEST_START(LOCKER) \ NULL #endif -#else - #define MYSQL_DIGEST_START(LOCKER) \ - NULL -#endif #ifdef HAVE_PSI_STATEMENT_DIGEST_INTERFACE - #define MYSQL_ADD_TOKEN(LOCKER, T, Y) \ - inline_mysql_add_token(LOCKER, T, Y) + #define MYSQL_DIGEST_END(LOCKER, DIGEST) \ + inline_mysql_digest_end(LOCKER, DIGEST) #else - #define MYSQL_ADD_TOKEN(LOCKER, T, Y) \ - NULL + #define MYSQL_DIGEST_END(LOCKER, DIGEST) \ + do {} while (0) #endif #ifdef HAVE_PSI_STATEMENT_INTERFACE @@ -132,20 +127,17 @@ inline_mysql_digest_start(PSI_statement_locker *locker) PSI_digest_locker* digest_locker= NULL; if (likely(locker != NULL)) - digest_locker= PSI_STATEMENT_CALL(digest_start)(locker); + digest_locker= PSI_DIGEST_CALL(digest_start)(locker); return digest_locker; } #endif #ifdef HAVE_PSI_STATEMENT_DIGEST_INTERFACE -static inline struct PSI_digest_locker * -inline_mysql_add_token(PSI_digest_locker *locker, uint token, - void *yylval) +static inline void +inline_mysql_digest_end(PSI_digest_locker *locker, const sql_digest_storage *digest) { if (likely(locker != NULL)) - locker= PSI_STATEMENT_CALL(digest_add_token)(locker, token, - (OPAQUE_LEX_YYSTYPE*)yylval); - return locker; + PSI_DIGEST_CALL(digest_end)(locker, digest); } #endif diff --git a/include/mysql/psi/psi.h b/include/mysql/psi/psi.h index 30f2709be0f..49202c4e88f 100644 --- a/include/mysql/psi/psi.h +++ b/include/mysql/psi/psi.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -43,18 +43,8 @@ C_MODE_START struct TABLE_SHARE; -/* - There are 3 known bison parsers in the server: - - (1) the SQL parser itself, sql/sql_yacc.yy - - (2) storage/innobase/fts/fts0pars.y - - (3) storage/innobase/pars/pars0grm.y - What is instrumented here are the tokens from the SQL query text (1), - to make digests. - Now, to avoid name pollution and conflicts with different YYSTYPE definitions, - an opaque structure is used here. - The real type to use when invoking the digest api is LEX_YYSTYPE. -*/ -struct OPAQUE_LEX_YYSTYPE; + +struct sql_digest_storage; /** @file mysql/psi/psi.h @@ -952,29 +942,6 @@ struct PSI_table_locker_state_v1 uint m_index; }; -#define PSI_MAX_DIGEST_STORAGE_SIZE 1024 - -/** - Structure to store token count/array for a statement - on which digest is to be calculated. -*/ -struct PSI_digest_storage -{ - my_bool m_full; - int m_byte_count; - /** Character set number. */ - uint m_charset_number; - unsigned char m_token_array[PSI_MAX_DIGEST_STORAGE_SIZE]; -}; -typedef struct PSI_digest_storage PSI_digest_storage; - -struct PSI_digest_locker_state -{ - int m_last_id_index; - PSI_digest_storage m_digest_storage; -}; -typedef struct PSI_digest_locker_state PSI_digest_locker_state; - /* Duplicate of NAME_LEN, to avoid dependency on mysql_com.h */ #define PSI_SCHEMA_NAME_LEN (64 * 3) @@ -1037,7 +1004,7 @@ struct PSI_statement_locker_state_v1 /** Metric, number of sort scans. */ ulong m_sort_scan; /** Statement digest. */ - PSI_digest_locker_state m_digest_state; + const struct sql_digest_storage *m_digest; /** Current schema name. */ char m_schema_name[PSI_SCHEMA_NAME_LEN]; /** Length in bytes of @c m_schema_name. */ @@ -1902,11 +1869,15 @@ typedef void (*set_socket_info_v1_t)(struct PSI_socket *socket, */ typedef void (*set_socket_thread_owner_v1_t)(struct PSI_socket *socket); +/** + Get a digest locker for the current statement. + @param locker a statement locker for the running thread +*/ typedef struct PSI_digest_locker * (*digest_start_v1_t) (struct PSI_statement_locker *locker); -typedef struct PSI_digest_locker* (*digest_add_token_v1_t) - (struct PSI_digest_locker *locker, uint token, struct OPAQUE_LEX_YYSTYPE *yylval); +typedef void (*digest_end_v1_t) + (struct PSI_digest_locker *locker, const struct sql_digest_storage *digest); /** Stores an array of connection attributes @@ -2118,8 +2089,8 @@ struct PSI_v1 set_socket_thread_owner_v1_t set_socket_thread_owner; /** @sa digest_start_v1_t. */ digest_start_v1_t digest_start; - /** @sa digest_add_token_v1_t. */ - digest_add_token_v1_t digest_add_token; + /** @sa digest_end_v1_t. */ + digest_end_v1_t digest_end; /** @sa set_thread_connect_attrs_v1_t. */ set_thread_connect_attrs_v1_t set_thread_connect_attrs; }; @@ -2414,6 +2385,10 @@ extern MYSQL_PLUGIN_IMPORT PSI *PSI_server; #define PSI_STATEMENT_CALL(M) PSI_DYNAMIC_CALL(M) #endif +#ifndef PSI_DIGEST_CALL +#define PSI_DIGEST_CALL(M) PSI_DYNAMIC_CALL(M) +#endif + #ifndef PSI_TABLE_CALL #define PSI_TABLE_CALL(M) PSI_DYNAMIC_CALL(M) #endif diff --git a/include/mysql/psi/psi_abi_v0.h.pp b/include/mysql/psi/psi_abi_v0.h.pp index b46b38ed144..17d61016a68 100644 --- a/include/mysql/psi/psi_abi_v0.h.pp +++ b/include/mysql/psi/psi_abi_v0.h.pp @@ -1,7 +1,7 @@ #include "mysql/psi/psi.h" C_MODE_START struct TABLE_SHARE; -struct OPAQUE_LEX_YYSTYPE; +struct sql_digest_storage; struct PSI_mutex; typedef struct PSI_mutex PSI_mutex; struct PSI_rwlock; diff --git a/include/mysql/psi/psi_abi_v1.h.pp b/include/mysql/psi/psi_abi_v1.h.pp index fa2bf724b5e..e9b514feb8a 100644 --- a/include/mysql/psi/psi_abi_v1.h.pp +++ b/include/mysql/psi/psi_abi_v1.h.pp @@ -1,7 +1,6 @@ -#include "mysql/psi/psi.h" C_MODE_START struct TABLE_SHARE; -struct OPAQUE_LEX_YYSTYPE; +struct sql_digest_storage; struct PSI_mutex; typedef struct PSI_mutex PSI_mutex; struct PSI_rwlock; @@ -241,20 +240,6 @@ struct PSI_table_locker_state_v1 void *m_wait; uint m_index; }; -struct PSI_digest_storage -{ - my_bool m_full; - int m_byte_count; - uint m_charset_number; - unsigned char m_token_array[1024]; -}; -typedef struct PSI_digest_storage PSI_digest_storage; -struct PSI_digest_locker_state -{ - int m_last_id_index; - PSI_digest_storage m_digest_storage; -}; -typedef struct PSI_digest_locker_state PSI_digest_locker_state; struct PSI_statement_locker_state_v1 { my_bool m_discarded; @@ -280,7 +265,7 @@ struct PSI_statement_locker_state_v1 ulong m_sort_range; ulong m_sort_rows; ulong m_sort_scan; - PSI_digest_locker_state m_digest_state; + const struct sql_digest_storage *m_digest; char m_schema_name[(64 * 3)]; uint m_schema_name_length; }; @@ -508,8 +493,8 @@ typedef void (*set_socket_info_v1_t)(struct PSI_socket *socket, typedef void (*set_socket_thread_owner_v1_t)(struct PSI_socket *socket); typedef struct PSI_digest_locker * (*digest_start_v1_t) (struct PSI_statement_locker *locker); -typedef struct PSI_digest_locker* (*digest_add_token_v1_t) - (struct PSI_digest_locker *locker, uint token, struct OPAQUE_LEX_YYSTYPE *yylval); +typedef void (*digest_end_v1_t) + (struct PSI_digest_locker *locker, const struct sql_digest_storage *digest); typedef int (*set_thread_connect_attrs_v1_t)(const char *buffer, uint length, const void *from_cs); struct PSI_v1 @@ -610,7 +595,7 @@ struct PSI_v1 set_socket_info_v1_t set_socket_info; set_socket_thread_owner_v1_t set_socket_thread_owner; digest_start_v1_t digest_start; - digest_add_token_v1_t digest_add_token; + digest_end_v1_t digest_end; set_thread_connect_attrs_v1_t set_thread_connect_attrs; }; typedef struct PSI_v1 PSI; diff --git a/include/mysql/psi/psi_abi_v2.h.pp b/include/mysql/psi/psi_abi_v2.h.pp index 458013b43e4..4e81fd66ca4 100644 --- a/include/mysql/psi/psi_abi_v2.h.pp +++ b/include/mysql/psi/psi_abi_v2.h.pp @@ -1,7 +1,6 @@ -#include "mysql/psi/psi.h" C_MODE_START struct TABLE_SHARE; -struct OPAQUE_LEX_YYSTYPE; +struct sql_digest_storage; struct PSI_mutex; typedef struct PSI_mutex PSI_mutex; struct PSI_rwlock; diff --git a/include/mysql_com.h b/include/mysql_com.h index 43be28f87a0..8fdac38dd66 100644 --- a/include/mysql_com.h +++ b/include/mysql_com.h @@ -618,14 +618,17 @@ void scramble_323(char *to, const char *message, const char *password); my_bool check_scramble_323(const unsigned char *reply, const char *message, unsigned long *salt); void get_salt_from_password_323(unsigned long *res, const char *password); +#if MYSQL_VERSION_ID < 100100 void make_password_from_salt_323(char *to, const unsigned long *salt); - +#endif void make_scrambled_password(char *to, const char *password); void scramble(char *to, const char *message, const char *password); my_bool check_scramble(const unsigned char *reply, const char *message, const unsigned char *hash_stage2); void get_salt_from_password(unsigned char *res, const char *password); +#if MYSQL_VERSION_ID < 100100 void make_password_from_salt(char *to, const unsigned char *hash_stage2); +#endif char *octet2hex(char *to, const char *str, unsigned int len); /* end of password.c */ diff --git a/include/violite.h b/include/violite.h index 68b2b6c5e52..401826c1172 100644 --- a/include/violite.h +++ b/include/violite.h @@ -150,7 +150,7 @@ enum enum_ssl_init_error { SSL_INITERR_NOERROR= 0, SSL_INITERR_CERT, SSL_INITERR_KEY, SSL_INITERR_NOMATCH, SSL_INITERR_BAD_PATHS, SSL_INITERR_CIPHERS, - SSL_INITERR_MEMFAIL, SSL_INITERR_LASTERR + SSL_INITERR_MEMFAIL, SSL_INITERR_DH, SSL_INITERR_LASTERR }; const char* sslGetErrString(enum enum_ssl_init_error err); diff --git a/include/welcome_copyright_notice.h b/include/welcome_copyright_notice.h index 956a9f1c17a..096d42446bc 100644 --- a/include/welcome_copyright_notice.h +++ b/include/welcome_copyright_notice.h @@ -1,5 +1,5 @@ -/* Copyright (c) 2011, 2014, Oracle and/or its affiliates. - Copyright (c) 2011, 2012, Monty Program Ab +/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. + Copyright (c) 2011, 2015, MariaDB This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -17,7 +17,7 @@ #ifndef _welcome_copyright_notice_h_ #define _welcome_copyright_notice_h_ -#define COPYRIGHT_NOTICE_CURRENT_YEAR "2014" +#define COPYRIGHT_NOTICE_CURRENT_YEAR "2015" /* This define specifies copyright notice which is displayed by every MySQL |