~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/sql_lex.h

Merge Monty

Show diffs side-by-side

added added

removed removed

Lines of Context:
41
41
#include <bitset>
42
42
#include <string>
43
43
 
 
44
namespace drizzled
 
45
{
 
46
 
44
47
class select_result_interceptor;
45
48
 
46
49
/* YACC and LEX Definitions */
51
54
class Lex_Column;
52
55
class Item_outer_ref;
53
56
 
 
57
} /* namespace drizzled */
 
58
 
54
59
/*
55
60
  The following hack is needed because mysql_yacc.cc does not define
56
61
  YYSTYPE before including this file
82
87
#define DERIVED_NONE    0
83
88
#define DERIVED_SUBQUERY        1
84
89
 
 
90
namespace drizzled
 
91
{
 
92
 
85
93
typedef List<Item> List_item;
86
94
 
87
95
enum sub_select_type
247
255
 
248
256
  static void *operator new(size_t size)
249
257
  {
250
 
    return drizzled::memory::sql_alloc(size);
 
258
    return memory::sql_alloc(size);
251
259
  }
252
 
  static void *operator new(size_t size, drizzled::memory::Root *mem_root)
 
260
  static void *operator new(size_t size, memory::Root *mem_root)
253
261
  { return (void*) alloc_root(mem_root, (uint32_t) size); }
254
262
  static void operator delete(void *, size_t)
255
263
  {  }
256
 
  static void operator delete(void *, drizzled::memory::Root *)
 
264
  static void operator delete(void *, memory::Root *)
257
265
  {}
258
266
  Select_Lex_Node(): linkage(UNSPECIFIED_TYPE) {}
259
267
  virtual ~Select_Lex_Node() {}
729
737
  DISCARD_COMMENT
730
738
};
731
739
 
 
740
} /* namespace drizzled */
 
741
 
732
742
#include "drizzled/lex_input_stream.h"
733
743
 
 
744
namespace drizzled
 
745
{
 
746
 
734
747
/* The state of the lex parsing. This is saved in the Session struct */
735
748
class LEX : public Query_tables_list
736
749
{
801
814
  SQL_LIST save_list;
802
815
  CreateField *last_field;
803
816
  Item_sum *in_sum_func;
804
 
  drizzled::plugin::Function *udf;
 
817
  plugin::Function *udf;
805
818
  uint32_t type;
806
819
  /*
807
820
    This variable is used in post-parse stage to declare that sum-functions,
814
827
  */
815
828
  nesting_map allow_sum_func;
816
829
  enum_sql_command sql_command;
817
 
  drizzled::statement::Statement *statement;
 
830
  statement::Statement *statement;
818
831
  /*
819
832
    Usually `expr` rule of yacc is quite reused but some commands better
820
833
    not support subqueries which comes standard with this rule, like
930
943
  @} (End of group Semantic_Analysis)
931
944
*/
932
945
 
 
946
} /* namespace drizzled */
 
947
 
933
948
#endif /* DRIZZLE_SERVER */
934
949
#endif /* DRIZZLED_SQL_LEX_H */