~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/sys_var.h

  • Committer: Monty Taylor
  • Date: 2010-10-30 23:28:13 UTC
  • mto: This revision was merged to the branch mainline in revision 1905.
  • Revision ID: mordred@inaugust.com-20101030232813-5f8d6vbv9rkcc86l
Added readonly constrained_value class.

Show diffs side-by-side

added added

removed removed

Lines of Context:
23
23
#include <string>
24
24
#include <boost/filesystem.hpp>
25
25
 
26
 
/*
27
 
#include "drizzled/function/func.h"
28
 
#include "drizzled/function/set_user_var.h"
29
 
#include "drizzled/item/string.h"
30
 
#include "drizzled/item/field.h"
31
 
*/
32
26
#include "drizzled/constrained_value.h"
33
27
#include "drizzled/set_var.h"
34
28
#include "drizzled/show_type.h"
429
423
};
430
424
 
431
425
template<>
432
 
inline bool sys_var_constrained_value<const uint64_t>::is_readonly() const
433
 
{
434
 
  return true;
435
 
}
436
 
 
437
 
template<>
438
 
inline bool sys_var_constrained_value<const uint32_t>::is_readonly() const
439
 
{
440
 
  return true;
441
 
}
442
 
 
443
 
template<>
444
426
inline SHOW_TYPE sys_var_constrained_value<uint64_t>::show_type()
445
427
{
446
428
  return SHOW_LONGLONG;
478
460
  return false;
479
461
}
480
462
 
481
 
template<>
482
 
inline unsigned char *sys_var_constrained_value<const uint64_t>::value_ptr(Session *, sql_var_t, const LEX_STRING *)
483
 
{
484
 
  return (unsigned char*)&basic_value;
485
 
}
486
 
 
487
 
template<>
488
 
inline unsigned char *sys_var_constrained_value<const uint32_t>::value_ptr(Session *, sql_var_t, const LEX_STRING *)
489
 
{
490
 
  return (unsigned char*)&basic_value;
491
 
}
 
463
template<class T>
 
464
class sys_var_constrained_value_readonly :
 
465
  public sys_var_constrained_value<T>
 
466
{
 
467
public:
 
468
  sys_var_constrained_value_readonly(const char *name_arg,
 
469
                                     constrained_value<T> &value_arg) :
 
470
    sys_var_constrained_value<T>(name_arg, value_arg)
 
471
  { }
 
472
 
 
473
  sys_var_constrained_value_readonly(const char *name_arg,
 
474
                                     constrained_value<T> &value_arg,
 
475
                                     T default_value_arg) :
 
476
    sys_var_constrained_value<T>(name_arg, value_arg, default_value_arg)
 
477
  { }
 
478
 
 
479
public:
 
480
  bool is_readonly() const
 
481
  {
 
482
    return true;
 
483
  }
 
484
};
492
485
 
493
486
class sys_var_const_string :
494
487
  public sys_var