Description
It's common to see sql scripts that create some temporary table as an intermediate result, run some additional queries against it and then clean up at the end.
We should support temporary tables properly, meaning automatically manage the life cycle and make sure the visibility is restricted to the creating connection/session. Without these it's common to see left over tables in meta-store or weird errors with clashing tmp table names.
Proposed syntax:
CREATE TEMPORARY TABLE ....
CTAS, CTL, INSERT INTO, should all be supported as usual.
Knowing that a user wants a temp table can enable us to further optimize access to it. E.g.: temp tables should be kept in memory where possible, compactions and merging table files aren't required, ...