/// <inheritdoc />
        public async Task <TableDto> GetTableAsync(DbInstanceInfo dbInstanceInfo, string owner, string tableName, CancellationToken cancellationToken = default)
        {
            if (dbInstanceInfo == null)
            {
                throw new ArgumentNullException(nameof(dbInstanceInfo));
            }

            using var connection = await _databaseHelper.CreateConnectionAsync(dbInstanceInfo, cancellationToken);

            TableDto response;

            response = await connection.QuerySingleOrDefaultAsync <TableDto>(
                getTableQuery,
                new
            {
                owner,
                tableName
            });

            if (response == null)
            {
                throw new TableNotFoundException(dbInstanceInfo.Alias, owner, tableName);
            }

            response.Columns = (
                await connection.QueryAsync <ColumnDto>(
                    getColumnQuery,
                    new
            {
                owner,
                tableName
            }))
                               .ToList();

            return(response);
        }