echo "Testing map calls"
bin/ctdb_control getvnnmap 0 || exit 1
-bin/ctdb_control getdbmap 0 || exit 1
-killall -q ctdbd
+echo "Attaching to some databases"
+bin/ctdb_control attach test1.tdb || exit 1
+bin/ctdb_control attach test2.tdb || exit 1
+echo "Testing getdbmap"
+bin/ctdb_control getdbmap 0 || exit 1
+killall -q ctdbd
tests/fetch.sh 4 || exit 1
tests/bench.sh 4 || exit 1
tests/test.sh || exit 1
-direct/ctdbd.sh || exit 1
+tests/ctdbd.sh || exit 1
echo "All OK"
exit 0
return 0;
}
+
+/*
+ attach to a database
+ */
+static int control_attach(struct ctdb_context *ctdb, int argc, const char **argv)
+{
+ const char *db_name;
+ struct ctdb_db_context *ctdb_db;
+ if (argc < 1) {
+ usage();
+ }
+ db_name = argv[0];
+
+ ctdb_db = ctdb_attach(ctdb, db_name);
+ if (ctdb_db == NULL) {
+ DEBUG(0,("Unable to attach to database '%s'\n", db_name));
+ return -1;
+ }
+
+ return 0;
+}
+
/*
main program
*/
ret = control_debug(ctdb, extra_argc-1, extra_argv+1);
} else if (strcmp(control, "debuglevel") == 0) {
ret = control_debuglevel(ctdb, extra_argc-1, extra_argv+1);
+ } else if (strcmp(control, "attach") == 0) {
+ ret = control_attach(ctdb, extra_argc-1, extra_argv+1);
} else {
printf("Unknown control '%s'\n", control);
exit(1);