Currently table names are always strings. Sometimes that string is just tablename, sometimes it is dbname.tablename. Sometimes the code expects one or the other, sometimes it handles either. This is burdensome for developers and error prone. With the addition of catalog to the hierarchy, this becomes even worse.
I propose to add two objects, DatabaseName and TableName. These will track full names of each object. They will handle inserting default catalog and database names when those are not provided. They will handle the conversions to and from strings.
These will need to be added to storage-api because ValidTxnList will use it.