~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to client/drizzle.cc

  • Committer: Mark Atwood
  • Date: 2011-07-13 22:28:29 UTC
  • mfrom: (2318.7.25 refactor1)
  • Revision ID: me@mark.atwood.name-20110713222829-sswp061b5ts7tc1k
mergeĀ lp:~olafvdspek/drizzle/refactor1

Show diffs side-by-side

added added

removed removed

Lines of Context:
1566
1566
  prompt_counter=0;
1567
1567
 
1568
1568
  outfile.clear();      // no (default) outfile
1569
 
  pager.assign("stdout");  // the default, if --pager wasn't given
 
1569
  pager= "stdout";  // the default, if --pager wasn't given
 
1570
  if (const char* tmp= getenv("PAGER"))
1570
1571
  {
1571
 
    const char *tmp= getenv("PAGER");
1572
 
    if (tmp && strlen(tmp))
 
1572
    if (strlen(tmp))
1573
1573
    {
1574
1574
      default_pager_set= 1;
1575
 
      default_pager.assign(tmp);
 
1575
      default_pager= tmp;
1576
1576
    }
1577
1577
  }
1578
1578
  if (! isatty(0) || ! isatty(1))
1579
1579
  {
1580
 
    status.setBatch(1); opt_silent=1;
 
1580
    status.setBatch(1); 
 
1581
    opt_silent=1;
1581
1582
  }
1582
1583
  else
1583
1584
    status.setAddToHistory(1);
1652
1653
      if (vm[pager].as<string>().length())
1653
1654
      {
1654
1655
        default_pager_set= 1;
1655
 
        pager.assign(vm["pager"].as<string>());
1656
 
        default_pager.assign(pager);
 
1656
        pager= vm["pager"].as<string>();
 
1657
        default_pager= pager;
1657
1658
      }
1658
1659
      else if (default_pager_set)
1659
 
        pager.assign(default_pager);
 
1660
        pager= default_pager;
1660
1661
      else
1661
1662
        opt_nopager= 1;
1662
1663
    }
1690
1691
 
1691
1692
  if (vm.count("protocol"))
1692
1693
  {
1693
 
    std::transform(opt_protocol.begin(), opt_protocol.end(), 
1694
 
      opt_protocol.begin(), ::tolower);
1695
 
 
 
1694
    boost::to_lower(opt_protocol);
1696
1695
    if (not opt_protocol.compare("mysql"))
1697
1696
    {
1698
 
 
1699
1697
      global_con_options= (drizzle_con_options_t)(DRIZZLE_CON_MYSQL|DRIZZLE_CON_INTERACTIVE);
1700
1698
      use_drizzle_protocol= false;
1701
1699
    }
1991
1989
 
1992
1990
 
1993
1991
 
1994
 
static int process_options(void)
 
1992
static int process_options()
1995
1993
{
1996
 
  char *tmp, *pagpoint;
1997
 
  
1998
 
 
1999
 
  tmp= (char *) getenv("DRIZZLE_HOST");
2000
 
  if (tmp)
2001
 
    current_host.assign(tmp);
2002
 
 
2003
 
  pagpoint= getenv("PAGER");
2004
 
  if (!((char*) (pagpoint)))
2005
 
  {
2006
 
    pager.assign("stdout");
 
1994
  if (const char* tmp= getenv("DRIZZLE_HOST"))
 
1995
    current_host= tmp;
 
1996
 
 
1997
  if (const char* pagpoint= getenv("PAGER"))
 
1998
  {
 
1999
    pager= pagpoint;
 
2000
  }
 
2001
  else
 
2002
  {
 
2003
    pager= "stdout";
2007
2004
    opt_nopager= 1;
2008
2005
  }
2009
 
  else
2010
 
  {
2011
 
    pager.assign(pagpoint);
2012
 
  }
2013
 
  default_pager.assign(pager);
 
2006
  default_pager= pager;
2014
2007
 
2015
2008
  //
2016
2009
 
2017
2010
  if (status.getBatch()) /* disable pager and outfile in this case */
2018
2011
  {
2019
 
    default_pager.assign("stdout");
2020
 
    pager.assign("stdout");
 
2012
    default_pager= "stdout";
 
2013
    pager= "stdout";
2021
2014
    opt_nopager= 1;
2022
2015
    default_pager_set= 0;
2023
2016
    opt_outfile= 0;
2548
2541
    return (char**) 0;
2549
2542
}
2550
2543
 
2551
 
inline string lower_string(const string &from_string)
 
2544
inline string lower_string(const string& from)
2552
2545
{
2553
 
  string to_string= from_string;
2554
 
  transform(to_string.begin(), to_string.end(),
2555
 
            to_string.begin(), ::tolower);
2556
 
  return to_string;
 
2546
  return boost::to_lower_copy(from);
2557
2547
}
2558
 
inline string lower_string(const char * from_string)
 
2548
 
 
2549
inline string lower_string(const char* from)
2559
2550
{
2560
 
  string to_string= from_string;
2561
 
  return lower_string(to_string);
 
2551
  return boost::to_lower_copy(string(from));
2562
2552
}
2563
2553
 
2564
2554
template <class T>
2571
2561
  CompletionMatch(string text) : match_text(text) {}
2572
2562
  inline bool operator() (const pair<string,string> &match_against) const
2573
2563
  {
2574
 
    string sub_match=
2575
 
      lower_string(match_against.first.substr(0,match_text.size()));
 
2564
    string sub_match= lower_string(match_against.first.substr(0,match_text.size()));
2576
2565
    return match_func(sub_match,match_text);
2577
2566
  }
2578
2567
};
2733
2722
    {
2734
2723
      drizzle_row_t row= drizzle_row_next(&res);
2735
2724
      if (row[0])
2736
 
        current_db.assign(row[0]);
 
2725
        current_db= row[0];
2737
2726
      drizzle_result_free(&res);
2738
2727
    }
2739
2728
  }
3046
3035
    return;
3047
3036
  }
3048
3037
  OUTFILE = new_outfile;
3049
 
  outfile.assign(file_name);
 
3038
  outfile= file_name;
3050
3039
  tee_fprintf(stdout, _("Logging to file '%s'\n"), file_name);
3051
3040
  opt_outfile= 1;
3052
3041
 
3778
3767
    {
3779
3768
      tee_fprintf(stdout, _("Default pager wasn't set, using stdout.\n"));
3780
3769
      opt_nopager=1;
3781
 
      pager.assign("stdout");
 
3770
      pager= "stdout";
3782
3771
      PAGER= stdout;
3783
3772
      return 0;
3784
3773
    }
3785
 
    pager.assign(default_pager);
 
3774
    pager= default_pager;
3786
3775
  }
3787
3776
  else
3788
3777
  {
3792
3781
           (isspace(*(end-1)) || iscntrl(*(end-1))))
3793
3782
      --end;
3794
3783
    pager_name.erase(end, pager_name.end());
3795
 
    pager.assign(pager_name);
3796
 
    default_pager.assign(pager_name);
 
3784
    pager= pager_name;
 
3785
    default_pager= pager_name;
3797
3786
  }
3798
3787
  opt_nopager=0;
3799
3788
  tee_fprintf(stdout, _("PAGER set to '%s'\n"), pager.c_str());
3804
3793
static int
3805
3794
com_nopager(string *, const char *)
3806
3795
{
3807
 
  pager.assign("stdout");
 
3796
  pager= "stdout";
3808
3797
  opt_nopager=1;
3809
3798
  PAGER= stdout;
3810
3799
  tee_fprintf(stdout, _("PAGER set to stdout\n"));
3865
3854
    tmp= get_arg(buff, 0);
3866
3855
    if (tmp && *tmp)
3867
3856
    {
3868
 
      current_db.erase();
3869
 
      current_db.assign(tmp);
 
3857
      current_db= tmp;
3870
3858
      tmp= get_arg(buff, 1);
3871
3859
      if (tmp)
3872
3860
      {
4062
4050
      else
4063
4051
        drizzle_result_free(&result);
4064
4052
    }
4065
 
    current_db.erase();
4066
 
    current_db.assign(tmp);
 
4053
    current_db= tmp;
4067
4054
    if (select_db > 1)
4068
4055
      build_completion_hash(opt_rehash, 1);
4069
4056
  }