protected static function getFieldFlags($what)
{
// Order of flags taken from http://lxr.php.net/xref/PHP_5_6/ext/mysql/php_mysql.c#2507
$flags = [MYSQLI_NOT_NULL_FLAG => "not_null", MYSQLI_PRI_KEY_FLAG => "primary_key", MYSQLI_UNIQUE_KEY_FLAG => "unique_key", MYSQLI_MULTIPLE_KEY_FLAG => "multiple_key", MYSQLI_BLOB_FLAG => "blob", MYSQLI_UNSIGNED_FLAG => "unsigned", MYSQLI_ZEROFILL_FLAG => "zerofill", MYSQLI_BINARY_FLAG => "binary", MYSQLI_ENUM_FLAG => "enum", MYSQLI_SET_FLAG => "set", MYSQLI_AUTO_INCREMENT_FLAG => "auto_increment", MYSQLI_TIMESTAMP_FLAG => "timestamp"];
$fieldFlags = [];
foreach ($flags as $flag => $value) {
if ($what & $flag) {
$fieldFlags[] = $value;
}
}
return implode(" ", $fieldFlags);
}