~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/session.cc

  • Committer: Lee Bieber
  • Date: 2011-02-10 21:02:41 UTC
  • mfrom: (2154.1.3 build)
  • Revision ID: kalebral@gmail.com-20110210210241-jouae2uw2pwv6bac
Merge Patrick - 715885: dbqp needs to return non-zero if tests fail
Merge Stewart - 715539: (get|set)_session_proc_info() still exists
Merge Stewart - 715575: misc session_foo() functions exist - should be methods in Session
Merge Stewart - 712843: SAVEPOINT after rollback due to deadlock with autocommit=off in transaction will call startTransaction with an existing transaction where one shouldn't exist

Show diffs side-by-side

added added

removed removed

Lines of Context:
114
114
  return fd;
115
115
}
116
116
 
117
 
int session_tablespace_op(const Session *session)
118
 
{
119
 
  return test(session->tablespace_op);
120
 
}
121
 
 
122
 
/**
123
 
   Set the process info field of the Session structure.
124
 
 
125
 
   This function is used by plug-ins. Internally, the
126
 
   Session::set_proc_info() function should be used.
127
 
 
128
 
   @see Session::set_proc_info
129
 
 */
130
 
void set_session_proc_info(Session *session, const char *info)
131
 
{
132
 
  session->set_proc_info(info);
133
 
}
134
 
 
135
 
const char *get_session_proc_info(Session *session)
136
 
{
137
 
  return session->get_proc_info();
138
 
}
139
 
 
140
117
void **Session::getEngineData(const plugin::MonitoredInTransaction *monitored)
141
118
{
142
119
  return static_cast<void **>(&ha_data[monitored->getId()].ha_ptr);
153
130
  return session->options & test_options;
154
131
}
155
132
 
156
 
int session_sql_command(const Session *session)
157
 
{
158
 
  return (int) session->lex->sql_command;
159
 
}
160
 
 
161
 
enum_tx_isolation session_tx_isolation(const Session *session)
162
 
{
163
 
  return (enum_tx_isolation)session->variables.tx_isolation;
164
 
}
165
 
 
166
133
Session::Session(plugin::Client *client_arg, catalog::Instance::shared_ptr catalog_arg) :
167
134
  Open_tables_state(refresh_version),
168
135
  mem_root(&main_mem_root),
212
179
  is_fatal_error(false),
213
180
  transaction_rollback_request(false),
214
181
  is_fatal_sub_stmt_error(0),
 
182
  tablespace_op(false),
215
183
  derived_tables_processing(false),
216
 
  tablespace_op(false),
217
184
  m_lip(NULL),
218
185
  cached_table(0),
219
186
  transaction_message(NULL),
838
805
{
839
806
  bool result= true;
840
807
 
841
 
  if (! endActiveTransaction())
 
808
  assert(! inTransaction());
 
809
 
 
810
  options|= OPTION_BEGIN;
 
811
  server_status|= SERVER_STATUS_IN_TRANS;
 
812
 
 
813
  if (plugin::TransactionalStorageEngine::notifyStartTransaction(this, opt))
842
814
  {
843
815
    result= false;
844
816
  }
845
 
  else
846
 
  {
847
 
    options|= OPTION_BEGIN;
848
 
    server_status|= SERVER_STATUS_IN_TRANS;
849
 
 
850
 
    if (plugin::TransactionalStorageEngine::notifyStartTransaction(this, opt))
851
 
    {
852
 
      result= false;
853
 
    }
854
 
  }
855
817
 
856
818
  return result;
857
819
}