~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/statement/kill.cc

  • Committer: Brian Aker
  • Date: 2010-12-23 22:20:46 UTC
  • mto: (2026.1.2 build)
  • mto: This revision was merged to the branch mainline in revision 2027.
  • Revision ID: brian@tangent.org-20101223222046-152kydsd1cyexfme
Update to tests, we just want to look at our own tables, not global.

Show diffs side-by-side

added added

removed removed

Lines of Context:
18
18
 *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
19
19
 */
20
20
 
21
 
#include <config.h>
 
21
#include "config.h"
22
22
#include <drizzled/show.h>
23
23
#include <drizzled/session.h>
24
24
#include <drizzled/session/cache.h>
27
27
namespace drizzled
28
28
{
29
29
 
30
 
namespace statement
31
 
{
32
 
 
33
 
Kill::Kill(Session *in_session, Item *item, bool is_query_kill) :
34
 
  Statement(in_session)
35
 
  {
36
 
    if (is_query_kill)
37
 
    {
38
 
      getSession()->getLex()->type= ONLY_KILL_QUERY;
39
 
    }
40
 
 
41
 
    getSession()->getLex()->value_list.clear();
42
 
    getSession()->getLex()->value_list.push_front(item);
43
 
    getSession()->getLex()->sql_command= SQLCOM_KILL;
44
 
  }
45
 
 
46
 
} // namespace statement
47
 
 
48
30
bool statement::Kill::kill(session_id_t id, bool only_kill_query)
49
31
{
50
32
  drizzled::Session::shared_ptr session_param= session::Cache::singleton().find(id);
60
42
 
61
43
bool statement::Kill::execute()
62
44
{
63
 
  Item *it= (Item *) getSession()->getLex()->value_list.head();
 
45
  Item *it= (Item *) session->lex->value_list.head();
64
46
 
65
 
  if ((not it->fixed && it->fix_fields(getSession()->getLex()->session, &it)) || it->check_cols(1))
 
47
  if ((not it->fixed && it->fix_fields(session->lex->session, &it)) || it->check_cols(1))
66
48
  {
67
49
    my_message(ER_SET_CONSTANTS_ONLY, 
68
50
               ER(ER_SET_CONSTANTS_ONLY),
70
52
    return true;
71
53
  }
72
54
 
73
 
  if (kill(static_cast<session_id_t>(it->val_int()), getSession()->getLex()->type & ONLY_KILL_QUERY))
 
55
  if (kill(static_cast<session_id_t>(it->val_int()), session->lex->type & ONLY_KILL_QUERY))
74
56
  {
75
 
    getSession()->my_ok();
 
57
    session->my_ok();
76
58
  }
77
59
  else
78
60
  {