~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/sql_class.h

  • Committer: Brian Aker
  • Date: 2008-09-25 19:17:06 UTC
  • Revision ID: brian@tangent.org-20080925191706-97btriiynfeold91
Cleanup around Query_arena.

Show diffs side-by-side

added added

removed removed

Lines of Context:
445
445
 
446
446
#ifdef DRIZZLE_SERVER
447
447
 
448
 
#define INIT_ARENA_DBUG_INFO is_backup_arena= 0
449
 
 
450
448
class Query_arena
451
449
{
452
450
public:
456
454
  */
457
455
  Item *free_list;
458
456
  MEM_ROOT *mem_root;                   // Pointer to current memroot
459
 
  bool is_backup_arena; /* True if this arena is used for backup. */
460
 
 
461
 
  /*
462
 
    The states relfects three diffrent life cycles for three
463
 
    different types of statements:
464
 
    Prepared statement: INITIALIZED -> PREPARED -> EXECUTED.
465
 
    Stored procedure:   INITIALIZED_FOR_SP -> EXECUTED.
466
 
    Other statements:   CONVENTIONAL_EXECUTION never changes.
467
 
  */
468
 
  enum enum_state
469
 
  {
470
 
    INITIALIZED= 0,
471
 
    CONVENTIONAL_EXECUTION= 3, EXECUTED= 4, ERROR= -1
472
 
  };
473
 
 
474
 
  enum_state state;
475
 
 
476
 
  Query_arena(MEM_ROOT *mem_root_arg, enum enum_state state_arg) :
477
 
    free_list(0), mem_root(mem_root_arg), state(state_arg)
478
 
  { INIT_ARENA_DBUG_INFO; }
 
457
 
 
458
  Query_arena(MEM_ROOT *mem_root_arg) :
 
459
    free_list(0), mem_root(mem_root_arg)
 
460
  { }
479
461
  /*
480
462
    This constructor is used only when Query_arena is created as
481
463
    backup storage for another instance of Query_arena.
482
464
  */
483
 
  Query_arena() { INIT_ARENA_DBUG_INFO; }
 
465
  Query_arena() { }
484
466
 
485
467
  virtual ~Query_arena() {};
486
468
 
487
 
  inline bool is_conventional() const
488
 
  { assert(state == CONVENTIONAL_EXECUTION); return state == CONVENTIONAL_EXECUTION; }
489
 
 
490
469
  inline void* alloc(size_t size) { return alloc_root(mem_root,size); }
491
470
  inline void* calloc(size_t size)
492
471
  {
598
577
  /* This constructor is called for backup statements */
599
578
  Statement() {}
600
579
 
601
 
  Statement(LEX *lex_arg, MEM_ROOT *mem_root_arg,
602
 
            enum enum_state state_arg, ulong id_arg);
 
580
  Statement(LEX *lex_arg, MEM_ROOT *mem_root_arg, ulong id_arg);
603
581
  ~Statement() {}
604
 
 
605
 
  /* Assign execution context (note: not all members) of given stmt to self */
606
 
  void set_statement(Statement *stmt);
607
582
};
608
583
 
609
584
struct st_savepoint {