SQLUtility::SQLUtility(SQLUtilityMode mode) : testRootPath(getTestRootPath()), test_info(::testing::UnitTest::GetInstance()->current_test_info()) { auto getConnection = [&] () { string user = HAWQ_USER; if(user.empty()) { struct passwd *pw; uid_t uid = geteuid(); pw = getpwuid(uid); user.assign(pw->pw_name); } conn.reset(new hawq::test::PSQL(HAWQ_DB, HAWQ_HOST, HAWQ_PORT, user, HAWQ_PASSWORD)); }; getConnection(); if (mode == MODE_SCHEMA) { schemaName = string(test_info->test_case_name()) + "_" + test_info->name(); databaseName = HAWQ_DB; exec("DROP SCHEMA IF EXISTS " + schemaName + " CASCADE"); exec("CREATE SCHEMA " + schemaName); sql_util_mode = MODE_SCHEMA; } else { schemaName = HAWQ_DEFAULT_SCHEMA; databaseName = "db_" + string(test_info->test_case_name()) + "_" + test_info->name(); std::transform(databaseName.begin(), databaseName.end(), databaseName.begin(), ::tolower); exec("DROP DATABASE IF EXISTS " + databaseName); exec("CREATE DATABASE " + databaseName); sql_util_mode = MODE_DATABASE; } }
SQLUtility::SQLUtility() : conn(getConnection()), testRootPath(getTestRootPath()), test_info(::testing::UnitTest::GetInstance()->current_test_info()) { schemaName = std::string(test_info->test_case_name()) + "_" + test_info->name(); exec("DROP SCHEMA IF EXISTS " + schemaName + " CASCADE"); exec("CREATE SCHEMA " + schemaName); }
SQLUtility::SQLUtility() : testRootPath(getTestRootPath()), test_info(::testing::UnitTest::GetInstance()->current_test_info()) { auto getConnection = [&] () { string user = HAWQ_USER; if(user.empty()) { struct passwd *pw; uid_t uid = geteuid(); pw = getpwuid(uid); user.assign(pw->pw_name); } conn.reset(new hawq::test::PSQL(HAWQ_DB, HAWQ_HOST, HAWQ_PORT, user, HAWQ_PASSWORD)); }; getConnection(); schemaName = string(test_info->test_case_name()) + "_" + test_info->name(); exec("DROP SCHEMA IF EXISTS " + schemaName + " CASCADE"); exec("CREATE SCHEMA " + schemaName); }