My Project
|
#include <table.h>
Public Member Functions | |
const CHARSET_INFO * | get_client_cs () |
const CHARSET_INFO * | get_connection_cl () |
Protected Member Functions | |
Default_object_creation_ctx (THD *thd) | |
Default_object_creation_ctx (const CHARSET_INFO *client_cs, const CHARSET_INFO *connection_cl) | |
virtual Object_creation_ctx * | create_backup_ctx (THD *thd) const |
virtual void | change_env (THD *thd) const |
Protected Attributes | |
const CHARSET_INFO * | m_client_cs |
const CHARSET_INFO * | m_connection_cl |
Default_object_creation_ctx -- default implementation of Object_creation_ctx.
const CHARSET_INFO* Default_object_creation_ctx::m_client_cs [protected] |
client_cs stores the value of character_set_client session variable. The only character set attribute is used.
Client character set is included into query context, because we save query in the original character set, which is client character set. So, in order to parse the query properly we have to switch client character set on parsing.
const CHARSET_INFO* Default_object_creation_ctx::m_connection_cl [protected] |
connection_cl stores the value of collation_connection session variable. Both character set and collation attributes are used.
Connection collation is included into query context, becase it defines the character set and collation of text literals in internal representation of query (item-objects).