list_columns accepts a raw string instead of a table object