@@ -646,6 +646,40 @@ TEST_F(SQLSDKQueryTest, GetTabletClient) {
646646 ASSERT_TRUE (router->DropDB (db, &status));
647647}
648648
649+ TEST_F (SQLClusterTest, DeployWithMultiDB) {
650+ SQLRouterOptions sql_opt;
651+ sql_opt.zk_cluster = mc_->GetZkCluster ();
652+ sql_opt.zk_path = mc_->GetZkPath ();
653+ auto router = NewClusterSQLRouter (sql_opt);
654+ SetOnlineMode (router);
655+ ASSERT_TRUE (router != nullptr );
656+ std::string base_table = " test" + GenRand ();
657+ std::string db1 = " db1" ;
658+ std::string db2 = " db2" ;
659+ ::hybridse::sdk::Status status;
660+ ASSERT_TRUE (router->ExecuteDDL (db1, " drop table if exists db1.t1;" , &status));
661+ ASSERT_TRUE (router->ExecuteDDL (db2, " drop table if exists db2.t1;" , &status));
662+ ASSERT_TRUE (router->ExecuteDDL (db1, " drop database if exists db1;" , &status));
663+ ASSERT_TRUE (router->ExecuteDDL (db2, " drop database if exists db2;" , &status));
664+ ASSERT_TRUE (router->CreateDB (db1, &status));
665+ ASSERT_TRUE (router->CreateDB (db2, &status));
666+ std::string sql1 = " create table db1.t1 (c1 string, c2 int, c3 bigint, c4 timestamp, index(key=c1, ts=c4));" ;
667+ std::string sql2 = " create table db2.t1 (c1 string, c2 int, c3 bigint, c4 timestamp, index(key=c1, ts=c3));" ;
668+ ASSERT_TRUE (router->ExecuteDDL (db1, sql1, &status));
669+ ASSERT_TRUE (router->ExecuteDDL (db2, sql2, &status));
670+ ASSERT_TRUE (router->ExecuteDDL (db1, " use " + db1 + " ;" , &status));
671+ std::string sql = " deploy demo select db1.t1.c1,db1.t1.c2,db2.t1.c3,db2.t1.c4 from db1.t1 "
672+ " last join db2.t1 ORDER BY db2.t1.c3 on db1.t1.c1=db2.t1.c1;" ;
673+ ASSERT_TRUE (router->RefreshCatalog ());
674+ router->ExecuteSQL (sql, &status);
675+ ASSERT_TRUE (status.IsOK ());
676+ ASSERT_TRUE (router->ExecuteDDL (db1, " drop deployment demo;" , &status));
677+ ASSERT_TRUE (router->ExecuteDDL (db1, " drop table t1;" , &status));
678+ ASSERT_TRUE (router->ExecuteDDL (db2, " drop table t1;" , &status));
679+ ASSERT_TRUE (router->DropDB (db1, &status));
680+ ASSERT_TRUE (router->DropDB (db2, &status));
681+ }
682+
649683TEST_F (SQLClusterTest, CreatePreAggrTable) {
650684 SQLRouterOptions sql_opt;
651685 sql_opt.zk_cluster = mc_->GetZkCluster ();
0 commit comments