本文整理汇总了C++中SQLUtility::query方法的典型用法代码示例。如果您正苦于以下问题:C++ SQLUtility::query方法的具体用法?C++ SQLUtility::query怎么用?C++ SQLUtility::query使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SQLUtility
的用法示例。
在下文中一共展示了SQLUtility::query方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: test_root
TEST_F(TestHawqRegister, TestRollBackHDFSFilePathContainErrorSymbol) {
SQLUtility util;
string test_root(util.getTestRootPath());
util.execute("drop table if exists t;");
util.execute("drop table if exists nt;");
util.execute("create table t(i int) with (appendonly=true, orientation=row) distributed randomly;");
util.execute("insert into t select generate_series(1, 100);");
util.query("select * from t;", 100);
util.execute("create table nt(i int) with (appendonly=true, orientation=row) distributed by (i);");
util.execute("insert into nt select generate_series(1, 100);");
util.query("select * from nt;", 100);
string t_yml(hawq::test::stringFormat("%s/ManagementTool/rollback/error_schema.yml", test_root.c_str()));
string t_yml_tpl(hawq::test::stringFormat("%s/ManagementTool/rollback/error_schema.yml", test_root.c_str()));
hawq::test::FileReplace frep;
std::unordered_map<std::string, std::string> strs_src_dst;
strs_src_dst["@[email protected]"]= getDatabaseOid();
strs_src_dst["@[email protected]"]= getTableOid("t", "testhawqregister_testrollbackhdfsfilepathcontainerrorsymbol");
string hdfs_prefix;
hawq::test::HdfsConfig hc;
hc.getNamenodeHost(hdfs_prefix);
strs_src_dst["@[email protected]"]= hdfs_prefix;
frep.replace(t_yml_tpl, t_yml, strs_src_dst);
EXPECT_EQ(1, Command::getCommandStatus(hawq::test::stringFormat("hawq register -d %s -c %s testhawqregister_testrollbackhdfsfilepathcontainerrorsymbol.nt", HAWQ_DB, t_yml.c_str())));
util.query("select * from t;", 100);
util.query("select * from nt;", 100);
EXPECT_EQ(0, Command::getCommandStatus(hawq::test::stringFormat("rm -rf %s", t_yml.c_str())));
util.execute("drop table t;");
util.execute("drop table nt;");
}
示例2: runYamlCaseTableNotExists
void TestHawqRegister::runYamlCaseTableNotExists(std::string casename, std::string ymlname, int isexpectederror=1, int checknum=100) {
SQLUtility util;
string test_root(util.getTestRootPath());
util.execute("drop table if exists t;");
util.execute("drop table if exists nt;");
util.execute("create table t(i int) with (appendonly=true, orientation=parquet) distributed by (i);");
util.execute("insert into t select generate_series(1, 100);");
util.query("select * from t;", 100);
string t_yml(hawq::test::stringFormat("%s/ManagementTool/%s.yml", test_root.c_str(), ymlname.c_str()));
string t_yml_tpl(hawq::test::stringFormat("%s/ManagementTool/%s_tpl.yml", test_root.c_str(), ymlname.c_str()));
hawq::test::FileReplace frep;
std::unordered_map<std::string, std::string> strs_src_dst;
strs_src_dst["@[email protected]"]= getDatabaseOid();
strs_src_dst["@[email protected]"]= getTableOid("t");
hawq::test::HdfsConfig hc;
string hdfs_prefix;
hc.getNamenodeHost(hdfs_prefix);
strs_src_dst["@[email protected]"]= hdfs_prefix;
frep.replace(t_yml_tpl, t_yml, strs_src_dst);
EXPECT_EQ(isexpectederror, Command::getCommandStatus(hawq::test::stringFormat("hawq register -d %s -c %s testhawqregister_%s.nt", HAWQ_DB, t_yml.c_str(), casename.c_str())));
if (isexpectederror > 0) {
util.query("select * from t;", 100);
util.query("select * from pg_class where relname = 'nt';", 0);
} else {
util.query("select * from nt;", checknum);
}
EXPECT_EQ(0, Command::getCommandStatus(hawq::test::stringFormat("rm -rf %s", t_yml.c_str())));
util.execute("drop table t;");
util.execute("drop table if exists nt;");
}
示例3: rootPath
TEST_F(TestHawqRegister, TestUsage1NotParquetTable) {
SQLUtility util;
string rootPath(util.getTestRootPath());
string relativePath("/ManagementTool/test_hawq_register_hawq.paq");
string filePath = rootPath + relativePath;
/* register a parquet file to a row random table, should fail */
auto cmd = hawq::test::stringFormat("hadoop fs -put -f %s %s/hawq_register_hawq.paq", filePath.c_str(), getHdfsLocation().c_str());
EXPECT_EQ(0, Command::getCommandStatus(cmd));
util.execute("create table hawqregister(i int);");
util.query("select * from hawqregister;", 0);
cmd = hawq::test::stringFormat("hawq register -d %s -f %s/hawq_register_hawq.paq hawqregister", HAWQ_DB, getHdfsLocation().c_str());
EXPECT_EQ(1, Command::getCommandStatus(cmd));
util.query("select * from hawqregister;", 0);
util.execute("drop table hawqregister;");
/* register a parquet file to a row hash table, should fail */
util.execute("create table hawqregister(i int) distributed by (i);");
cmd = hawq::test::stringFormat("hawq register -d %s -f %s/hawq_register_hawq.paq hawqregister", HAWQ_DB, getHdfsLocation().c_str());
EXPECT_EQ(1, Command::getCommandStatus(cmd));
util.query("select * from hawqregister;", 0);
util.execute("drop table hawqregister;");
/* register a parquet file to a parquet hash table, should fail */
util.execute("create table hawqregister(i int) with (appendonly=true, orientation=parquet) distributed by (i);");
cmd = hawq::test::stringFormat("hawq register -d %s -f %s/hawq_register_hawq.paq hawqregister", HAWQ_DB, getHdfsLocation().c_str());
EXPECT_EQ(1, Command::getCommandStatus(cmd));
util.query("select * from hawqregister;", 0);
util.execute("drop table hawqregister;");
cmd = hawq::test::stringFormat("hadoop fs -rm %s/hawq_register_hawq.paq", getHdfsLocation().c_str());
EXPECT_EQ(0, Command::getCommandStatus(cmd));
}
示例4: test_root
TEST_F(TestHawqRegister, TestUsage2Case2Expected) {
SQLUtility util;
string test_root(util.getTestRootPath());
std::vector<string> create_table_matrix = {"distributed by (i)", "distributed randomly"};
std::vector<string> fmt_matrix = {"row", "parquet"};
std::vector<string> option_matrix = {"--force", "-F"};
int suffix=0;
for (auto & opt : option_matrix) {
suffix = 0;
for (auto & ddl : create_table_matrix) {
for (auto & fmt : fmt_matrix) {
suffix++;
string t_yml_tpl(hawq::test::stringFormat("%s/ManagementTool/usage2case2/t_tpl_%s.yml", test_root.c_str(), std::to_string(suffix).c_str()));
string t_yml_tpl_new(hawq::test::stringFormat("%s/ManagementTool/usage2case2/t_tpl_new_%s.yml", test_root.c_str(), std::to_string(suffix).c_str()));
string t_yml(hawq::test::stringFormat("%s/ManagementTool/usage2case2/t_%s.yml", test_root.c_str(), std::to_string(suffix).c_str()));
string t_yml_new(hawq::test::stringFormat("%s/ManagementTool/usage2case2/t_new_%s.yml", test_root.c_str(), std::to_string(suffix).c_str()));
auto t = hawq::test::stringFormat("t_usage2_case2_%s", std::to_string(suffix).c_str());
auto nt = hawq::test::stringFormat("nt_usage2_case2_%s", std::to_string(suffix).c_str());
util.execute(hawq::test::stringFormat("drop table if exists %s;", t.c_str()));
util.execute(hawq::test::stringFormat("drop table if exists %s;", nt.c_str()));
// hawq register -d hawq_feature_test -c t_#.yml nt_usage2_case2_#
util.execute(hawq::test::stringFormat("create table %s(i int) with (appendonly=true, orientation=%s) %s;", t.c_str(), fmt.c_str(), ddl.c_str()));
util.execute(hawq::test::stringFormat("insert into %s select generate_series(1, 100);", t.c_str()));
util.execute(hawq::test::stringFormat("insert into %s select generate_series(101, 200);", t.c_str()));
util.query(hawq::test::stringFormat("select * from %s;", t.c_str()), 200);
hawq::test::FileReplace frep;
std::unordered_map<std::string, std::string> strs_src_dst;
strs_src_dst["@[email protected]"]= getDatabaseOid();
strs_src_dst["@[email protected]"]= getTableOid(t);
frep.replace(t_yml_tpl, t_yml, strs_src_dst);
EXPECT_EQ(0, Command::getCommandStatus(hawq::test::stringFormat("hawq register -d %s -c %s testhawqregister_testusage2case2expected.%s", HAWQ_DB, t_yml.c_str(), nt.c_str())));
util.query(hawq::test::stringFormat("select * from %s;", nt.c_str()), 200);
// hawq register --force/-F -d hawq_feature_test -c t_new_#.yml nt_usage2_case2_#
util.execute(hawq::test::stringFormat("drop table if exists %s;", t.c_str()));
util.execute(hawq::test::stringFormat("create table %s(i int) with (appendonly=true, orientation=%s) %s;", t.c_str(), fmt.c_str(), ddl.c_str()));
util.execute(hawq::test::stringFormat("insert into %s select generate_series(1, 50);", t.c_str()));
util.query(hawq::test::stringFormat("select * from %s;", t.c_str()), 50);
strs_src_dst["@[email protected]"]= getDatabaseOid();
strs_src_dst["@[email protected]"]= getTableOid(nt);
strs_src_dst["@[email protected]"]= getTableOid(t);
frep.replace(t_yml_tpl_new, t_yml_new, strs_src_dst);
EXPECT_EQ(0, Command::getCommandStatus(hawq::test::stringFormat("hawq register %s -d %s -c %s testhawqregister_testusage2case2expected.%s", opt.c_str(), HAWQ_DB, t_yml_new.c_str(), nt.c_str())));
util.query(hawq::test::stringFormat("select * from %s;", nt.c_str()), 150);
if (fmt == "row")
checkPgAOSegValue(nt, "-1", "aoseg");
else
checkPgAOSegValue(nt, "-1", "paqseg");
EXPECT_EQ(0, Command::getCommandStatus(hawq::test::stringFormat("rm -rf %s", t_yml.c_str())));
EXPECT_EQ(0, Command::getCommandStatus(hawq::test::stringFormat("rm -rf %s", t_yml_new.c_str())));
util.execute(hawq::test::stringFormat("drop table %s;", t.c_str()));
util.execute(hawq::test::stringFormat("drop table %s;", nt.c_str()));
}
}
}
}
示例5: test_root
TEST_F(TestHawqRegister, TestUsage2Case1FileUnderTableDirectory) {
SQLUtility util;
string test_root(util.getTestRootPath());
util.execute("drop table if exists t;");
util.execute("create table t(i int) with (appendonly=true, orientation=parquet) distributed by (i);");
util.execute("insert into t select generate_series(1, 100);");
util.query("select * from t;", 100);
string t_yml(hawq::test::stringFormat("%s/ManagementTool/usage2case1/file_under_table_directory.yml", test_root.c_str()));
string t_yml_tpl(hawq::test::stringFormat("%s/ManagementTool/usage2case1/file_under_table_directory_tpl.yml", test_root.c_str()));
hawq::test::FileReplace frep;
std::unordered_map<std::string, std::string> strs_src_dst;
strs_src_dst["@[email protected]"]= getDatabaseOid();
strs_src_dst["@[email protected]"]= getTableOid("t");
hawq::test::HdfsConfig hc;
string hdfs_prefix;
hc.getNamenodeHost(hdfs_prefix);
strs_src_dst["@[email protected]"]= hdfs_prefix;
frep.replace(t_yml_tpl, t_yml, strs_src_dst);
EXPECT_EQ(1, Command::getCommandStatus(hawq::test::stringFormat("hawq register -d %s -c %s testhawqregister_testusage2case1fileUndertabledirectory.t", HAWQ_DB, t_yml.c_str())));
util.query("select * from t;", 100);
EXPECT_EQ(0, Command::getCommandStatus(hawq::test::stringFormat("rm -rf %s", t_yml.c_str())));
util.execute("drop table t;");
}
示例6: char
TEST_F(TestParquet, TestSize) {
SQLUtility util;
// value/record size equal to pagesize/rowgroupsize
util.execute("drop table if exists t31");
util.execute(
"create table t31 (a1 char(10485760), a2 char(10485760), a3 "
"char(10485760), a4 char(10485760), a5 char(10485760), a6 "
"char(10485760), a7 char(10485760), a8 char(10485760), a9 "
"char(10485760), a10 char(10485760)) with(appendonly=true, "
"orientation=parquet, pagesize=10485760, rowgroupsize=104857600)");
util.execute(
"insert into t31 values ( ('a'::char(10485760)), "
"('a'::char(10485760)), ('a'::char(10485760)), ('a'::char(10485760)), "
"('a'::char(10485760)), ('a'::char(10485760)), ('a'::char(10485760)), "
"('a'::char(10485760)), ('a'::char(10485760)), ('a'::char(10485760)) );",
false);
EXPECT_STREQ("ERROR: value for column \"a1\" exceeds pagesize 10485760!",
util.getPSQL()->getLastResult().substr(0, 56).c_str());
// single column, one data page contains several values, one rwo group
// contains several groups
util.execute("drop table if exists t32");
util.execute("drop table if exists t33");
util.execute(
"create table t32 ( a1 text ) with(appendonly=true, "
"orientation=parquet)");
util.execute("insert into t32 values(repeat('parquet',100))");
util.execute("insert into t32 values(repeat('parquet',20))");
util.execute("insert into t32 values(repeat('parquet',30))");
util.execute(
"create table t33 ( a1 text ) with(appendonly=true, orientation=parquet, "
"pagesize=1024, rowgroupsize=1025)");
util.execute("insert into t33 select * from t32");
util.query("select * from t33", 3);
// large data insert, several column values in one page, several rows in one
// rowgroup
util.execute("drop table if exists t34");
util.execute("drop table if exists t35");
util.execute(
"create table t34 (a1 char(1048576), a2 char(2048576), a3 "
"char(3048576), a4 char(4048576), a5 char(5048576), a6 char(6048576), a7 "
"char(7048576), a8 char(8048576), a9 char(9048576), a10 char(9)) "
"with(appendonly=true, orientation=parquet, pagesize=10485760, "
"rowgroupsize=90874386)");
util.execute(
"insert into t34 values ( ('a'::char(1048576)), "
"('a'::char(2048576)), ('a'::char(3048576)), ('a'::char(4048576)), "
"('a'::char(5048576)), ('a'::char(6048576)), ('a'::char(7048576)), "
"('a'::char(8048576)), ('a'::char(9048576)), ('a'::char(9)) )");
util.execute(
"create table t35 (a1 char(1048576), a2 char(2048576), a3 "
"char(3048576), a4 char(4048576), a5 char(5048576), a6 char(6048576), a7 "
"char(7048576), a8 char(8048576), a9 char(9048576), a10 char(9)) "
"with(appendonly=true, orientation=parquet, pagesize=10485760, "
"rowgroupsize=17437200)");
util.execute("insert into t35 select * from t34");
util.query("select * from t35", 1);
}
示例7: hawqregister
TEST_F(TestHawqRegister, TestUsage1FileNotExist) {
SQLUtility util;
util.execute("create table hawqregister(i int);");
util.query("select * from hawqregister;", 0);
auto cmd = hawq::test::stringFormat("hawq register -d %s -f %shawq_register_file_not_exist hawqregister", HAWQ_DB, getHdfsLocation().c_str());
EXPECT_EQ(1, Command::getCommandStatus(cmd));
util.query("select * from hawqregister;", 0);
util.execute("drop table hawqregister;");
}
示例8: by
TEST_F(TestHawqRegister, TestUsage2Case1Expected) {
SQLUtility util;
string fmt_prefix;
std::vector<string> create_table_matrix = {"distributed by (i)", "distributed randomly"};
std::vector<string> fmt_matrix = {"row", "parquet"};
int suffix=0;
for (auto & ddl : create_table_matrix) {
for (auto & fmt : fmt_matrix) {
if (fmt.compare("row") == 0)
fmt_prefix = "aoseg";
else
fmt_prefix = "paqseg";
suffix++;
auto t = hawq::test::stringFormat("t_usage2_case1_%s", std::to_string(suffix).c_str());
auto nt = hawq::test::stringFormat("nt_usage2_case1_%s", std::to_string(suffix).c_str());
util.execute(hawq::test::stringFormat("drop table if exists %s;", t.c_str()));
util.execute(hawq::test::stringFormat("drop table if exists %s;", nt.c_str()));
// hawq register -d hawq_feature_test -c t_usage2_case1_#.yml nt_usage2_case1_#, where nt_usage2_case1_# does not exist
util.execute(hawq::test::stringFormat("create table %s(i int) with (appendonly=true, orientation=%s) %s;", t.c_str(), fmt.c_str(), ddl.c_str()));
util.execute(hawq::test::stringFormat("insert into %s select generate_series(1, 100);", t.c_str()));
util.query(hawq::test::stringFormat("select * from %s;", t.c_str()), 100);
// get pg_aoseg.pg_xxxseg_xxx table
std::string reloid1 = getTableOid(t.c_str());
string result1 = util.getQueryResultSetString(hawq::test::stringFormat("select * from pg_aoseg.pg_%s_%s order by segno;", fmt_prefix.c_str(), reloid1.c_str()));
EXPECT_EQ(0, Command::getCommandStatus(hawq::test::stringFormat("hawq extract -d %s -o t_%s.yml testhawqregister_testusage2case1expected.%s", HAWQ_DB, std::to_string(suffix).c_str(), t.c_str())));
EXPECT_EQ(0, Command::getCommandStatus(hawq::test::stringFormat("hawq register -d %s -c t_%s.yml testhawqregister_testusage2case1expected.%s", HAWQ_DB, std::to_string(suffix).c_str(), nt.c_str())));
util.query(hawq::test::stringFormat("select * from %s;", nt.c_str()), 100);
// check pg_aoseg.pg_xxxseg_xxx table
std::string reloid2 = getTableOid(nt.c_str());
string result2 = util.getQueryResultSetString(hawq::test::stringFormat("select * from pg_aoseg.pg_%s_%s order by segno;", fmt_prefix.c_str(), reloid2.c_str()));
EXPECT_EQ(result1, result2);
// hawq register -d hawq_feature_test -c t_usage2_case1_#.yml nt_usage2_case1_#, where nt_usage2_case1_# exists
util.execute(hawq::test::stringFormat("drop table if exists %s;", t.c_str()));
util.execute(hawq::test::stringFormat("create table %s(i int) with (appendonly=true, orientation=%s) %s;", t.c_str(), fmt.c_str(), ddl.c_str()));
util.execute(hawq::test::stringFormat("insert into %s select generate_series(101, 150);", t.c_str()));
util.query(hawq::test::stringFormat("select * from %s;", t.c_str()), 50);
EXPECT_EQ(0, Command::getCommandStatus(hawq::test::stringFormat("hawq extract -d %s -o t_%s.yml testhawqregister_testusage2case1expected.%s", HAWQ_DB, std::to_string(suffix).c_str(), t.c_str())));
EXPECT_EQ(0, Command::getCommandStatus(hawq::test::stringFormat("hawq register -d %s -c t_%s.yml testhawqregister_testusage2case1expected.%s", HAWQ_DB, std::to_string(suffix).c_str(), nt.c_str())));
util.query(hawq::test::stringFormat("select * from %s;", nt.c_str()), 150);
EXPECT_EQ(0, Command::getCommandStatus(hawq::test::stringFormat("rm -rf t_%s.yml", std::to_string(suffix).c_str())));
util.execute(hawq::test::stringFormat("drop table %s;", t.c_str()));
util.execute(hawq::test::stringFormat("drop table %s;", nt.c_str()));
}
}
}
示例9: with
TEST_F(TestHawqRegister, TestUsage2Case1EmptyTable) {
SQLUtility util;
util.execute("drop table if exists t9;");
util.execute("create table t9(i int) with (appendonly=true, orientation=row) distributed randomly;");
EXPECT_EQ(0, Command::getCommandStatus("hawq extract -d " + (string) HAWQ_DB + " -o t9.yml testhawqregister_testusage2case1emptytable.t9"));
EXPECT_EQ(0, Command::getCommandStatus("hawq register -d " + (string) HAWQ_DB + " -c t9.yml testhawqregister_testusage2case1emptytable.nt9"));
util.query("select * from nt9;", 0);
std::string reloid = getTableOid("nt9");
/* An empty table has no row in pg_aoseg.pg_aoseg_xxx table */
util.query(hawq::test::stringFormat("select * from pg_aoseg.pg_aoseg_%s;", reloid.c_str()), 0);
EXPECT_EQ(0, Command::getCommandStatus("rm -rf t9.yml"));
util.execute("drop table t9;");
util.execute("drop table nt9;");
}
示例10: dGen
TEST_F(TestParquet, TestMultipleType) {
SQLUtility util;
util.execute("drop table if exists t1");
DataGenerator dGen(&util);
dGen.genTableWithFullTypes("t1", true, "parquet");
util.query(
"select * from t1",
"2147483647|||00:00:00||ff:89:71:45:ae:01|2000-01-01 "
"07:00:00+08||32767|t|192.168.1.255/"
"32|<(1,2),3>|[(0,0),(6,6)]|-178000000 "
"years|0|-$21,474,836.48|(200,400),(100,200)||<aa>bb</"
"aa>||123456789a|2001:db8:85a3:8d3:1319:8a2e:370:7344/"
"64|||1|0|(1,2)|4277-12-31|128|\n0|((100,123),(5,10),(7,2),(4,5))|hello "
"world||04:45:05.0012+08:40|||bbccddeeff|128||2001:db8:85a3:8d3:1319:"
"8a2e:370:7344/128|<(1,2),3>|[(0,0),(6,6)]||1|$0.00|(2,3),(0,1)|hello "
"world|<aa>bb</aa>||aaaa|2001:db8:85a3:8d3:1319:8a2e:370:7344/"
"64|0||2147483647|-Infinity|(1,2)|4277-12-31|Infinity|\n||abcd|15:01:03||"
"|2000-01-01 07:00:00+08|||t|||[(0,0),(6,6)]|-178000000 "
"years|0|-$21,474,836.48|(200,400),(100,200)||<aa>bb</"
"aa>||123456789a|2001:db8:85a3:8d3:1319:8a2e:370:7344/"
"64|||1|0|(1,2)|4277-12-31|128|\n0|((100,123),(5,10),(7,2),(4,5))|hello "
"world||04:45:05.0012+08:40|||bbccddeeff|128||2001:db8:85a3:8d3:1319:"
"8a2e:370:7344/128|<(1,2),3>||||$0.00||hello "
"world|||aaaa|2001:db8:85a3:8d3:1319:8a2e:370:7344/"
"64|0||2147483647|-Infinity|(1,2)|4277-12-31|Infinity|\n0|((100,123),(5,"
"10),(7,2),(4,5))|hello "
"world||04:45:05.0012+08:40|||bbccddeeff|128||2001:db8:85a3:8d3:1319:"
"8a2e:370:7344/128|<(1,2),3>||||$0.00||hello "
"world|||||0||2147483647|-Infinity|(1,2)|4277-12-31|Infinity|\n0|((100,"
"123),(5,10),(7,2),(4,5))|hello "
"world||04:45:05.0012+08:40|||bbccddeeff|128||2001:db8:85a3:8d3:1319:"
"8a2e:370:7344/128|<(1,2),3>||||||hello world|||||0||34|||||\n");
}