I've just submitted the patch. This work took longer time than I expected. It has required a bunch of changes. I'm very sorry for submitting a big patch.
This patch adds database namespace to Tajo catalog and all query processing related things. So, we can use join statements on multiple tables across different databases. Also, this patch adds CREATE DATABASE [IF NOT EXISTS] and DROP DATABASE [IF EXISTS] statements to parser, and planner.
The database namespace requires user session system because each connected user has to keep current database. This patch also includes session system, and session commands to TajoCli. Besides, I've filled some methods and changed Tajo JDBC to support database namespace and its related things.
I've tested the patch on Derby, MySQL, and HCatalog catalog stores. For that, I've improved TestCatalog to directly work on MySQL instance. You can see how you run TestCatalog test with MySQLStore at http://wiki.apache.org/tajo/UnitTests. And, I've added lots of unit tests for database namespaces and almost things I've changed.
This patch also includes the documentation updates. You can see the updated pages: