From f975035e53cf1fe7483c39262d829115fba4ff8f Mon Sep 17 00:00:00 2001 From: Johan Wikman Date: Tue, 14 Aug 2018 15:58:44 +0300 Subject: [PATCH] MXS-2013 Move or remove STR-macros - The ones that were not used were removed. - The ones that were used were moved close to the actual type. In most cases some values were missing and if the definition is close to the type there is a remote chance that they will stay in sync. If detached, they surely will not. --- include/maxscale/authenticator.h | 10 ++ include/maxscale/dcb.h | 13 ++ include/maxscale/debug.h | 147 ------------------ include/maxscale/hint.h | 8 + include/maxscale/server.h | 9 ++ include/maxscale/session.h | 11 ++ .../routing/readwritesplit/readwritesplit.hh | 7 + .../routing/readwritesplit/rwsplitsession.hh | 8 + 8 files changed, 66 insertions(+), 147 deletions(-) diff --git a/include/maxscale/authenticator.h b/include/maxscale/authenticator.h index e1a80b5c4..2a664eac5 100644 --- a/include/maxscale/authenticator.h +++ b/include/maxscale/authenticator.h @@ -161,6 +161,16 @@ typedef enum MXS_AUTH_STATE_COMPLETE /**< Authentication is complete */ } mxs_auth_state_t; +#define STRPROTOCOLSTATE(s) ((s) == MXS_AUTH_STATE_INIT ? "MXS_AUTH_STATE_INIT" : \ + ((s) == MXS_AUTH_STATE_PENDING_CONNECT ? "MXS_AUTH_STATE_PENDING_CONNECT" : \ + ((s) == MXS_AUTH_STATE_CONNECTED ? "MXS_AUTH_STATE_CONNECTED" : \ + ((s) == MXS_AUTH_STATE_MESSAGE_READ ? "MXS_AUTH_STATE_MESSAGE_READ" : \ + ((s) == MXS_AUTH_STATE_RESPONSE_SENT ? "MXS_AUTH_STATE_RESPONSE_SENT" : \ + ((s) == MXS_AUTH_STATE_FAILED ? "MXS_AUTH_STATE_FAILED" : \ + ((s) == MXS_AUTH_STATE_HANDSHAKE_FAILED ? "MXS_AUTH_STATE_HANDSHAKE_FAILED" : \ + ((s) == MXS_AUTH_STATE_COMPLETE ? "MXS_AUTH_STATE_COMPLETE" : \ + "UNKNOWN AUTH STATE")))))))) + /** * The MXS_AUTHENTICATOR version data. The following should be updated whenever * the MXS_AUTHENTICATOR structure is changed. See the rules defined in modinfo.h diff --git a/include/maxscale/dcb.h b/include/maxscale/dcb.h index bd5686398..794ad1601 100644 --- a/include/maxscale/dcb.h +++ b/include/maxscale/dcb.h @@ -65,6 +65,13 @@ typedef enum DCB_STATE_NOPOLLING, /*< Removed from poll mask */ } dcb_state_t; +#define STRDCBSTATE(s) ((s) == DCB_STATE_ALLOC ? "DCB_STATE_ALLOC" : \ + ((s) == DCB_STATE_POLLING ? "DCB_STATE_POLLING" : \ + ((s) == DCB_STATE_LISTENING ? "DCB_STATE_LISTENING" : \ + ((s) == DCB_STATE_DISCONNECTED ? "DCB_STATE_DISCONNECTED" : \ + ((s) == DCB_STATE_NOPOLLING ? "DCB_STATE_NOPOLLING" : \ + ((s) == DCB_STATE_UNDEFINED ? "DCB_STATE_UNDEFINED" : "DCB_STATE_UNKNOWN")))))) + typedef enum { DCB_ROLE_SERVICE_LISTENER, /*< Receives initial connect requests from clients */ @@ -73,6 +80,12 @@ typedef enum DCB_ROLE_INTERNAL /*< Internal DCB not connected to the outside */ } dcb_role_t; +#define STRDCBROLE(r) ((r) == DCB_ROLE_SERVICE_LISTENER ? "DCB_ROLE_SERVICE_LISTENER" : \ + ((r) == DCB_ROLE_CLIENT_HANDLER ? "DCB_ROLE_CLIENT_HANDLER" : \ + ((r) == DCB_ROLE_BACKEND_HANDLER ? "DCB_ROLE_BACKEND_HANDLER" : \ + ((r) == DCB_ROLE_INTERNAL ? "DCB_ROLE_INTERNAL" : \ + "UNKNOWN DCB ROLE")))) + #define DCB_STRTYPE(dcb) (dcb->dcb_role == DCB_ROLE_CLIENT_HANDLER ? "Client DCB" : \ dcb->dcb_role == DCB_ROLE_BACKEND_HANDLER ? "Backend DCB" : \ dcb->dcb_role == DCB_ROLE_SERVICE_LISTENER ? "Listener DCB" : \ diff --git a/include/maxscale/debug.h b/include/maxscale/debug.h index c55482299..533fe3e6b 100644 --- a/include/maxscale/debug.h +++ b/include/maxscale/debug.h @@ -49,151 +49,4 @@ MXS_BEGIN_DECLS #endif /* SS_DEBUG */ -#define CHK_NUM_BASE 101 - -# define STRBOOL(b) ((b) ? "true" : "false") - -# define STRQTYPE(t) ((t) == QUERY_TYPE_WRITE ? "QUERY_TYPE_WRITE" : \ - ((t) == QUERY_TYPE_READ ? "QUERY_TYPE_READ" : \ - ((t) == QUERY_TYPE_SESSION_WRITE ? "QUERY_TYPE_SESSION_WRITE" : \ - ((t) == QUERY_TYPE_UNKNOWN ? "QUERY_TYPE_UNKNOWN" : \ - ((t) == QUERY_TYPE_LOCAL_READ ? "QUERY_TYPE_LOCAL_READ" : \ - ((t) == QUERY_TYPE_MASTER_READ ? "QUERY_TYPE_MASTER_READ" : \ - ((t) == QUERY_TYPE_USERVAR_WRITE ? "QUERY_TYPE_USERVAR_WRITE" : \ - ((t) == QUERY_TYPE_USERVAR_READ ? "QUERY_TYPE_USERVAR_READ" : \ - ((t) == QUERY_TYPE_SYSVAR_READ ? "QUERY_TYPE_SYSVAR_READ" : \ - ((t) == QUERY_TYPE_GSYSVAR_READ ? "QUERY_TYPE_GSYSVAR_READ" : \ - ((t) == QUERY_TYPE_GSYSVAR_WRITE ? "QUERY_TYPE_GSYSVAR_WRITE" : \ - ((t) == QUERY_TYPE_BEGIN_TRX ? "QUERY_TYPE_BEGIN_TRX" : \ - ((t) == QUERY_TYPE_ENABLE_AUTOCOMMIT ? "QUERY_TYPE_ENABLE_AUTOCOMMIT" : \ - ((t) == QUERY_TYPE_DISABLE_AUTOCOMMIT ? "QUERY_TYPE_DISABLE_AUTOCOMMIT" : \ - ((t) == QUERY_TYPE_ROLLBACK ? "QUERY_TYPE_ROLLBACK" : \ - ((t) == QUERY_TYPE_COMMIT ? "QUERY_TYPE_COMMIT" : \ - ((t) == QUERY_TYPE_PREPARE_NAMED_STMT ? "QUERY_TYPE_PREPARE_NAMED_STMT" : \ - ((t) == QUERY_TYPE_PREPARE_STMT ? "QUERY_TYPE_PREPARE_STMT" : \ - ((t) == QUERY_TYPE_EXEC_STMT ? "QUERY_TYPE_EXEC_STMT" : \ - ((t) == QUERY_TYPE_CREATE_TMP_TABLE ? "QUERY_TYPE_CREATE_TMP_TABLE" : \ - ((t) == QUERY_TYPE_READ_TMP_TABLE ? "QUERY_TYPE_READ_TMP_TABLE" : \ - ((t) == QUERY_TYPE_SHOW_DATABASES ? "QUERY_TYPE_SHOW_DATABASES" : \ - ((t) == QUERY_TYPE_SHOW_TABLES ? "QUERY_TYPE_SHOW_TABLES" : \ - "Unknown query type"))))))))))))))))))))))) - -#define STRLOGPRIORITYNAME(n) \ - ((n) == LOG_EMERG ? "LOG_EMERG" : \ - ((n) == LOG_ALERT ? "LOG_ALERT" : \ - ((n) == LOG_CRIT ? "LOG_CRIT" : \ - ((n) == LOG_ERR ? "LOG_ERR" : \ - ((n) == LOG_WARNING ? "LOG_WARNING" : \ - ((n) == LOG_NOTICE ? "LOG_NOTICE" : \ - ((n) == LOG_INFO ? "LOG_INFO" : \ - ((n) == LOG_DEBUG ? "LOG_DEBUG" : \ - "Unknown log priority")))))))) - -#define STRDCBSTATE(s) ((s) == DCB_STATE_ALLOC ? "DCB_STATE_ALLOC" : \ - ((s) == DCB_STATE_POLLING ? "DCB_STATE_POLLING" : \ - ((s) == DCB_STATE_LISTENING ? "DCB_STATE_LISTENING" : \ - ((s) == DCB_STATE_DISCONNECTED ? "DCB_STATE_DISCONNECTED" : \ - ((s) == DCB_STATE_NOPOLLING ? "DCB_STATE_NOPOLLING" : \ - ((s) == DCB_STATE_UNDEFINED ? "DCB_STATE_UNDEFINED" : "DCB_STATE_UNKNOWN")))))) - -#define STRSESSIONSTATE(s) ((s) == SESSION_STATE_ALLOC ? "SESSION_STATE_ALLOC" : \ - ((s) == SESSION_STATE_DUMMY ? "SESSION_STATE_DUMMY" : \ - ((s) == SESSION_STATE_READY ? "SESSION_STATE_READY" : \ - ((s) == SESSION_STATE_LISTENER ? "SESSION_STATE_LISTENER" : \ - ((s) == SESSION_STATE_ROUTER_READY ? "SESSION_STATE_ROUTER_READY" : \ - ((s) == SESSION_STATE_LISTENER_STOPPED ? "SESSION_STATE_LISTENER_STOPPED" : \ - (s) == SESSION_STATE_STOPPING ? "SESSION_STATE_STOPPING": \ - "SESSION_STATE_UNKNOWN")))))) - -#define STRPROTOCOLSTATE(s) ((s) == MXS_AUTH_STATE_INIT ? "MXS_AUTH_STATE_INIT" : \ - ((s) == MXS_AUTH_STATE_PENDING_CONNECT ? "MXS_AUTH_STATE_PENDING_CONNECT" : \ - ((s) == MXS_AUTH_STATE_CONNECTED ? "MXS_AUTH_STATE_CONNECTED" : \ - ((s) == MXS_AUTH_STATE_MESSAGE_READ ? "MXS_AUTH_STATE_MESSAGE_READ" : \ - ((s) == MXS_AUTH_STATE_RESPONSE_SENT ? "MXS_AUTH_STATE_RESPONSE_SENT" : \ - ((s) == MXS_AUTH_STATE_FAILED ? "MXS_AUTH_STATE_FAILED" : \ - ((s) == MXS_AUTH_STATE_COMPLETE ? "MXS_AUTH_STATE_COMPLETE" : \ - "UNKNOWN AUTH STATE"))))))) - -#define STRITEMTYPE(t) ((t) == Item::FIELD_ITEM ? "FIELD_ITEM" : \ - ((t) == Item::FUNC_ITEM ? "FUNC_ITEM" : \ - ((t) == Item::SUM_FUNC_ITEM ? "SUM_FUNC_ITEM" : \ - ((t) == Item::STRING_ITEM ? "STRING_ITEM" : \ - ((t) == Item::INT_ITEM ? "INT_ITEM" : \ - ((t) == Item::REAL_ITEM ? "REAL_ITEM" : \ - ((t) == Item::NULL_ITEM ? "NULL_ITEM" : \ - ((t) == Item::VARBIN_ITEM ? "VARBIN_ITEM" : \ - ((t) == Item::COPY_STR_ITEM ? "COPY_STR_ITEM" : \ - ((t) == Item::FIELD_AVG_ITEM ? "FIELD_AVG_ITEM" : \ - ((t) == Item::DEFAULT_VALUE_ITEM ? "DEFAULT_VALUE_ITEM" : \ - ((t) == Item::PROC_ITEM ? "PROC_ITEM" : \ - ((t) == Item::COND_ITEM ? "COND_ITEM" : \ - ((t) == Item::REF_ITEM ? "REF_ITEM" : \ - (t) == Item::FIELD_STD_ITEM ? "FIELD_STD_ITEM" : \ - ((t) == Item::FIELD_VARIANCE_ITEM ? "FIELD_VARIANCE_ITEM" : \ - ((t) == Item::INSERT_VALUE_ITEM ? "INSERT_VALUE_ITEM": \ - ((t) == Item::SUBSELECT_ITEM ? "SUBSELECT_ITEM" : \ - ((t) == Item::ROW_ITEM ? "ROW_ITEM" : \ - ((t) == Item::CACHE_ITEM ? "CACHE_ITEM" : \ - ((t) == Item::TYPE_HOLDER ? "TYPE_HOLDER" : \ - ((t) == Item::PARAM_ITEM ? "PARAM_ITEM" : \ - ((t) == Item::TRIGGER_FIELD_ITEM ? "TRIGGER_FIELD_ITEM" : \ - ((t) == Item::DECIMAL_ITEM ? "DECIMAL_ITEM" : \ - ((t) == Item::XPATH_NODESET ? "XPATH_NODESET" : \ - ((t) == Item::XPATH_NODESET_CMP ? "XPATH_NODESET_CMP" : \ - ((t) == Item::VIEW_FIXER_ITEM ? "VIEW_FIXER_ITEM" : \ - ((t) == Item::EXPR_CACHE_ITEM ? "EXPR_CACHE_ITEM" : \ - "Unknown item"))))))))))))))))))))))))))) - -#define STRDCBROLE(r) ((r) == DCB_ROLE_SERVICE_LISTENER ? "DCB_ROLE_SERVICE_LISTENER" : \ - ((r) == DCB_ROLE_CLIENT_HANDLER ? "DCB_ROLE_CLIENT_HANDLER" : \ - ((r) == DCB_ROLE_BACKEND_HANDLER ? "DCB_ROLE_BACKEND_HANDLER" : \ - ((r) == DCB_ROLE_INTERNAL ? "DCB_ROLE_INTERNAL" : \ - "UNKNOWN DCB ROLE")))) - -#define STRBETYPE(t) ((t) == BE_MASTER ? "BE_MASTER" : \ - ((t) == BE_SLAVE ? "BE_SLAVE" : \ - ((t) == BE_UNDEFINED ? "BE_UNDEFINED" : \ - "Unknown backend tpe"))) - -#define STRCRITERIA(c) ((c) == UNDEFINED_CRITERIA ? "UNDEFINED_CRITERIA" : \ - ((c) == LEAST_GLOBAL_CONNECTIONS ? "LEAST_GLOBAL_CONNECTIONS" : \ - ((c) == LEAST_ROUTER_CONNECTIONS ? "LEAST_ROUTER_CONNECTIONS" : \ - ((c) == LEAST_BEHIND_MASTER ? "LEAST_BEHIND_MASTER" : \ - ((c) == LEAST_CURRENT_OPERATIONS ? "LEAST_CURRENT_OPERATIONS" : "Unknown criteria"))))) - -#define STRSRVSTATUS(s) (server_is_master(s) ? "RUNNING MASTER" : \ - (server_is_slave(s) ? "RUNNING SLAVE" : \ - (server_is_joined(s) ? "RUNNING JOINED" : \ - (server_is_ndb(s) ? "RUNNING NDB" : \ - ((server_is_running(s) && server_is_in_maint(s)) ? "RUNNING MAINTENANCE" : \ - (server_is_relay(s) ? "RUNNING RELAY" : \ - (server_is_usable(s) ? "RUNNING (only)" : \ - (server_is_down(s) ? "DOWN" : "UNKNOWN STATUS")))))))) - -#define STRTARGET(t) (t == TARGET_ALL ? "TARGET_ALL" : \ - (t == TARGET_MASTER ? "TARGET_MASTER" : \ - (t == TARGET_SLAVE ? "TARGET_SLAVE" : \ - (t == TARGET_NAMED_SERVER ? "TARGET_NAMED_SERVER" : \ - (t == TARGET_UNDEFINED ? "TARGET_UNDEFINED" : \ - "Unknown target value"))))) - -#define BREFSRV(b) (b->bref_backend->backend_server) - - -#define STRHINTTYPE(t) (t == HINT_ROUTE_TO_MASTER ? "HINT_ROUTE_TO_MASTER" : \ - ((t) == HINT_ROUTE_TO_SLAVE ? "HINT_ROUTE_TO_SLAVE" : \ - ((t) == HINT_ROUTE_TO_NAMED_SERVER ? "HINT_ROUTE_TO_NAMED_SERVER" : \ - ((t) == HINT_ROUTE_TO_UPTODATE_SERVER ? "HINT_ROUTE_TO_UPTODATE_SERVER" : \ - ((t) == HINT_ROUTE_TO_ALL ? "HINT_ROUTE_TO_ALL" : \ - ((t) == HINT_PARAMETER ? "HINT_PARAMETER" : "UNKNOWN HINT TYPE")))))) - -#define STRDCBREASON(r) ((r) == DCB_REASON_CLOSE ? "DCB_REASON_CLOSE" : \ - ((r) == DCB_REASON_DRAINED ? "DCB_REASON_DRAINED" : \ - ((r) == DCB_REASON_HIGH_WATER ? "DCB_REASON_HIGH_WATER" : \ - ((r) == DCB_REASON_LOW_WATER ? "DCB_REASON_LOW_WATER" : \ - ((r) == DCB_REASON_ERROR ? "DCB_REASON_ERROR" : \ - ((r) == DCB_REASON_HUP ? "DCB_REASON_HUP" : \ - ((r) == DCB_REASON_NOT_RESPONDING ? "DCB_REASON_NOT_RESPONDING" : \ - "Unknown DCB reason"))))))) - MXS_END_DECLS diff --git a/include/maxscale/hint.h b/include/maxscale/hint.h index ad1c997f5..e44f59e08 100644 --- a/include/maxscale/hint.h +++ b/include/maxscale/hint.h @@ -35,6 +35,14 @@ typedef enum HINT_PARAMETER } HINT_TYPE; +#define STRHINTTYPE(t) (t == HINT_ROUTE_TO_MASTER ? "HINT_ROUTE_TO_MASTER" : \ + ((t) == HINT_ROUTE_TO_SLAVE ? "HINT_ROUTE_TO_SLAVE" : \ + ((t) == HINT_ROUTE_TO_NAMED_SERVER ? "HINT_ROUTE_TO_NAMED_SERVER" : \ + ((t) == HINT_ROUTE_TO_UPTODATE_SERVER ? "HINT_ROUTE_TO_UPTODATE_SERVER" : \ + ((t) == HINT_ROUTE_TO_ALL ? "HINT_ROUTE_TO_ALL" : \ + ((t) == HINT_ROUTE_TO_LAST_USED ? "HINT_ROUTE_TO_LAST_USED" :\ + ((t) == HINT_PARAMETER ? "HINT_PARAMETER" : "UNKNOWN HINT TYPE"))))))) + /** * A generic hint. * diff --git a/include/maxscale/server.h b/include/maxscale/server.h index e709d5e39..713c60316 100644 --- a/include/maxscale/server.h +++ b/include/maxscale/server.h @@ -185,6 +185,15 @@ enum // Bits providing general information #define SERVER_DISK_SPACE_EXHAUSTED (1 << 31) /**<< The disk space of the server is exhausted */ +#define STRSRVSTATUS(s) (server_is_master(s) ? "RUNNING MASTER" : \ + (server_is_slave(s) ? "RUNNING SLAVE" : \ + (server_is_joined(s) ? "RUNNING JOINED" : \ + (server_is_ndb(s) ? "RUNNING NDB" : \ + ((server_is_running(s) && server_is_in_maint(s)) ? "RUNNING MAINTENANCE" : \ + (server_is_relay(s) ? "RUNNING RELAY" : \ + (server_is_usable(s) ? "RUNNING (only)" : \ + (server_is_down(s) ? "DOWN" : "UNKNOWN STATUS")))))))) + /** * Is the server valid and active? * diff --git a/include/maxscale/session.h b/include/maxscale/session.h index 612e04769..2abacaceb 100644 --- a/include/maxscale/session.h +++ b/include/maxscale/session.h @@ -50,6 +50,17 @@ typedef enum SESSION_STATE_DUMMY /*< dummy session for consistency */ } mxs_session_state_t; +#define STRSESSIONSTATE(s) ((s) == SESSION_STATE_ALLOC ? "SESSION_STATE_ALLOC" : \ + ((s) == SESSION_STATE_READY ? "SESSION_STATE_READY" : \ + ((s) == SESSION_STATE_ROUTER_READY ? "SESSION_STATE_ROUTER_READY" : \ + ((s) == SESSION_STATE_STOPPING ? "SESSION_STATE_STOPPING": \ + ((s) == SESSION_STATE_LISTENER ? "SESSION_STATE_LISTENER" : \ + ((s) == SESSION_STATE_LISTENER_STOPPED ? "SESSION_STATE_LISTENER_STOPPED" : \ + ((s) == SESSION_STATE_TO_BE_FREED ? "SESSION_STATE_TO_BE_FREED" : \ + ((s) == SESSION_STATE_FREE ? "SESSION_STATE_TO_BE_FREE" : \ + ((s) == SESSION_STATE_DUMMY ? "SESSION_STATE_DUMMY" : \ + "SESSION_STATE_UNKNOWN"))))))))) + typedef enum { SESSION_TRX_INACTIVE_BIT = 0x01, /* 0b00001 */ diff --git a/server/modules/routing/readwritesplit/readwritesplit.hh b/server/modules/routing/readwritesplit/readwritesplit.hh index b2ce432fa..4b9f6f776 100644 --- a/server/modules/routing/readwritesplit/readwritesplit.hh +++ b/server/modules/routing/readwritesplit/readwritesplit.hh @@ -69,6 +69,13 @@ enum select_criteria_t LAST_CRITERIA /**< not used except for an index */ }; +#define STRCRITERIA(c) ((c) == UNDEFINED_CRITERIA ? "UNDEFINED_CRITERIA" : \ + ((c) == LEAST_GLOBAL_CONNECTIONS ? "LEAST_GLOBAL_CONNECTIONS" : \ + ((c) == LEAST_ROUTER_CONNECTIONS ? "LEAST_ROUTER_CONNECTIONS" : \ + ((c) == LEAST_BEHIND_MASTER ? "LEAST_BEHIND_MASTER" : \ + ((c) == LEAST_CURRENT_OPERATIONS ? "LEAST_CURRENT_OPERATIONS" : \ + "Unknown criteria"))))) + /** * Controls how master failure is handled */ diff --git a/server/modules/routing/readwritesplit/rwsplitsession.hh b/server/modules/routing/readwritesplit/rwsplitsession.hh index 0abef1c13..ff2f6b792 100644 --- a/server/modules/routing/readwritesplit/rwsplitsession.hh +++ b/server/modules/routing/readwritesplit/rwsplitsession.hh @@ -295,3 +295,11 @@ private: * @return The internal ID of the prepared statement that the buffer contents refer to */ uint32_t get_internal_ps_id(RWSplitSession* rses, GWBUF* buffer); + +#define STRTARGET(t) (t == TARGET_ALL ? "TARGET_ALL" : \ + (t == TARGET_MASTER ? "TARGET_MASTER" : \ + (t == TARGET_SLAVE ? "TARGET_SLAVE" : \ + (t == TARGET_NAMED_SERVER ? "TARGET_NAMED_SERVER" : \ + (t == TARGET_RLAG_MAX ? "TARGET_RLAG_MAX" : \ + (t == TARGET_UNDEFINED ? "TARGET_UNDEFINED" : \ + "Unknown target value"))))))