~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/session.cc

  • Committer: Lee Bieber
  • Date: 2011-04-14 19:29:43 UTC
  • mfrom: (2278.1.2 build)
  • Revision ID: kalebral@gmail.com-20110414192943-q1nxcdqupal0anjb
Merge Olaf - Refactor Table Cache
Merge Olaf - Delete unused functions

Show diffs side-by-side

added added

removed removed

Lines of Context:
749
749
  return not dispatch_command(l_command, this, l_packet+1, (uint32_t) (packet_length-1));
750
750
}
751
751
 
752
 
bool Session::readAndStoreQuery(const char *in_packet, uint32_t in_packet_length)
 
752
void Session::readAndStoreQuery(const char *in_packet, uint32_t in_packet_length)
753
753
{
754
754
  /* Remove garbage at start and end of query */
755
755
  while (in_packet_length > 0 && my_isspace(charset(), in_packet[0]))
764
764
    in_packet_length--;
765
765
  }
766
766
 
767
 
  std::string *new_query= new std::string(in_packet, in_packet_length);
768
 
  // We can not be entirely sure _schema has a value
769
 
  if (impl_->schema)
770
 
  {
771
 
    plugin::QueryRewriter::rewriteQuery(*impl_->schema, *new_query);
772
 
  }
773
 
  query.reset(new_query);
774
 
  impl_->state.reset(new session::State(in_packet, in_packet_length));
775
 
 
776
 
  return true; // return void
 
767
  util::string::mptr new_query= boost::make_shared<std::string>(in_packet, in_packet_length);
 
768
  plugin::QueryRewriter::rewriteQuery(*impl_->schema, *new_query);
 
769
  query= new_query;
 
770
  impl_->state= boost::make_shared<session::State>(in_packet, in_packet_length);
777
771
}
778
772
 
779
 
bool Session::endTransaction(enum enum_mysql_completiontype completion)
 
773
bool Session::endTransaction(enum_mysql_completiontype completion)
780
774
{
781
775
  bool do_release= 0;
782
776
  bool result= true;
825
819
      return false;
826
820
  }
827
821
 
828
 
  if (result == false)
 
822
  if (not result)
829
823
  {
830
824
    my_error(static_cast<drizzled::error_t>(killed_errno()), MYF(0));
831
825
  }
832
 
  else if ((result == true) && do_release)
 
826
  else if (result && do_release)
833
827
  {
834
828
    setKilled(Session::KILL_CONNECTION);
835
829
  }
859
853
 
860
854
bool Session::startTransaction(start_transaction_option_t opt)
861
855
{
862
 
  bool result= true;
863
 
 
864
 
  assert(! inTransaction());
 
856
  assert(not inTransaction());
865
857
 
866
858
  options|= OPTION_BEGIN;
867
859
  server_status|= SERVER_STATUS_IN_TRANS;
868
860
 
869
861
  if (plugin::TransactionalStorageEngine::notifyStartTransaction(this, opt))
870
 
  {
871
 
    result= false;
872
 
  }
873
 
 
874
 
  return result;
 
862
    return false;
 
863
  return true;
875
864
}
876
865
 
877
866
void Session::cleanup_after_query()
1073
1062
  {
1074
1063
    target_path= fs::system_complete(getDataHomeCatalog());
1075
1064
    util::string::ptr schema(session->schema());
1076
 
    if (schema and not schema->empty())
 
1065
    if (not schema->empty())
1077
1066
    {
1078
1067
      int count_elements= 0;
1079
1068
      for (fs::path::iterator iter= to_file.begin();
1587
1576
 
1588
1577
bool Session::copy_db_to(char **p_db, size_t *p_db_length)
1589
1578
{
1590
 
  assert(impl_->schema);
1591
 
  if (not impl_->schema || impl_->schema->empty())
 
1579
  if (impl_->schema->empty())
1592
1580
  {
1593
1581
    my_message(ER_NO_DB_ERROR, ER(ER_NO_DB_ERROR), MYF(0));
1594
1582
    return true;
1595
1583
  }
1596
 
 
1597
1584
  *p_db= strmake(impl_->schema->c_str(), impl_->schema->size());
1598
1585
  *p_db_length= impl_->schema->size();
1599
 
 
1600
1586
  return false;
1601
1587
}
1602
1588
 
1666
1652
      errmsg_printf(error::WARN, ER(ER_NEW_ABORTING_CONNECTION)
1667
1653
                  , thread_id
1668
1654
                  , (impl_->schema->empty() ? "unconnected" : impl_->schema->c_str())
1669
 
                  , security_ctx->username().empty() == false ? security_ctx->username().c_str() : "unauthenticated"
 
1655
                  , security_ctx->username().empty() ? "unauthenticated" : security_ctx->username().c_str()
1670
1656
                  , security_ctx->address().c_str()
1671
1657
                  , (main_da().is_error() ? main_da().message() : ER(ER_UNKNOWN_ERROR)));
1672
1658
    }
2070
2056
 
2071
2057
util::string::ptr Session::schema() const
2072
2058
{
2073
 
  return impl_->schema ? impl_->schema : boost::make_shared<std::string>();
 
2059
  return impl_->schema;
2074
2060
}
2075
2061
 
2076
2062
void Session::resetQueryString()