in src/MySqlAsyncCollector.cs [443:468]
public static string GetPrimaryKeysQuery(MySqlObject table)
{
return $@"
SELECT
cu.{ColumnName},
case
when isc.EXTRA = 'auto_increment' then 'true'
else 'false'
end as 'is_autoincrement',
case
when isc.COLUMN_DEFAULT IS NULL then 'false'
else 'true'
end as {HasDefault}
FROM
INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc
INNER JOIN
INFORMATION_SCHEMA.KEY_COLUMN_USAGE cu ON cu.TABLE_SCHEMA = tc.TABLE_SCHEMA AND cu.TABLE_NAME = tc.TABLE_NAME AND cu.CONSTRAINT_NAME = tc.CONSTRAINT_NAME
INNER JOIN
INFORMATION_SCHEMA.COLUMNS isc ON isc.TABLE_SCHEMA = tc.TABLE_SCHEMA AND isc.TABLE_NAME = tc.TABLE_NAME AND isc.COLUMN_NAME = cu.COLUMN_NAME
WHERE
tc.CONSTRAINT_TYPE = 'PRIMARY KEY'
and
tc.TABLE_NAME = {table.SingleQuotedName}
and
tc.TABLE_SCHEMA = {table.SingleQuotedSchema}";
}