~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/handler.cc

  • Committer: Monty Taylor
  • Date: 2008-11-04 19:53:08 UTC
  • mto: (575.1.8 devel)
  • mto: This revision was merged to the branch mainline in revision 579.
  • Revision ID: monty@inaugust.com-20081104195308-4p1tfsbv4t41cvsp
Moved implementation of some methods into handler.cc from handler.h.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1723
1723
  return NULL;
1724
1724
}
1725
1725
 
1726
 
 
 
1726
int handler::ha_index_init(uint32_t idx, bool sorted)
 
1727
{
 
1728
  int result;
 
1729
  assert(inited==NONE);
 
1730
  if (!(result= index_init(idx, sorted)))
 
1731
    inited=INDEX;
 
1732
  end_range= NULL;
 
1733
  return(result);
 
1734
}
 
1735
 
 
1736
int handler::ha_index_end()
 
1737
{
 
1738
  assert(inited==INDEX);
 
1739
  inited=NONE;
 
1740
  end_range= NULL;
 
1741
  return(index_end());
 
1742
}
 
1743
 
 
1744
int handler::ha_rnd_init(bool scan)
 
1745
{
 
1746
  int result;
 
1747
  assert(inited==NONE || (inited==RND && scan));
 
1748
  inited= (result= rnd_init(scan)) ? NONE: RND;
 
1749
  return(result);
 
1750
}
 
1751
 
 
1752
int handler::ha_rnd_end()
 
1753
{
 
1754
  assert(inited==RND);
 
1755
  inited=NONE;
 
1756
  return(rnd_end());
 
1757
}
 
1758
 
 
1759
int handler::ha_index_or_rnd_end()
 
1760
{
 
1761
  return inited == INDEX ? ha_index_end() : inited == RND ? ha_rnd_end() : 0;
 
1762
}
 
1763
 
 
1764
handler::Table_flags handler::ha_table_flags() const
 
1765
{
 
1766
  return cached_table_flags;
 
1767
}
 
1768
 
 
1769
void handler::ha_start_bulk_insert(ha_rows rows)
 
1770
{
 
1771
  estimation_rows_to_insert= rows;
 
1772
  start_bulk_insert(rows);
 
1773
}
 
1774
 
 
1775
int handler::ha_end_bulk_insert()
 
1776
{
 
1777
  estimation_rows_to_insert= 0;
 
1778
  return end_bulk_insert();
 
1779
}
 
1780
 
 
1781
void handler::change_table_ptr(Table *table_arg, TABLE_SHARE *share)
 
1782
{
 
1783
  table= table_arg;
 
1784
  table_share= share;
 
1785
}
 
1786
 
 
1787
const key_map *handler::keys_to_use_for_scanning()
 
1788
{
 
1789
  return &key_map_empty;
 
1790
}
 
1791
 
 
1792
bool handler::has_transactions()
 
1793
{
 
1794
  return (ha_table_flags() & HA_NO_TRANSACTIONS) == 0;
 
1795
}
1727
1796
 
1728
1797
void handler::ha_statistic_increment(ulong SSV::*offset) const
1729
1798
{
1741
1810
  return (table && table->in_use) ? table->in_use : current_session;
1742
1811
}
1743
1812
 
 
1813
 
 
1814
bool handler::is_fatal_error(int error, uint32_t flags)
 
1815
{
 
1816
  if (!error ||
 
1817
      ((flags & HA_CHECK_DUP_KEY) &&
 
1818
       (error == HA_ERR_FOUND_DUPP_KEY ||
 
1819
        error == HA_ERR_FOUND_DUPP_UNIQUE)))
 
1820
    return false;
 
1821
  return true;
 
1822
}
 
1823
 
1744
1824
/**
1745
1825
  Open database-handler.
1746
1826