~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to client/drizzleslap.cc

  • Committer: Lee
  • Date: 2008-12-30 20:30:32 UTC
  • mfrom: (755 testable)
  • mto: (758.1.3 devel)
  • mto: This revision was merged to the branch mainline in revision 759.
  • Revision ID: lbieber@lbieber-desktop-20081230203032-efgw9i13f37632qz
merge with latest from the trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
84
84
#include <ctype.h>
85
85
#include <string>
86
86
 
 
87
/* Added this for string translation. */
 
88
#include <drizzled/gettext.h>
 
89
 
87
90
#include CMATH_H
88
91
 
89
92
#if defined(CMATH_NAMESPACE)
128
131
const char *create_schema_string= "drizzleslap";
129
132
 
130
133
static bool opt_preserve= true;
131
 
static bool debug_info_flag= 0, debug_check_flag= 0;
 
134
static bool debug_info_flag= false, debug_check_flag= false;
132
135
static bool opt_only_print= false;
133
136
static bool opt_burnin= false;
134
137
static bool opt_ignore_sql_errors= false;
176
179
static char *create_string;
177
180
uint *concurrency;
178
181
 
179
 
const char *default_dbug_option="d:t:o,/tmp/drizzleslap.trace";
 
182
const char *default_dbug_option= "d:t:o,/tmp/drizzleslap.trace";
180
183
const char *opt_csv_str;
181
184
File csv_file;
182
185
 
183
186
static int get_options(int *argc,char ***argv);
184
 
static uint opt_drizzle_port= 0;
 
187
static uint32_t opt_drizzle_port= 0;
185
188
 
186
189
static const char *load_default_groups[]= { "drizzleslap","client",0 };
187
190
 
647
650
   "out what it would have done instead.",
648
651
   (char**) &opt_only_print, (char**) &opt_only_print, 0, GET_BOOL,  NO_ARG,
649
652
   0, 0, 0, 0, 0, 0},
650
 
  {"password", 'p',
 
653
  {"password", 'P',
651
654
   "Password to use when connecting to server. If password is not given it's "
652
655
   "asked from the tty.", 0, 0, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
653
 
  {"port", 'P', "Port number to use for connection.", (char**) &opt_drizzle_port,
654
 
   (char**) &opt_drizzle_port, 0, GET_UINT, REQUIRED_ARG, 0, 0, 0, 0, 0,
655
 
   0},
 
656
  {"port", 'p', "Port number to use for connection.",
 
657
   0, 0, 0, GET_UINT, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
656
658
  {"post-query", OPT_SLAP_POST_QUERY,
657
659
   "Query to run or file containing query to execute after tests have completed.",
658
660
   (char**) &user_supplied_post_statements,
731
733
static bool
732
734
get_one_option(int optid, const struct my_option *, char *argument)
733
735
{
 
736
  char *endchar= NULL;
 
737
  uint64_t temp_drizzle_port= 0;
734
738
 
735
739
  switch(optid) {
736
740
  case 'v':
737
741
    verbose++;
738
742
    break;
739
743
  case 'p':
 
744
    temp_drizzle_port= (uint64_t) strtoul(argument, &endchar, 10);
 
745
    /* if there is an alpha character this is not a valid port */
 
746
    if (strlen(endchar) != 0)
 
747
    {
 
748
      fprintf(stderr, _("Non-integer value supplied for port.  If you are trying to enter a password please use --password instead.\n"));
 
749
      exit(1);
 
750
    }
 
751
    /* If the port number is > 65535 it is not a valid port
 
752
       This also helps with potential data loss casting unsigned long to a
 
753
       uint32_t. */
 
754
    if ((temp_drizzle_port == 0) || (temp_drizzle_port > 65535))
 
755
    {
 
756
      fprintf(stderr, _("Value supplied for port is not valid.\n"));
 
757
      exit(1);
 
758
    }
 
759
    else
 
760
    {
 
761
      opt_drizzle_port= (uint32_t) temp_drizzle_port;
 
762
    }
 
763
    break;
 
764
  case 'P':
740
765
    if (argument)
741
766
    {
742
767
      char *start= argument;
749
774
                        "Aborting.\n");
750
775
        exit(ENOMEM);
751
776
      }
752
 
      while (*argument) *argument++= 'x';    /* Destroy argument */
 
777
      while (*argument)
 
778
      {
 
779
        /* Overwriting password with 'x' */
 
780
        *argument++= 'x';
 
781
      }
753
782
      if (*start)
754
 
        start[1]= 0;        /* Cut length of argument */
 
783
      {
 
784
        /* Cut length of argument */
 
785
        start[1]= 0;
 
786
      }
755
787
      tty_password= 0;
756
788
    }
757
789
    else