cleanup
use shared_ptr for sql_statement::columns
use LiteralData to present... well, literal data
basic table operation
support index