index.js
function ( config, callback )
    {
        var self = this;
        var db = Array(),
            diff = Array(),
            first = true;

        for( var c = 0; c < 2; ++c )
        {
            db[ c ] = Array();

            for( var d = 0; d < 2; ++d )
            {
                db[ c ][ d ] = Array();
            }
        }

        var query = util.format( 'USE %s; SHOW FULL TABLES', config.database );
        this.runSql( query, null, { useArray: true } )
            .on( 'result', function ( res )
            {
                res.on( 'data', function ( row )
                {
                    if ( row[ 0 ] && row[ 1 ] === 'VIEW' )
                        db[ 0 ][ 1 ].push( row[ 0 ] );
                    else if ( row[ 0 ] && row[ 0 ] !== 'migrations' )
                        db[ 0 ][ 0 ].push( row[ 0 ] );
                } );
            } )
            .on( 'end', function ()
            {
                if ( config.diffDump )
                    first = false;
                else
                    callback( db );
            } );

        if ( config.diffDump )
        {
            query = util.format( 'USE %s; SHOW FULL TABLES', config.database_diff );
            this.runSql( query, null, { useArray: true } )
                .on( 'result', function ( res )
                {
                    res.on( 'data', function ( row )
                    {
                        if ( row[ 0 ] && row[ 1 ] === 'VIEW' )
                            db[ 1 ][ 1 ].push( row[ 0 ] );
                        else if ( row[ 0 ] && row[ 0 ] !== 'migrations' )
                            db[ 1 ][ 0 ].push( row[ 0 ] );
                    } );
                } )
                .on( 'end', function ()
                {
                    while ( first )
                    {
                        deasync.sleep( 100 );
                    }

                    callback( db );
                } );
        }
    }
function ( config, callback )
    {
        var self = this;
        var db = Array(),
            diff = Array(),
            first = true;

        for( var c = 0; c < 2; ++c )
        {
            db[ c ] = Array();

            for( var d = 0; d < 2; ++d )
            {
                db[ c ][ d ] = Array();
            }
        }

        var query = util.format( 'USE %s; SHOW FULL TABLES', config.database );
        this.runSql( query, null, { useArray: true } )
            .on( 'result', function ( res )
            {
                res.on( 'data', function ( row )
                {
                    if ( row[ 0 ] && row[ 1 ] === 'VIEW' )
                        db[ 0 ][ 1 ].push( row[ 0 ] );
                    else if ( row[ 0 ] && row[ 0 ] !== 'migrations' )
                        db[ 0 ][ 0 ].push( row[ 0 ] );
                } );
            } )
            .on( 'end', function ()
            {
                if ( config.diffDump )
                    first = false;
                else
                    callback( db );
            } );

        if ( config.diffDump )
        {
            query = util.format( 'USE %s; SHOW FULL TABLES', config.database_diff );
            this.runSql( query, null, { useArray: true } )
                .on( 'result', function ( res )
                {
                    res.on( 'data', function ( row )
                    {
                        if ( row[ 0 ] && row[ 1 ] === 'VIEW' )
                            db[ 1 ][ 1 ].push( row[ 0 ] );
                        else if ( row[ 0 ] && row[ 0 ] !== 'migrations' )
                            db[ 1 ][ 0 ].push( row[ 0 ] );
                    } );
                } )
                .on( 'end', function ()
                {
                    while ( first )
                    {
                        deasync.sleep( 100 );
                    }

                    callback( db );
                } );
        }
    }
function ( config , callback ) { var self = this ; var db = Array ( ) , diff = Array ( ) , first = true ; for ( var c = 0 ; c < 2 ; ++ c ) { db [ c ] = Array ( ) ; for ( var d = 0 ; d < 2 ; ++ d ) { db [ c ] [ d ] = Array ( ) ; } } var query = util . format ( 'USE %s; SHOW FULL TABLES' , config . database ) ; this . runSql ( query , null , { useArray : true } ) . on ( 'result' , function ( res ) { res . on ( 'data' , function ( row ) { if ( row [ 0 ] && row [ 1 ] === 'VIEW' ) db [ 0 ] [ 1 ] . push ( row [ 0 ] ) ; else if ( row [ 0 ] && row [ 0 ] !== 'migrations' ) db [ 0 ] [ 0 ] . push ( row [ 0 ] ) ; } ) ; } ) . on ( 'end' , function ( ) { if ( config . diffDump ) first = false ; else callback ( db ) ; } ) ; if ( config . diffDump ) { query = util . format ( 'USE %s; SHOW FULL TABLES' , config . database_diff ) ; this . runSql ( query , null , { useArray : true } ) . on ( 'result' , function ( res ) { res . on ( 'data' , function ( row ) { if ( row [ 0 ] && row [ 1 ] === 'VIEW' ) db [ 1 ] [ 1 ] . push ( row [ 0 ] ) ; else if ( row [ 0 ] && row [ 0 ] !== 'migrations' ) db [ 1 ] [ 0 ] . push ( row [ 0 ] ) ; } ) ; } ) . on ( 'end' , function ( ) { while ( first ) { deasync . sleep ( 100 ) ; } callback ( db ) ; } ) ; } }
Returns an array containing the Tables.

General return information:

This array has 2 layers, the final information layer has
8 elements.

Array Format:
Layer 1:
[0] = real table, [1] = diff table

Layer 3 (Result formatting):
[0] = table array*, [1] = view array*

Table Array (Content)
List of table name per array element

View Array (Content)
List of view name per array element

@return array
Returns an array containing the Tables .