~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to plugin/myisam/mi_rprev.cc

  • Committer: Brian Aker
  • Date: 2010-08-09 18:04:12 UTC
  • mfrom: (1689.3.7 staging)
  • Revision ID: brian@gaz-20100809180412-olurwh51ojllev6p
Merge in heap conversion, and case insensitive patch, and remove need for
M_HASH in session.

Show diffs side-by-side

added added

removed removed

Lines of Context:
11
11
 
12
12
   You should have received a copy of the GNU General Public License
13
13
   along with this program; if not, write to the Free Software
14
 
   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
 
14
   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */
15
15
 
16
16
#include "myisam_priv.h"
17
17
 
37
37
  if (fast_mi_readinfo(info))
38
38
    return(errno);
39
39
  changed=_mi_test_if_changed(info);
 
40
  if (share->concurrent_insert)
 
41
    pthread_rwlock_rdlock(&share->key_root_lock[inx]);
40
42
  if (!flag)
41
43
    error=_mi_search_last(info, share->keyinfo+inx,
42
44
                          share->state.key_root[inx]);
62
64
          break;
63
65
      }
64
66
    }
 
67
    pthread_rwlock_unlock(&share->key_root_lock[inx]);
65
68
  }
66
69
  info->update&= (HA_STATE_CHANGED | HA_STATE_ROW_CHANGED);
67
70
  info->update|= HA_STATE_PREV_FOUND;
68
71
  if (error)
69
72
  {
70
 
    if (errno ==  drizzled::HA_ERR_KEY_NOT_FOUND)
71
 
      errno= drizzled::HA_ERR_END_OF_FILE;
 
73
    if (errno == HA_ERR_KEY_NOT_FOUND)
 
74
      errno=HA_ERR_END_OF_FILE;
72
75
  }
73
76
  else if (!buf)
74
77
  {