~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/join_cache.h

  • Committer: Brian Aker
  • Date: 2010-05-18 21:54:40 UTC
  • mto: This revision was merged to the branch mainline in revision 1540.
  • Revision ID: brian@gaz-20100518215440-ieapaanbp9yfg943
Update for Join structure changes.

Show diffs side-by-side

added added

removed removed

Lines of Context:
27
27
typedef JoinTable JoinTable;
28
28
 
29
29
/**
30
 
  CACHE_FIELD and JOIN_CACHE is used on full join to cache records in outer
 
30
  CacheField and JoinCache is used on full join to cache records in outer
31
31
  table
32
32
*/
33
 
typedef struct st_cache_field {
 
33
struct CacheField {
34
34
  /*
35
35
    Where source data is located (i.e. this points to somewhere in
36
36
    tableX->record[0])
42
42
  bool strip; /* true <=> Strip endspaces ?? */
43
43
 
44
44
  Table *get_rowid; /* _ != NULL <=> */
45
 
} CACHE_FIELD;
 
45
};
46
46
 
47
 
typedef struct st_join_cache
 
47
struct JoinCache
48
48
{
49
49
  unsigned char *buff;
50
50
  unsigned char *pos;    /* Start of free space in the buffer */
62
62
  uint32_t fields;
63
63
  uint32_t length;
64
64
  uint32_t blobs;
65
 
  CACHE_FIELD *field;
66
 
  CACHE_FIELD **blob_ptr;
 
65
  CacheField *field;
 
66
  CacheField **blob_ptr;
67
67
  optimizer::SqlSelect *select;
68
 
} JOIN_CACHE;
 
68
};
69
69
 
70
70
int join_init_cache(Session *session, JoinTable *tables, uint32_t table_count);
71
 
void reset_cache_read(JOIN_CACHE *cache);
72
 
void reset_cache_write(JOIN_CACHE *cache);
73
 
bool store_record_in_cache(JOIN_CACHE *cache);
 
71
void reset_cache_read(JoinCache *cache);
 
72
void reset_cache_write(JoinCache *cache);
 
73
bool store_record_in_cache(JoinCache *cache);
74
74
 
75
75
} /* namespace drizzled */
76
76