24
24
#include <config.h>
26
#include <boost/checked_delete.hpp>
27
#include <boost/filesystem.hpp>
26
28
#include <drizzled/copy_field.h>
27
29
#include <drizzled/data_home.h>
30
#include <drizzled/diagnostics_area.h>
28
31
#include <drizzled/display.h>
29
32
#include <drizzled/drizzled.h>
30
33
#include <drizzled/error.h>
31
34
#include <drizzled/gettext.h>
35
#include <drizzled/ha_data.h>
32
36
#include <drizzled/identifier.h>
33
37
#include <drizzled/internal/iocache.h>
34
38
#include <drizzled/internal/thread_var.h>
37
41
#include <drizzled/item/empty_string.h>
38
42
#include <drizzled/item/float.h>
39
43
#include <drizzled/item/return_int.h>
44
#include <drizzled/item/subselect.h>
40
45
#include <drizzled/lock.h>
41
46
#include <drizzled/plugin/authentication.h>
42
47
#include <drizzled/plugin/authorization.h>
50
55
#include <drizzled/pthread_globals.h>
51
56
#include <drizzled/query_id.h>
52
57
#include <drizzled/refresh_version.h>
58
#include <drizzled/schema.h>
53
59
#include <drizzled/select_dump.h>
54
60
#include <drizzled/select_exists_subselect.h>
55
61
#include <drizzled/select_export.h>
59
65
#include <drizzled/select_to_file.h>
60
66
#include <drizzled/session.h>
61
67
#include <drizzled/session/cache.h>
68
#include <drizzled/session/property_map.h>
69
#include <drizzled/session/state.h>
70
#include <drizzled/session/table_messages.h>
62
71
#include <drizzled/show.h>
63
72
#include <drizzled/sql_base.h>
73
#include <drizzled/sql_lex.h>
74
#include <drizzled/statement.h>
64
75
#include <drizzled/table/singular.h>
65
76
#include <drizzled/table_proto.h>
66
77
#include <drizzled/tmp_table_param.h>
67
78
#include <drizzled/transaction_services.h>
68
79
#include <drizzled/user_var_entry.h>
80
#include <drizzled/util/backtrace.h>
81
#include <drizzled/util/find_ptr.h>
69
82
#include <drizzled/util/functors.h>
70
#include <drizzled/util/find_ptr.h>
71
83
#include <plugin/myisam/myisam.h>
72
#include <drizzled/item/subselect.h>
73
#include <drizzled/statement.h>
74
#include <drizzled/sql_lex.h>
75
#include <drizzled/ha_data.h>
76
#include <drizzled/diagnostics_area.h>
77
#include <drizzled/session/state.h>
79
85
#include <algorithm>
82
88
#include <sys/stat.h>
84
#include <boost/filesystem.hpp>
85
#include <boost/checked_delete.hpp>
87
#include <drizzled/util/backtrace.h>
89
#include <drizzled/schema.h>
91
90
using namespace std;
93
namespace fs=boost::filesystem;
92
namespace fs= boost::filesystem;
98
97
The following is used to initialise Table_ident with a internal
136
133
return static_cast<void **>(&ha_data[monitored->getId()].ha_ptr);
139
ResourceContext *Session::getResourceContext(const plugin::MonitoredInTransaction *monitored,
136
ResourceContext& Session::getResourceContext(const plugin::MonitoredInTransaction& monitored, size_t index)
142
return &ha_data[monitored->getId()].resource_context[index];
138
return ha_data[monitored.getId()].resource_context[index];
145
141
int64_t session_test_options(const Session *session, int64_t test_options)
166
165
mem_root(&main_mem_root),
167
166
query(new std::string),
168
167
_schema(new std::string),
171
169
scheduler_arg(NULL),
172
170
lock_id(&main_lock_id),
173
171
thread_stack(NULL),
174
security_ctx(identifier::User::make_shared()),
175
172
_where(Session::DEFAULT_WHERE),
176
dbug_sentry(Session_SENTRY_MAGIC),
178
174
command(COM_CONNECT),
323
321
bool Session::add_value_to_list(Item *value)
325
return lex().value_list.push_back(value);
323
lex().value_list.push_back(value);
328
327
bool Session::add_order_to_list(Item *item, bool asc)
471
468
warn_root.free_root(MYF(0));
472
469
mysys_var=0; // Safety (shouldn't be needed)
473
dbug_sentry= Session_SENTRY_GONE;
475
471
main_mem_root.free_root(MYF(0));
476
472
currentMemRoot().release();
913
907
Reset rand_used so that detection of calls to rand() will save random
914
908
seeds if needed by the slave.
917
/* Forget those values, for next binlogger: */
918
auto_inc_intervals_in_cur_stmt_for_binlog.empty();
920
910
if (first_successful_insert_id_in_cur_stmt > 0)
922
912
/* set what LAST_INSERT_ID() will return */
1752
1742
select_number= 1;
1754
Those two lines below are theoretically unneeded as
1755
Session::cleanup_after_query() should take care of this already.
1757
auto_inc_intervals_in_cur_stmt_for_binlog.empty();
1759
1744
is_fatal_error= false;
1760
1745
server_status&= ~ (SERVER_MORE_RESULTS_EXISTS |
2204
2189
return (enum_tx_isolation)variables.tx_isolation;
2209
static const std::string NONE= "NONE";
2210
static const std::string GOT_GLOBAL_READ_LOCK= "HAS GLOBAL READ LOCK";
2211
static const std::string MADE_GLOBAL_READ_LOCK_BLOCK_COMMIT= "HAS GLOBAL READ LOCK WITH BLOCKING COMMIT";
2213
const std::string &type(drizzled::Session::global_read_lock_t type)
2192
drizzled::util::Storable* Session::getProperty0(const std::string& arg)
2194
return impl_->properties.getProperty(arg);
2197
void Session::setProperty0(const std::string& arg, drizzled::util::Storable* value)
2199
impl_->properties.setProperty(arg, value);
2202
const std::string& display::type(drizzled::Session::global_read_lock_t type)
2204
static const std::string NONE= "NONE";
2205
static const std::string GOT_GLOBAL_READ_LOCK= "HAS GLOBAL READ LOCK";
2206
static const std::string MADE_GLOBAL_READ_LOCK_BLOCK_COMMIT= "HAS GLOBAL READ LOCK WITH BLOCKING COMMIT";
2217
2211
case Session::NONE:
2226
size_t max_string_length(drizzled::Session::global_read_lock_t)
2220
size_t display::max_string_length(drizzled::Session::global_read_lock_t)
2228
return MADE_GLOBAL_READ_LOCK_BLOCK_COMMIT.size();
2222
return display::type(Session::MADE_GLOBAL_READ_LOCK_BLOCK_COMMIT).size();
2231
} /* namespace display */
2233
2225
} /* namespace drizzled */