23 static void heap_extra_keyflag(
register HP_INFO *info,
24 enum ha_extra_function
function);
29 int heap_extra(
register HP_INFO *info,
enum ha_extra_function
function)
31 DBUG_ENTER(
"heap_extra");
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= (ulong) ~0L;
57 info->current_hash_ptr=0;
67 static void heap_extra_keyflag(
register HP_INFO *info,
68 enum ha_extra_function
function)
72 for (idx= 0; idx< info->s->keys; idx++)
75 case HA_EXTRA_CHANGE_KEY_TO_UNIQUE:
76 info->s->keydef[idx].flag|= HA_NOSAME;
78 case HA_EXTRA_CHANGE_KEY_TO_DUP:
79 info->s->keydef[idx].flag&= ~(HA_NOSAME);