Were there any serious issues, I'd also suggest addressing two minor comments:
1) strncmp("foo", blah, sizeof("foo") - 1)) effectively does string prefix comparison, as sizeof - 1 removes the trailing NUL from comparison. Which is probably unintentional, but no real difference.
2) instead of a trinary operator at contains_autoinc_column call I'd add if (type == KEY_TYPE_NONE) return FALSE; to the function itself, seems more natural to me.
Looks good.
Were there any serious issues, I'd also suggest addressing two minor comments: autoinc_ column call I'd add if (type == KEY_TYPE_NONE) return FALSE; to the function itself, seems more natural to me.
1) strncmp("foo", blah, sizeof("foo") - 1)) effectively does string prefix comparison, as sizeof - 1 removes the trailing NUL from comparison. Which is probably unintentional, but no real difference.
2) instead of a trinary operator at contains_