#!/bin/bash
[[ -z $1 ]] && echo 'ZBX_UNSUPPORTED' && exit 1

DB_EXISTS=$(mysql -NB INFORMATION_SCHEMA -e "select COUNT(*) from SCHEMATA WHERE SCHEMA_NAME = '$1'")
[[ "$DB_EXISTS" -eq 0 ]] && echo 'ZBX_UNSUPPORTED' && exit 1

# Count only unless this script is called in show-tables mode
LSQL='COUNT(*)' && HEADERS='-N'
[[ $2 = '--show-tables' ]] && LSQL='a.TABLE_SCHEMA, a.TABLE_NAME, a.AUTO_INCREMENT, b.DATA_TYPE' && HEADERS=''

mysql $HEADERS unlogged << EOD
    CREATE TEMPORARY TABLE tmp_zbx_ai AS
        SELECT TABLE_SCHEMA,TABLE_NAME, AUTO_INCREMENT
            FROM INFORMATION_SCHEMA.TABLES
            WHERE TABLE_SCHEMA='$1'
                AND AUTO_INCREMENT > 3000000000;

    CREATE TEMPORARY TABLE tmp_zbx_dt AS
        SELECT TABLE_SCHEMA, TABLE_NAME, DATA_TYPE
        FROM INFORMATION_SCHEMA.COLUMNS
        WHERE TABLE_SCHEMA='$1'
            AND DATA_TYPE='int'
            AND EXTRA='auto_increment';

    SELECT $LSQL
    FROM tmp_zbx_ai a 
    JOIN tmp_zbx_dt b
        ON  a.TABLE_SCHEMA = b.TABLE_SCHEMA
            AND a.TABLE_NAME = b.TABLE_NAME;
EOD
