'Returns a list of names of all tables that exist in the database.
The returned table list is sorted by Python\'s default sorting. We
do NOT use database\'s ORDER BY here to avoid subtle differences
in sorting order between databases.'

def table_names(self, cursor=None):

    if (cursor is None):
        cursor = self.connection.cursor()
    return sorted(self.get_table_list(cursor))
