~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/item.cc

  • Committer: Padraig O'Sullivan
  • Date: 2009-03-20 21:29:07 UTC
  • mfrom: (957 drizzle)
  • mto: (968.2.18 mordred)
  • mto: This revision was merged to the branch mainline in revision 971.
  • Revision ID: osullivan.padraig@gmail.com-20090320212907-6ukvx0ahete1it32
MergeĀ fromĀ trunk.

Show diffs side-by-side

added added

removed removed

Lines of Context:
437
437
/**
438
438
  Traverse item tree possibly transforming it (replacing items).
439
439
 
440
 
  This function is designed to ease transformation of Item trees.
441
 
  Re-execution note: every such transformation is registered for
442
 
  rollback by Session::change_item_tree() and is rolled back at the end
443
 
  of execution by Session::rollback_item_tree_changes().
444
 
 
445
 
  Therefore:
446
 
  - this function can not be used at prepared statement prepare
447
 
  (in particular, in fix_fields!), as only permanent
448
 
  transformation of Item trees are allowed at prepare.
449
 
  - the transformer function shall allocate new Items in execution
450
 
  memory root (session->mem_root) and not anywhere else: allocated
451
 
  items will be gone in the end of execution.
452
 
 
453
440
  If you don't need to transform an item tree, but only traverse
454
441
  it, please use Item::walk() instead.
455
442
 
456
 
 
457
443
  @param transformer    functor that performs transformation of a subtree
458
444
  @param arg            opaque argument passed to the functor
459
445