~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/show.cc

Merge Monty

Show diffs side-by-side

added added

removed removed

Lines of Context:
60
60
#include <algorithm>
61
61
 
62
62
using namespace std;
63
 
using namespace drizzled;
 
63
 
 
64
namespace drizzled
 
65
{
64
66
 
65
67
inline const char *
66
68
str_or_nil(const char *str)
71
73
static void store_key_options(String *packet, Table *table, KEY *key_info);
72
74
 
73
75
 
74
 
 
75
76
int wild_case_compare(const CHARSET_INFO * const cs, const char *str, const char *wildstr)
76
77
{
77
78
  register int flag;
78
79
  while (*wildstr)
79
80
  {
80
 
    while (*wildstr && *wildstr != wild_many && *wildstr != wild_one)
 
81
    while (*wildstr && *wildstr != internal::wild_many && *wildstr != internal::wild_one)
81
82
    {
82
 
      if (*wildstr == wild_prefix && wildstr[1])
 
83
      if (*wildstr == internal::wild_prefix && wildstr[1])
83
84
        wildstr++;
84
85
      if (my_toupper(cs, *wildstr++) != my_toupper(cs, *str++))
85
86
        return (1);
86
87
    }
87
88
    if (! *wildstr )
88
89
      return (*str != 0);
89
 
    if (*wildstr++ == wild_one)
 
90
    if (*wildstr++ == internal::wild_one)
90
91
    {
91
92
      if (! *str++)
92
93
        return (1);     /* One char; skip */
95
96
    {                                           /* Found '*' */
96
97
      if (! *wildstr)
97
98
        return (0);             /* '*' as last char: OK */
98
 
      flag=(*wildstr != wild_many && *wildstr != wild_one);
 
99
      flag=(*wildstr != internal::wild_many && *wildstr != internal::wild_one);
99
100
      do
100
101
      {
101
102
        if (flag)
102
103
        {
103
104
          char cmp;
104
 
          if ((cmp= *wildstr) == wild_prefix && wildstr[1])
 
105
          if ((cmp= *wildstr) == internal::wild_prefix && wildstr[1])
105
106
            cmp= wildstr[1];
106
107
          cmp= my_toupper(cs, cmp);
107
108
          while (*str && my_toupper(cs, *str) != cmp)
178
179
 
179
180
    file_name_len= filename_to_tablename(entry->filename.c_str(), uname,
180
181
                                         sizeof(uname));
181
 
    if (wild && wild_compare(uname, wild, 0))
 
182
    if (wild && internal::wild_compare(uname, wild, 0))
182
183
    {
183
184
      ++entry_iter;
184
185
      continue;
686
687
      table->s->getKeyBlockSize() != key_info->block_size)
687
688
  {
688
689
    packet->append(STRING_WITH_LEN(" KEY_BLOCK_SIZE="));
689
 
    end= int64_t10_to_str(key_info->block_size, buff, 10);
 
690
    end= internal::int64_t10_to_str(key_info->block_size, buff, 10);
690
691
    packet->append(buff, (uint32_t) (end - buff));
691
692
  }
692
693
 
757
758
    {
758
759
      tmp= *it;
759
760
      Security_context *tmp_sctx= &tmp->security_ctx;
760
 
      struct st_my_thread_var *mysys_var;
 
761
      internal::st_my_thread_var *mysys_var;
761
762
      if (tmp->client->isConnected() && (!user || (tmp_sctx->user.c_str() && !strcmp(tmp_sctx->user.c_str(), user))))
762
763
      {
763
764
 
1493
1494
    file_name= session->make_lex_string(file_name, (*it).c_str(),
1494
1495
                                        (*it).length(), true);
1495
1496
    const char* wild= lookup_field_vals->table_value.str;
1496
 
    if (wild && wild_compare((*it).c_str(), wild, 0))
 
1497
    if (wild && internal::wild_compare((*it).c_str(), wild, 0))
1497
1498
      continue;
1498
1499
 
1499
1500
    table_names.push_back(file_name);
2129
2130
  return false;
2130
2131
}
2131
2132
 
 
2133
} /* namespace drizzled */