24
24
#include "config.h"
26
#include <drizzled/copy_field.h>
25
27
#include "drizzled/session.h"
26
28
#include "drizzled/session/cache.h"
28
29
#include "drizzled/error.h"
29
30
#include "drizzled/gettext.h"
30
31
#include "drizzled/query_id.h"
389
393
plugin::Logging::postEndDo(this);
390
394
plugin::EventObserver::deregisterSessionEvents(*this);
392
for (PropertyMap::iterator iter= life_properties.begin(); iter != life_properties.end(); iter++)
394
boost::checked_delete((*iter).second);
396
life_properties.clear();
399
397
void Session::setClient(plugin::Client *client_arg)
715
713
plugin::QueryRewriter::rewriteQuery(*_schema, *new_query);
717
715
query.reset(new_query);
718
_state.reset(new State(in_packet, in_packet_length));
716
_state.reset(new session::State(in_packet, in_packet_length));
873
871
bool allocate_lex_string)
875
873
if (allocate_lex_string)
876
if (!(lex_str= (LEX_STRING *)alloc(sizeof(LEX_STRING))))
874
if (!(lex_str= (LEX_STRING *)getMemRoot()->allocate(sizeof(LEX_STRING))))
878
876
if (!(lex_str->str= mem_root->strmake_root(str, length)))
2012
bool Session::TableMessages::storeTableMessage(const identifier::Table &identifier, message::Table &table_message)
2014
table_message_cache.insert(make_pair(identifier.getPath(), table_message));
2019
bool Session::TableMessages::removeTableMessage(const identifier::Table &identifier)
2021
TableMessageCache::iterator iter;
2023
iter= table_message_cache.find(identifier.getPath());
2025
if (iter == table_message_cache.end())
2028
table_message_cache.erase(iter);
2033
bool Session::TableMessages::getTableMessage(const identifier::Table &identifier, message::Table &table_message)
2035
TableMessageCache::iterator iter;
2037
iter= table_message_cache.find(identifier.getPath());
2039
if (iter == table_message_cache.end())
2042
table_message.CopyFrom(((*iter).second));
2047
bool Session::TableMessages::doesTableMessageExist(const identifier::Table &identifier)
2049
TableMessageCache::iterator iter;
2051
iter= table_message_cache.find(identifier.getPath());
2053
if (iter == table_message_cache.end())
2061
bool Session::TableMessages::renameTableMessage(const identifier::Table &from, const identifier::Table &to)
2063
TableMessageCache::iterator iter;
2065
table_message_cache[to.getPath()]= table_message_cache[from.getPath()];
2067
iter= table_message_cache.find(to.getPath());
2069
if (iter == table_message_cache.end())
2074
(*iter).second.set_schema(to.getSchemaName());
2075
(*iter).second.set_name(to.getTableName());
2080
2010
table::Singular *Session::getInstanceTable()
2082
2012
temporary_shares.push_back(new table::Singular()); // This will not go into the tableshare cache, so no key is used.