~ubuntu-branches/ubuntu/trusty/drizzle/trusty

« back to all changes in this revision

Viewing changes to drizzled/item/subselect.h

  • Committer: Bazaar Package Importer
  • Author(s): Monty Taylor
  • Date: 2010-10-02 14:17:48 UTC
  • mfrom: (1.1.1 upstream)
  • mto: (2.1.17 sid)
  • mto: This revision was merged to the branch mainline in revision 3.
  • Revision ID: james.westby@ubuntu.com-20101002141748-m6vbfbfjhrw1153e
Tags: 2010.09.1802-1
* New upstream release.
* Removed pid-file argument hack.
* Updated GPL-2 address to be new address.
* Directly copy in drizzledump.1 since debian doesn't have sphinx 1.0 yet.
* Link to jquery from libjs-jquery. Add it as a depend.
* Add drizzled.8 symlink to the install files.

Show diffs side-by-side

added added

removed removed

Lines of Context:
33
33
 
34
34
class Select_Lex;
35
35
class Select_Lex_Unit;
36
 
class JOIN;
 
36
class Join;
37
37
class select_result_interceptor;
38
38
class subselect_engine;
39
39
class subselect_hash_sj_engine;
103
103
  {
104
104
    null_value= 1;
105
105
  }
106
 
  virtual trans_res select_transformer(JOIN *join);
 
106
  virtual trans_res select_transformer(Join *join);
107
107
  bool assigned() { return value_assigned; }
108
108
  void assigned(bool a) { value_assigned= a; }
109
109
  enum Type type() const;
177
177
  subs_type substype() { return SINGLEROW_SUBS; }
178
178
 
179
179
  void reset();
180
 
  trans_res select_transformer(JOIN *join);
 
180
  trans_res select_transformer(Join *join);
181
181
  void store(uint32_t i, Item* item);
182
182
  double val_real();
183
183
  int64_t val_int ();
356
356
    null_value= 0;
357
357
    was_null= 0;
358
358
  }
359
 
  trans_res select_transformer(JOIN *join);
360
 
  trans_res select_in_like_transformer(JOIN *join, const Comp_creator *func);
361
 
  trans_res single_value_transformer(JOIN *join, const Comp_creator *func);
362
 
  trans_res row_value_transformer(JOIN * join);
363
 
  trans_res single_value_in_to_exists_transformer(JOIN * join,
 
359
  trans_res select_transformer(Join *join);
 
360
  trans_res select_in_like_transformer(Join *join, const Comp_creator *func);
 
361
  trans_res single_value_transformer(Join *join, const Comp_creator *func);
 
362
  trans_res row_value_transformer(Join * join);
 
363
  trans_res single_value_in_to_exists_transformer(Join * join,
364
364
                                                  const Comp_creator *func);
365
 
  trans_res row_value_in_to_exists_transformer(JOIN * join);
 
365
  trans_res row_value_in_to_exists_transformer(Join * join);
366
366
  virtual bool exec();
367
367
  int64_t val_int();
368
368
  double val_real();
400
400
 
401
401
  // only ALL subquery has upper not
402
402
  subs_type substype() { return all?ALL_SUBS:ANY_SUBS; }
403
 
  trans_res select_transformer(JOIN *join);
 
403
  trans_res select_transformer(Join *join);
404
404
  virtual void print(String *str, enum_query_type query_type);
405
405
};
406
406
 
489
489
  bool optimized; /* simple subselect is optimized */
490
490
  bool executed; /* simple subselect is executed */
491
491
  Select_Lex *select_lex; /* corresponding select_lex */
492
 
  JOIN * join; /* corresponding JOIN structure */
 
492
  Join * join; /* corresponding JOIN structure */
493
493
public:
494
494
  subselect_single_select_engine(Select_Lex *select,
495
495
                                 select_result_interceptor *result,
572
572
  bool null_keypart; /* TRUE <=> constructed search tuple has a NULL */
573
573
public:
574
574
 
575
 
  // constructor can assign Session because it will be called after JOIN::prepare
 
575
  // constructor can assign Session because it will be called after Join::prepare
576
576
  subselect_uniquesubquery_engine(Session *session_arg, JoinTable *tab_arg,
577
577
                                  Item_subselect *subs, Item *where)
578
578
    :subselect_engine(subs, 0), tab(tab_arg), cond(where)
633
633
  Item *having;
634
634
public:
635
635
 
636
 
  // constructor can assign Session because it will be called after JOIN::prepare
 
636
  // constructor can assign Session because it will be called after Join::prepare
637
637
  subselect_indexsubquery_engine(Session *session_arg, JoinTable *tab_arg,
638
638
                                 Item_subselect *subs, Item *where,
639
639
                                 Item *having_arg, bool chk_null)
681
681
    QEP to execute the subquery and materialize its result into a
682
682
    temporary table. Created during the first call to exec().
683
683
  */
684
 
  JOIN *materialize_join;
 
684
  Join *materialize_join;
685
685
  /* Temp table context of the outer select's JOIN. */
686
686
  Tmp_Table_Param *tmp_param;
687
687