21 #include "heap_priv.h"
23 using namespace drizzled;
25 static void heap_extra_keyflag(
register HP_INFO *info,
26 enum ha_extra_function
function);
31 int heap_extra(
register HP_INFO *info,
enum ha_extra_function
function)
34 case HA_EXTRA_RESET_STATE:
36 case HA_EXTRA_NO_READCHECK:
37 info->opt_flag&= ~READ_CHECK_USED;
39 case HA_EXTRA_READCHECK:
40 info->opt_flag|= READ_CHECK_USED;
42 case HA_EXTRA_CHANGE_KEY_TO_UNIQUE:
43 case HA_EXTRA_CHANGE_KEY_TO_DUP:
44 heap_extra_keyflag(info,
function);
56 info->current_record= UINT32_MAX;
57 info->current_hash_ptr=0;
67 static void heap_extra_keyflag(
register HP_INFO *info,
68 enum ha_extra_function
function)
70 for (uint32_t idx= 0; idx< info->getShare()->keys; idx++)
73 case HA_EXTRA_CHANGE_KEY_TO_UNIQUE:
74 info->getShare()->keydef[idx].flag|= HA_NOSAME;
76 case HA_EXTRA_CHANGE_KEY_TO_DUP:
77 info->getShare()->keydef[idx].flag&= ~(HA_NOSAME);