#include <iostream>
#include <libmcsapi/mcsapi.h>

int main(void)
{
	mcsapi::ColumnStoreDriver* driver;
	try{
		driver = new mcsapi::ColumnStoreDriver();
        mcsapi::ColumnStoreSystemCatalog sysCat = driver->getSystemCatalog();
        mcsapi::ColumnStoreSystemCatalogTable tbl = sysCat.getTable("test","t1");
	} catch (mcsapi::ColumnStoreError &e) {
		std::cout << "Error caught for test.t1: " << e.what() << std::endl;
	}
	try{
		driver = new mcsapi::ColumnStoreDriver();
        mcsapi::ColumnStoreSystemCatalog sysCat = driver->getSystemCatalog();
        mcsapi::ColumnStoreSystemCatalogTable tbl = sysCat.getTable("`test`","t1");
	} catch (mcsapi::ColumnStoreError &e) {
		std::cout << "Error caught for `test`.t1: " << e.what() << std::endl;
	}
	try{
		driver = new mcsapi::ColumnStoreDriver();
        mcsapi::ColumnStoreSystemCatalog sysCat = driver->getSystemCatalog();
        mcsapi::ColumnStoreSystemCatalogTable tbl = sysCat.getTable("`'test'`","t1");
	} catch (mcsapi::ColumnStoreError &e) {
		std::cout << "Error caught for `'test'`.t1: " << e.what() << std::endl;
	}
	delete driver;
	return 0;
}
