~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/set_var.cc

  • Committer: Monty Taylor
  • Date: 2008-09-13 20:24:20 UTC
  • mfrom: (383.1.35 drizzle)
  • Revision ID: monty@inaugust.com-20080913202420-lkj76ewbabl8ljvp
MergedĀ fromĀ trunk.

Show diffs side-by-side

added added

removed removed

Lines of Context:
595
595
#define FIXED_VARS_SIZE (sizeof(fixed_vars) / sizeof(SHOW_VAR))
596
596
static SHOW_VAR fixed_vars[]= {
597
597
  {"back_log",                (char*) &back_log,                    SHOW_LONG},
598
 
  {"character_sets_dir",      mysql_charsets_dir,                   SHOW_CHAR},
599
598
  {"init_file",               (char*) &opt_init_file,               SHOW_CHAR_PTR},
600
599
  {"language",                language,                             SHOW_CHAR},
601
600
#ifdef HAVE_MLOCKALL
842
841
                              LEX_STRING *base __attribute__((unused)))
843
842
{
844
843
  char buff[256];
845
 
  String tmp(buff, sizeof(buff), &my_charset_latin1);
 
844
  String tmp(buff, sizeof(buff), &my_charset_utf8_general_ci);
846
845
  ulong length;
847
846
  ulong val= *value;
848
847
 
1718
1717
  const char *new_name;
1719
1718
} my_old_conv;
1720
1719
 
1721
 
static my_old_conv old_conv[]= 
1722
 
{
1723
 
  {     "cp1251_koi8"           ,       "cp1251"        },
1724
 
  {     "cp1250_latin2"         ,       "cp1250"        },
1725
 
  {     "kam_latin2"            ,       "keybcs2"       },
1726
 
  {     "mac_latin2"            ,       "MacRoman"      },
1727
 
  {     "macce_latin2"          ,       "MacCE"         },
1728
 
  {     "pc2_latin2"            ,       "pclatin2"      },
1729
 
  {     "vga_latin2"            ,       "pclatin1"      },
1730
 
  {     "koi8_cp1251"           ,       "koi8r"         },
1731
 
  {     "win1251ukr_koi8_ukr"   ,       "win1251ukr"    },
1732
 
  {     "koi8_ukr_win1251ukr"   ,       "koi8u"         },
1733
 
  {     NULL                    ,       NULL            }
1734
 
};
1735
 
 
1736
 
const CHARSET_INFO *get_old_charset_by_name(const char *name)
1737
 
{
1738
 
  my_old_conv *conv;
1739
 
 
1740
 
  for (conv= old_conv; conv->old_name; conv++)
1741
 
  {
1742
 
    if (!my_strcasecmp(&my_charset_latin1, name, conv->old_name))
1743
 
      return get_charset_by_csname(conv->new_name, MY_CS_PRIMARY, MYF(0));
1744
 
  }
1745
 
  return NULL;
1746
 
}
1747
 
 
1748
 
 
1749
1720
bool sys_var_collation::check(THD *thd __attribute__((unused)),
1750
1721
                              set_var *var)
1751
1722
{
1799
1770
      }
1800
1771
      tmp= NULL;
1801
1772
    }
1802
 
    else if (!(tmp=get_charset_by_csname(res->c_ptr(),MY_CS_PRIMARY,MYF(0))) &&
1803
 
             !(tmp=get_old_charset_by_name(res->c_ptr())))
 
1773
    else if (!(tmp= get_charset_by_csname(res->c_ptr(),MY_CS_PRIMARY,MYF(0))))
1804
1774
    {
1805
1775
      my_error(ER_UNKNOWN_CHARACTER_SET, MYF(0), res->c_ptr());
1806
1776
      return 1;
2307
2277
                                     LEX_STRING *base __attribute__((unused)))
2308
2278
{
2309
2279
  char buff[256];
2310
 
  String tmp(buff, sizeof(buff), &my_charset_latin1);
 
2280
  String tmp(buff, sizeof(buff), &my_charset_utf8_general_ci);
2311
2281
  ulong length;
2312
2282
  ulong val= *value;
2313
2283
 
2434
2404
bool sys_var_thd_time_zone::check(THD *thd, set_var *var)
2435
2405
{
2436
2406
  char buff[MAX_TIME_ZONE_NAME_LENGTH];
2437
 
  String str(buff, sizeof(buff), &my_charset_latin1);
 
2407
  String str(buff, sizeof(buff), &my_charset_utf8_general_ci);
2438
2408
  String *res= var->value->val_str(&str);
2439
2409
 
2440
2410
  if (!(var->save_result.time_zone= my_tz_find(thd, res)))
2493
2463
 {
2494
2464
   if (default_tz_name)
2495
2465
   {
2496
 
     String str(default_tz_name, &my_charset_latin1);
 
2466
     String str(default_tz_name, &my_charset_utf8_general_ci);
2497
2467
     /*
2498
2468
       We are guaranteed to find this time zone since its existence
2499
2469
       is checked during start-up.
2573
2543
  else // STRING_RESULT
2574
2544
  {
2575
2545
    char buff[6]; 
2576
 
    String str(buff, sizeof(buff), &my_charset_latin1), *res;
 
2546
    String str(buff, sizeof(buff), &my_charset_utf8_general_ci), *res;
2577
2547
    if (!(res=var->value->val_str(&str)))
2578
2548
    {
2579
2549
      my_error(ER_WRONG_VALUE_FOR_VAR, MYF(0), name, "NULL");
3233
3203
{
3234
3204
  char buff[STRING_BUFFER_USUAL_SIZE];
3235
3205
  const char *value;
3236
 
  String str(buff, sizeof(buff), &my_charset_latin1), *res;
 
3206
  String str(buff, sizeof(buff), &my_charset_utf8_general_ci), *res;
3237
3207
 
3238
3208
  var->save_result.plugin= NULL;
3239
3209
  if (var->value->result_type() == STRING_RESULT)
3317
3287
symbolic_mode_representation(THD *thd, uint64_t val, LEX_STRING *rep)
3318
3288
{
3319
3289
  char buff[STRING_BUFFER_USUAL_SIZE*8];
3320
 
  String tmp(buff, sizeof(buff), &my_charset_latin1);
 
3290
  String tmp(buff, sizeof(buff), &my_charset_utf8_general_ci);
3321
3291
 
3322
3292
  tmp.length(0);
3323
3293