~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/join.cc

  • Committer: Padraig O'Sullivan
  • Date: 2009-07-28 05:06:29 UTC
  • mto: (1112.1.3 merge)
  • mto: This revision was merged to the branch mainline in revision 1113.
  • Revision ID: osullivan.padraig@gmail.com-20090728050629-0gsa1dour9zja9wy
Removed the typedef for nested_join_map and instead just declare these
bitmaps as std::bitset. I don't see the need for the typedef in this
scenario...

Show diffs side-by-side

added added

removed removed

Lines of Context:
6342
6342
}
6343
6343
 
6344
6344
/**
6345
 
  Assign each nested join structure a bit in nested_join_map.
 
6345
  Assign each nested join structure a bit in the nested join bitset.
6346
6346
 
6347
6347
    Assign each nested join structure (except "confluent" ones - those that
6348
 
    embed only one element) a bit in nested_join_map.
 
6348
    embed only one element) a bit in the nested join bitset.
6349
6349
 
6350
6350
  @param join          Join being processed
6351
6351
  @param join_list     List of tables
6352
 
  @param first_unused  Number of first unused bit in nested_join_map before the
 
6352
  @param first_unused  Number of first unused bit in the nest joing bitset before the
6353
6353
                       call
6354
6354
 
6355
6355
  @note
6356
6356
    This function is called after simplify_joins(), when there are no
6357
6357
    redundant nested joins, #non_confluent_nested_joins <= #tables_in_join so
6358
 
    we will not run out of bits in nested_join_map.
 
6358
    we will not run out of bits in the nested join bitset.
6359
6359
 
6360
6360
  @return
6361
 
    First unused bit in nested_join_map after the call.
 
6361
    First unused bit in the nest join bitset after the call.
6362
6362
*/
6363
6363
static uint32_t build_bitmap_for_nested_joins(List<TableList> *join_list, uint32_t first_unused)
6364
6364
{
6378
6378
        We don't assign bits to such sj-nests because
6379
6379
        1. it is redundant (a "sequence" of one table cannot be interleaved
6380
6380
            with anything)
6381
 
        2. we could run out bits in nested_join_map otherwise.
 
6381
        2. we could run out of bits in the nested join bitset otherwise.
6382
6382
      */
6383
6383
      if (nested_join->join_list.elements != 1)
6384
6384
      {